Merge pull request #1949 from lewurm/fixtype
authorAlexis Christoforides <alexis@thenull.net>
Thu, 8 Oct 2015 19:27:12 +0000 (15:27 -0400)
committerAlexis Christoforides <alexis@thenull.net>
Thu, 8 Oct 2015 19:27:12 +0000 (15:27 -0400)
[mono-config] use right type for result of strlen

1186 files changed:
Makefile.am
configure.ac
eglib/configure.ac
eglib/src/Makefile.am
eglib/src/gspawn.c
eglib/src/gunicode.c
external/ikvm
external/referencesource
ikvm-native/Makefile.am
man/mcs.1
man/mono.1
mcs/Makefile
mcs/build/executable.make
mcs/build/library.make
mcs/build/profiles/mobile.make
mcs/build/profiles/mobile_static.make
mcs/build/profiles/monodroid.make
mcs/build/profiles/monotouch.make
mcs/build/profiles/monotouch_runtime.make
mcs/build/profiles/monotouch_tv.make [new file with mode: 0644]
mcs/build/profiles/xammac.make
mcs/build/profiles/xammac_net_4_5.make
mcs/class/Accessibility/Accessibility-net_4_x.csproj [new file with mode: 0644]
mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng-net_4_x.csproj [new file with mode: 0644]
mcs/class/Cscompmgd/Cscompmgd-net_4_x.csproj [new file with mode: 0644]
mcs/class/CustomMarshalers/CustomMarshalers-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/Makefile
mcs/class/Facades/Microsoft.Win32.Primitives/Microsoft.Win32.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/Microsoft.Win32.Registry.AccessControl-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/Microsoft.Win32.Registry/Microsoft.Win32.Registry-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.AppContext/System.AppContext-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Collections.Concurrent/System.Collections.Concurrent-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Collections.NonGeneric/System.Collections.NonGeneric-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Collections.Specialized/System.Collections.Specialized-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Collections/System.Collections-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ComponentModel.Annotations/System.ComponentModel.Annotations-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ComponentModel.EventBasedAsync/System.ComponentModel.EventBasedAsync-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ComponentModel.Primitives/System.ComponentModel.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ComponentModel.TypeConverter/System.ComponentModel.TypeConverter-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ComponentModel/System.ComponentModel-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Console/System.Console-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Data.Common/System.Data.Common-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Data.SqlClient/System.Data.SqlClient-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.Contracts/System.Diagnostics.Contracts-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.Debug/System.Diagnostics.Debug-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.FileVersionInfo/System.Diagnostics.FileVersionInfo-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.PerformanceCounter/System.Diagnostics.PerformanceCounter-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.Process/System.Diagnostics.Process-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.StackTrace/System.Diagnostics.StackTrace-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.TextWriterTraceListener/System.Diagnostics.TextWriterTraceListener-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.Tools/System.Diagnostics.Tools-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.TraceEvent/System.Diagnostics.TraceEvent-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.TraceSource/System.Diagnostics.TraceSource-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.Tracing/System.Diagnostics.Tracing-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Dynamic.Runtime/System.Dynamic.Runtime-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Globalization.Calendars/System.Globalization.Calendars-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Globalization.Extensions/System.Globalization.Extensions-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Globalization/System.Globalization-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.Compression.ZipFile/System.IO.Compression.ZipFile-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.Compression/System.IO.Compression-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.FileSystem.AccessControl/System.IO.FileSystem.AccessControl-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.FileSystem.DriveInfo/System.IO.FileSystem.DriveInfo-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.FileSystem.Primitives/System.IO.FileSystem.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.FileSystem.Watcher/System.IO.FileSystem.Watcher-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.FileSystem/System.IO.FileSystem-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.IsolatedStorage/System.IO.IsolatedStorage-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.MemoryMappedFiles/System.IO.MemoryMappedFiles-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.Pipes/System.IO.Pipes-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.UnmanagedMemoryStream/System.IO.UnmanagedMemoryStream-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO/System.IO-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Linq.Expressions/System.Linq.Expressions-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Linq.Parallel/System.Linq.Parallel-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Linq.Queryable/System.Linq.Queryable-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Linq/System.Linq-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.AuthenticationManager/System.Net.AuthenticationManager-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Cache/System.Net.Cache-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Http.WebRequestHandler/System.Net.Http.WebRequestHandler-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.HttpListener/System.Net.HttpListener-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Mail/System.Net.Mail-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.NameResolution/System.Net.NameResolution-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.NetworkInformation/System.Net.NetworkInformation-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Primitives/System.Net.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Requests/System.Net.Requests-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Security/System.Net.Security-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.ServicePoint/System.Net.ServicePoint-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Sockets/System.Net.Sockets-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Utilities/System.Net.Utilities-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.WebHeaderCollection/System.Net.WebHeaderCollection-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.WebSockets.Client/System.Net.WebSockets.Client-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.WebSockets/System.Net.WebSockets-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ObjectModel/System.ObjectModel-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Private.CoreLib.InteropServices/System.Private.CoreLib.InteropServices-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Private.CoreLib.Threading/System.Private.CoreLib.Threading-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit.ILGeneration/System.Reflection.Emit.ILGeneration-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit.Lightweight/System.Reflection.Emit.Lightweight-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit/System.Reflection.Emit-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Extensions/System.Reflection.Extensions-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Primitives/System.Reflection.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Reflection.TypeExtensions/System.Reflection.TypeExtensions-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Reflection/System.Reflection-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Resources.ReaderWriter/System.Resources.ReaderWriter-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Resources.ResourceManager/System.Resources.ResourceManager-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.CompilerServices.VisualC/System.Runtime.CompilerServices.VisualC-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Extensions/System.Runtime.Extensions-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Handles/System.Runtime.Handles-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.InteropServices.WindowsRuntime/System.Runtime.InteropServices.WindowsRuntime-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.InteropServices/System.Runtime.InteropServices-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Numerics/System.Runtime.Numerics-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Serialization.Json/System.Runtime.Serialization.Json-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Serialization.Primitives/System.Runtime.Serialization.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Serialization.Xml/System.Runtime.Serialization.Xml-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime/System.Runtime-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.AccessControl/System.Security.AccessControl-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Claims/System.Security.Claims-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.DeriveBytes/System.Security.Cryptography.DeriveBytes-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.Encoding/System.Security.Cryptography.Encoding-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.Encryption.Aes/System.Security.Cryptography.Encryption.Aes-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman/System.Security.Cryptography.Encryption.ECDiffieHellman-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.Encryption.ECDsa/System.Security.Cryptography.Encryption.ECDsa-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.Encryption/System.Security.Cryptography.Encryption-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.Hashing.Algorithms/System.Security.Cryptography.Hashing.Algorithms-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.Hashing/System.Security.Cryptography.Hashing-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.ProtectedData/System.Security.Cryptography.ProtectedData-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.RSA/System.Security.Cryptography.RSA-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.RandomNumberGenerator/System.Security.Cryptography.RandomNumberGenerator-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.X509Certificates/System.Security.Cryptography.X509Certificates-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Principal.Windows/System.Security.Principal.Windows-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Principal/System.Security.Principal-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.SecureString/System.Security.SecureString-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ServiceModel.Duplex/System.ServiceModel.Duplex-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ServiceModel.Duplex/TypeForwarders.cs
mcs/class/Facades/System.ServiceModel.Http/System.ServiceModel.Http-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ServiceModel.NetTcp/System.ServiceModel.NetTcp-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ServiceModel.NetTcp/TypeForwarders.cs
mcs/class/Facades/System.ServiceModel.Primitives/System.ServiceModel.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ServiceModel.Security/System.ServiceModel.Security-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ServiceProcess.ServiceController/System.ServiceProcess.ServiceController-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Text.Encoding.Extensions/System.Text.Encoding.Extensions-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Text.Encoding/System.Text.Encoding-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Text.RegularExpressions/System.Text.RegularExpressions-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading.AccessControl/System.Threading.AccessControl-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading.Overlapped/System.Threading.Overlapped-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading.Tasks.Parallel/System.Threading.Tasks.Parallel-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading.Tasks/System.Threading.Tasks-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading.Thread/System.Threading.Thread-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading.ThreadPool/System.Threading.ThreadPool-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading.Timer/System.Threading.Timer-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading/System.Threading-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Xml.ReaderWriter/System.Xml.ReaderWriter-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Xml.XDocument/System.Xml.XDocument-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Xml.XPath.XDocument/System.Xml.XPath.XDocument-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Xml.XPath/System.Xml.XPath-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Xml.XmlDocument/System.Xml.XmlDocument-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Xml.XmlSerializer/System.Xml.XmlSerializer-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Xml.Xsl.Primitives/System.Xml.Xsl.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/I18N/CJK/CP51932.cs
mcs/class/I18N/CJK/I18N.CJK-net_4_x.csproj [new file with mode: 0644]
mcs/class/I18N/Common/I18N-net_4_x.csproj [new file with mode: 0644]
mcs/class/I18N/MidEast/I18N.MidEast-net_4_x.csproj [new file with mode: 0644]
mcs/class/I18N/Other/I18N.Other-net_4_x.csproj [new file with mode: 0644]
mcs/class/I18N/Rare/I18N.Rare-net_4_x.csproj [new file with mode: 0644]
mcs/class/I18N/West/I18N.West-net_4_x.csproj [new file with mode: 0644]
mcs/class/IBM.Data.DB2/IBM.Data.DB2-net_4_x.csproj [new file with mode: 0644]
mcs/class/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib-net_4_x.csproj [new file with mode: 0644]
mcs/class/Makefile
mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/BuildItem.cs
mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Engine.cs
mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Expression.cs
mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/ExpressionCollection.cs
mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-net_4_x.csproj [new file with mode: 0644]
mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework-net_4_x.csproj [new file with mode: 0644]
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_4_x.csproj [new file with mode: 0644]
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/ResolveAssemblyReference.cs
mcs/class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks/MessageTest.cs
mcs/class/Microsoft.Build.Tasks/Test/Microsoft.Build.Tasks/WriteLinesToFileTest.cs
mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities-net_4_x.csproj [new file with mode: 0644]
mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/TaskItem.cs
mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities/ToolLocationHelper.cs
mcs/class/Microsoft.Build/Microsoft.Build-net_4_x.csproj [new file with mode: 0644]
mcs/class/Microsoft.CSharp/Microsoft.CSharp-net_4_x.csproj [new file with mode: 0644]
mcs/class/Microsoft.VisualC/Microsoft.VisualC-net_4_x.csproj [new file with mode: 0644]
mcs/class/Microsoft.Web.Infrastructure/Microsoft.Web.Infrastructure-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.C5/Makefile
mcs/class/Mono.C5/Mono.C5-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.CSharp/Makefile
mcs/class/Mono.CSharp/Mono.CSharp-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.CSharp/monotouch_tv_Mono.CSharp.dll.sources [new file with mode: 0644]
mcs/class/Mono.Cairo/Mono.Cairo-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Cecil/Mono.Cecil-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.CodeContracts/Mono.CodeContracts-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.CompilerServices.SymbolWriter/Mono.CompilerServices.SymbolWriter-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/SQLiteBase.cs
mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite_2.0/UnsafeNativeMethods.cs
mcs/class/Mono.Data.Sqlite/Test/Bug27864.cs
mcs/class/Mono.Data.Sqlite/Test/SqliteConnectionTest.cs
mcs/class/Mono.Data.Tds/Mono.Data.Tds-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft/ObjectMirror.cs
mcs/class/Mono.Debugger.Soft/Test/dtest-app.cs
mcs/class/Mono.Debugger.Soft/Test/dtest.cs
mcs/class/Mono.Dynamic.Interpreter/Makefile
mcs/class/Mono.Http/Mono.Http-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Management/Mono.Management-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Messaging/Mono.Messaging-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Options/Mono.Options-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Parallel/Mono.Parallel-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Posix/Mono.Posix-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Posix/Mono.Posix-tests-net_4_5.csproj
mcs/class/Mono.Posix/Mono.Posix_test.dll.sources
mcs/class/Mono.Posix/Mono.Unix.Native/NativeConvert.cs
mcs/class/Mono.Posix/Mono.Unix.Native/NativeConvert.generated.cs
mcs/class/Mono.Posix/Mono.Unix.Native/Syscall.cs
mcs/class/Mono.Posix/Test/Mono.Unix.Android/TestHelper.cs [new file with mode: 0644]
mcs/class/Mono.Posix/Test/Mono.Unix.Native/RealTimeSignumTests.cs
mcs/class/Mono.Posix/Test/Mono.Unix.Native/SocketTest.cs [new file with mode: 0644]
mcs/class/Mono.Posix/Test/Mono.Unix/UnixSignalTest.cs
mcs/class/Mono.Security.Win32/Mono.Security.Win32-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Security/Mono.Security-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Security/Mono.Security.Cryptography/CryptoTools.cs
mcs/class/Mono.Security/monotouch_tv_Mono.Security.dll.sources [new file with mode: 0644]
mcs/class/Mono.Simd/Mono.Simd-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.Tasklets/Mono.Tasklets-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.WebBrowser/Mono.WebBrowser-net_4_x.csproj [new file with mode: 0644]
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_4_x.csproj [new file with mode: 0644]
mcs/class/Novell.Directory.Ldap/Novell.Directory.Ldap-net_4_x.csproj [new file with mode: 0644]
mcs/class/PEAPI/PEAPI-net_4_x.csproj [new file with mode: 0644]
mcs/class/RabbitMQ.Client/src/apigen/RabbitMQ.Client.Apigen-net_4_x.csproj [new file with mode: 0644]
mcs/class/RabbitMQ.Client/src/client/RabbitMQ.Client-net_4_x.csproj [new file with mode: 0644]
mcs/class/SMDiagnostics/SMDiagnostics-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.ComponentModel.Composition.4.5/System.ComponentModel.Composition-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.ComponentModel.DataAnnotations/DataAnnotationsResources.cs
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Configuration.Install/System.Configuration.Install-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Configuration/System.Configuration-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Core/Makefile
mcs/class/System.Core/System.Core-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Core/System.Core-plaincore-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Core/monotouch_tv_System.Core.dll.sources [new file with mode: 0644]
mcs/class/System.Core/xammac_net_4_5_System.Core.dll.sources
mcs/class/System.Data.DataSetExtensions/System.Data.DataSetExtensions-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Data.Entity/System.Data.Entity-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Data.Linq/System.Data.Linq-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Data.OracleClient/System.Data.OracleClient-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Data.Services.Client/System.Data.Services.Client-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Data.Services/System.Data.Services-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Data/Makefile
mcs/class/System.Data/System.Data-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Data/System.Data.SqlClient/SqlDataReader.cs
mcs/class/System.Data/monotouch_tv_System.Data.dll.sources [new file with mode: 0644]
mcs/class/System.Data/xammac_net_4_5_System.Data.dll.sources
mcs/class/System.Design/System.Design-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.DirectoryServices.Protocols/System.DirectoryServices.Protocols-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.DirectoryServices/System.DirectoryServices-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.DirectoryServices/System.DirectoryServices/DirectoryEntry.cs
mcs/class/System.Drawing.Design/System.Drawing.Design-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Drawing/Makefile
mcs/class/System.Drawing/System.Drawing-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Drawing/System.Drawing.Printing/PrintingServicesUnix.cs
mcs/class/System.Drawing/System.Drawing/Point.cs
mcs/class/System.Drawing/Test/System.Drawing/TestPoint.cs
mcs/class/System.Dynamic/System.Dynamic-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.EnterpriseServices/System.EnterpriseServices-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.IO.Compression.FileSystem/System.IO.Compression.FileSystem-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.IO.Compression/System.IO.Compression-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.IO.Compression/Test/System.IO.Compression/ZipTest.cs
mcs/class/System.IO.Compression/ZipArchive.cs
mcs/class/System.IdentityModel.Selectors/System.IdentityModel.Selectors-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.IdentityModel/System.IdentityModel-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Json.Microsoft/Makefile
mcs/class/System.Json.Microsoft/System.Json.Microsoft-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Json/System.Json-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Management/System.Management-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Messaging/System.Messaging-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Net.Http.Formatting/System.Net.Http.Formatting-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Net.Http.WebRequest/System.Net.Http.WebRequest-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Net.Http/System.Net.Http-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Net.Http/System.Net.Http.Headers/HttpHeaders.cs
mcs/class/System.Net.Http/System.Net.Http/HttpClientHandler.cs
mcs/class/System.Net.Http/Test/System.Net.Http/HttpClientTest.cs
mcs/class/System.Net.Http/monotouch_System.Net.Http.dll.sources [deleted file]
mcs/class/System.Net.Http/monotouch_watch_System.Net.Http.dll.sources [deleted file]
mcs/class/System.Net/System.Net-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Numerics.Vectors/System.Numerics.Vectors-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Numerics/System.Numerics-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Reactive.Core/System.Reactive.Core-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Reactive.Debugger/System.Reactive.Debugger-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Reactive.Experimental/System.Reactive.Experimental-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Reactive.Observable.Aliases/System.Reactive.Observable.Aliases-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Reactive.PlatformServices/System.Reactive.PlatformServices-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Reactive.Providers/System.Reactive.Providers-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Reactive.Runtime.Remoting/System.Reactive.Runtime.Remoting-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Reactive.Windows.Forms/System.Reactive.Windows.Forms-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Reactive.Windows.Threading/System.Reactive.Windows.Threading-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Runtime.Caching/System.Runtime.Caching-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Runtime.DurableInstancing/System.Runtime.DurableInstancing-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Runtime.Remoting/System.Runtime.Remoting-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Runtime.Remoting/Test/HttpServerChannelTests.cs
mcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Runtime.Serialization/monotouch_tv_System.Runtime.Serialization.dll.sources [new file with mode: 0644]
mcs/class/System.Runtime.Serialization/xammac_net_4_5_System.Runtime.Serialization.dll.sources
mcs/class/System.Security/Makefile
mcs/class/System.Security/System.Security-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Security/System.Security.Cryptography.Xml/SignedXml.cs
mcs/class/System.ServiceModel.Activation/System.ServiceModel.Activation-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.ServiceModel.Discovery/System.ServiceModel.Discovery-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.ServiceModel.Internals/System.ServiceModel.Internals-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.ServiceModel.Routing/System.ServiceModel.Routing-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.ServiceModel.Web/System.ServiceModel.Web-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.ServiceModel.Web/Test/System.Runtime.Serialization.Json/DataContractJsonSerializerTest.cs
mcs/class/System.ServiceModel.Web/monotouch_tv_System.ServiceModel.Web.dll.sources [new file with mode: 0644]
mcs/class/System.ServiceModel/System.Collections.Generic/SynchronizedCollection.cs
mcs/class/System.ServiceModel/System.ServiceModel-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.ServiceModel/System.ServiceModel-plainservice-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.ServiceModel/System.ServiceModel.Channels.Http/HttpReplyChannel.cs
mcs/class/System.ServiceModel/System.ServiceModel.Channels/ReplyChannelBase.cs
mcs/class/System.ServiceModel/System.ServiceModel.Description/ContractDescriptionGenerator.cs
mcs/class/System.ServiceModel/System.ServiceModel.Dispatcher/ChannelDispatcher.cs
mcs/class/System.ServiceModel/System.ServiceModel/ClientRuntimeChannel.cs
mcs/class/System.ServiceModel/System.ServiceModel/ServiceHost.cs
mcs/class/System.ServiceModel/System.ServiceModel_test.dll.sources
mcs/class/System.ServiceModel/Test/System.ServiceModel.Description/ContractDescriptionTest.cs
mcs/class/System.ServiceModel/Test/System.ServiceModel.Dispatcher/Bug32886Test.cs [new file with mode: 0644]
mcs/class/System.ServiceModel/Test/System.ServiceModel.Dispatcher/Bug652331Test.cs
mcs/class/System.ServiceModel/monotouch_tv_System.ServiceModel.dll.sources [new file with mode: 0644]
mcs/class/System.ServiceProcess/System.ServiceProcess-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Threading.Tasks.Dataflow/System.Threading.Tasks.Dataflow-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Transactions/Makefile
mcs/class/System.Transactions/System.Transactions-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.Abstractions/System.Web.Abstractions-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.ApplicationServices/System.Web.ApplicationServices-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.DynamicData/System.Web.DynamicData-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.Extensions.Design/System.Web.Extensions.Design-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.Extensions/System.Web.Extensions-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.Http.SelfHost/System.Web.Http.SelfHost-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.Http.WebHost/System.Web.Http.WebHost-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.Http/System.Web.Http-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.Mvc3/System.Web.Mvc3-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.Razor/System.Web.Razor-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.Routing/System.Web.Routing-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.Services/Makefile
mcs/class/System.Web.Services/System.Web.Services-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.Services/Test/System.Web.Services.Protocols/SocketResponder.cs
mcs/class/System.Web.Services/monotouch_tv_System.Web.Services.dll.sources [new file with mode: 0644]
mcs/class/System.Web.WebPages.Deployment/System.Web.WebPages.Deployment-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.WebPages.Razor/System.Web.WebPages.Razor-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web.WebPages/System.Web.WebPages-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web/Makefile
mcs/class/System.Web/ReferenceSources/SR.cs [new file with mode: 0644]
mcs/class/System.Web/System.Web-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web/System.Web-plainweb-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Web/System.Web.Caching/IOutputCacheEntry.cs [deleted file]
mcs/class/System.Web/System.Web.Caching/ResponseElement.cs [deleted file]
mcs/class/System.Web/System.Web.Compilation/BuildProviderAppliesTo.cs [deleted file]
mcs/class/System.Web/System.Web.Compilation/BuildProviderAppliesToAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.Compilation/DesignTimeResourceProviderFactoryAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.Compilation/ExpressionEditorAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.Compilation/ExpressionPrefixAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.Compilation/FolderLevelBuildProviderAppliesTo.cs [deleted file]
mcs/class/System.Web/System.Web.Compilation/FolderLevelBuildProviderAppliesToAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.Compilation/IAssemblyPostProcessor.cs [deleted file]
mcs/class/System.Web/System.Web.Compilation/IImplicitResourceProvider.cs [deleted file]
mcs/class/System.Web/System.Web.Compilation/ImplicitResourceKey.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/AdapterDictionary.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/AuthenticationMode.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/AuthorizationRuleAction.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/CustomErrorsMode.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/CustomErrorsRedirectMode.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/FormsAuthPasswordFormat.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/FormsProtectionEnum.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/IConfigMapPath.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/IConfigMapPathFactory.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/IRemoteWebConfigurationHostServer.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/MachineKeyCompatibilityMode.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/MachineKeyValidation.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/PagesEnableSessionState.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/ProcessModelComAuthenticationLevel.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/ProcessModelComImpersonationLevel.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/ProcessModelLogLevel.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/SerializationMode.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/SystemWebCachingSectionGroup.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/TraceDisplayMode.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/WebApplicationLevel.cs [deleted file]
mcs/class/System.Web/System.Web.Configuration_2.0/XhtmlConformanceMode.cs [deleted file]
mcs/class/System.Web/System.Web.Hosting/IApplicationHost.cs [deleted file]
mcs/class/System.Web/System.Web.Hosting/IRegisteredObject.cs [deleted file]
mcs/class/System.Web/System.Web.Profile/ProfileEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.Profile/ProfileEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.Routing/IRouteConstraint.cs [deleted file]
mcs/class/System.Web/System.Web.Routing/IRouteHandler.cs [deleted file]
mcs/class/System.Web/System.Web.Routing/RequestContext.cs [deleted file]
mcs/class/System.Web/System.Web.Routing/RouteDirection.cs [deleted file]
mcs/class/System.Web/System.Web.Routing/RouteTable.cs [deleted file]
mcs/class/System.Web/System.Web.Routing/RouteValueDictionary.cs [deleted file]
mcs/class/System.Web/System.Web.Routing/VirtualPathData.cs [deleted file]
mcs/class/System.Web/System.Web.Security/FormsAuthentication.cs
mcs/class/System.Web/System.Web.Security/FormsAuthenticationEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.Security/FormsAuthenticationEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.Security/PassportAuthenticationEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.Security/PassportAuthenticationEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.Security/RoleManagerEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.Security/RoleManagerEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.Security/WindowsAuthenticationEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.Security/WindowsAuthenticationEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.SessionState_2.0/IReadOnlySessionState.cs [deleted file]
mcs/class/System.Web/System.Web.SessionState_2.0/IRequiresSessionState.cs [deleted file]
mcs/class/System.Web/System.Web.SessionState_2.0/SessionStateBehavior.cs [deleted file]
mcs/class/System.Web/System.Web.UI.Adapters/WmlPostFieldType.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/ITrackingPersonalizable.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/ITransformerConfigurationControl.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IVersioningPersonalizable.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebActionable.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebEditable.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPart.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartField.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartHttpHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartParameters.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartRow.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartTable.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/PartChromeState.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/PartChromeType.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/PersonalizationScope.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartAuthorizationEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartCancelEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartCancelEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartExportMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartHelpMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartVerbsEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartVerbsEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/AdCreatedEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/AuthenticateEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/AuthenticateEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/AutoCompleteType.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/BorderStyle.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/BulletedListEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/BulletedListEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ButtonColumnType.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ButtonType.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/CalendarSelectionMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/CheckBox.cs
mcs/class/System.Web/System.Web.UI.WebControls/CommandEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/CommandEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ContentDirection.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/CreateUserErrorEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/CreateUserErrorEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataBoundControlMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataControlCellType.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataControlRowState.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataControlRowType.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataGridCommandEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataGridCommandEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataGridItemEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataGridItemEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataGridPageChangedEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataGridPageChangedEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataGridSortCommandEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataGridSortCommandEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataListCommandEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataListCommandEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataListItemEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DataListItemEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DayNameFormat.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DayRenderEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewCommandEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewCommandEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewDeleteEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewDeletedEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewInsertEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewInsertedEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewModeEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewModeEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewPageEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewPageEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewUpdateEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewUpdatedEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/FirstDayOfWeek.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/FontSize.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/FormViewCommandEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/FormViewDeleteEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/FormViewDeletedEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/FormViewInsertEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/FormViewInsertedEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/FormViewMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/FormViewModeEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/FormViewModeEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/FormViewPageEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/FormViewPageEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/FormViewUpdateEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/FormViewUpdatedEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridLines.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewCancelEditEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewCancelEditEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewCommandEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewCommandEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewDeleteEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewDeletedEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewEditEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewEditEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewPageEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewPageEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewRowEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewRowEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewSelectEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewSelectEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewSortEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewSortEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewUpdateEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/GridViewUpdatedEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/HorizontalAlign.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/HotSpotMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/IButtonControl.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ICallbackContainer.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ICompositeControlDesignerAccessor.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/IDataBoundControl.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/IDataBoundItemControl.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/IDataBoundListControl.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/IFieldControl.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/IPersistedSelector.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/IRepeatInfoUser.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ImageAlign.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ImageMapEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ImageMapEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ListItemType.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ListSelectionMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/LiteralMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/LoginCancelEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/LoginCancelEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/LoginFailureAction.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/LogoutAction.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/MailMessageEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/MailMessageEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/MenuEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/MenuEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/MenuRenderingMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/MonthChangedEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/MonthChangedEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/NextPrevFormat.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceDisposingEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceDisposingEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceFilteringEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceFilteringEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceMethodEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceMethodEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceSelectingEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceSelectingEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceStatusEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceStatusEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/Orientation.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/PagerButtons.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/PagerMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/PagerPosition.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/PathDirection.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/RepeatDirection.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/RepeatLayout.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/RepeaterCommandEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/RepeaterCommandEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/RepeaterItemEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/RepeaterItemEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SendMailErrorEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ServerValidateEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SiteMapNodeItemEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SiteMapNodeItemEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SiteMapNodeItemType.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SortDirection.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceCommandEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceCommandEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceCommandType.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceFilteringEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceFilteringEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceSelectingEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceSelectingEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceStatusEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceStatusEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/TableCaptionAlign.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/TableHeaderScope.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/TableRowSection.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/TextAlign.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/TextBoxMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/TitleFormat.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/TreeNodeEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/TreeNodeEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/TreeNodeSelectAction.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/TreeViewImageSet.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/UnitType.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ValidationCompareOperator.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ValidationDataType.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ValidationSummaryDisplayMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/ValidatorDisplay.cs [deleted file]
mcs/class/System.Web/System.Web.UI.WebControls/VerticalAlign.cs [deleted file]
mcs/class/System.Web/System.Web.UI/ClientIDMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI/ConflictOptions.cs [deleted file]
mcs/class/System.Web/System.Web.UI/ConstructorNeedsTagAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.UI/ControlBuilderAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.UI/CssClassPropertyAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.UI/DataBindingHandlerAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.UI/DataKeyPropertyAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.UI/DataSourceCacheExpiry.cs [deleted file]
mcs/class/System.Web/System.Web.UI/DataSourceCapabilities.cs [deleted file]
mcs/class/System.Web/System.Web.UI/DataSourceOperation.cs [deleted file]
mcs/class/System.Web/System.Web.UI/FileLevelControlBuilderAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.UI/FilterableAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.UI/HtmlTextWriterAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.UI/HtmlTextWriterStyle.cs [deleted file]
mcs/class/System.Web/System.Web.UI/HtmlTextWriterTag.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IAttributeAccessor.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IAutoFieldGenerator.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IBindableControl.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IBindableTemplate.cs [deleted file]
mcs/class/System.Web/System.Web.UI/ICallbackEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IControlBuilderAccessor.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IControlDesignerAccessor.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IDReferencePropertyAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IDataBindingsAccessor.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IDataItemContainer.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IDataKeysControl.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IDataSource.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IDataSourceViewSchemaAccessor.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IExpressionsAccessor.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IFilterResolutionService.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IHierarchicalDataSource.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IHierarchicalEnumerable.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IHierarchyData.cs [deleted file]
mcs/class/System.Web/System.Web.UI/INamingContainer.cs [deleted file]
mcs/class/System.Web/System.Web.UI/INavigateUIData.cs [deleted file]
mcs/class/System.Web/System.Web.UI/INonBindingContainer.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IParserAccessor.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IPostBackDataHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IPostBackEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IResourceUrlGenerator.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IStateFormatter.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IStateManager.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IStyleSheet.cs [deleted file]
mcs/class/System.Web/System.Web.UI/ITemplate.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IThemeResolutionService.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IUrlResolutionService.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IUserControlDesignerAccessor.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IUserControlTypeResolutionService.cs [deleted file]
mcs/class/System.Web/System.Web.UI/IValidator.cs [deleted file]
mcs/class/System.Web/System.Web.UI/ImageClickEventHandler.cs [deleted file]
mcs/class/System.Web/System.Web.UI/NonVisualControlAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.UI/PersistChildrenAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.UI/PersistenceMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI/SupportsEventValidationAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.UI/TemplateInstance.cs [deleted file]
mcs/class/System.Web/System.Web.UI/TemplateInstanceAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.UI/ThemeableAttribute.cs [deleted file]
mcs/class/System.Web/System.Web.UI/ViewStateEncryptionMode.cs [deleted file]
mcs/class/System.Web/System.Web.UI/ViewStateMode.cs [deleted file]
mcs/class/System.Web/System.Web.Util/IWebObjectFactory.cs [deleted file]
mcs/class/System.Web/System.Web.Util/RequestValidationSource.cs [deleted file]
mcs/class/System.Web/System.Web.dll.sources
mcs/class/System.Web/System.Web/HttpApplicationStateWrapper.cs [deleted file]
mcs/class/System.Web/System.Web/HttpBrowserCapabilitiesWrapper.cs [deleted file]
mcs/class/System.Web/System.Web/HttpCachePolicyWrapper.cs [deleted file]
mcs/class/System.Web/System.Web/HttpSessionStateWrapper.cs [deleted file]
mcs/class/System.Web/System.Web/IHtmlString.cs [deleted file]
mcs/class/System.Web/System.Web/IHttpAsyncHandler.cs [deleted file]
mcs/class/System.Web/System.Web/IHttpHandler.cs [deleted file]
mcs/class/System.Web/System.Web/IHttpHandlerFactory.cs [deleted file]
mcs/class/System.Web/System.Web/IHttpModule.cs [deleted file]
mcs/class/System.Web/System.Web/PreApplicationStartMethodAttribute.cs [deleted file]
mcs/class/System.Web/System.Web/ReadEntityBodyMode.cs [deleted file]
mcs/class/System.Web/System.Web/RequestNotification.cs [deleted file]
mcs/class/System.Web/System.Web/RequestNotificationStatus.cs [deleted file]
mcs/class/System.Web/System.Web/TraceContextEventArgs.cs [deleted file]
mcs/class/System.Web/System.Web/TraceContextEventHandler.cs [deleted file]
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Windows.Forms/System.Windows.Forms-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs
mcs/class/System.Windows.Forms/Test/System.Windows.Forms/TrackBarTest.cs
mcs/class/System.Windows/System.Windows-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.XML/Makefile
mcs/class/System.XML/System.Xml-bare-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.XML/System.Xml-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.XML/monotouch_tv_System.Xml.dll.sources [new file with mode: 0644]
mcs/class/System.Xaml/Makefile
mcs/class/System.Xaml/System.Xaml-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Xml.Linq/System.Xml.Linq-net_4_x.csproj [new file with mode: 0644]
mcs/class/System.Xml.Serialization/System.Xml.Serialization-net_4_x.csproj [new file with mode: 0644]
mcs/class/System/Makefile
mcs/class/System/System-bare-net_4_5.csproj
mcs/class/System/System-bare-net_4_x.csproj [new file with mode: 0644]
mcs/class/System/System-net_4_5.csproj
mcs/class/System/System-net_4_x.csproj [new file with mode: 0644]
mcs/class/System/System-secxml-net_4_5.csproj
mcs/class/System/System-secxml-net_4_x.csproj [new file with mode: 0644]
mcs/class/System/System.Diagnostics/Process.cs
mcs/class/System/System.Diagnostics/Stopwatch.cs
mcs/class/System/System.IO/KeventWatcher.cs
mcs/class/System/System.IO/MonoSyncFileStream.cs [deleted file]
mcs/class/System/System.Net.Mail/SmtpClient.cs
mcs/class/System/System.Net.NetworkInformation/NetworkChange.cs
mcs/class/System/System.Net.Sockets/Socket.cs
mcs/class/System/System.Net.Sockets/SocketAsyncCallback.cs [deleted file]
mcs/class/System/System.Net.Sockets/SocketAsyncEventArgs.cs
mcs/class/System/System.Net.Sockets/SocketAsyncResult.cs
mcs/class/System/System.Net.Sockets/SocketAsyncWorker.cs [deleted file]
mcs/class/System/System.Net.Sockets/SocketOperation.cs
mcs/class/System/System.Net/ChunkStream.cs
mcs/class/System/System.Net/EndPointListener.cs
mcs/class/System/System.Net/HttpListenerRequest.cs
mcs/class/System/System.Net/HttpUtility.cs [deleted file]
mcs/class/System/System.Net/IPAddress.cs
mcs/class/System/System.Net/ServicePoint.cs
mcs/class/System/System.Net/ServicePointManager.cs
mcs/class/System/System.Net/WebConnectionStream.cs
mcs/class/System/System.Net/WebHeaderCollection.cs
mcs/class/System/System.Net/WebUtility.cs [deleted file]
mcs/class/System/System.dll.sources
mcs/class/System/System/IOSelector.cs [new file with mode: 0644]
mcs/class/System/System/Uri.cs
mcs/class/System/System/UriBuilder.cs
mcs/class/System/System/UriParseComponents.cs
mcs/class/System/Test/System.Diagnostics/ProcessTest.cs
mcs/class/System/Test/System.IO.Compression/DeflateStreamTest.cs
mcs/class/System/Test/System.Net.Mail/SmtpClientTest.cs
mcs/class/System/Test/System.Net.Security/SslStreamTest.cs
mcs/class/System/Test/System.Net.Sockets/SocketTest.cs
mcs/class/System/Test/System.Net.WebSockets/ClientWebSocketTest.cs
mcs/class/System/Test/System.Net/HttpWebRequestTest.cs
mcs/class/System/Test/System.Net/IPAddressTest.cs
mcs/class/System/Test/System.Net/ServicePointTest.cs
mcs/class/System/Test/System.Net/SocketResponder.cs
mcs/class/System/Test/System/UriBuilderTest.cs
mcs/class/System/Test/System/UriTest.cs
mcs/class/System/mobile_System.dll.sources
mcs/class/System/monotouch_tv_System.dll.sources [new file with mode: 0644]
mcs/class/SystemWebTestShim/SystemWebTestShim-net_4_x.csproj [new file with mode: 0644]
mcs/class/WebMatrix.Data/WebMatrix.Data-net_4_x.csproj [new file with mode: 0644]
mcs/class/WindowsBase/System.IO.Packaging/PackagePart.cs
mcs/class/WindowsBase/Test/System.IO.Packaging/PackagePartTest.cs
mcs/class/WindowsBase/WindowsBase-net_4_x.csproj [new file with mode: 0644]
mcs/class/corlib/Makefile
mcs/class/corlib/ReferenceSources/TextInfo.cs
mcs/class/corlib/ReferenceSources/win32native.cs
mcs/class/corlib/System.Diagnostics/StackTrace.cs
mcs/class/corlib/System.Globalization/CultureInfo.cs
mcs/class/corlib/System.IO/FileStream.cs
mcs/class/corlib/System.IO/IntPtrStream.cs [deleted file]
mcs/class/corlib/System.IO/MonoIO.cs
mcs/class/corlib/System.Reflection/MonoEvent.cs
mcs/class/corlib/System.Reflection/MonoProperty.cs
mcs/class/corlib/System.Runtime.InteropServices/SafeHandle.cs
mcs/class/corlib/System.Threading/Monitor.cs
mcs/class/corlib/System.Threading/ThreadPool.cs [deleted file]
mcs/class/corlib/System/AppDomain.cs
mcs/class/corlib/System/Console.cs
mcs/class/corlib/System/Delegate.cs
mcs/class/corlib/System/Environment.cs
mcs/class/corlib/System/Exception.cs
mcs/class/corlib/System/Math.cs [deleted file]
mcs/class/corlib/System/MulticastDelegate.cs
mcs/class/corlib/System/TimeZoneInfo.Android.cs
mcs/class/corlib/System/TimeZoneInfo.MonoTouch.cs
mcs/class/corlib/System/TimeZoneInfo.cs
mcs/class/corlib/Test/System.Globalization/CultureInfoTest.cs
mcs/class/corlib/Test/System.IO.IsolatedStorage/IsolatedStorageFileTest.cs
mcs/class/corlib/Test/System.IO/FileStreamTest.cs
mcs/class/corlib/Test/System.IO/MemoryStreamTest.cs
mcs/class/corlib/Test/System.Reflection.Emit/DynamicMethodTest.cs
mcs/class/corlib/Test/System.Reflection/AssemblyNameTest.cs
mcs/class/corlib/Test/System.Reflection/ConstructorInfoTest.cs
mcs/class/corlib/Test/System.Reflection/EventInfoTest.cs
mcs/class/corlib/Test/System.Reflection/MethodInfoTest.cs
mcs/class/corlib/Test/System.Reflection/PropertyInfoTest.cs
mcs/class/corlib/Test/System.Runtime.ExceptionServices/ExceptionDispatchInfoTest.cs
mcs/class/corlib/Test/System.Threading/CancellationTokenSourceTest.cs
mcs/class/corlib/Test/System.Threading/ThreadTest.cs
mcs/class/corlib/Test/System/DateTimeTest.cs
mcs/class/corlib/Test/System/MathTest.cs
mcs/class/corlib/Test/System/TimeZoneInfoTest.cs
mcs/class/corlib/corlib-net_4_x.csproj [new file with mode: 0644]
mcs/class/corlib/corlib.dll.sources
mcs/class/corlib/monotouch_tv_corlib.dll.sources [new file with mode: 0644]
mcs/class/monodoc/monodoc-net_4_x.csproj [new file with mode: 0644]
mcs/errors/cs0023-26.cs [new file with mode: 0644]
mcs/errors/cs0165-53.cs [new file with mode: 0644]
mcs/errors/cs0165-54.cs [new file with mode: 0644]
mcs/errors/cs0165-55.cs [new file with mode: 0644]
mcs/errors/cs0176-8.cs [new file with mode: 0644]
mcs/errors/cs0619-41.cs [new file with mode: 0644]
mcs/errors/cs0619-58.cs [new file with mode: 0644]
mcs/errors/cs1503-18.cs [new file with mode: 0644]
mcs/errors/cs1570-10.cs
mcs/errors/cs1570-11.cs
mcs/errors/cs1570-12.cs
mcs/errors/cs1570-2.cs
mcs/errors/cs1570-3.cs
mcs/errors/cs1570-4.cs
mcs/errors/cs1570-5.cs
mcs/errors/cs1570-6.cs
mcs/errors/cs1570-7.cs
mcs/errors/cs1570-8.cs
mcs/errors/cs1570-9.cs
mcs/errors/cs1570.cs
mcs/errors/cs1904.cs
mcs/errors/cs1918.cs
mcs/errors/cs7064.cs [new file with mode: 0644]
mcs/ilasm/parser/ILParser.jay
mcs/ilasm/scanner/ILTables.cs
mcs/mcs/Makefile
mcs/mcs/assembly.cs
mcs/mcs/attribute.cs
mcs/mcs/class.cs
mcs/mcs/codegen.cs
mcs/mcs/const.cs
mcs/mcs/context.cs
mcs/mcs/cs-tokenizer.cs
mcs/mcs/decl.cs
mcs/mcs/delegate.cs
mcs/mcs/doc.cs
mcs/mcs/ecore.cs
mcs/mcs/expression.cs
mcs/mcs/flowanalysis.cs
mcs/mcs/generic.cs
mcs/mcs/ikvm.cs
mcs/mcs/lambda.cs
mcs/mcs/mcs-net_4_x.csproj [new file with mode: 0644]
mcs/mcs/method.cs
mcs/mcs/namespace.cs
mcs/mcs/nullable.cs
mcs/mcs/parameter.cs
mcs/mcs/property.cs
mcs/mcs/settings.cs
mcs/mcs/statement.cs
mcs/mcs/typespec.cs
mcs/tests/gtest-584.cs
mcs/tests/gtest-633.cs [new file with mode: 0644]
mcs/tests/gtest-634.cs [new file with mode: 0644]
mcs/tests/gtest-autoproperty-20.cs [new file with mode: 0644]
mcs/tests/test-927.cs [new file with mode: 0644]
mcs/tests/test-928.cs [new file with mode: 0644]
mcs/tests/test-async-68.cs [new file with mode: 0644]
mcs/tests/test-async-80.cs [new file with mode: 0644]
mcs/tests/test-dictinit-05.cs [new file with mode: 0644]
mcs/tests/test-interpolation-08.cs [new file with mode: 0644]
mcs/tests/test-null-operator-04.cs [deleted file]
mcs/tests/test-null-operator-16.cs [new file with mode: 0644]
mcs/tests/test-null-operator-17.cs [new file with mode: 0644]
mcs/tests/test-null-operator-18.cs [new file with mode: 0644]
mcs/tests/test-static-using-11.cs [new file with mode: 0644]
mcs/tests/test-xml-073-ref.xml [new file with mode: 0644]
mcs/tests/test-xml-073.cs [new file with mode: 0644]
mcs/tests/ver-il-net_4_x.xml
mcs/tools/Makefile
mcs/tools/corcompare/mono-api-html/MemberComparer.cs
mcs/tools/corcompare/mono-api-info.cs
mcs/tools/linker-analyzer/ConsoleDependencyGraph.cs [new file with mode: 0644]
mcs/tools/linker-analyzer/Info.plist [new file with mode: 0644]
mcs/tools/linker-analyzer/LinkerAnalyzer.csproj [new file with mode: 0644]
mcs/tools/linker-analyzer/LinkerAnalyzer.sln [new file with mode: 0644]
mcs/tools/linker-analyzer/LinkerAnalyzerCore/DependencyGraph.cs [new file with mode: 0644]
mcs/tools/linker-analyzer/LinkerAnalyzerCore/LinkerAnalyzerCore.csproj [new file with mode: 0644]
mcs/tools/linker-analyzer/LinkerAnalyzerCore/Properties/AssemblyInfo.cs [new file with mode: 0644]
mcs/tools/linker-analyzer/Main.cs [new file with mode: 0644]
mcs/tools/linker-analyzer/Makefile [new file with mode: 0644]
mcs/tools/linker-analyzer/linkeranalyzer.exe.sources [new file with mode: 0644]
mcs/tools/linker/Mono.Linker.Steps/MarkStep.cs
mcs/tools/linker/Mono.Linker.Steps/OutputStep.cs
mcs/tools/linker/Mono.Linker.Steps/ResolveFromAssemblyStep.cs
mcs/tools/linker/Mono.Linker/Annotations.cs
mcs/tools/linker/Mono.Linker/Pipeline.cs
mcs/tools/mdoc/Makefile
mcs/tools/mdoc/Mono.Documentation/monodocer.cs
mcs/tools/mdoc/Test/DocTest-DropNS-classic.cs
mcs/tools/mdoc/Test/DocTest-DropNS-unified.cs
mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/MyClass.xml [new file with mode: 0644]
mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/WillDelete.xml.remove [new file with mode: 0644]
mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/nint.xml [new file with mode: 0644]
mcs/tools/mdoc/Test/en.expected-dropns-delete/index.xml [new file with mode: 0644]
mcs/tools/mdoc/Test/en.expected-dropns-delete/ns-MyFramework.MyNamespace.xml [new file with mode: 0644]
mcs/tools/mdoc/Test/en.expected.importslashdoc/Mono.DocTest.Generic/Extensions.xml
mcs/tools/mdoc/Test/en.expected.importslashdoc/Mono.DocTest/Color.xml
mcs/tools/mdoc/Test/en.expected.importslashdoc/Mono.DocTest/DocAttribute.xml
mcs/tools/mdoc/Test/en.expected.importslashdoc/System/Environment.xml
mcs/tools/mdoc/Test/en.expected.importslashdoc/index.xml
mcs/tools/mdoc/Test/html.expected/Mono.DocTest.Generic/Extensions.html
mcs/tools/mdoc/Test/html.expected/Mono.DocTest.Generic/IFoo`1.html
mcs/tools/mdoc/Test/html.expected/Mono.DocTest.Generic/MyList`1.html
mcs/tools/mdoc/Test/html.expected/Mono.DocTest.Generic/MyList`2.html
mcs/tools/mdoc/Test/html.expected/Mono.DocTest/Color.html
mcs/tools/mdoc/Test/html.expected/Mono.DocTest/DocAttribute.html
mcs/tools/mdoc/Test/html.expected/System/Environment.html
mcs/tools/mdoc/Test/msxdoc-expected.importslashdoc.xml
mcs/tools/mkbundle/mkbundle.cs
mcs/tools/mono-symbolicate/Makefile
mcs/tools/mono-symbolicate/Test/StackTraceDumper.cs
mcs/tools/mono-symbolicate/Test/symbolicate.expected
mcs/tools/monop/Makefile
mcs/tools/resgen/monoresgen.cs
mcs/tools/security/cert-sync.cs
mcs/tools/security/makecert.cs
mcs/tools/tuner/Mono.Tuner/Dispatcher.cs
mcs/tools/xbuild/Makefile
mcs/tools/xbuild/data/12.0/Microsoft.CSharp.targets
mcs/tools/xbuild/data/12.0/Microsoft.Common.targets
mcs/tools/xbuild/data/14.0/Microsoft.CSharp.targets
mcs/tools/xbuild/data/14.0/Microsoft.Common.targets
mcs/tools/xbuild/data/2.0/Microsoft.CSharp.targets
mcs/tools/xbuild/data/2.0/Microsoft.Common.targets
mcs/tools/xbuild/data/3.5/Microsoft.CSharp.targets
mcs/tools/xbuild/data/3.5/Microsoft.Common.targets
mcs/tools/xbuild/data/4.0/Microsoft.CSharp.targets
mcs/tools/xbuild/data/4.0/Microsoft.Common.targets
mcs/tools/xbuild/frameworks/net_4.5.2.xml [new file with mode: 0644]
mono/arch/arm/tramp.c [deleted file]
mono/io-layer/handles-private.h
mono/io-layer/handles.c
mono/io-layer/io.c
mono/io-layer/io.h
mono/io-layer/processes.c
mono/io-layer/sockets.c
mono/io-layer/thread-private.h
mono/io-layer/threads.h
mono/io-layer/wait.c
mono/io-layer/wapi-remap.h
mono/io-layer/wthreads.c
mono/metadata/Makefile.am
mono/metadata/appdomain.c
mono/metadata/assembly.c
mono/metadata/boehm-gc.c
mono/metadata/class-internals.h
mono/metadata/class.c
mono/metadata/cominterop.c
mono/metadata/coree.c
mono/metadata/culture-info-tables.h
mono/metadata/debug-helpers.c
mono/metadata/debug-mono-ppdb.c
mono/metadata/debug-mono-ppdb.h
mono/metadata/domain-internals.h
mono/metadata/domain.c [changed mode: 0755->0644]
mono/metadata/file-io.c
mono/metadata/file-io.h
mono/metadata/filewatcher.c
mono/metadata/filewatcher.h
mono/metadata/gc-internal.h
mono/metadata/gc-stats.c
mono/metadata/gc.c
mono/metadata/icall-def.h
mono/metadata/icall.c
mono/metadata/image.c
mono/metadata/loader.c
mono/metadata/locales.c
mono/metadata/lock-tracer.c
mono/metadata/marshal.c
mono/metadata/marshal.h
mono/metadata/metadata-internals.h
mono/metadata/metadata.c
mono/metadata/method-builder.c
mono/metadata/monitor.c
mono/metadata/monitor.h
mono/metadata/mono-debug.c
mono/metadata/mono-gc.h
mono/metadata/mono-hash.c
mono/metadata/mono-hash.h
mono/metadata/mono-ptr-array.h
mono/metadata/mono-route.h
mono/metadata/null-gc.c
mono/metadata/object-internals.h
mono/metadata/object-offsets.h
mono/metadata/object.c
mono/metadata/object.h
mono/metadata/process.c
mono/metadata/process.h
mono/metadata/reflection.c
mono/metadata/remoting.c
mono/metadata/sgen-bridge-internal.h
mono/metadata/sgen-bridge.c
mono/metadata/sgen-client-mono.h
mono/metadata/sgen-mono.c
mono/metadata/sgen-os-coop.c [new file with mode: 0644]
mono/metadata/sgen-os-mach.c
mono/metadata/sgen-os-posix.c
mono/metadata/sgen-os-win32.c
mono/metadata/sgen-stw.c
mono/metadata/socket-io.c
mono/metadata/socket-io.h
mono/metadata/sysmath.c
mono/metadata/sysmath.h
mono/metadata/threadpool-ms-io-epoll.c
mono/metadata/threadpool-ms-io-kqueue.c
mono/metadata/threadpool-ms-io-poll.c
mono/metadata/threadpool-ms-io.c
mono/metadata/threadpool-ms-io.h
mono/metadata/threadpool-ms.c
mono/metadata/threads-types.h
mono/metadata/threads.c
mono/mini/Makefile.am.in
mono/mini/aot-compiler.c
mono/mini/aot-runtime.c
mono/mini/aot-tests.cs
mono/mini/arch-stubs.c [new file with mode: 0644]
mono/mini/branch-opts.c
mono/mini/cpu-arm.md
mono/mini/cpu-arm64.md
mono/mini/cpu-ppc.md
mono/mini/cpu-x86.md
mono/mini/debugger-agent.c
mono/mini/decompose.c
mono/mini/driver.c
mono/mini/dwarfwriter.c
mono/mini/exceptions-amd64.c
mono/mini/exceptions-arm.c
mono/mini/exceptions-ia64.c
mono/mini/exceptions-mips.c
mono/mini/exceptions-ppc.c
mono/mini/exceptions-s390x.c
mono/mini/exceptions-sparc.c
mono/mini/exceptions-x86.c
mono/mini/gshared.cs
mono/mini/iltests.il.in
mono/mini/main.c
mono/mini/method-to-ir.c
mono/mini/mini-amd64.c
mono/mini/mini-amd64.h
mono/mini/mini-arm-tls.S
mono/mini/mini-arm-tls.h
mono/mini/mini-arm.c
mono/mini/mini-arm.h
mono/mini/mini-codegen.c
mono/mini/mini-darwin.c
mono/mini/mini-exceptions.c
mono/mini/mini-gc.c
mono/mini/mini-generic-sharing.c
mono/mini/mini-ia64.c
mono/mini/mini-llvm-cpp.cpp
mono/mini/mini-llvm.c
mono/mini/mini-mips.c
mono/mini/mini-ops.h
mono/mini/mini-posix.c
mono/mini/mini-ppc.c
mono/mini/mini-ppc.h
mono/mini/mini-runtime.c
mono/mini/mini-s390x.c
mono/mini/mini-s390x.h
mono/mini/mini-sparc.c
mono/mini/mini-trampolines.c
mono/mini/mini-unwind.h
mono/mini/mini-windows.c
mono/mini/mini-x86.c
mono/mini/mini-x86.h
mono/mini/mini.c
mono/mini/mini.h
mono/mini/seq-points.c
mono/mini/tasklets.c
mono/mini/test_op_il_seq_point.sh
mono/mini/trace.c
mono/mini/tramp-amd64.c
mono/mini/tramp-arm.c
mono/mini/tramp-ia64.c
mono/mini/tramp-mips.c
mono/mini/tramp-ppc.c
mono/mini/tramp-s390x.c
mono/mini/tramp-sparc.c
mono/mini/tramp-x86.c
mono/mini/unwind.c
mono/profiler/decode.c
mono/profiler/mono-codeanalyst.c [deleted file]
mono/profiler/proflog.c
mono/profiler/proflog.h
mono/profiler/ptestrunner.pl
mono/sgen/Makefile.am
mono/sgen/gc-internal-agnostic.h
mono/sgen/sgen-archdep.h
mono/sgen/sgen-client.h
mono/sgen/sgen-fin-weak-hash.c
mono/sgen/sgen-gc.c
mono/sgen/sgen-gc.h
mono/sgen/sgen-gchandles.c [new file with mode: 0644]
mono/sgen/sgen-los.c
mono/sgen/sgen-marksweep-scan-object-concurrent.h
mono/sgen/sgen-marksweep.c
mono/sgen/sgen-memory-governor.c
mono/sgen/sgen-protocol-def.h
mono/sgen/sgen-protocol.c
mono/sgen/sgen-protocol.h
mono/sgen/sgen-thread-pool.c
mono/sgen/sgen-workers.c
mono/sgen/sgen-workers.h
mono/tests/Makefile.am
mono/tests/appdomain-loader.cs [new file with mode: 0644]
mono/tests/appdomain-tester.cs [new file with mode: 0644]
mono/tests/calliGenericTest.il [new file with mode: 0644]
mono/tests/delegate12.cs [new file with mode: 0644]
mono/tests/dynamic-method-stack-traces.cs [new file with mode: 0644]
mono/tests/libtest.c
mono/tests/monitor-resurrection.cs
mono/tests/pinvoke_ppcc.cs [new file with mode: 0644]
mono/tests/pinvoke_ppcd.cs [new file with mode: 0644]
mono/tests/pinvoke_ppcf.cs [new file with mode: 0644]
mono/tests/pinvoke_ppci.cs [new file with mode: 0644]
mono/tests/pinvoke_ppcs.cs [new file with mode: 0644]
mono/tests/shared-generic-synchronized.2.cs
mono/tests/suspend-stress-test.cs [new file with mode: 0644]
mono/tests/synchronized.cs
mono/tests/test-runner.cs
mono/tests/unhandled-exception.cs [new file with mode: 0644]
mono/unit-tests/Makefile.am
mono/unit-tests/test-conc-hashtable.c
mono/utils/Makefile.am
mono/utils/checked-build.c [new file with mode: 0644]
mono/utils/checked-build.h [new file with mode: 0644]
mono/utils/mach-support-amd64.c
mono/utils/mach-support-arm.c
mono/utils/mach-support-arm64.c [new file with mode: 0644]
mono/utils/mach-support-unknown.c
mono/utils/mach-support-x86.c
mono/utils/mach-support.h
mono/utils/mono-compiler.h
mono/utils/mono-conc-hashtable.c
mono/utils/mono-conc-hashtable.h
mono/utils/mono-context.c
mono/utils/mono-context.h
mono/utils/mono-hwcap-arm.c
mono/utils/mono-hwcap-arm.h
mono/utils/mono-logger-internal.h
mono/utils/mono-logger.c
mono/utils/mono-mmap.c
mono/utils/mono-networkinterfaces.c
mono/utils/mono-stack-unwinding.h
mono/utils/mono-threads-api.h [new file with mode: 0644]
mono/utils/mono-threads-coop.c
mono/utils/mono-threads-coop.h
mono/utils/mono-threads-mach-abort-syscall.c [new file with mode: 0644]
mono/utils/mono-threads-mach.c
mono/utils/mono-threads-posix-abort-syscall.c [new file with mode: 0644]
mono/utils/mono-threads-posix-signals.c [new file with mode: 0644]
mono/utils/mono-threads-posix-signals.h [new file with mode: 0644]
mono/utils/mono-threads-posix.c
mono/utils/mono-threads-state-machine.c
mono/utils/mono-threads-windows-abort-syscall.c [new file with mode: 0644]
mono/utils/mono-threads-windows.c [changed mode: 0755->0644]
mono/utils/mono-threads.c
mono/utils/mono-threads.h
mono/utils/valgrind.h
msvc/eglib.vcxproj
msvc/genmdesc.vcxproj
msvc/libgc.vcxproj
msvc/libmono.vcxproj
msvc/libmonoruntime.vcxproj
msvc/libmonoutils.vcxproj
msvc/libtest.vcxproj
msvc/masm.fixed.props [new file with mode: 0644]
msvc/mono.def
msvc/mono.vcxproj
msvc/monodiet.vcxproj
msvc/monodis.vcxproj
msvc/monograph.vcxproj
msvc/monoposixhelper.vcxproj
msvc/monosgen.def
msvc/monosgen64.def [deleted file]
msvc/pedump.vcxproj
msvc/scripts/csproj.tmpl
msvc/scripts/genproj.cs
msvc/scripts/net_4_5.sln [deleted file]
msvc/scripts/net_4_x.sln [new file with mode: 0644]
msvc/scripts/order.xml
msvc/test-invoke.vcxproj
msvc/test-metadata.vcxproj
msvc/test_eglib.vcxproj
msvc/teste.vcxproj
runtime/Makefile.am
scripts/mono-find-provides.in
scripts/mono-find-requires.in
support/Makefile.am
support/errno.c
support/map.c
support/map.h
support/mph.h
support/serial.c
support/sys-socket.c [new file with mode: 0644]
support/zlib-helper.c
tools/locale-builder/Driver.cs
tools/sgen/sgen-grep-binprot.c
winconfig.h

index 19f0cfbd7990508265351ab1424b1c6b397106a3..330f8d00ce53851b060fc3b2128614ab3a2ee634 100644 (file)
@@ -56,7 +56,7 @@ DISTCLEANFILES= mono-uninstalled.pc
 mcslib = $(mcs_topdir)/class/lib
 monolite = $(mcslib)/monolite
 mono_corlib_version = $(shell sed -n "s/\#define MONO_CORLIB_VERSION //p" $(srcdir)/mono/metadata/appdomain.c)
-monolite_url = http://storage.bos.xamarin.com/mono-dist-master/latest/monolite-$(mono_corlib_version)-latest.tar.gz
+monolite_url = http://download.mono-project.com/monolite/monolite-$(mono_corlib_version)-latest.tar.gz
 .PHONY: get-monolite-latest 
 get-monolite-latest:
        -rm -fr $(mcslib)/monolite-*
index 00d0aa5ff142e10a4068c16a106e0a9516796ae2..3725b6b41af10e5d1d7d3828928c050e4da4fec2 100644 (file)
@@ -13,7 +13,11 @@ AC_CANONICAL_HOST
 # The extra brackets are to foil regex-based scans.
 m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])])
 
-AM_INIT_AUTOMAKE([1.9 dist-bzip2 tar-ustar no-dist-gzip foreign subdir-objects])
+AM_INIT_AUTOMAKE([1.9 dist-bzip2 tar-ustar no-dist-gzip foreign subdir-objects]
+                 m4_esyscmd([case `automake --version | head -n 1` in    # parallel-tests is default in automake 1.13+, we need to explicitly enable it
+                             *1.11*|*1.12*) echo parallel-tests;;        # for 1.11 and 1.12 but not below as those versions don't recognize the flag
+                             esac]))                                     # TODO: remove this hack once we require automake 1.11+
+
 AC_CONFIG_HEADERS([config.h])
 AM_MAINTAINER_MODE
 
@@ -77,17 +81,10 @@ has_dtrace=no
 parallel_mark=yes
 ikvm_native=yes
 
-case "$host" in
-       powerpc*-*-linux*)
-               # https://bugzilla.novell.com/show_bug.cgi?id=504411
-               disable_munmap=yes
-       ;;
-esac
-
 host_win32=no
 target_win32=no
 platform_android=no
-platform_darwin=no
+host_darwin=no
 case "$host" in
        *-mingw*|*-*-cygwin*)
                AC_DEFINE(DISABLE_PORTABILITY,1,[Disable the io-portability layer])
@@ -118,7 +115,6 @@ case "$host" in
                libgc_configure_args="$libgc_configure_args --enable-win32-dllmain=yes"
                ;;
        *-*-*netbsd*)
-               host_win32=no
                CPPFLAGS="$CPPFLAGS -D_REENTRANT -DGC_NETBSD_THREADS -D_GNU_SOURCE"
                libmono_cflags="-D_REENTRANT"
                LDFLAGS="$LDFLAGS -pthread"
@@ -131,7 +127,6 @@ case "$host" in
                use_sigposix=yes
                ;;
        *-*-kfreebsd*-gnu)
-               host_win32=no
                CPPFLAGS="$CPPFLAGS -DGC_FREEBSD_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -DTHREAD_LOCAL_ALLOC -pthread"
                libmono_cflags="-D_REENTRANT -DTHREAD_LOCAL_ALLOC -pthread"
                libmono_ldflags="-lpthread -pthread"
@@ -142,7 +137,6 @@ case "$host" in
                use_sigposix=yes
                ;;
        *-*-*freebsd*)
-               host_win32=no
                if test "x$PTHREAD_CFLAGS" = "x"; then
                        CPPFLAGS="$CPPFLAGS -DGC_FREEBSD_THREADS"
                        libmono_cflags=
@@ -166,7 +160,6 @@ case "$host" in
                has_dtrace=yes
                ;;
        *-*-*openbsd*)
-               host_win32=no
                CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE -DGC_OPENBSD_THREADS -DPLATFORM_BSD -D_REENTRANT -DUSE_MMAP"
                if test "x$disable_munmap" != "xyes"; then
                CPPFLAGS="$CPPFLAGS -DUSE_MUNMAP"
@@ -181,7 +174,6 @@ case "$host" in
                use_sigposix=yes
                ;;
        *-*-linux-android*)
-               host_win32=no
                platform_android=yes
                AC_DEFINE(PLATFORM_ANDROID,1,[Targeting the Android platform])
                AC_DEFINE(TARGET_ANDROID,1,[Targeting the Android platform])
@@ -220,7 +212,6 @@ case "$host" in
                mono_cv_clang=no
                ;;
        *-*-linux*)
-               host_win32=no
                CPPFLAGS="$CPPFLAGS -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP"
                if test "x$disable_munmap" != "xyes"; then
                        CPPFLAGS="$CPPFLAGS -DUSE_MUNMAP"
@@ -239,10 +230,13 @@ case "$host" in
                        support_boehm=no
                        with_gc=sgen
                        ;;
+               powerpc*-*-linux*)
+                       # https://bugzilla.novell.com/show_bug.cgi?id=504411
+                       disable_munmap=yes
+                       ;;
                esac
                ;;
        *-*-nacl*)
-               host_win32=no
                CPPFLAGS="$CPPFLAGS -DGC_LINUX_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP"
                if test "x$disable_munmap" != "xyes"; then
                        CPPFLAGS="$CPPFLAGS -DUSE_MUNMAP"
@@ -256,7 +250,6 @@ case "$host" in
                AC_DEFINE(DISABLE_ATTACH, 1, [Disable agent attach support])
                ;;
        *-*-hpux*)
-               host_win32=no
                CPPFLAGS="$CPPFLAGS -DGC_HPUX_THREADS -D_HPUX_SOURCE -D_XOPEN_SOURCE_EXTENDED -D_REENTRANT"
                # +ESdbgasm only valid on bundled cc on RISC
                # silently ignored for ia64
@@ -275,7 +268,6 @@ case "$host" in
                use_sigposix=yes
                ;;
        *-*-solaris*)
-               host_win32=no
                CPPFLAGS="$CPPFLAGS -DGC_SOLARIS_THREADS -DGC_SOLARIS_PTHREADS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_MMAP -DUSE_MUNMAP -DPLATFORM_SOLARIS"
                need_link_unlink=yes
                libmono_cflags="-D_REENTRANT"
@@ -288,8 +280,7 @@ case "$host" in
                ;;
        *-*-darwin*)
                parallel_mark="Disabled_Currently_Hangs_On_MacOSX"
-               host_win32=no
-               platform_darwin=yes
+               host_darwin=yes
                target_mach=yes
                CPPFLAGS="$CPPFLAGS -D_THREAD_SAFE -DGC_MACOSX_THREADS -DPLATFORM_MACOSX -DUSE_MMAP -DUSE_MUNMAP"
                libmono_cflags="-D_THREAD_SAFE"
@@ -327,7 +318,6 @@ case "$host" in
                esac
                ;;
        *-*-haiku*)
-               host_win32=no
                CPPFLAGS="$CPPFLAGS -D_REENTRANT -D_THREAD_SAFE"
                libmono_cflags="-D_REENTRANT -D_THREAD_SAFE"
                libdl=
@@ -339,7 +329,6 @@ case "$host" in
                ;;
        *)
                AC_MSG_WARN([*** Please add $host to configure.ac checks!])
-               host_win32=no
                libdl="-ldl"
                ;;
 esac
@@ -360,9 +349,8 @@ fi
 AC_SUBST(extra_runtime_ldflags)
 AM_CONDITIONAL(HOST_WIN32, test x$host_win32 = xyes)
 AM_CONDITIONAL(TARGET_WIN32, test x$target_win32 = xyes)
-AM_CONDITIONAL(PLATFORM_GNU, echo x$target_os | grep -q -- -gnu)
 AM_CONDITIONAL(PLATFORM_LINUX, echo x$target_os | grep -q linux)
-AM_CONDITIONAL(PLATFORM_DARWIN, test x$platform_darwin = xyes)
+AM_CONDITIONAL(PLATFORM_DARWIN, test x$host_darwin = xyes)
 AM_CONDITIONAL(PLATFORM_SIGPOSIX, test x$use_sigposix = xyes)
 AM_CONDITIONAL(PLATFORM_ANDROID, test x$platform_android = xyes)
 
@@ -667,17 +655,9 @@ AC_CONFIG_SUBDIRS(eglib)
 
 GLIB_CFLAGS='-I$(top_srcdir)/eglib/src -I$(top_builddir)/eglib/src'
 GLIB_LIBS='-L$(top_builddir)/eglib/src -leglib -lm'
-BUILD_GLIB_CFLAGS="$GLIB_CFLAGS"
-BUILD_GLIB_LIBS="$GLIB_LIBS"
-GMODULE_CFLAGS="$GLIB_CFLAGS"
-GMODULE_LIBS="$GLIB_LIBS"
   
 AC_SUBST(GLIB_CFLAGS)
 AC_SUBST(GLIB_LIBS)
-AC_SUBST(GMODULE_CFLAGS)
-AC_SUBST(GMODULE_LIBS)
-AC_SUBST(BUILD_GLIB_CFLAGS)
-AC_SUBST(BUILD_GLIB_LIBS)
 
 # Enable support for fast thread-local storage
 # Some systems have broken support, so we allow to disable it.
@@ -953,12 +933,6 @@ if test x$has_extension_module != xno ; then
        AC_MSG_NOTICE([Enabling mono extension module.])
 fi
 
-AC_ARG_ENABLE(gsharing, [  --enable-gsharing Enable gsharing], enable_gsharing=$enableval, enable_gsharing=no)
-if test x$enable_gsharing = xyes; then
-       AC_DEFINE(ENABLE_GSHAREDVT,1,[Gsharing])
-fi
-
-# A synonym
 AC_ARG_ENABLE(gsharedvt, [  --enable-gsharedvt Enable generic valuetype sharing], enable_gsharedvt=$enableval, enable_gsharedvt=no)
 if test x$enable_gsharedvt = xyes; then
        AC_DEFINE(ENABLE_GSHAREDVT,1,[Gsharedvt])
@@ -1941,7 +1915,7 @@ if test x$host_win32 = xno; then
        dnl * back 
        dnl **************************************
        if test "x$havekqueue" = "xyes" -a "x$ac_cv_header_sys_event_h" = "xyes"; then
-               if test "x$platform_darwin" = "xno"; then
+               if test "x$host_darwin" = "xno"; then
                        AC_DEFINE(USE_KQUEUE_FOR_THREADPOOL, 1, [Use kqueue for the threadpool])
                fi
        fi
@@ -2101,6 +2075,7 @@ if test x$host_win32 = xno; then
        AC_CHECK_FUNCS(readv writev preadv pwritev)
        AC_CHECK_FUNCS(setpgid)
        AC_CHECK_FUNCS(system)
+       AC_CHECK_FUNCS(fork execv execve)
        AC_CHECK_SIZEOF(size_t)
        AC_CHECK_TYPES([blksize_t], [AC_DEFINE(HAVE_BLKSIZE_T)], , 
                [#include <sys/types.h>
@@ -2117,6 +2092,8 @@ if test x$host_win32 = xno; then
                 #include <fcntl.h>])
        AC_CHECK_TYPES([struct iovec], [AC_DEFINE(HAVE_STRUCT_IOVEC)], ,
                [#include <sys/uio.h>])
+       AC_CHECK_TYPES([struct linger], [AC_DEFINE(HAVE_STRUCT_LINGER)], ,
+               [#include <sys/socket.h>])
        AC_CHECK_TYPES([struct pollfd], [AC_DEFINE(HAVE_STRUCT_POLLFD)], ,
                [#include <sys/poll.h>])
        AC_CHECK_TYPES([struct stat], [AC_DEFINE(HAVE_STRUCT_STAT)], ,
@@ -2189,10 +2166,6 @@ if test x$host_win32 = xno; then
         #endif
        ])
        AC_CHECK_HEADERS([termios.h])
-
-       dnl * This is provided in io-layer, but on windows it's only available
-       dnl * on xp+
-       AC_DEFINE(HAVE_GETPROCESSID, 1, [Define if GetProcessId is available])
 else
        dnl *********************************
        dnl *** Checks for Windows compilation ***
@@ -2351,16 +2324,6 @@ else
        AC_CHECK_DECLS(InterlockedAdd, [], [], [[#include <windows.h>]])
        AC_CHECK_DECLS(InterlockedAdd64, [], [], [[#include <windows.h>]])
        AC_CHECK_DECLS(__readfsdword, [], [], [[#include <windows.h>]])
-
-       AC_MSG_CHECKING(for GetProcessId)
-       AC_TRY_COMPILE([#include <windows.h>], [
-               GetProcessId (0);
-       ], [
-          AC_MSG_RESULT(yes)
-          AC_DEFINE(HAVE_GETPROCESSID)
-       ], [
-          AC_MSG_RESULT(no)
-       ])
 fi
 
 dnl socklen_t check
@@ -2405,8 +2368,6 @@ if test "x$ac_cv_truncl" != "xyes"; then
    AC_CHECK_LIB(sunmath, aintl, [ AC_DEFINE(HAVE_AINTL, 1, [Has the 'aintl' function]) LIBS="$LIBS -lsunmath"])
 fi
 
-AC_CHECK_FUNCS(round)
-AC_CHECK_FUNCS(rint)
 AC_CHECK_FUNCS(execvp)
 
 dnl ****************************
@@ -2728,13 +2689,11 @@ XINERAMA="libXinerama.so.1"
 sizeof_register="SIZEOF_VOID_P"
 
 jit_wanted=true
-sgen_supported=false
 boehm_supported=true
 case "$host" in
        mips*)
                TARGET=MIPS;
                arch_target=mips;
-               sgen_supported=true
                ACCESS_UNALIGNED="no"
 
                AC_MSG_CHECKING(for mips n32)
@@ -2773,25 +2732,20 @@ case "$host" in
                        # foo.c:6: warning: visibility attribute not supported in this configuration; ignored
                        # ld: fatal: relocation error: R_386_GOTOFF: file /var/tmp//ccxYR96k.o: symbol astruct: relocation must bind locally
                        have_visibility_hidden=no
-                       sgen_supported=true
                        ;;
                  mingw*|cygwin*)
-                       sgen_supported=true
                        have_visibility_hidden=no                 
                        ;;
                  haiku*)
                        LIBC=libroot.so
                        ;;
                  linux*)
-                       sgen_supported=true
                        AOT_SUPPORTED="yes"
                        ;;
                  darwin*)
-                       sgen_supported=true
                        AOT_SUPPORTED="yes"
                        ;;
                  openbsd*|freebsd*|kfreebsd-gnu*)
-                       sgen_supported=true
                        ;;
                esac
                ;;
@@ -2804,18 +2758,14 @@ case "$host" in
                fi
                case $host_os in
                  linux*)
-                       sgen_supported=true
                        AOT_SUPPORTED="yes"
                        ;;
                  darwin*)
-                       sgen_supported=true
                        AOT_SUPPORTED="yes"
                        ;;
                  openbsd*|freebsd*|kfreebsd-gnu*)
-                       sgen_supported=true
                        ;;
                  mingw*)
-                       sgen_supported=true
                        ;;
                esac
                case "$host" in
@@ -2855,7 +2805,6 @@ case "$host" in
                if test x"$AR" = xfalse; then
                        AC_MSG_ERROR([The required utility 'ar' is not found in your PATH. Usually it can be found in /usr/ccs/bin.])
                fi
-               sgen_supported=true
                ;;
        *-mingw*|*-*-cygwin*)
                # When this is enabled, it leads to very strange crashes at runtime (gcc-3.4.4)
@@ -2875,22 +2824,27 @@ case "$host" in
                arch_target=ppc;
                case $host_os in
                  linux*|darwin*)
-                       sgen_supported=true
                        ;;
                esac
                ;;
+       armv7k-*-darwin*)
+               TARGET=ARM;
+               TARGET_SYS=WATCHOS
+               arch_target=arm;
+               ACCESS_UNALIGNED="no"
+               CPPFLAGS="$CPPFLAGS -D__ARM_EABI__"
+               ;;
+
        arm*-darwin*)
                TARGET=ARM;
                arch_target=arm;
                ACCESS_UNALIGNED="no"
                CPPFLAGS="$CPPFLAGS -D__ARM_EABI__"
-               sgen_supported=true
                ;;
        arm*-linux*)
                TARGET=ARM;
                arch_target=arm;
                ACCESS_UNALIGNED="no"
-               sgen_supported=true
                AOT_SUPPORTED="yes"
                CPPFLAGS="$CPPFLAGS -D__ARM_EABI__"
                ;;
@@ -2899,21 +2853,18 @@ case "$host" in
 #              TARGET=ARM;
 #              arch_target=arm;
 #              ACCESS_UNALIGNED="no"
-#              sgen_supported=true
 #              AOT_SUPPORTED="no"
 #              ;;
        aarch64-*)
                # https://lkml.org/lkml/2012/7/15/133
                TARGET=ARM64
                arch_target=arm64
-               sgen_supported=true
                boehm_supported=false
                ;;
        s390x-*-linux*)
                TARGET=S390X;
                arch_target=s390x;
                ACCESS_UNALIGNED="yes"
-               sgen_supported=true
                CFLAGS="$CFLAGS -mbackchain -D__USE_STRING_INLINES"
                ;;
 esac
@@ -2932,6 +2883,11 @@ if test "x$host" != "x$target"; then
                # Can't use tls, since it depends on the runtime detection of tls offsets
                # in mono-compiler.h
                with_tls=pthread
+               case "$target" in
+               armv7k-*)
+                       AC_DEFINE(TARGET_WATCHOS, 1, [...])
+                       ;;
+               esac            
                ;;
    powerpc64-ps3-linux-gnu)
                TARGET=POWERPC64
@@ -3012,7 +2968,6 @@ if test "x$host" != "x$target"; then
                AC_DEFINE(TARGET_X86, 1, [...])
                AC_DEFINE(TARGET_ANDROID, 1, [...])
                CPPFLAGS="$CPPFLAGS"
-               sgen_supported=true
                # Can't use tls, since it depends on the runtime detection of tls offsets
                # in mono-compiler.h            
                with_tls=pthread
@@ -3024,7 +2979,6 @@ if test "x$host" != "x$target"; then
                AC_DEFINE(TARGET_AMD64, 1, [...])
                AC_DEFINE(TARGET_ANDROID, 1, [...])
                CPPFLAGS="$CPPFLAGS"
-               sgen_supported=true
                # Can't use tls, since it depends on the runtime detection of tls offsets
                # in mono-compiler.h
                with_tls=pthread
@@ -3036,7 +2990,6 @@ if test "x$host" != "x$target"; then
                AC_DEFINE(TARGET_AMD64, 1, [...])
                AC_DEFINE(TARGET_PS4, 1, [...])
                CPPFLAGS="$CPPFLAGS"
-               sgen_supported=true
                # Can't use tls, since it depends on the runtime detection of tls offsets
                # in mono-compiler.h
                with_tls=pthread
@@ -3149,7 +3102,12 @@ if test x$GCC = "xyes"; then
 fi
 
 if test "x$target_mach" = "xyes"; then
-   if test "x$TARGET" = "xARM" -o "x$TARGET" = "xARM64"; then
+
+   if test "x$TARGET_SYS" = "xWATCHOS"; then
+         AC_DEFINE(TARGET_WATCHOS,1,[The JIT/AOT targets WatchOS])
+         CPPFLAGS_FOR_LIBGC="$CPPFLAGS_FOR_LIBGC -DTARGET_WATCHOS"
+         CFLAGS_FOR_LIBGC="$CFLAGS_FOR_LIBGC -DTARGET_WATCHOS"
+   elif test "x$TARGET" = "xARM" -o "x$TARGET" = "xARM64"; then
          AC_DEFINE(TARGET_IOS,1,[The JIT/AOT targets iOS])
          CPPFLAGS_FOR_LIBGC="$CPPFLAGS_FOR_LIBGC -DTARGET_IOS"
          CFLAGS_FOR_LIBGC="$CFLAGS_FOR_LIBGC -DTARGET_IOS"
@@ -3199,21 +3157,11 @@ fi
 dnl 
 dnl Simple Generational checks (sgen)
 dnl
-if $sgen_supported; then
-   build_sgen_default=yes
-else
-   build_sgen_default=no
-fi
 SGEN_DEFINES=
-AC_ARG_WITH(sgen, [  --with-sgen=yes,no             Extra Generational GC, default=yes],[buildsgen=$with_sgen],[buildsgen=$build_sgen_default])
+AC_ARG_WITH(sgen, [  --with-sgen=yes,no             Extra Generational GC, default=yes],[buildsgen=$with_sgen],[buildsgen=yes])
 if test x$buildsgen = xyes; then
-   if $sgen_supported; then
-       SGEN_DEFINES="-DHAVE_SGEN_GC -DHAVE_MOVING_COLLECTOR"
-       gc_msg="sgen and $gc_msg"
-   else
-       buildsgen=no
-       AC_MSG_WARN("Sgen is not supported on this platform")
-   fi
+   SGEN_DEFINES="-DHAVE_SGEN_GC -DHAVE_MOVING_COLLECTOR"
+   gc_msg="sgen and $gc_msg"
 fi
 AC_SUBST(SGEN_DEFINES)
 AM_CONDITIONAL(SUPPORT_SGEN, test x$buildsgen = xyes)
@@ -3359,7 +3307,7 @@ if test ${TARGET} = ARM; then
        fpu=NONE
 
        # iOS GCC always uses the 'softfp' ABI.
-       if test x"$GCC" = xyes && test x$platform_darwin = xyes; then
+       if test x"$GCC" = xyes && test x$host_darwin = xyes; then
                fpu=VFP
        fi
 
@@ -3493,10 +3441,12 @@ case "x$libgc" in
                ;;
 esac
 
-AC_ARG_WITH(profile4_x,[  --with-profile4=yes,no          If you want to install the 4.6 FX (defaults to yes)],                [], [with_profile4_x=yes])
-AC_ARG_WITH(monodroid, [  --with-monodroid=yes,no         If you want to build the MonoDroid assemblies (defaults to no)],     [], [with_monodroid=no])
-AC_ARG_WITH(monotouch, [  --with-monotouch=yes,no         If you want to build the Xamarin.iOS assemblies (defaults to no)],   [], [with_monotouch=no])
-AC_ARG_WITH(xammac,    [  --with-xammac=yes,no            If you want to build the Xamarin.Mac assemblies (defaults to no)],   [], [with_xammac=no])
+AC_ARG_WITH(profile4_x,      [  --with-profile4=yes,no          If you want to install the 4.6 FX (defaults to yes)],                 [], [with_profile4_x=yes])
+AC_ARG_WITH(monodroid,       [  --with-monodroid=yes,no         If you want to build the MonoDroid assemblies (defaults to no)],      [], [with_monodroid=no])
+AC_ARG_WITH(monotouch,       [  --with-monotouch=yes,no         If you want to build the Xamarin.iOS assemblies (defaults to no)],    [], [with_monotouch=no])
+AC_ARG_WITH(monotouch_watch, [  --with-monotouch_watch=yes,no   If you want to build the Xamarin.WatchOS assemblies (defaults to no)],[], [with_monotouch_watch=no])
+AC_ARG_WITH(monotouch_tv,    [  --with-monotouch_tv=yes,no      If you want to build the Xamarin.TVOS assemblies (defaults to no)],   [], [with_monotouch_tv=no])
+AC_ARG_WITH(xammac,          [  --with-xammac=yes,no            If you want to build the Xamarin.Mac assemblies (defaults to no)],    [], [with_xammac=no])
 
 OPROFILE=no
 AC_ARG_WITH(oprofile,[  --with-oprofile=no,<oprofile install dir>   Enable oprofile support (defaults to no)],[
@@ -3543,6 +3493,13 @@ AC_ARG_WITH(cooperative_gc, [  --with-cooperative-gc=yes|no      Enable cooperat
        fi
 ], [with_cooperative_gc=no])
 
+AC_ARG_WITH(checked_build, [  --with-checked-build=yes|no      Enable checked build (expensive asserts)) (defaults to no)],[
+       if test x$with_checked_build != xno ; then
+               AC_DEFINE(CHECKED_BUILD,1,[Enable checked build.])
+       fi
+], [with_checked_build=no])
+
+
 AC_CHECK_HEADER([malloc.h], 
                [AC_DEFINE([HAVE_USR_INCLUDE_MALLOC_H], [1], 
                        [Define to 1 if you have /usr/include/malloc.h.])],,)
@@ -3576,6 +3533,8 @@ if test x$cross_compiling = xyes -o x$enable_mcs_build = xno; then
    with_profile4_x=no
    with_monodroid=no
    with_monotouch=no
+   with_monotouch_watch=no
+   with_monotouch_tv=no
    with_xammac=no
 fi
 
@@ -3598,6 +3557,8 @@ libmono_ldflags="$libmono_ldflags $LIBS"
 AM_CONDITIONAL(INSTALL_4_x, [test "x$with_profile4_x" = xyes])
 AM_CONDITIONAL(INSTALL_MONODROID, [test "x$with_monodroid" != "xno"])
 AM_CONDITIONAL(INSTALL_MONOTOUCH, [test "x$with_monotouch" != "xno"])
+AM_CONDITIONAL(INSTALL_MONOTOUCH_WATCH, [test "x$with_monotouch_watch" != "xno"])
+AM_CONDITIONAL(INSTALL_MONOTOUCH_TV, [test "x$with_monotouch_tv" != "xno"])
 AM_CONDITIONAL(INSTALL_XAMMAC, [test "x$with_xammac" != "xno"])
 
 AM_CONDITIONAL(MIPS_GCC, test ${TARGET}${ac_cv_prog_gcc} = MIPSyes)
@@ -3915,7 +3876,7 @@ if test x$host_win32 = xyes; then
    sed -e "s,-mno-cygwin,,g" libtool > libtool.new; mv libtool.new libtool; chmod 755 libtool
 fi
 
-if test x$platform_darwin = xyes; then
+if test x$host_darwin = xyes; then
    # This doesn't seem to be required and it slows down parallel builds
    sed -e 's,lock_old_archive_extraction=yes,lock_old_archive_extraction=no,g' < libtool > libtool.new && mv libtool.new libtool && chmod +x libtool
 fi
@@ -3964,7 +3925,7 @@ fi
 
     echo "MONO_VERSION = $myver" >> $mcs_topdir/build/config.make
 
-    if test x$platform_darwin = xyes; then
+    if test x$host_darwin = xyes; then
       echo "PLATFORM = darwin" >> $mcs_topdir/build/config.make
     fi
 
@@ -4012,13 +3973,15 @@ echo "
        LLVM Back End: $enable_llvm (dynamically loaded: $enable_loadedllvm)
 
    Libraries:
-       .NET 4.6:      $with_profile4_x
-       MonoDroid:     $with_monodroid
-       MonoTouch:     $with_monotouch
-       Xamarin.Mac:   $with_xammac
-       JNI support:   $jdk_headers_found
-       libgdiplus:    $libgdiplus_msg
-       zlib:          $zlib_msg
+       .NET 4.6:        $with_profile4_x
+       Xamarin.Android: $with_monodroid
+       Xamarin.iOS:     $with_monotouch
+       Xamarin.WatchOS: $with_monotouch_watch
+       Xamarin.TVOS:    $with_monotouch_tv
+       Xamarin.Mac:     $with_xammac
+       JNI support:     $jdk_headers_found
+       libgdiplus:      $libgdiplus_msg
+       zlib:            $zlib_msg
        $disabled
 "
 if test x$with_static_mono = xno -a "x$host_win32" != "xyes"; then
index 5281419c00bcffd42155da17f705895cd7232e29..2197c6f9c96605404f19ee9bc6b0b038f94986fb 100644 (file)
@@ -136,6 +136,7 @@ AC_CHECK_SIZEOF(long)
 AC_CHECK_SIZEOF(long long)
 AC_CHECK_FUNCS(strlcpy stpcpy strtok_r rewinddir vasprintf)
 AC_CHECK_FUNCS(getrlimit)
+AC_CHECK_FUNCS(fork execv execve)
 
 #
 # Mono currently supports 10.6, but strndup is not available prior to 10.7; avoiding
@@ -150,7 +151,7 @@ elif test x$target_ios = xno; then
 AC_CHECK_FUNCS(strndup getpwuid_r)
 fi
 
-AM_CONDITIONAL(NEED_VASPRINTF, test x$have_vasprintf = x )
+AM_CONDITIONAL(NEED_VASPRINTF, test x$ac_cv_func_vasprintf = xno )
 AM_ICONV()
 AC_SEARCH_LIBS(sqrtf, m)
 
@@ -181,6 +182,7 @@ fi
 AC_SUBST(G_HAVE_ISO_VARARGS)
 
 AC_CHECK_HEADERS(getopt.h sys/select.h sys/time.h sys/wait.h pwd.h langinfo.h iconv.h localcharset.h sys/types.h sys/resource.h)
+AC_CHECK_LIB([iconv], [locale_charset],[],[AC_CHECK_LIB([charset], [locale_charset],[LIBS+="-liconv -lcharset"])])
 AC_CHECK_HEADER(alloca.h, [HAVE_ALLOCA_H=1], [HAVE_ALLOCA_H=0])
 AC_SUBST(HAVE_ALLOCA_H)
 
index 70d519ea225ca26dfef7cb1376125b8c07552204..31771dfd9a19dab5f0af901207d869f5160264b2 100644 (file)
@@ -1,4 +1,4 @@
-noinst_LTLIBRARIES = libeglib.la libeglib-static.la
+noinst_LTLIBRARIES = libeglib.la
 
 AM_CFLAGS = $(WERROR_CFLAGS)
 
@@ -59,8 +59,6 @@ libeglib_la_SOURCES = \
        $(vasprintf_files)
 
 libeglib_la_CFLAGS = -g -Wall -D_FORTIFY_SOURCE=2
-libeglib_static_la_SOURCES=$(libeglib_la_SOURCES)
-libeglib_static_la_CFLAGS = $(libeglib_la_CFLAGS)
 
 AM_CPPFLAGS = -I$(srcdir)
 
@@ -72,9 +70,6 @@ libeglib_la_LIBADD = -llog
 endif
 endif
 
-libeglib_static_la_LIBADD = $(libeglib_la_LIBADD) $(LIBICONV)
-libeglib_static_la_LDFLAGS = -static
-
 MAINTAINERCLEANFILES = Makefile.in
 
 EXTRA_DIST = eglib-config.h.in $(win_files) $(unix_files)
index a01904e3e3440cffe35c1ce0383382d9e8ceb227..4d0bf9e8eca919c44d609095fef62b01ada0f9a9 100644 (file)
@@ -248,6 +248,9 @@ g_spawn_command_line_sync (const gchar *command_line,
                                GError **error)
 {
 #ifdef G_OS_WIN32
+#elif !defined (HAVE_FORK) || !defined (HAVE_EXECV)
+       fprintf (stderr, "g_spawn_command_line_sync not supported on this platform\n");
+       return FALSE;
 #else
        pid_t pid;
        gchar **argv;
@@ -344,6 +347,9 @@ g_spawn_async_with_pipes (const gchar *working_directory,
                        GError **error)
 {
 #ifdef G_OS_WIN32
+#elif !defined (HAVE_FORK) || !defined (HAVE_EXECVE)
+       fprintf (stderr, "g_spawn_async_with_pipes is not supported on this platform\n");
+       return FALSE;
 #else
        pid_t pid;
        int info_pipe [2];
index c3a9000f8d225839522e6dfad8a9d8d4e08f82a1..e6f4b925b61c0eeb2b063a5c686ca7941fd0d0d5 100644 (file)
@@ -219,10 +219,10 @@ g_get_charset (G_CONST_RETURN char **charset)
                is_utf8 = FALSE;
 #else
                /* These shouldn't be heap allocated */
-#if HAVE_LOCALCHARSET_H
-               my_charset = locale_charset ();
-#elif defined(HAVE_LANGINFO_H)
+#if defined(HAVE_LANGINFO_H)
                my_charset = nl_langinfo (CODESET);
+#elif defined(HAVE_LOCALCHARSET_H)
+               my_charset = locale_charset ();
 #else
                my_charset = "UTF-8";
 #endif
index dab43d5cf4bf3b8b9a5b5f8cb175dee38a5fe69f..d6b00edf218008ecd8cfe90bc66b9b607431428f 160000 (submodule)
@@ -1 +1 @@
-Subproject commit dab43d5cf4bf3b8b9a5b5f8cb175dee38a5fe69f
+Subproject commit d6b00edf218008ecd8cfe90bc66b9b607431428f
index 3976a6088118b35ed318f8e78767066cb78ffdf9..05654b3d0159b3f8da53e4dcd7467ee8c60a4675 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 3976a6088118b35ed318f8e78767066cb78ffdf9
+Subproject commit 05654b3d0159b3f8da53e4dcd7467ee8c60a4675
index a916688137c5acd05967a4e7c7b02e2b785d46eb..4f391fe60cbd36f3b3528e05a45d81ee60f390d8 100644 (file)
@@ -1,9 +1,9 @@
 
-AM_CPPFLAGS = $(GMODULE_CFLAGS)
+AM_CPPFLAGS = $(GLIB_CFLAGS)
 
 lib_LTLIBRARIES = libikvm-native.la
 
 libikvm_native_la_SOURCES = jni.c os.c jni.h
 
 libikvm_native_la_LDFLAGS = -avoid-version
-libikvm_native_la_LIBADD = $(GMODULE_LIBS)
+libikvm_native_la_LIBADD = $(GLIB_LIBS)
index a193f9f0850006c9b1bc6e636ff8e412ab14fb75..ce7ff11c27aadf341a2ae73d3ddfdcb20ca329d3 100644 (file)
--- a/man/mcs.1
+++ b/man/mcs.1
@@ -183,11 +183,11 @@ Restrict the compiler to use only the features available in C# 3.0
 Restrict the compiler to use only the features available in C# 4.0
 specification.
 .TP
-.I "future"
+.I "experimental"
 Enables unstable features from upcoming versions of the language.
 .PP
 Notice that this flag only restricts the language features available to
-the programmer. A version of produced assemblies can be controled using
+the programmer. A version of produced assemblies can be controlled using
 .I SDK
 option.
 .ne
index 2a9347fca0b0eae0a7ced1a04d401de6be72e47e..b3e13db1f78152f6d52bc5ab5d14eb196738504b 100644 (file)
@@ -317,6 +317,13 @@ Currently this merely ensures that you are running either the
 \fBMONO_ENV_OPTIONS\fR environment variable to force all of your child
 processes to use one particular kind of GC with the Mono runtime.
 .TP
+\fB--arch=32\fR, \fB--arch=64\fR
+(Mac OS X only): Selects the bitness of the Mono binary used, if
+available. If the binary used is already for the selected bitness, nothing
+changes. If not, the execution switches to a binary with the selected
+bitness suffix installed side by side (for example, '/bin/mono --arch=64'
+will switch to '/bin/mono64' iff '/bin/mono' is a 32-bit build).
+.TP
 \fB--help\fR, \fB-h\fR
 Displays usage instructions.
 .TP
@@ -1113,6 +1120,16 @@ separated list of words.
 .RS
 .ne 8
 .TP
+\fBmax-heap-size=\fIsize\fR
+Sets the maximum size of the heap. The size is specified in bytes and must
+be a power of two. The suffixes `k', `m' and `g' can be used to
+specify kilo-, mega- and gigabytes, respectively. The limit is the sum
+of the nursery, major heap and large object heap. Once the limit is reached
+the application will receive OutOfMemoryExceptions when trying to allocate.
+Not the full extent of memory set in max-heap-size could be available to
+satisfy a single allocation due to internal fragmentation. By default heap
+limits is disabled and the GC will try to use all available memory.
+.TP
 \fBnursery-size=\fIsize\fR
 Sets the size of the nursery.  The size is specified in bytes and must
 be a power of two.  The suffixes `k', `m' and `g' can be used to
@@ -1206,6 +1223,12 @@ Valid values are integers between 1 and 14. Default is 2.
 Enables or disables cementing.  This can dramatically shorten nursery
 collection times on some benchmarks where pinned objects are referred
 to from the major heap.
+.TP
+\fBallow-synchronous-major\fR
+This forbids the major collector from performing synchronous major collections.
+The major collector might want to do a synchronous collection due to excessive
+fragmentation. Disabling this might trigger OutOfMemory error in situations that
+would otherwise not happen.
 .ne
 .RE
 .TP
@@ -1523,6 +1546,13 @@ Currently, the following options are supported:
 .RS
 .ne 8
 .TP
+\fBalign-small-structs\fR
+Enables small structs alignment to 4/8 bytes.
+.TP
+\fBarm-use-fallback-tls\fR
+When this option is set on ARM, a fallback TLS will be used instead
+of the default fast TLS.
+.TP
 \fBbreak-on-unverified\fR
 If this variable is set, when the Mono VM runs into a verification
 problem, instead of throwing an exception it will break into the
@@ -1533,12 +1563,22 @@ This option can be used to get more detailed information from
 InvalidCast exceptions, it will provide information about the types
 involved.     
 .TP
+\fBcheck-pinvoke-callconv\fR
+This option causes the runtime to check for calling convention
+mismatches when using pinvoke, i.e. mixing cdecl/stdcall. It only
+works on windows. If a mismatch is detected, an
+ExecutionEngineException is thrown.
+.TP
 \fBcollect-pagefault-stats\fR
 Collects information about pagefaults.   This is used internally to
 track the number of page faults produced to load metadata.  To display
 this information you must use this option with "--stats" command line
 option.
 .TP
+\fBdebug-domain-unload\fR
+When this option is set, the runtime will invalidate the domain memory
+pool instead of destroying it.
+.TP
 \fBdont-free-domains\fR
 This is an Optimization for multi-AppDomain applications (most
 commonly ASP.NET applications).  Due to internal limitations Mono,
@@ -1556,6 +1596,12 @@ using this feature).
 Instructs the runtime to try to use a generic runtime-invoke wrapper
 instead of creating one invoke wrapper.
 .TP
+\fBexplicit-null-checks\fR
+Makes the JIT generate an explicit NULL check on variable dereferences
+instead of depending on the operating system to raise a SIGSEGV or
+another form of trap event when an invalid memory location is
+accessed.
+.TP
 \fBgdb\fR 
 Equivalent to setting the \fBMONO_XDEBUG\fR variable, this emits
 symbols into a shared library as the code is JITed that can be loaded
@@ -1566,11 +1612,11 @@ Automatically generates sequence points where the
 IL stack is empty.  These are places where the debugger can set a
 breakpoint.
 .TP
-\fBexplicit-null-checks\fR
-Makes the JIT generate an explicit NULL check on variable dereferences
-instead of depending on the operating system to raise a SIGSEGV or
-another form of trap event when an invalid memory location is
-accessed. 
+\fBgen-compact-seq-points\fR
+This option generates sequence points data that maps native offsets to
+IL offsets. Sequence point data is used to display IL offset in
+stacktraces. Stacktraces with IL offsets can be symbolicated using
+mono-symbolicate tool.
 .TP
 \fBhandle-sigint\fR
 Captures the interrupt signal (Control-C) and displays a stack trace
@@ -1590,6 +1636,14 @@ passed to unmanaged code, and no references kept in managed code,
 which will garbage collect the code.  With this option it is possible
 to track down the source of the problems. 
 .TP
+\fBno-gdb-backtrace\fR
+This option will disable the GDB backtrace emitted by the runtime
+after a SIGSEGV or SIGABRT in unmanaged code.
+.TP
+\fBpartial-sharing\fR
+When this option is set, the runtime can share generated code between
+generic types effectively reducing the amount of code generated.
+.TP
 \fBreverse-pinvoke-exceptions
 This option will cause mono to abort with a descriptive message when
 during stack unwinding after an exception it reaches a native stack
@@ -1600,20 +1654,25 @@ will skip any native stack frames in the process. This leads to
 undefined behaviour (since mono doesn't know how to process native
 frames), leaks, and possibly crashes too.
 .TP
-\fBno-gdb-backtrace\fR
-This option will disable the GDB backtrace emitted by the runtime
-after a SIGSEGV or SIGABRT in unmanaged code.
+\fBsingle-imm-size\fR
+This guarantees that each time managed code is compiled the same
+instructions and registers are used, regardless of the size of used
+values.
+.TP
+\fBsoft-breakpoints\fR
+This option allows using single-steps and breakpoints in hardware
+where we cannot do it with signals.
 .TP
 \fBsuspend-on-sigsegv\fR
 This option will suspend the program when a native SIGSEGV is received.
 This is useful for debugging crashes which do not happen under gdb,
 since a live process contains more information than a core file.
 .TP
-\fBcheck-pinvoke-callconv\fR
-This option causes the runtime to check for calling convention
-mismatches when using pinvoke, i.e. mixing cdecl/stdcall. It only
-works on windows. If a mismatch is detected, an
-ExecutionEngineException is thrown.
+\fBsuspend-on-exception\fR
+This option will suspend the program when an exception occurs.
+.TP
+\fBsuspend-on-unhandled\fR
+This option will suspend the program when an unhadled exception occurs.
 .ne
 .RE
 .TP
@@ -1677,34 +1736,6 @@ as it forces all of the commands send to X11 server to be done
 synchronously.   The default mode of operation is asynchronous which
 makes it hard to isolate the root of certain problems.
 .TP
-\fBMONO_GENERIC_SHARING\fR
-This environment variable controls the kind of generic sharing used.
-This variable is used by internal JIT developers and should not be
-changed in production.  Do not use it.
-.Sp
-The variable controls which classes will have generic code sharing
-enabled.
-.Sp
-Permissible values are:
-.RS
-.TP 
-.I "all" 
-All generated code can be shared. 
-.TP
-.I "collections" 
-Only the classes in System.Collections.Generic will have its code
-shared (this is the default value).
-.TP
-.I "corlib"
-Only code in corlib will have its code shared.
-.TP
-.I "none"
-No generic code sharing will be performed.
-.RE
-.Sp
-Generic code sharing by default only applies to collections.   The
-Mono JIT by default turns this on.
-.TP
 \fBMONO_XDEBUG\fR
 When the the MONO_XDEBUG env var is set, debugging info for JITted
 code is emitted into a shared library, loadable into gdb. This enables,
index f465c09c247c8f5ffc195d14ac61cb31ed401001..35ae9f963f528d93e7a519e3423db8e2f474e19e 100644 (file)
@@ -9,6 +9,7 @@ build_SUBDIRS := build class mcs class/aot-compiler tools
 monodroid_SUBDIRS := build class
 monotouch_SUBDIRS := build class
 monotouch_watch_SUBDIRS := build class
+monotouch_tv_SUBDIRS := build class
 monotouch_runtime_SUBDIRS := build class
 xammac_SUBDIRS := build class
 mobile_SUBDIRS := build class
@@ -62,6 +63,7 @@ $(_boot_:%=profile-do--net_4_x--%):           profile-do--net_4_x--%:
 $(_boot_:%=profile-do--monodroid--%):         profile-do--monodroid--%:         profile-do--build--%
 $(_boot_:%=profile-do--monotouch--%):         profile-do--monotouch--%:         profile-do--build--%
 $(_boot_:%=profile-do--monotouch_watch--%):   profile-do--monotouch_watch--%:   profile-do--build--%
+$(_boot_:%=profile-do--monotouch_tv--%):      profile-do--monotouch_tv--%:      profile-do--build--%
 $(_boot_:%=profile-do--monotouch_runtime--%):  profile-do--monotouch_runtime--%:  profile-do--build--%
 $(_boot_:%=profile-do--xammac--%):            profile-do--xammac--%:            profile-do--build--%
 $(_boot_:%=profile-do--xammac_net_4_5--%):    profile-do--xammac_net_4_5--%:           profile-do--build--%
index a7bc74f44acb43e6fe6765e3f7b016029a6a0f52..7ac3b33846239297cc064116a273e3035c542d00 100644 (file)
@@ -149,7 +149,7 @@ csproj-local:
        config_file=`basename $(PROGRAM) .exe`-$(PROFILE).input; \
        echo $(thisdir):$$config_file >> $(topdir)/../msvc/scripts/order; \
        (echo $(is_boot); \
-       echo $(USE_MCS_FLAGS) $(LIBRARY_FLAGS) $(LIB_MCS_FLAGS); \
+       echo $(USE_MCS_FLAGS) $(LIBRARY_FLAGS) $(LIB_MCS_FLAGS) $(patsubst %,-r:%,$(LIB_REFS)); \
        echo $(PROGRAM); \
        echo $(BUILT_SOURCES_cmdline); \
        echo $(build_lib); \
index 74f89aeec024746a9b51c5884b429628796b4be8..c9c012467175dcd5c435dad0642d87364afd9a38 100644 (file)
@@ -58,7 +58,7 @@ endif
 endif
 
 ifndef response
-response = $(depsdir)/$(PROFILE)_$(LIBRARY).response
+response = $(depsdir)/$(PROFILE)_$(LIBRARY_SUBDIR)_$(LIBRARY).response
 library_CLEAN_FILES += $(response)
 endif
 
@@ -141,6 +141,7 @@ csproj-local: csproj-library csproj-test
 intermediate_clean=$(subst /,-,$(intermediate))
 csproj-library: 
        config_file=`basename $(LIBRARY) .dll`-$(intermediate_clean)$(PROFILE).input; \
+       [[ $(thisdir) == *"Facades"* ]] && config_file=Facades_$$config_file; \
        echo $(thisdir):$$config_file >> $(topdir)/../msvc/scripts/order; \
        (echo $(is_boot); \
        echo $(USE_MCS_FLAGS) $(LIBRARY_FLAGS) $(LIB_MCS_FLAGS); \
@@ -306,7 +307,7 @@ all-local: $(the_lib)$(PLATFORM_AOT_SUFFIX)
 endif
 endif
 
-makefrag = $(depsdir)/$(PROFILE)_$(LIBRARY).makefrag
+makefrag = $(depsdir)/$(PROFILE)_$(LIBRARY_SUBDIR)_$(LIBRARY).makefrag
 library_CLEAN_FILES += $(makefrag)
 $(makefrag): $(sourcefile)
 #      @echo Creating $@ ...
index 06152882087240536a8400ae665187040d5357fe..6f6108c08aa7d89ab89dda7de1b0247e3449494c 100644 (file)
@@ -33,3 +33,5 @@ PROFILE_MCS_FLAGS = \
 FRAMEWORK_VERSION = 2.1
 
 NO_INSTALL = yes
+MOBILE_DYNAMIC = yes
+MOBILE_PROFILE = yes
\ No newline at end of file
index 6b029ae04addccb7c216cfd5b7579c7d82d0b1b5..6f8afba70751c27a6f01fcbf5709fc2c23be4dee 100644 (file)
@@ -37,3 +37,5 @@ NO_TEST = yes
 
 # the tuner takes care of the install
 NO_INSTALL = yes
+MOBILE_STATIC = yes
+MOBILE_PROFILE = yes
index 4471a3f6a3e43e54aa00ccc24c4662de6511bb10..49f85dcf8ee26c7273e367ef1a94366295cb9f47 100644 (file)
@@ -37,3 +37,5 @@ NO_TEST = yes
 
 # the tuner takes care of the install
 NO_INSTALL = yes
+MOBILE_DYNAMIC = yes
+MOBILE_PROFILE = yes
index 00eabf5d16197a1d84f396461c2873984f5a8418..bdeba2bac4e5701b52e7f365c5fcea413a2a0164 100644 (file)
@@ -38,3 +38,5 @@ NO_TEST = yes
 
 # the tuner takes care of the install
 NO_INSTALL = yes
+MOBILE_STATIC = yes
+MOBILE_PROFILE = yes
index 577ab86656f1959e2e599131a5e2b44d4b15e7d6..8f42ec8acbe599b29d7311ddcdfab8c0202d7b6a 100644 (file)
@@ -20,3 +20,5 @@ FRAMEWORK_VERSION = 2.1
 
 # This is utility build only
 NO_INSTALL = yes
+MOBILE_STATIC = yes
+MOBILE_PROFILE = yes
diff --git a/mcs/build/profiles/monotouch_tv.make b/mcs/build/profiles/monotouch_tv.make
new file mode 100644 (file)
index 0000000..b546e50
--- /dev/null
@@ -0,0 +1,4 @@
+include $(topdir)/build/profiles/monotouch.make
+
+PROFILE_MCS_FLAGS += \
+       -d:MONOTOUCH_TV
index 421e05fbcd1f75f7b0589bc8c02848d1cfeac375..cbe7d38b210345b3879f995758d43bd647fba655 100644 (file)
@@ -32,3 +32,5 @@ PROFILE_MCS_FLAGS = \
 FRAMEWORK_VERSION = 2.1
 NO_TEST = yes
 NO_INSTALL = yes
+MOBILE_DYNAMIC = yes
+MOBILE_PROFILE = yes
index 4ea4eb1da3038752a477a5ae95e17cf26ce0f9ce..3a449bf96814ab9c1666ba2f1a98d6c9c45b401d 100644 (file)
@@ -1,4 +1,4 @@
-include $(topdir)/build/profiles/net_4_5.make
+include $(topdir)/build/profiles/net_4_x.make
 PROFILE_MCS_FLAGS += -d:NO_SYSTEM_DRAWING_DEPENDENCY -d:NO_WINFORMS_DEPENDENCY -d:NO_SYSTEM_WEB_DEPENDENCY -d:XAMMAC_4_5
 XAMMAC_4_5=1
 NO_WINDOWS_BASE=1
diff --git a/mcs/class/Accessibility/Accessibility-net_4_x.csproj b/mcs/class/Accessibility/Accessibility-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a46a581
--- /dev/null
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{E51283DC-7090-479E-B723-01C0953F18EA}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Accessibility</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="Accessibility\IAccessible.cs" />\r
+    <Compile Include="Accessibility\IAccessibleHandler.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng-net_4_x.csproj b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d2101be
--- /dev/null
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{FFFE76FE-98EE-4FF7-81D9-35C0FE1D3718}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Commons.Xml.Relaxng</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Commons.Xml.Nvdl\NvdlBuiltInValidationProvider.cs" />\r
+    <Compile Include="Commons.Xml.Nvdl\NvdlCompileContext.cs" />\r
+    <Compile Include="Commons.Xml.Nvdl\NvdlConfig.cs" />\r
+    <Compile Include="Commons.Xml.Nvdl\NvdlException.cs" />\r
+    <Compile Include="Commons.Xml.Nvdl\NvdlFilteredXmlReader.cs" />\r
+    <Compile Include="Commons.Xml.Nvdl\NvdlReader.cs" />\r
+    <Compile Include="Commons.Xml.Nvdl\NvdlRelaxngSupport.cs" />\r
+    <Compile Include="Commons.Xml.Nvdl\NvdlSimplified.cs" />\r
+    <Compile Include="Commons.Xml.Nvdl\NvdlStructures.cs" />\r
+    <Compile Include="Commons.Xml.Nvdl\NvdlValidatingReader.cs" />\r
+    <Compile Include="Commons.Xml.Nvdl\NvdlValidationProvider.cs" />\r
+    <Compile Include="Commons.Xml.Nvdl\NvdlValidator.cs" />\r
+    <Compile Include="Commons.Xml.Nvdl\NvdlXsdSupport.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng.Derivative\RdpContentType.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng.Derivative\RdpNameClasses.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng.Derivative\RdpObjects.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng.Derivative\RdpPatterns.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng.Derivative\Util.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng.Inference\RelaxngInference.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng.Rnc\RncTokenizer.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng.Rnc\RncWriter.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng.Rnc\XmlChar.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng\Misc.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng\RelaxngDatatype.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng\RelaxngDatatypeProvider.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng\RelaxngDefaultDatatypes.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng\RelaxngException.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng\RelaxngGrammar.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng\RelaxngMergedProvider.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng\RelaxngNameClass.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng\RelaxngPattern.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng\RelaxngPatternType.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng\RelaxngReader.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng\RelaxngValidatingReader.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng\XsdDatatypeProvider.cs" />\r
+    <Compile Include="Commons.Xml\XmlDefaultReader.cs" />\r
+    <Compile Include="Commons.Xml.Relaxng.Rnc\RncParser.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="resources/relaxng.rng">\r
+      <LogicalName>relaxng.rng</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Cscompmgd/Cscompmgd-net_4_x.csproj b/mcs/class/Cscompmgd/Cscompmgd-net_4_x.csproj
new file mode 100644 (file)
index 0000000..049aece
--- /dev/null
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2AB43CEE-0BE1-46EF-971E-3678330BEA13}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>cscompmgd</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Microsoft.CSharp\Compiler.cs" />\r
+    <Compile Include="Microsoft.CSharp\CompilerError.cs" />\r
+    <Compile Include="Microsoft.CSharp\ErrorLevel.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/CustomMarshalers/CustomMarshalers-net_4_x.csproj b/mcs/class/CustomMarshalers/CustomMarshalers-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3e68f23
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{6D021ADB-0407-42C9-9CC9-6613D94C61AE}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>CustomMarshalers</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include=".\System.Runtime.InteropServices.CustomMarshalers\EnumerableToDispatchMarshaler.cs" />\r
+    <Compile Include=".\System.Runtime.InteropServices.CustomMarshalers\EnumeratorToEnumVariantMarshaler.cs" />\r
+    <Compile Include=".\System.Runtime.InteropServices.CustomMarshalers\ExpandoToDispatchExMarshaler.cs" />\r
+    <Compile Include=".\System.Runtime.InteropServices.CustomMarshalers\TypeToTypeInfoMarshaler.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 8545b270aafc560e14d67f2be08490b0c6dda7d6..960e47d285c5d65b19d6997c186ae6d122a2c26c 100644 (file)
@@ -2,7 +2,7 @@ MCS_BUILD_DIR = ../../build
 
 thisdir = class/Facades
 
-monotouch_SUBDIRS = System.Collections.Concurrent System.Collections System.ComponentModel.Annotations System.ComponentModel.EventBasedAsync System.ComponentModel \
+monotouch_PARALLEL_SUBDIRS = System.Collections.Concurrent System.Collections System.ComponentModel.Annotations System.ComponentModel.EventBasedAsync System.ComponentModel \
        System.Diagnostics.Contracts System.Diagnostics.Debug System.Diagnostics.Tracing System.Diagnostics.Tools System.Dynamic.Runtime System.Globalization System.IO System.Linq.Expressions \
        System.Linq.Parallel System.Linq.Queryable System.Linq System.Net.NetworkInformation System.Net.Primitives System.Net.Requests System.ObjectModel \
        System.Reflection.Extensions System.Reflection.Primitives System.Reflection System.Resources.ResourceManager System.Runtime.Extensions \
@@ -16,7 +16,7 @@ monotouch_SUBDIRS = System.Collections.Concurrent System.Collections System.Comp
        System.Diagnostics.Process System.Diagnostics.TextWriterTraceListener System.Diagnostics.TraceEvent System.Diagnostics.TraceSource System.Globalization.Calendars \
        System.IO.Compression System.IO.Compression.ZipFile System.IO.FileSystem System.IO.FileSystem.DriveInfo System.IO.FileSystem.Primitives \
        System.IO.IsolatedStorage System.IO.MemoryMappedFiles System.IO.UnmanagedMemoryStream System.Net.AuthenticationManager System.Net.Cache \
-       System.Net.Http.WebRequestHandler System.Net.HttpListener System.Net.Mail System.Net.NameResolution System.Net.Security System.Net.ServicePoint System.Net.Sockets \
+       System.Net.HttpListener System.Net.Mail System.Net.NameResolution System.Net.Security System.Net.ServicePoint System.Net.Sockets \
        System.Net.Utilities System.Net.WebHeaderCollection System.Net.WebSockets System.Net.WebSockets.Client System.Resources.ReaderWriter System.Runtime.CompilerServices.VisualC \
        System.Security.AccessControl System.Security.Claims System.Security.Cryptography.DeriveBytes System.Security.Cryptography.Encoding System.Security.Cryptography.Encryption \
        System.Security.Cryptography.Encryption.Aes System.Security.Cryptography.Encryption.ECDiffieHellman System.Security.Cryptography.Encryption.ECDsa System.Security.Cryptography.Hashing \
@@ -26,21 +26,22 @@ monotouch_SUBDIRS = System.Collections.Concurrent System.Collections System.Comp
        System.IO.FileSystem.AccessControl System.Private.CoreLib.InteropServices System.Private.CoreLib.Threading System.Reflection.TypeExtensions \
        System.Security.SecureString System.Threading.AccessControl System.Threading.Overlapped System.Xml.XPath.XDocument
 
-reflection_SUBDIRS = System.Reflection.Emit.ILGeneration System.Reflection.Emit.Lightweight System.Reflection.Emit
+reflection_PARALLEL_SUBDIRS = System.Reflection.Emit.ILGeneration System.Reflection.Emit.Lightweight System.Reflection.Emit
 
-mobile_static_SUBDIRS = $(monotouch_SUBDIRS)
+mobile_static_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS)
 
-net_4_5_SUBDIRS = $(monotouch_SUBDIRS) $(reflection_SUBDIRS) System.Diagnostics.PerformanceCounter \
-       System.IO.FileSystem.Watcher System.IO.Pipes System.Security.Cryptography.ProtectedData System.ServiceProcess.ServiceController 
+net_4_x_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS) $(reflection_PARALLEL_SUBDIRS) System.Diagnostics.PerformanceCounter \
+       System.IO.FileSystem.Watcher System.IO.Pipes System.Security.Cryptography.ProtectedData System.ServiceProcess.ServiceController System.Net.Http.WebRequestHandler
 
-monodroid_SUBDIRS = $(monotouch_SUBDIRS) $(reflection_SUBDIRS)
+monodroid_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS) $(reflection_PARALLEL_SUBDIRS)
 
-xammac_SUBDIRS = $(net_4_5_SUBDIRS)
-xammac_net_4_5_SUBDIRS = $(net_4_5_SUBDIRS)
+xammac_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS) $(reflection_PARALLEL_SUBDIRS)
+xammac_net_4_5_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS) $(reflection_PARALLEL_SUBDIRS)
 
-monotouch_watch_SUBDIRS = $(monotouch_SUBDIRS)
+monotouch_watch_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS)
+monotouch_tv_PARALLEL_SUBDIRS = $(monotouch_PARALLEL_SUBDIRS)
 
-PROFILE_SUBDIRS = $(net_4_5_SUBDIRS)
+PROFILE_PARALLEL_SUBDIRS = $(net_4_x_PARALLEL_SUBDIRS)
 
 #OVERRIDE_TARGET_ALL = yes
 
@@ -66,10 +67,12 @@ include $(MCS_BUILD_DIR)/rules.make
 
 dist-local: dist-default
 
-SUBDIRS = $(net_4_5_SUBDIRS)
+DIST_SUBDIRS = $(net_4_x_PARALLEL_SUBDIRS)
 
 doc-update-local:
        @echo "not doing docs"
 
 doc-update-recursive:
        @echo "do not recurse the Facades folder"
+
+System System.Core System.ComponentModel.DataAnnotations System.Numerics System.Runtime.Serialization System.XML System.ComponentModel.Composition System.ServiceModel System.Xml.Linq:
diff --git a/mcs/class/Facades/Microsoft.Win32.Primitives/Microsoft.Win32.Primitives-net_4_x.csproj b/mcs/class/Facades/Microsoft.Win32.Primitives/Microsoft.Win32.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2630fb5
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A904ACC7-C277-4A80-89D3-9A768CB9BB27}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Microsoft.Win32.Primitives</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/Microsoft.Win32.Registry.AccessControl-net_4_x.csproj b/mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/Microsoft.Win32.Registry.AccessControl-net_4_x.csproj
new file mode 100644 (file)
index 0000000..44dfeed
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{E96824DA-02F6-499E-8C4F-F0C185F34914}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Microsoft.Win32.Registry.AccessControl</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/Microsoft.Win32.Registry/Microsoft.Win32.Registry-net_4_x.csproj b/mcs/class/Facades/Microsoft.Win32.Registry/Microsoft.Win32.Registry-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1f68dad
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{7836B6F1-CF82-403F-A827-DF59AC191482}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Microsoft.Win32.Registry</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.AppContext/System.AppContext-net_4_x.csproj b/mcs/class/Facades/System.AppContext/System.AppContext-net_4_x.csproj
new file mode 100644 (file)
index 0000000..8d93541
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{8CBEEB50-B386-4B1E-96F2-E0398B3E67DF}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.AppContext</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Collections.Concurrent/System.Collections.Concurrent-net_4_x.csproj b/mcs/class/Facades/System.Collections.Concurrent/System.Collections.Concurrent-net_4_x.csproj
new file mode 100644 (file)
index 0000000..95a9815
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{F5B70D1F-90DB-4FD1-B039-7569A4E501AE}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Collections.Concurrent</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Collections.NonGeneric/System.Collections.NonGeneric-net_4_x.csproj b/mcs/class/Facades/System.Collections.NonGeneric/System.Collections.NonGeneric-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b90d2ba
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2413142C-E37A-420B-A9C0-82972AE1A263}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Collections.NonGeneric</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Collections.Specialized/System.Collections.Specialized-net_4_x.csproj b/mcs/class/Facades/System.Collections.Specialized/System.Collections.Specialized-net_4_x.csproj
new file mode 100644 (file)
index 0000000..077873b
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{EE7013C7-887F-464A-A4A1-F75B016C9A3C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Collections.Specialized</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Collections/System.Collections-net_4_x.csproj b/mcs/class/Facades/System.Collections/System.Collections-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3e595bb
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{3EFD0DB4-F21E-48FB-93E7-B77066503BB0}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Collections</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.ComponentModel.Annotations/System.ComponentModel.Annotations-net_4_x.csproj b/mcs/class/Facades/System.ComponentModel.Annotations/System.ComponentModel.Annotations-net_4_x.csproj
new file mode 100644 (file)
index 0000000..35c6072
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{C4208967-8212-4AC2-93FF-60F28647B753}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ComponentModel.Annotations</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_4_x.csproj">\r
+      <Project>{8F86C287-38A5-49F8-BE6D-1E0E3D74AF39}</Project>\r
+      <Name>System.ComponentModel.DataAnnotations-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.ComponentModel.EventBasedAsync/System.ComponentModel.EventBasedAsync-net_4_x.csproj b/mcs/class/Facades/System.ComponentModel.EventBasedAsync/System.ComponentModel.EventBasedAsync-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b499bae
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{F203E8F5-5FDB-4FB5-815B-3BDD36F77B32}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ComponentModel.EventBasedAsync</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.ComponentModel.Primitives/System.ComponentModel.Primitives-net_4_x.csproj b/mcs/class/Facades/System.ComponentModel.Primitives/System.ComponentModel.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c06fa79
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{9D6B894B-F8F7-4ABF-86C5-5A22243A69DF}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ComponentModel.Primitives</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.ComponentModel.TypeConverter/System.ComponentModel.TypeConverter-net_4_x.csproj b/mcs/class/Facades/System.ComponentModel.TypeConverter/System.ComponentModel.TypeConverter-net_4_x.csproj
new file mode 100644 (file)
index 0000000..07dc6d0
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{E67A7117-9707-4CB4-8863-D000270049A5}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ComponentModel.TypeConverter</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.ComponentModel/System.ComponentModel-net_4_x.csproj b/mcs/class/Facades/System.ComponentModel/System.ComponentModel-net_4_x.csproj
new file mode 100644 (file)
index 0000000..8c4fb65
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{7F65588D-E140-4B92-9785-5D2BB851A186}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ComponentModel</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Console/System.Console-net_4_x.csproj b/mcs/class/Facades/System.Console/System.Console-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3a50170
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{C0C599C7-BF72-4706-ABD4-3F0CF7A12441}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Console</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Data.Common/System.Data.Common-net_4_x.csproj b/mcs/class/Facades/System.Data.Common/System.Data.Common-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b72694a
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{398444D5-6C7D-41C8-8C7A-78A4F08D24CF}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Data.Common</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Data.SqlClient/System.Data.SqlClient-net_4_x.csproj b/mcs/class/Facades/System.Data.SqlClient/System.Data.SqlClient-net_4_x.csproj
new file mode 100644 (file)
index 0000000..949dbb9
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{C176C0C1-FF12-4194-968A-C30BDB4BB85B}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Data.SqlClient</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Diagnostics.Contracts/System.Diagnostics.Contracts-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.Contracts/System.Diagnostics.Contracts-net_4_x.csproj
new file mode 100644 (file)
index 0000000..e76dfa6
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{CEC9E493-B899-4F32-9C00-6A9362EF333E}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Diagnostics.Contracts</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Diagnostics.Debug/System.Diagnostics.Debug-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.Debug/System.Diagnostics.Debug-net_4_x.csproj
new file mode 100644 (file)
index 0000000..42f098b
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A6EF8D0A-59A7-4FA0-A0C5-E65E58B42107}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Diagnostics.Debug</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Diagnostics.FileVersionInfo/System.Diagnostics.FileVersionInfo-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.FileVersionInfo/System.Diagnostics.FileVersionInfo-net_4_x.csproj
new file mode 100644 (file)
index 0000000..4e8cb81
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{EE80031D-25ED-4805-95C2-BD985242F42D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Diagnostics.FileVersionInfo</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Diagnostics.PerformanceCounter/System.Diagnostics.PerformanceCounter-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.PerformanceCounter/System.Diagnostics.PerformanceCounter-net_4_x.csproj
new file mode 100644 (file)
index 0000000..eece2c3
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{9E33CC1D-9BB9-49CC-8B9E-E2F5807623AB}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Diagnostics.PerformanceCounter</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Diagnostics.Process/System.Diagnostics.Process-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.Process/System.Diagnostics.Process-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ba33e72
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{1E66E92F-26A7-481A-882D-2FAFF0F99DFE}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Diagnostics.Process</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Diagnostics.StackTrace/System.Diagnostics.StackTrace-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.StackTrace/System.Diagnostics.StackTrace-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7376455
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{8EF31B7E-36D8-4397-B6C4-3C819698FBF1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Diagnostics.StackTrace</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Diagnostics.TextWriterTraceListener/System.Diagnostics.TextWriterTraceListener-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.TextWriterTraceListener/System.Diagnostics.TextWriterTraceListener-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f82f041
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{083A05CA-46F9-4387-8A1A-18613416994A}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Diagnostics.TextWriterTraceListener</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Diagnostics.Tools/System.Diagnostics.Tools-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.Tools/System.Diagnostics.Tools-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ac30953
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2927B0ED-6DD3-49FA-9253-E4392BF85420}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Diagnostics.Tools</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Diagnostics.TraceEvent/System.Diagnostics.TraceEvent-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.TraceEvent/System.Diagnostics.TraceEvent-net_4_x.csproj
new file mode 100644 (file)
index 0000000..afae7e0
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{C3169BCC-D230-4018-9EA0-87B6D7C6392B}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Diagnostics.TraceEvent</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Diagnostics.TraceSource/System.Diagnostics.TraceSource-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.TraceSource/System.Diagnostics.TraceSource-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f93d405
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{F54C3FD6-173D-48D3-82F8-6EF8AE95D7ED}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Diagnostics.TraceSource</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Diagnostics.Tracing/System.Diagnostics.Tracing-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.Tracing/System.Diagnostics.Tracing-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b25e1de
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{33D0A27B-2E67-4C32-BAEA-EC230C369B40}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Diagnostics.Tracing</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Dynamic.Runtime/System.Dynamic.Runtime-net_4_x.csproj b/mcs/class/Facades/System.Dynamic.Runtime/System.Dynamic.Runtime-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3f46c3d
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{418689E8-51EA-4FA6-90C5-6846D29E3062}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Dynamic.Runtime</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Globalization.Calendars/System.Globalization.Calendars-net_4_x.csproj b/mcs/class/Facades/System.Globalization.Calendars/System.Globalization.Calendars-net_4_x.csproj
new file mode 100644 (file)
index 0000000..e34b395
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{51EC76AD-57BD-429F-87CB-6A4FADCA4894}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Globalization.Calendars</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Globalization.Extensions/System.Globalization.Extensions-net_4_x.csproj b/mcs/class/Facades/System.Globalization.Extensions/System.Globalization.Extensions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7065015
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{88125961-F07C-4F11-9895-ECF9FEC7D594}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Globalization.Extensions</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Globalization/System.Globalization-net_4_x.csproj b/mcs/class/Facades/System.Globalization/System.Globalization-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2dd1f9f
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{66237F5D-4D39-40D6-910D-25EF86D6DBAA}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Globalization</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.IO.Compression.ZipFile/System.IO.Compression.ZipFile-net_4_x.csproj b/mcs/class/Facades/System.IO.Compression.ZipFile/System.IO.Compression.ZipFile-net_4_x.csproj
new file mode 100644 (file)
index 0000000..fe768fc
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{274AEB31-DD0D-4E3C-85D7-5FE1FDA84F80}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IO.Compression.ZipFile</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.IO.Compression.FileSystem/System.IO.Compression.FileSystem-net_4_x.csproj">\r
+      <Project>{9E61FF2E-493E-4CA0-BBDA-2EF96A4CB058}</Project>\r
+      <Name>System.IO.Compression.FileSystem-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.IO.Compression/System.IO.Compression-net_4_x.csproj b/mcs/class/Facades/System.IO.Compression/System.IO.Compression-net_4_x.csproj
new file mode 100644 (file)
index 0000000..4c8cd21
--- /dev/null
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{DA6DA8FE-0BF4-43C5-9BF8-896409EBDA70}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699,1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IO.Compression</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699,1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,1616,1699,1699,1616,1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <Reference Include="System.IO.Compression.dll">\r
+      <SpecificVersion>False</SpecificVersion>\r
+      <HintPath>System.IO.Compression.dll</HintPath>\r
+      <Private>False</Private>\r
+    </Reference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.IO.FileSystem.AccessControl/System.IO.FileSystem.AccessControl-net_4_x.csproj b/mcs/class/Facades/System.IO.FileSystem.AccessControl/System.IO.FileSystem.AccessControl-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b19ff54
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{45771E24-F17F-4E6C-B4BF-9C8B9E0C2F5F}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IO.FileSystem.AccessControl</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.IO.FileSystem.DriveInfo/System.IO.FileSystem.DriveInfo-net_4_x.csproj b/mcs/class/Facades/System.IO.FileSystem.DriveInfo/System.IO.FileSystem.DriveInfo-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a22683d
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A47EFB9A-50A0-494E-BED3-980A874F3689}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IO.FileSystem.DriveInfo</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.IO.FileSystem.Primitives/System.IO.FileSystem.Primitives-net_4_x.csproj b/mcs/class/Facades/System.IO.FileSystem.Primitives/System.IO.FileSystem.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7779846
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{7F454C3A-D682-4F27-AE61-363FFA293AB8}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IO.FileSystem.Primitives</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.IO.FileSystem.Watcher/System.IO.FileSystem.Watcher-net_4_x.csproj b/mcs/class/Facades/System.IO.FileSystem.Watcher/System.IO.FileSystem.Watcher-net_4_x.csproj
new file mode 100644 (file)
index 0000000..74e4540
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{0EBA505C-125C-4A83-B5B9-E01D1C453F90}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IO.FileSystem.Watcher</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.IO.FileSystem/System.IO.FileSystem-net_4_x.csproj b/mcs/class/Facades/System.IO.FileSystem/System.IO.FileSystem-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ee65681
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{F75DDF37-902B-4FDC-98D3-47993A11D755}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IO.FileSystem</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.IO.IsolatedStorage/System.IO.IsolatedStorage-net_4_x.csproj b/mcs/class/Facades/System.IO.IsolatedStorage/System.IO.IsolatedStorage-net_4_x.csproj
new file mode 100644 (file)
index 0000000..39bc78e
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D2884794-EC16-4749-90D1-B78256EA585D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IO.IsolatedStorage</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.IO.MemoryMappedFiles/System.IO.MemoryMappedFiles-net_4_x.csproj b/mcs/class/Facades/System.IO.MemoryMappedFiles/System.IO.MemoryMappedFiles-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b4b750f
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{F5860D09-FB2B-45FB-A40A-C91837BDFEF9}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IO.MemoryMappedFiles</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.IO.Pipes/System.IO.Pipes-net_4_x.csproj b/mcs/class/Facades/System.IO.Pipes/System.IO.Pipes-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5490775
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A2174186-0D8E-4072-814F-9F912DF748F4}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IO.Pipes</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.IO.UnmanagedMemoryStream/System.IO.UnmanagedMemoryStream-net_4_x.csproj b/mcs/class/Facades/System.IO.UnmanagedMemoryStream/System.IO.UnmanagedMemoryStream-net_4_x.csproj
new file mode 100644 (file)
index 0000000..332d95b
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{C4259E97-D61C-4A38-8228-204068097BD8}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IO.UnmanagedMemoryStream</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.IO/System.IO-net_4_x.csproj b/mcs/class/Facades/System.IO/System.IO-net_4_x.csproj
new file mode 100644 (file)
index 0000000..328669d
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{60855135-F9FE-4B50-9468-F40363D61ABD}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IO</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Linq.Expressions/System.Linq.Expressions-net_4_x.csproj b/mcs/class/Facades/System.Linq.Expressions/System.Linq.Expressions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d1c3faf
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{66D22ECC-9C45-4526-BCC2-509A89A9D116}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Linq.Expressions</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Linq.Parallel/System.Linq.Parallel-net_4_x.csproj b/mcs/class/Facades/System.Linq.Parallel/System.Linq.Parallel-net_4_x.csproj
new file mode 100644 (file)
index 0000000..574fe25
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{15667AA0-CDB9-45E1-B90B-716D7B01797C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Linq.Parallel</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Linq.Queryable/System.Linq.Queryable-net_4_x.csproj b/mcs/class/Facades/System.Linq.Queryable/System.Linq.Queryable-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2389699
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{B9FAF584-DE80-41D1-AB01-A6191BAEB42F}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Linq.Queryable</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Linq/System.Linq-net_4_x.csproj b/mcs/class/Facades/System.Linq/System.Linq-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b384b88
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{CA268E6F-4B22-406B-94FC-751A27B971F3}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Linq</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.AuthenticationManager/System.Net.AuthenticationManager-net_4_x.csproj b/mcs/class/Facades/System.Net.AuthenticationManager/System.Net.AuthenticationManager-net_4_x.csproj
new file mode 100644 (file)
index 0000000..385a054
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2361432C-3A88-4BF8-B018-F2DB72EA9FBD}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.AuthenticationManager</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.Cache/System.Net.Cache-net_4_x.csproj b/mcs/class/Facades/System.Net.Cache/System.Net.Cache-net_4_x.csproj
new file mode 100644 (file)
index 0000000..40eb73f
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{DDF8D090-7030-43D4-9400-D4C46C628A6B}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.Cache</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.Http.WebRequestHandler/System.Net.Http.WebRequestHandler-net_4_x.csproj b/mcs/class/Facades/System.Net.Http.WebRequestHandler/System.Net.Http.WebRequestHandler-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7d3ac50
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D539B499-390E-4648-9683-EDD787C36928}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.Http.WebRequestHandler</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Net.Http.WebRequest/System.Net.Http.WebRequest-net_4_x.csproj">\r
+      <Project>{A98B5CC3-EAFC-4EFD-ABC6-2F2A65BE98F5}</Project>\r
+      <Name>System.Net.Http.WebRequest-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Net.Http/System.Net.Http-net_4_x.csproj">\r
+      <Project>{F1636C0A-FC68-4362-918F-9CCC789FED13}</Project>\r
+      <Name>System.Net.Http-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.HttpListener/System.Net.HttpListener-net_4_x.csproj b/mcs/class/Facades/System.Net.HttpListener/System.Net.HttpListener-net_4_x.csproj
new file mode 100644 (file)
index 0000000..41703d0
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A975094D-17EA-4FA4-9195-24D1FFDCFD67}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.HttpListener</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.Mail/System.Net.Mail-net_4_x.csproj b/mcs/class/Facades/System.Net.Mail/System.Net.Mail-net_4_x.csproj
new file mode 100644 (file)
index 0000000..cff5e1d
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{F86C04C2-A21E-4901-8D2F-02FF76C0E938}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.Mail</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.NameResolution/System.Net.NameResolution-net_4_x.csproj b/mcs/class/Facades/System.Net.NameResolution/System.Net.NameResolution-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7bcdb44
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{CA24BFDB-D8AC-4672-9A08-0804150F90FC}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.NameResolution</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.NetworkInformation/System.Net.NetworkInformation-net_4_x.csproj b/mcs/class/Facades/System.Net.NetworkInformation/System.Net.NetworkInformation-net_4_x.csproj
new file mode 100644 (file)
index 0000000..6b1a634
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{50E028ED-FB17-4C85-AD0F-0D72ED6C0B2B}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.NetworkInformation</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.Primitives/System.Net.Primitives-net_4_x.csproj b/mcs/class/Facades/System.Net.Primitives/System.Net.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..09412dd
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{ED2E1AA1-4502-4D57-837F-B84F6D2DB507}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.Primitives</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.Requests/System.Net.Requests-net_4_x.csproj b/mcs/class/Facades/System.Net.Requests/System.Net.Requests-net_4_x.csproj
new file mode 100644 (file)
index 0000000..01ea703
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{0B9F1A9C-4AF1-4C78-B449-943FC2537E1D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.Requests</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.Security/System.Net.Security-net_4_x.csproj b/mcs/class/Facades/System.Net.Security/System.Net.Security-net_4_x.csproj
new file mode 100644 (file)
index 0000000..07f3b9f
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{61C6A402-B5A0-42D6-BD13-3151F86C0E17}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.Security</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.ServicePoint/System.Net.ServicePoint-net_4_x.csproj b/mcs/class/Facades/System.Net.ServicePoint/System.Net.ServicePoint-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1feec7c
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{22C96ACE-D774-4957-878B-9B3009DD93F7}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.ServicePoint</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.Sockets/System.Net.Sockets-net_4_x.csproj b/mcs/class/Facades/System.Net.Sockets/System.Net.Sockets-net_4_x.csproj
new file mode 100644 (file)
index 0000000..517b972
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{EC70B9EA-9C94-4813-90C8-C0B0A3811233}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.Sockets</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.Utilities/System.Net.Utilities-net_4_x.csproj b/mcs/class/Facades/System.Net.Utilities/System.Net.Utilities-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7951397
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{71C31FDE-1906-4DEC-BF5D-B2A8FE544CA5}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.Utilities</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.WebHeaderCollection/System.Net.WebHeaderCollection-net_4_x.csproj b/mcs/class/Facades/System.Net.WebHeaderCollection/System.Net.WebHeaderCollection-net_4_x.csproj
new file mode 100644 (file)
index 0000000..93b18b8
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{6A1428FB-1FB9-4617-A2C7-F26375676C6C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.WebHeaderCollection</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.WebSockets.Client/System.Net.WebSockets.Client-net_4_x.csproj b/mcs/class/Facades/System.Net.WebSockets.Client/System.Net.WebSockets.Client-net_4_x.csproj
new file mode 100644 (file)
index 0000000..dac4937
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{09DEA2D2-CE69-47A8-840A-F4CC73E27E2A}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.WebSockets.Client</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.WebSockets/System.Net.WebSockets-net_4_x.csproj b/mcs/class/Facades/System.Net.WebSockets/System.Net.WebSockets-net_4_x.csproj
new file mode 100644 (file)
index 0000000..86e4262
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{976F449E-E59E-49B5-A524-C6889D80E9E5}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.WebSockets</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.ObjectModel/System.ObjectModel-net_4_x.csproj b/mcs/class/Facades/System.ObjectModel/System.ObjectModel-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b650e93
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{7AF310B3-CC3F-4F19-B172-42339F219894}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ObjectModel</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Private.CoreLib.InteropServices/System.Private.CoreLib.InteropServices-net_4_x.csproj b/mcs/class/Facades/System.Private.CoreLib.InteropServices/System.Private.CoreLib.InteropServices-net_4_x.csproj
new file mode 100644 (file)
index 0000000..4813330
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{BE4A05DF-5630-4E80-9521-7B4216229A60}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Private.CoreLib.InteropServices</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Private.CoreLib.Threading/System.Private.CoreLib.Threading-net_4_x.csproj b/mcs/class/Facades/System.Private.CoreLib.Threading/System.Private.CoreLib.Threading-net_4_x.csproj
new file mode 100644 (file)
index 0000000..17de547
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A577B5A0-5038-4D8E-8C80-18ED9FEC8686}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Private.CoreLib.Threading</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Reflection.Emit.ILGeneration/System.Reflection.Emit.ILGeneration-net_4_x.csproj b/mcs/class/Facades/System.Reflection.Emit.ILGeneration/System.Reflection.Emit.ILGeneration-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b33e9d6
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A949F801-D918-4A92-9E85-937B461F35A8}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reflection.Emit.ILGeneration</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Reflection.Emit.Lightweight/System.Reflection.Emit.Lightweight-net_4_x.csproj b/mcs/class/Facades/System.Reflection.Emit.Lightweight/System.Reflection.Emit.Lightweight-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3212863
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{1CBCA63A-7FA1-47CB-A3F3-670530AA890A}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reflection.Emit.Lightweight</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Reflection.Emit/System.Reflection.Emit-net_4_x.csproj b/mcs/class/Facades/System.Reflection.Emit/System.Reflection.Emit-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1797d1c
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{6C04AED4-77F1-4DBA-B6CE-905FAD88F79C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reflection.Emit</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Reflection.Extensions/System.Reflection.Extensions-net_4_x.csproj b/mcs/class/Facades/System.Reflection.Extensions/System.Reflection.Extensions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5098f16
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{94F93C37-CCB7-4C86-B2F6-267AF4F10E26}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reflection.Extensions</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Reflection.Primitives/System.Reflection.Primitives-net_4_x.csproj b/mcs/class/Facades/System.Reflection.Primitives/System.Reflection.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..17d46b8
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{C330F2FA-614F-4633-902A-C62C1B173C5C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reflection.Primitives</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Reflection.TypeExtensions/System.Reflection.TypeExtensions-net_4_x.csproj b/mcs/class/Facades/System.Reflection.TypeExtensions/System.Reflection.TypeExtensions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a8ac1b6
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{651B4F97-21A0-426B-97EB-843CC703C2A2}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reflection.TypeExtensions</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Reflection/System.Reflection-net_4_x.csproj b/mcs/class/Facades/System.Reflection/System.Reflection-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b5494ff
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{C95FD088-DE10-4756-B328-A7EFD320CA4D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reflection</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Resources.ReaderWriter/System.Resources.ReaderWriter-net_4_x.csproj b/mcs/class/Facades/System.Resources.ReaderWriter/System.Resources.ReaderWriter-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9d72308
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{4B3B2617-E4F3-497E-80CC-3E3B0BB9B0AA}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Resources.ReaderWriter</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Resources.ResourceManager/System.Resources.ResourceManager-net_4_x.csproj b/mcs/class/Facades/System.Resources.ResourceManager/System.Resources.ResourceManager-net_4_x.csproj
new file mode 100644 (file)
index 0000000..cc6a5aa
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{B71D4E2C-AE91-4056-B1BC-E3D680854D81}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Resources.ResourceManager</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Runtime.CompilerServices.VisualC/System.Runtime.CompilerServices.VisualC-net_4_x.csproj b/mcs/class/Facades/System.Runtime.CompilerServices.VisualC/System.Runtime.CompilerServices.VisualC-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1ce276a
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{4934413F-59A2-40A7-A57F-5B4CED7E57D9}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.CompilerServices.VisualC</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Runtime.Extensions/System.Runtime.Extensions-net_4_x.csproj b/mcs/class/Facades/System.Runtime.Extensions/System.Runtime.Extensions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f7c799e
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{76C79D79-302B-49A2-8AD2-4002A5F69C64}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.Extensions</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Runtime.Handles/System.Runtime.Handles-net_4_x.csproj b/mcs/class/Facades/System.Runtime.Handles/System.Runtime.Handles-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7f26d59
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{C6CF11AD-BECC-4125-9DAD-87882946F4F1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.Handles</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Runtime.InteropServices.WindowsRuntime/System.Runtime.InteropServices.WindowsRuntime-net_4_x.csproj b/mcs/class/Facades/System.Runtime.InteropServices.WindowsRuntime/System.Runtime.InteropServices.WindowsRuntime-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d50e0f9
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{7E6EF582-E263-48F8-9ED3-4436A75BAB20}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.InteropServices.WindowsRuntime</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Runtime.InteropServices/System.Runtime.InteropServices-net_4_x.csproj b/mcs/class/Facades/System.Runtime.InteropServices/System.Runtime.InteropServices-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1a21588
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{AEE74B47-EF16-4252-9119-03AFFAE8945D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.InteropServices</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Runtime.Numerics/System.Runtime.Numerics-net_4_x.csproj b/mcs/class/Facades/System.Runtime.Numerics/System.Runtime.Numerics-net_4_x.csproj
new file mode 100644 (file)
index 0000000..0933011
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{30599B6A-5548-42CF-8CCC-0DB4FB047F40}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.Numerics</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Numerics/System.Numerics-net_4_x.csproj">\r
+      <Project>{BD2FFDDC-BD89-4041-82F5-A696C941C7BE}</Project>\r
+      <Name>System.Numerics-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Json/System.Runtime.Serialization.Json-net_4_x.csproj b/mcs/class/Facades/System.Runtime.Serialization.Json/System.Runtime.Serialization.Json-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d619025
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{F94C14B7-F384-4659-AC19-71D1990A199D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.Serialization.Json</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Primitives/System.Runtime.Serialization.Primitives-net_4_x.csproj b/mcs/class/Facades/System.Runtime.Serialization.Primitives/System.Runtime.Serialization.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ec7621e
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{20379FFB-C614-423F-8B96-6E1ABCF8B726}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.Serialization.Primitives</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Xml/System.Runtime.Serialization.Xml-net_4_x.csproj b/mcs/class/Facades/System.Runtime.Serialization.Xml/System.Runtime.Serialization.Xml-net_4_x.csproj
new file mode 100644 (file)
index 0000000..14c2521
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{56D65A5E-3E87-41C4-8332-3F03C959FEEE}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.Serialization.Xml</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Runtime/System.Runtime-net_4_x.csproj b/mcs/class/Facades/System.Runtime/System.Runtime-net_4_x.csproj
new file mode 100644 (file)
index 0000000..055f8a6
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{27623377-1A83-4EB2-AF9C-97236F60F9B3}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.ComponentModel.Composition.4.5/System.ComponentModel.Composition-net_4_x.csproj">\r
+      <Project>{9091B5ED-8AFF-4B93-801A-9A33E0895A2B}</Project>\r
+      <Name>System.ComponentModel.Composition-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.AccessControl/System.Security.AccessControl-net_4_x.csproj b/mcs/class/Facades/System.Security.AccessControl/System.Security.AccessControl-net_4_x.csproj
new file mode 100644 (file)
index 0000000..59f0bbc
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{AD189C25-6290-4167-BC5C-071511A6BAAB}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.AccessControl</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Claims/System.Security.Claims-net_4_x.csproj b/mcs/class/Facades/System.Security.Claims/System.Security.Claims-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3c5626a
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D6FC8AED-2F7B-42D1-ADD6-BB419729EC6E}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Claims</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Cryptography.DeriveBytes/System.Security.Cryptography.DeriveBytes-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.DeriveBytes/System.Security.Cryptography.DeriveBytes-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2a88304
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{39DA45EA-6CC3-4D00-885E-D7E41B70B00C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Cryptography.DeriveBytes</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Cryptography.Encoding/System.Security.Cryptography.Encoding-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.Encoding/System.Security.Cryptography.Encoding-net_4_x.csproj
new file mode 100644 (file)
index 0000000..dcbeba5
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{BFFCFADF-8A9C-4C3C-9C51-139600C13693}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Cryptography.Encoding</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Cryptography.Encryption.Aes/System.Security.Cryptography.Encryption.Aes-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.Encryption.Aes/System.Security.Cryptography.Encryption.Aes-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2af0248
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{0599ACA9-6088-4842-B5C2-E2EDB1C8ABD9}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Cryptography.Encryption.Aes</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman/System.Security.Cryptography.Encryption.ECDiffieHellman-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman/System.Security.Cryptography.Encryption.ECDiffieHellman-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2318bf1
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{7C56A39F-449F-4E16-A7CA-ED94AC21008D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Cryptography.Encryption.ECDiffieHellman</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Cryptography.Encryption.ECDsa/System.Security.Cryptography.Encryption.ECDsa-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.Encryption.ECDsa/System.Security.Cryptography.Encryption.ECDsa-net_4_x.csproj
new file mode 100644 (file)
index 0000000..53a7edd
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2920BE27-3108-4351-895F-90629C3B0566}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Cryptography.Encryption.ECDsa</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Cryptography.Encryption/System.Security.Cryptography.Encryption-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.Encryption/System.Security.Cryptography.Encryption-net_4_x.csproj
new file mode 100644 (file)
index 0000000..356a34f
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{56E07367-C000-48C1-A9AE-AF9C05E479E0}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Cryptography.Encryption</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Cryptography.Hashing.Algorithms/System.Security.Cryptography.Hashing.Algorithms-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.Hashing.Algorithms/System.Security.Cryptography.Hashing.Algorithms-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b664ddd
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{B956309E-12A6-4407-9C1F-7DF913DB20CD}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Cryptography.Hashing.Algorithms</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Cryptography.Hashing/System.Security.Cryptography.Hashing-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.Hashing/System.Security.Cryptography.Hashing-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7daa127
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{EC66863B-4061-4BA5-88C9-5A3395B27A19}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Cryptography.Hashing</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Cryptography.ProtectedData/System.Security.Cryptography.ProtectedData-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.ProtectedData/System.Security.Cryptography.ProtectedData-net_4_x.csproj
new file mode 100644 (file)
index 0000000..64f6c2c
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{6A5971D9-198E-4EF8-A2BA-9E64C0B36351}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Cryptography.ProtectedData</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Security/System.Security-net_4_x.csproj">\r
+      <Project>{3ED36717-A9D1-4289-8949-9B7F39766DEB}</Project>\r
+      <Name>System.Security-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Cryptography.RSA/System.Security.Cryptography.RSA-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.RSA/System.Security.Cryptography.RSA-net_4_x.csproj
new file mode 100644 (file)
index 0000000..cad9833
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{EFEE5CFF-34DE-4851-9A0F-B95BD790A9E9}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Cryptography.RSA</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Cryptography.RandomNumberGenerator/System.Security.Cryptography.RandomNumberGenerator-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.RandomNumberGenerator/System.Security.Cryptography.RandomNumberGenerator-net_4_x.csproj
new file mode 100644 (file)
index 0000000..8ba6af5
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{AFFC81C7-0AF7-457F-AA19-95A3F260DBBF}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Cryptography.RandomNumberGenerator</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Cryptography.X509Certificates/System.Security.Cryptography.X509Certificates-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.X509Certificates/System.Security.Cryptography.X509Certificates-net_4_x.csproj
new file mode 100644 (file)
index 0000000..048fbc9
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{9A600CEA-C20E-4A59-93B6-821B979F4ECC}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Cryptography.X509Certificates</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Principal.Windows/System.Security.Principal.Windows-net_4_x.csproj b/mcs/class/Facades/System.Security.Principal.Windows/System.Security.Principal.Windows-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2c00b36
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{346A96BA-68AA-4119-9226-D48F82F77EF2}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Principal.Windows</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.Principal/System.Security.Principal-net_4_x.csproj b/mcs/class/Facades/System.Security.Principal/System.Security.Principal-net_4_x.csproj
new file mode 100644 (file)
index 0000000..82d62f9
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{750F58A7-780C-4E1A-B09B-C3E9B084140D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.Principal</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Security.SecureString/System.Security.SecureString-net_4_x.csproj b/mcs/class/Facades/System.Security.SecureString/System.Security.SecureString-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b9500f3
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{C5EAE616-9D44-4858-A84A-9B0C9A2965E1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security.SecureString</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.ServiceModel.Duplex/System.ServiceModel.Duplex-net_4_x.csproj b/mcs/class/Facades/System.ServiceModel.Duplex/System.ServiceModel.Duplex-net_4_x.csproj
new file mode 100644 (file)
index 0000000..136211d
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{F437829F-5283-4740-9637-7C5682DD11C8}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ServiceModel.Duplex</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.ServiceModel/System.ServiceModel-net_4_x.csproj">\r
+      <Project>{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}</Project>\r
+      <Name>System.ServiceModel-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 3b1a3929a8421c7b216ba575c672b559f4363bb1..89df05537785702076e7b0b9a3cf1831880c4e92 100644 (file)
@@ -20,7 +20,7 @@
 // THE SOFTWARE.
 // 
 
-#if !MOBILE
+#if !MOBILE && !XAMMAC_4_5
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.CallbackBehaviorAttribute))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.DuplexChannelFactory<>))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.DuplexClientBase<>))]
diff --git a/mcs/class/Facades/System.ServiceModel.Http/System.ServiceModel.Http-net_4_x.csproj b/mcs/class/Facades/System.ServiceModel.Http/System.ServiceModel.Http-net_4_x.csproj
new file mode 100644 (file)
index 0000000..02f11ee
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{520E2A44-1534-4AE7-B5B5-CC48752BFAC5}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ServiceModel.Http</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.ServiceModel/System.ServiceModel-net_4_x.csproj">\r
+      <Project>{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}</Project>\r
+      <Name>System.ServiceModel-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.ServiceModel.NetTcp/System.ServiceModel.NetTcp-net_4_x.csproj b/mcs/class/Facades/System.ServiceModel.NetTcp/System.ServiceModel.NetTcp-net_4_x.csproj
new file mode 100644 (file)
index 0000000..530b538
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{C7C9D163-07B0-4BC4-AFF9-6C1604EA1422}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ServiceModel.NetTcp</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.ServiceModel/System.ServiceModel-net_4_x.csproj">\r
+      <Project>{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}</Project>\r
+      <Name>System.ServiceModel-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 41b9ff38adac1c052d90f694460a8ac9bc47fd8a..a80d1c6fd126c5c9ffc8e0b8923fd9805bb0910e 100644 (file)
@@ -20,7 +20,7 @@
 // THE SOFTWARE.
 // 
 
-#if !MOBILE
+#if !MOBILE && !XAMMAC_4_5
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.ConnectionOrientedTransportBindingElement))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.SslStreamSecurityBindingElement))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ServiceModel.Channels.TcpConnectionPoolSettings))]
diff --git a/mcs/class/Facades/System.ServiceModel.Primitives/System.ServiceModel.Primitives-net_4_x.csproj b/mcs/class/Facades/System.ServiceModel.Primitives/System.ServiceModel.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5306f53
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{5C526F77-70CF-4469-B91D-499C1D39CD11}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ServiceModel.Primitives</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.ServiceModel/System.ServiceModel-net_4_x.csproj">\r
+      <Project>{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}</Project>\r
+      <Name>System.ServiceModel-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.ServiceModel.Security/System.ServiceModel.Security-net_4_x.csproj b/mcs/class/Facades/System.ServiceModel.Security/System.ServiceModel.Security-net_4_x.csproj
new file mode 100644 (file)
index 0000000..23aecf8
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{C46FCD98-1619-4B60-BBAD-10F052F26B51}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ServiceModel.Security</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.ServiceModel/System.ServiceModel-net_4_x.csproj">\r
+      <Project>{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}</Project>\r
+      <Name>System.ServiceModel-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.ServiceProcess.ServiceController/System.ServiceProcess.ServiceController-net_4_x.csproj b/mcs/class/Facades/System.ServiceProcess.ServiceController/System.ServiceProcess.ServiceController-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f4bb720
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{E88B043C-261E-4544-BFD7-AA19C5FDC7BF}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ServiceProcess.ServiceController</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.ServiceProcess/System.ServiceProcess-net_4_x.csproj">\r
+      <Project>{CF24A609-AEF3-4E7A-95FC-C7A3CEAA7CC3}</Project>\r
+      <Name>System.ServiceProcess-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Text.Encoding.Extensions/System.Text.Encoding.Extensions-net_4_x.csproj b/mcs/class/Facades/System.Text.Encoding.Extensions/System.Text.Encoding.Extensions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..4579c0e
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{1EC7070C-EA2E-44F4-9C90-8EB863CBA812}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Text.Encoding.Extensions</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Text.Encoding/System.Text.Encoding-net_4_x.csproj b/mcs/class/Facades/System.Text.Encoding/System.Text.Encoding-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3b52841
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{8188B86C-187D-47EB-B5B4-FD835E500B3C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Text.Encoding</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Text.RegularExpressions/System.Text.RegularExpressions-net_4_x.csproj b/mcs/class/Facades/System.Text.RegularExpressions/System.Text.RegularExpressions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..0ffb389
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{5E307FDA-74F0-4E12-81E9-B01B93089813}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Text.RegularExpressions</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Threading.AccessControl/System.Threading.AccessControl-net_4_x.csproj b/mcs/class/Facades/System.Threading.AccessControl/System.Threading.AccessControl-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9708970
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{0C477170-E4CE-4EEF-8EF4-AAE8C943E867}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Threading.AccessControl</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Threading.Overlapped/System.Threading.Overlapped-net_4_x.csproj b/mcs/class/Facades/System.Threading.Overlapped/System.Threading.Overlapped-net_4_x.csproj
new file mode 100644 (file)
index 0000000..60756d0
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{884A1C69-6876-4F89-8FA7-18B51C4E4D57}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Threading.Overlapped</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Threading.Tasks.Parallel/System.Threading.Tasks.Parallel-net_4_x.csproj b/mcs/class/Facades/System.Threading.Tasks.Parallel/System.Threading.Tasks.Parallel-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f804681
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D14EB78A-B8D4-4615-89A0-3662FBA2A7A1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Threading.Tasks.Parallel</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Threading.Tasks/System.Threading.Tasks-net_4_x.csproj b/mcs/class/Facades/System.Threading.Tasks/System.Threading.Tasks-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9eca61d
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D63B779F-18EC-4C7E-B649-B1090446E931}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Threading.Tasks</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Threading.Thread/System.Threading.Thread-net_4_x.csproj b/mcs/class/Facades/System.Threading.Thread/System.Threading.Thread-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2d5cf5e
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{9E19393F-54A5-4B4C-A58F-EC697F35F57B}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Threading.Thread</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Threading.ThreadPool/System.Threading.ThreadPool-net_4_x.csproj b/mcs/class/Facades/System.Threading.ThreadPool/System.Threading.ThreadPool-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3ed6be3
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{433024D9-0988-4BC3-A695-40780BE3E264}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Threading.ThreadPool</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Threading.Timer/System.Threading.Timer-net_4_x.csproj b/mcs/class/Facades/System.Threading.Timer/System.Threading.Timer-net_4_x.csproj
new file mode 100644 (file)
index 0000000..811340b
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{01D536EF-E24C-4104-A77C-4274F80B143E}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Threading.Timer</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Threading/System.Threading-net_4_x.csproj b/mcs/class/Facades/System.Threading/System.Threading-net_4_x.csproj
new file mode 100644 (file)
index 0000000..bbfdcaf
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{DD071CF1-7FED-485C-9C20-6F48DC7C749B}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Threading</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Xml.ReaderWriter/System.Xml.ReaderWriter-net_4_x.csproj b/mcs/class/Facades/System.Xml.ReaderWriter/System.Xml.ReaderWriter-net_4_x.csproj
new file mode 100644 (file)
index 0000000..8ad5666
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{053DF84B-ACC6-4FA7-B5A9-5701E6D648D2}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Xml.ReaderWriter</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Xml.XDocument/System.Xml.XDocument-net_4_x.csproj b/mcs/class/Facades/System.Xml.XDocument/System.Xml.XDocument-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b848d32
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{FB305A65-1838-41E4-8A7C-7C601E3C42DB}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Xml.XDocument</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Xml.Linq/System.Xml.Linq-net_4_x.csproj">\r
+      <Project>{526286D5-38D9-4579-B001-471440D57752}</Project>\r
+      <Name>System.Xml.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Xml.XPath.XDocument/System.Xml.XPath.XDocument-net_4_x.csproj b/mcs/class/Facades/System.Xml.XPath.XDocument/System.Xml.XPath.XDocument-net_4_x.csproj
new file mode 100644 (file)
index 0000000..47a725f
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{84405A33-4886-4DFF-B20A-B425EB6C4D76}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Xml.XPath.XDocument</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.Xml.Linq/System.Xml.Linq-net_4_x.csproj">\r
+      <Project>{526286D5-38D9-4579-B001-471440D57752}</Project>\r
+      <Name>System.Xml.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Xml.XPath/System.Xml.XPath-net_4_x.csproj b/mcs/class/Facades/System.Xml.XPath/System.Xml.XPath-net_4_x.csproj
new file mode 100644 (file)
index 0000000..776dbaf
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{E0408453-A814-4A71-98E2-3B49ACA8001D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Xml.XPath</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Xml.XmlDocument/System.Xml.XmlDocument-net_4_x.csproj b/mcs/class/Facades/System.Xml.XmlDocument/System.Xml.XmlDocument-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7e61f29
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{7D5C18A0-EA5E-4489-93F0-444E2F5895B7}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Xml.XmlDocument</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Xml.XmlSerializer/System.Xml.XmlSerializer-net_4_x.csproj b/mcs/class/Facades/System.Xml.XmlSerializer/System.Xml.XmlSerializer-net_4_x.csproj
new file mode 100644 (file)
index 0000000..73d8903
--- /dev/null
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2716796C-3A71-464D-843A-0DE00243233A}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Xml.XmlSerializer</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Xml.Xsl.Primitives/System.Xml.Xsl.Primitives-net_4_x.csproj b/mcs/class/Facades/System.Xml.Xsl.Primitives/System.Xml.Xsl.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c8c4d89
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{59C3AB68-DEC2-4A13-983E-55E2DB09BF61}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Xml.Xsl.Primitives</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../msfinal.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>DEBUG;TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 9ebb5d30de93a3133bc1fdadd9e8a29d51216a3d..c5b11e4aaef93b0ca45107662ee655bbf1608e32 100644 (file)
@@ -521,19 +521,13 @@ internal class CP51932Decoder : DbcsEncoding.DbcsDecoder
                        --count;
                        if (last == 0) {
                                if (byteval == 0x8F) {
-                                       if (byteval != 0) {
-                                               // Invalid second byte of a 3-byte character.
-                                               last = 0;
-                                               length++;
-                                       }
-                                       // First byte in a triple-byte sequence
-                                       else
-                                               last = byteval;
+                                       // SS3: One-time triple-byte sequence should follow.
+                                       last = byteval;
                                } else if (byteval <= 0x7F) {
                                        // Ordinary ASCII/Latin1/Control character.
                                        length++;
                                } else if (byteval == 0x8E) {
-                                       // First byte of half-width Katakana
+                                       // SS2: One-time double-byte sequence should follow.
                                        last = byteval;
                                } else if (byteval >= 0xA1 && byteval <= 0xFE) {
                                        // First byte in a double-byte sequence.
@@ -544,9 +538,8 @@ internal class CP51932Decoder : DbcsEncoding.DbcsDecoder
                                }
                        }
                        else if (last == 0x8E) {
+                               // SS2 (One-time double-byte sequence)
                                if (byteval >= 0xA1 && byteval <= 0xDF) {
-                                       value = ((byteval - 0x40) |
-                                               (last + 0x71) << 8);
                                        length++;
                                } else {
                                        // Invalid second byte.
@@ -555,8 +548,8 @@ internal class CP51932Decoder : DbcsEncoding.DbcsDecoder
                                last =0;
                        }
                        else if (last == 0x8F) {
-                               // 3-byte character
-                               // FIXME: currently not supported yet
+                               // SS3: 3-byte character
+                               // FIXME: not supported (I don't think iso-2022-jp has)
                                last = byteval;
                        }
                        else
@@ -627,23 +620,15 @@ internal class CP51932Decoder : DbcsEncoding.DbcsDecoder
                        --byteCount;
                        if (last == 0) {
                                if (byteval == 0x8F) {
-                                       if (byteval != 0) {
-                                               // Invalid second byte of a 3-byte character.
-                                               last = 0;
-                                               if (posn >= charLength)
-                                                       throw Insufficient ();
-                                               chars [posn++] = '\u30FB';
-                                       }
-                                       // First byte in a triple-byte sequence
-                                       else
-                                               last = byteval;
+                                       // SS3 (One-time triple-byte sequence) should follow.
+                                       last = byteval;
                                } else if (byteval <= 0x7F) {
                                        // Ordinary ASCII/Latin1/Control character.
                                        if (posn >= charLength)
                                                throw Insufficient ();
                                        chars [posn++] = (char) byteval;
                                } else if (byteval == 0x8E) {
-                                       // First byte of half-width Katakana
+                                       // SS2 (One-time double-byte sequence) should follow.
                                        last = byteval;
                                } else if (byteval >= 0xA1 && byteval <= 0xFE) {
                                        // First byte in a double-byte sequence.
@@ -656,6 +641,7 @@ internal class CP51932Decoder : DbcsEncoding.DbcsDecoder
                                }
                        }
                        else if (last == 0x8E) {
+                               // SS2 (One-time double-byte sequence)
                                if (byteval >= 0xA1 && byteval <= 0xDF) {
                                        value = ((byteval - 0x40) |
                                                (last + 0x71) << 8);
@@ -671,8 +657,8 @@ internal class CP51932Decoder : DbcsEncoding.DbcsDecoder
                                last =0;
                        }
                        else if (last == 0x8F) {
-                               // 3-byte character
-                               // FIXME: currently not supported yet
+                               // SS3: 3-byte character
+                               // FIXME: not supported (I don't think iso-2022-jp has)
                                last = byteval;
                        }
                        else
diff --git a/mcs/class/I18N/CJK/I18N.CJK-net_4_x.csproj b/mcs/class/I18N/CJK/I18N.CJK-net_4_x.csproj
new file mode 100644 (file)
index 0000000..15b009c
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{4742C0FA-2C03-4598-A3F2-4E7D9CDFF81B}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>I18N.CJK</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="CodeTable.cs" />\r
+    <Compile Include="CP51932.cs" />\r
+    <Compile Include="CP932.cs" />\r
+    <Compile Include="CP936.cs" />\r
+    <Compile Include="CP949.cs" />\r
+    <Compile Include="CP950.cs" />\r
+    <Compile Include="DbcsConvert.cs" />\r
+    <Compile Include="DbcsEncoding.cs" />\r
+    <Compile Include="GB18030Encoding.cs" />\r
+    <Compile Include="GB18030Source.cs" />\r
+    <Compile Include="ISO2022JP.cs" />\r
+    <Compile Include="JISConvert.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Common/I18N-net_4_x.csproj">\r
+      <Project>{E831A310-28EE-4433-B916-FF38A0FCDBE6}</Project>\r
+      <Name>I18N-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="big5.table">\r
+      <LogicalName>big5.table</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="gb2312.table">\r
+      <LogicalName>gb2312.table</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="jis.table">\r
+      <LogicalName>jis.table</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="ks.table">\r
+      <LogicalName>ks.table</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="gb18030.table">\r
+      <LogicalName>gb18030.table</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/I18N/Common/I18N-net_4_x.csproj b/mcs/class/I18N/Common/I18N-net_4_x.csproj
new file mode 100644 (file)
index 0000000..8bbb45c
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{E831A310-28EE-4433-B916-FF38A0FCDBE6}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>I18N</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="ByteEncoding.cs" />\r
+    <Compile Include="ByteSafeEncoding.cs" />\r
+    <Compile Include="DefaultEncoder.cs" />\r
+    <Compile Include="Handlers.cs" />\r
+    <Compile Include="Manager.cs" />\r
+    <Compile Include="MonoEncoding.cs" />\r
+    <Compile Include="MonoSafeEncoding.cs" />\r
+    <Compile Include="Strings.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/I18N/MidEast/I18N.MidEast-net_4_x.csproj b/mcs/class/I18N/MidEast/I18N.MidEast-net_4_x.csproj
new file mode 100644 (file)
index 0000000..21884dd
--- /dev/null
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{CF9EC4FE-1FBF-4583-ADE9-D0E6554D4528}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>I18N.MidEast</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="CP1254.cs" />\r
+    <Compile Include="CP1255.cs" />\r
+    <Compile Include="CP1256.cs" />\r
+    <Compile Include="CP28596.cs" />\r
+    <Compile Include="CP28598.cs" />\r
+    <Compile Include="CP28599.cs" />\r
+    <Compile Include="CP38598.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Common/I18N-net_4_x.csproj">\r
+      <Project>{E831A310-28EE-4433-B916-FF38A0FCDBE6}</Project>\r
+      <Name>I18N-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/I18N/Other/I18N.Other-net_4_x.csproj b/mcs/class/I18N/Other/I18N.Other-net_4_x.csproj
new file mode 100644 (file)
index 0000000..896c147
--- /dev/null
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{990903B9-BEDF-472C-97B8-221F8AA0A731}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>I18N.Other</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="CP1251.cs" />\r
+    <Compile Include="CP1257.cs" />\r
+    <Compile Include="CP1258.cs" />\r
+    <Compile Include="CP20866.cs" />\r
+    <Compile Include="CP21866.cs" />\r
+    <Compile Include="CP28594.cs" />\r
+    <Compile Include="CP28595.cs" />\r
+    <Compile Include="CP57002.cs" />\r
+    <Compile Include="CP874.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Common/I18N-net_4_x.csproj">\r
+      <Project>{E831A310-28EE-4433-B916-FF38A0FCDBE6}</Project>\r
+      <Name>I18N-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/I18N/Rare/I18N.Rare-net_4_x.csproj b/mcs/class/I18N/Rare/I18N.Rare-net_4_x.csproj
new file mode 100644 (file)
index 0000000..124e958
--- /dev/null
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{83227E53-5469-412F-B936-74AD08CDD9D9}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>I18N.Rare</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="CP1026.cs" />\r
+    <Compile Include="CP1047.cs" />\r
+    <Compile Include="CP1140.cs" />\r
+    <Compile Include="CP1141.cs" />\r
+    <Compile Include="CP1142.cs" />\r
+    <Compile Include="CP1143.cs" />\r
+    <Compile Include="CP1144.cs" />\r
+    <Compile Include="CP1145.cs" />\r
+    <Compile Include="CP1146.cs" />\r
+    <Compile Include="CP1147.cs" />\r
+    <Compile Include="CP1148.cs" />\r
+    <Compile Include="CP1149.cs" />\r
+    <Compile Include="CP20273.cs" />\r
+    <Compile Include="CP20277.cs" />\r
+    <Compile Include="CP20278.cs" />\r
+    <Compile Include="CP20280.cs" />\r
+    <Compile Include="CP20284.cs" />\r
+    <Compile Include="CP20285.cs" />\r
+    <Compile Include="CP20290.cs" />\r
+    <Compile Include="CP20297.cs" />\r
+    <Compile Include="CP20420.cs" />\r
+    <Compile Include="CP20424.cs" />\r
+    <Compile Include="CP20871.cs" />\r
+    <Compile Include="CP21025.cs" />\r
+    <Compile Include="CP37.cs" />\r
+    <Compile Include="CP500.cs" />\r
+    <Compile Include="CP708.cs" />\r
+    <Compile Include="CP852.cs" />\r
+    <Compile Include="CP855.cs" />\r
+    <Compile Include="CP857.cs" />\r
+    <Compile Include="CP858.cs" />\r
+    <Compile Include="CP862.cs" />\r
+    <Compile Include="CP864.cs" />\r
+    <Compile Include="CP866.cs" />\r
+    <Compile Include="CP869.cs" />\r
+    <Compile Include="CP870.cs" />\r
+    <Compile Include="CP875.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Common/I18N-net_4_x.csproj">\r
+      <Project>{E831A310-28EE-4433-B916-FF38A0FCDBE6}</Project>\r
+      <Name>I18N-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/I18N/West/I18N.West-net_4_x.csproj b/mcs/class/I18N/West/I18N.West-net_4_x.csproj
new file mode 100644 (file)
index 0000000..60341bd
--- /dev/null
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{3516F613-9194-4B95-B7B2-3F9B37A87B30}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>I18N.West</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="CP10000.cs" />\r
+    <Compile Include="CP10079.cs" />\r
+    <Compile Include="CP1250.cs" />\r
+    <Compile Include="CP1252.cs" />\r
+    <Compile Include="CP1253.cs" />\r
+    <Compile Include="CP28592.cs" />\r
+    <Compile Include="CP28593.cs" />\r
+    <Compile Include="CP28597.cs" />\r
+    <Compile Include="CP28605.cs" />\r
+    <Compile Include="CP437.cs" />\r
+    <Compile Include="CP850.cs" />\r
+    <Compile Include="CP860.cs" />\r
+    <Compile Include="CP861.cs" />\r
+    <Compile Include="CP863.cs" />\r
+    <Compile Include="CP865.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Common/I18N-net_4_x.csproj">\r
+      <Project>{E831A310-28EE-4433-B916-FF38A0FCDBE6}</Project>\r
+      <Name>I18N-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/IBM.Data.DB2/IBM.Data.DB2-net_4_x.csproj b/mcs/class/IBM.Data.DB2/IBM.Data.DB2-net_4_x.csproj
new file mode 100644 (file)
index 0000000..e141796
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{83DC05C9-3C7E-44D9-8D56-5619CF832BC5}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>IBM.Data.DB2</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2ClientUtils.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2CLIWrapper.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2Command.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2CommandBuilder.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2Connection.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2ConnectionPool.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2ConnectionSettings.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2Constants.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2DataAdapter.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2DataReader.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2Environment.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2Error.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2ErrorCollection.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2Exception.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2InfoMessageEventHandler.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2OpenConnection.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2Parameter.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2ParameterCollection.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2RowUpdatedEventArgs.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2RowUpdatedEventHandler.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2RowUpdatingEventArgs.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2RowUpdatingEventHandler.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2Transaction.cs" />\r
+    <Compile Include=".\IBM.Data.DB2\DB2Type.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib-net_4_x.csproj b/mcs/class/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7fdb5a0
--- /dev/null
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{4903F98F-B4C9-467A-8FBA-39E7F91D9327}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>ICSharpCode.SharpZipLib</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="ICSharpCode.SharpZipLib\AssemblyInfo.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\BZip2\BZip2.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\BZip2\BZip2Constants.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\BZip2\BZip2Exception.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\BZip2\BZip2InputStream.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\BZip2\BZip2OutputStream.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Checksums\Adler32.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Checksums\CRC32.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Checksums\IChecksum.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Checksums\StrangeCRC.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Core\FileSystemScanner.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Core\INameTransform.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Core\NameFilter.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Core\PathFilter.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Encryption\PkzipClassic.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\GZip\GZIPConstants.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\GZip\GZipException.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\GZip\GzipInputStream.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\GZip\GzipOutputStream.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Main.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\SharpZipBaseException.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Tar\InvalidHeaderException.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Tar\TarArchive.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Tar\TarBuffer.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Tar\TarEntry.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Tar\TarException.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Tar\TarHeader.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Tar\TarInputStream.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Tar\TarOutputStream.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\Deflater.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\DeflaterConstants.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\DeflaterEngine.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\DeflaterHuffman.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\DeflaterPending.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\Inflater.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\InflaterDynHeader.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\InflaterHuffmanTree.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\PendingBuffer.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\Streams\DeflaterOutputStream.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\Streams\InflaterInputStream.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\Streams\OutputWindow.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\Compression\Streams\StreamManipulator.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\FastZip.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\ZipConstants.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\ZipEntry.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\ZipException.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\ZipFile.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\ZipInputStream.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\ZipNameTransform.cs" />\r
+    <Compile Include="ICSharpCode.SharpZipLib\Zip\ZipOutputStream.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 09aa79c3d88d6caf1774a6b7f6f731dcc9b3e630..3db8ff345c50e62f97eedf49e1dfe5b5ceada7af 100644 (file)
@@ -46,6 +46,8 @@ mobile_common_dirs := \
        System.ComponentModel.DataAnnotations \
        System.ComponentModel.Composition.4.5 \
        System.Net \
+       System.Net.Http \
+       System.Net.Http.WebRequest      \
        System.Windows \
        System.Xml.Serialization \
        Mono.CSharp     \
@@ -59,8 +61,6 @@ mobile_static_dirs := \
 mobile_dynamic_dirs := \
        $(mobile_common_dirs)   \
        Mono.CompilerServices.SymbolWriter      \
-       System.Net.Http \
-       System.Net.Http.WebRequest      \
        $(pcl_facade_dirs)
 
 xammac_dirs := \
@@ -73,6 +73,7 @@ monotouch_dirs := \
        $(mobile_static_dirs)
 
 monotouch_watch_dirs := $(monotouch_dirs)
+monotouch_tv_dirs   := $(monotouch_dirs)
 
 monotouch_runtime_dirs := \
        corlib \
@@ -136,6 +137,8 @@ net_4_x_dirs := \
        System.Security                 \
        System.Configuration    \
        $(resgen_dir)                   \
+       System.IO.Compression           \
+       System.IO.Compression.FileSystem \
        System.Drawing                  \
        System.Transactions             \
        System.EnterpriseServices       \
@@ -246,8 +249,6 @@ net_4_x_parallel_dirs := \
        System.Json.Microsoft \
        System.Threading.Tasks.Dataflow \
        System.ComponentModel.Composition.4.5 \
-       System.IO.Compression \
-       System.IO.Compression.FileSystem \
        System.Windows \
        System.Xml.Serialization \
        System.DirectoryServices.Protocols      \
@@ -271,6 +272,7 @@ xbuild_4_0_dirs := \
 monodroid_SUBDIRS := $(monodroid_dirs)
 monotouch_SUBDIRS := $(monotouch_dirs)
 monotouch_watch_SUBDIRS := $(monotouch_watch_dirs)
+monotouch_tv_SUBDIRS    := $(monotouch_tv_dirs)
 monotouch_runtime_SUBDIRS := $(monotouch_runtime_dirs)
 mobile_static_SUBDIRS := $(mobile_static_dirs)
 mobile_SUBDIRS := $(mobile_dynamic_dirs)
index 57352e70f4f287d3fea971795266fd008039e9eb..f663120bf798730223c944db359caa7873771dc5 100644 (file)
@@ -472,7 +472,7 @@ namespace Microsoft.Build.BuildEngine {
 
                        BuildItemGroup big;                     
                        BuildItem bi = new BuildItem (this);
-                       bi.finalItemSpec = ((ITaskItem2)taskitem).EvaluatedIncludeEscaped;
+                       bi.finalItemSpec = taskitem.ItemSpec;
 
                        foreach (DictionaryEntry de in taskitem.CloneCustomMetadata ()) {
                                bi.unevaluatedMetadata.Add ((string) de.Key, (string) de.Value);
index 9e7ba2405204959bcbe2eda7480dc49ca5e72ce5..54627c732faf2d4ff154569d5af538f61faa52f7 100644 (file)
@@ -93,7 +93,7 @@ namespace Microsoft.Build.BuildEngine {
                {
                        this.binPath = binPath;
                        this.buildEnabled = true;
-                       this.projects = new Dictionary <string, Project> ();
+                       this.projects = new Dictionary <string, Project> (StringComparer.OrdinalIgnoreCase);
                        this.eventSource = new EventSource ();
                        this.loggers = new List <ILogger> ();
                        this.buildStarted = false;
index 536204e94fef828b98836d56953377718b88a22b..ccfc0fa3a0ea8a46c1a5018af0732e84820892b4 100644 (file)
@@ -156,7 +156,7 @@ namespace Microsoft.Build.BuildEngine {
                        for (int i = 0; i < lists.Count; i++) {
                                foreach (object o in lists [i]) {
                                        if (o is string)
-                                               expressionCollection.Add ((string) o);
+                                               expressionCollection.Add (MSBuildUtils.Unescape ((string) o));
                                        else if (!allowItems && o is ItemReference)
                                                expressionCollection.Add (((ItemReference) o).OriginalString);
                                        else if (!allowMd && o is MetadataReference) {
index d629906633200d69b14afb6c493cff7268e19b8f..ca0034a10923b5ab756aa8c38ba1c96c82115856 100644 (file)
@@ -233,11 +233,11 @@ namespace Microsoft.Build.BuildEngine {
                        // Trim and Remove empty items
                        List<ITaskItem> toRemove = new List<ITaskItem> ();
                        for (int i = 0; i < finalItems.Count; i ++) {
-                               string s = ((ITaskItem2)finalItems [i]).EvaluatedIncludeEscaped.Trim ();
+                               string s = finalItems [i].ItemSpec.Trim ();
                                if (s.Length == 0)
                                        toRemove.Add (finalItems [i]);
                                else
-                                       ((ITaskItem2)finalItems [i]).EvaluatedIncludeEscaped = s;
+                                       finalItems [i].ItemSpec = s;
                        }
                        foreach (ITaskItem ti in toRemove)
                                finalItems.Remove (ti);
diff --git a/mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-net_4_x.csproj b/mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b7afd2c
--- /dev/null
@@ -0,0 +1,189 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{75DFF196-FA56-48CD-9A1A-CEA3BEC618AB}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Microsoft.Build.Engine</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\..\tools\xbuild\SolutionParser.cs" />\r
+    <Compile Include="..\..\tools\xbuild\XBuildConsts.cs" />\r
+    <Compile Include="..\Microsoft.Build.Framework\Mono.XBuild.Framework\AssemblyLoadInfo.cs" />\r
+    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\MSBuildUtils.cs" />\r
+    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\ReservedNameUtils.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BatchingImplBase.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BuildChoose.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BuildEngine.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BuildItem.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BuildItemGroup.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BuildItemGroupCollection.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BuildProperty.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BuildPropertyGroup.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BuildPropertyGroupCollection.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BuildSettings.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BuildTask.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BuildTaskItem.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BuildTaskItemGroup.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BuildTaskPropertyGroup.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\BuildWhen.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ChangeType.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ColorResetter.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ColorSetter.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ConditionAndExpression.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ConditionExpression.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ConditionFactorExpresion.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ConditionFunctionExpression.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ConditionNotExpression.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ConditionOrExpression.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ConditionParser.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ConditionRelationalExpression.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ConditionTokenizer.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ConsoleLogger.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\DirectoryScanner.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\Engine.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\EventSource.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\Expression.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ExpressionCollection.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ExpressionEvaluationException.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ExpressionParseException.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\FileLogger.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\GroupingCollection.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\IBuildTask.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\Import.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ImportCollection.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ImportedProject.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\InternalLoggerException.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\InvalidProjectFileException.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\IReference.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ItemReference.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\LogExtensions.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\MemberInvocationReference.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\MetadataReference.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\PredefinedPropertyFunctions.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\Project.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ProjectLoadSettings.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\PropertyPosition.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\PropertyReference.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\Target.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\TargetBatchingImpl.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\TargetCollection.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\TaskBatchingImpl.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\TaskDatabase.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\TaskEngine.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\TaskExecutionMode.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\Token.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\Toolset.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ToolsetCollection.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\ToolsetDefinitionLocations.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\UnknownToolsVersionException.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\UsingTask.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\UsingTaskCollection.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\Utilities.cs" />\r
+    <Compile Include="Microsoft.Build.BuildEngine\WriteHandler.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Microsoft.Build.Framework/Microsoft.Build.Framework-net_4_x.csproj">\r
+      <Project>{5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}</Project>\r
+      <Name>Microsoft.Build.Framework-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Microsoft.Build.Utilities/Microsoft.Build.Utilities-net_4_x.csproj">\r
+      <Project>{8E5728E0-CEAF-431F-963E-EB1DEE15C506}</Project>\r
+      <Name>Microsoft.Build.Utilities-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework-net_4_x.csproj b/mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d2a2cd7
--- /dev/null
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Microsoft.Build.Framework</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\..\tools\xbuild\XBuildConsts.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\AnyEventHandler.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildEngineResult.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildErrorEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildErrorEventHandler.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildEventContext.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildFinishedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildFinishedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildMessageEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildMessageEventHandler.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildStartedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildStartedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildStatusEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildStatusEventHandler.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildWarningEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\BuildWarningEventHandler.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\CustomBuildEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\CustomBuildEventHandler.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\ExternalProjectFinishedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\ExternalProjectStartedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\IBuildEngine.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\IBuildEngine2.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\IBuildEngine3.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\IBuildEngine4.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\ICancelableTask.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\IEventRedirector.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\IEventSource.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\IForwardingLogger.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\ILogger.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\INodeLogger.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\ITask.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\ITaskFactory.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\ITaskFactory2.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\ITaskHost.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\ITaskItem.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\ITaskItem2.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\LazyFormattedBuildEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\LoadInSeparateAppDomainAttribute.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\LoggerException.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\LoggerVerbosity.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\MessageImportance.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\OutputAttribute.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\ProjectFinishedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\ProjectFinishedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\ProjectStartedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\ProjectStartedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\RegisteredTaskObjectLifetime.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\RequiredAttribute.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\TargetFinishedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\TargetFinishedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\TargetStartedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\TargetStartedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\TaskCommandLineEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\TaskFinishedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\TaskFinishedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\TaskPropertyInfo.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\TaskStartedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Framework\TaskStartedEventHandler.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_4_x.csproj b/mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a3479d7
--- /dev/null
@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{979FCA08-E170-4BA6-969B-30213135BEA3}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Microsoft.Build.Tasks.v4.0</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\..\tools\xbuild\XBuildConsts.cs" />\r
+    <Compile Include="..\Microsoft.Build.Engine\Microsoft.Build.BuildEngine\DirectoryScanner.cs" />\r
+    <Compile Include="..\Microsoft.Build.Engine\Microsoft.Build.BuildEngine\UnknownToolsVersionException.cs" />\r
+    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\MSBuildUtils.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\BootstrapperBuilder.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\BuildMessage.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\BuildMessageSeverity.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\BuildResults.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\BuildSettings.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\ComponentsLocation.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IBootstrapperBuilder.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IBuildMessage.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IBuildResults.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IBuildSettings.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IProduct.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IProductBuilder.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IProductBuilderCollection.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\IProductCollection.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\Product.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\ProductBuilder.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\ProductBuilderCollection.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.Bootstrapper\ProductCollection.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\ApplicationIdentity.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\ApplicationManifest.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\AssemblyIdentity.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\AssemblyManifest.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\AssemblyReference.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\AssemblyReferenceCollection.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\AssemblyReferenceType.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\BaseReference.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\ComClass.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\DeployManifest.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\FileReference.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\FileReferenceCollection.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\Manifest.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\ManifestReader.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\ManifestWriter.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\OutputMessage.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\OutputMessageCollection.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\OutputMessageType.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\ProxyStub.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\SecurityUtilities.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\TrustInfo.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\TypeLib.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\UpdateMode.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\UpdateUnit.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Deployment.ManifestUtilities\WindowClass.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Hosting\ICscHostObject.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Hosting\ICscHostObject4.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks.Hosting\IVbcHostObject.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\AL.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\AppDomainIsolatedTaskExtension.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\AspNetCompiler.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\AssemblyResolver.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\AssignCulture.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\AssignLinkMetadata.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\AssignProjectConfiguration.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\AssignTargetPath.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\CallTarget.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\CodeTaskFactory.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\CombinePath.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\CommandLineBuilderExtension.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\Copy.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\CreateCSharpManifestResourceName.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\CreateItem.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\CreateManifestResourceName.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\CreateProperty.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\CreateTemporaryVCProject.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\CreateVisualBasicManifestResourceName.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\Csc.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\Delete.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\Error.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\Exec.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\ExtractedClassName.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\FindAppConfigFile.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\FindUnderPath.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\FormatUrl.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\FormatVersion.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\GenerateApplicationManifest.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\GenerateBootstrapper.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\GenerateDeploymentManifest.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\GenerateManifestBase.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\GenerateResource.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\GenerateTrustInfo.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\GetAssemblyIdentity.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\GetFrameworkPath.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\GetFrameworkSdkPath.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\GetReferenceAssemblyPaths.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\LC.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\MakeDir.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\ManagedCompiler.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\Message.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\MSBuild.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\ReadLinesFromFile.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\RegisterAssembly.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\RemoveDir.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\RemoveDuplicates.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\ResolveAssemblyReference.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\ResolvedReference.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\ResolveManifestFiles.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\ResolveProjectBase.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\SGen.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\SignFile.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\TaskExtension.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\TaskLoggingHelperExtension.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\ToolTaskExtension.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\Touch.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\UnregisterAssembly.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\UpdateManifest.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\Vbc.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\VCBuild.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\Warning.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\WriteCodeFragment.cs" />\r
+    <Compile Include="Microsoft.Build.Tasks\WriteLinesToFile.cs" />\r
+    <Compile Include="Mono.XBuild.Tasks.GenerateResourceInternal\PoResourceReader.cs" />\r
+    <Compile Include="Mono.XBuild.Tasks.GenerateResourceInternal\PoResourceWriter.cs" />\r
+    <Compile Include="Mono.XBuild.Tasks.GenerateResourceInternal\TxtResourceReader.cs" />\r
+    <Compile Include="Mono.XBuild.Tasks.GenerateResourceInternal\TxtResourceWriter.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Windows.Forms/System.Windows.Forms-net_4_x.csproj">\r
+      <Project>{108227C7-8ED9-4483-949D-07BF0DA1A201}</Project>\r
+      <Name>System.Windows.Forms-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Microsoft.Build.Utilities/Microsoft.Build.Utilities-net_4_x.csproj">\r
+      <Project>{8E5728E0-CEAF-431F-963E-EB1DEE15C506}</Project>\r
+      <Name>Microsoft.Build.Utilities-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Microsoft.Build.Framework/Microsoft.Build.Framework-net_4_x.csproj">\r
+      <Project>{5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}</Project>\r
+      <Name>Microsoft.Build.Framework-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Microsoft.Build.Engine/Microsoft.Build.Engine-net_4_x.csproj">\r
+      <Project>{75DFF196-FA56-48CD-9A1A-CEA3BEC618AB}</Project>\r
+      <Name>Microsoft.Build.Engine-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_4_x.csproj">\r
+      <Project>{3FA2C1F8-62D9-421D-8EEE-B4E651B8588C}</Project>\r
+      <Name>Mono.XBuild.Tasks-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Windows.Forms/System.Windows.Forms-net_4_x.csproj">\r
+      <Project>{108227C7-8ED9-4483-949D-07BF0DA1A201}</Project>\r
+      <Name>System.Windows.Forms-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index b0ca8776aa9cf4c2761c84a5938e99a7fef43031..f5758df8e1fbc239e6fb15b585ce7776acd987ab 100644 (file)
@@ -626,6 +626,13 @@ namespace Microsoft.Build.Tasks {
                public ITaskItem[] CopyLocalFiles {
                        get { return copyLocalFiles; }
                }
+
+#if XBUILD_14
+               [Output]
+               public string DependsOnSystemRuntime {
+                       get; private set;
+               }
+#endif
                
                [Output]
                public ITaskItem[] FilesWritten {
index 1aa785622ba7e91e8b9f10a9d9d3cb286d17750f..24b76b6c07c3d633162467a01cb9077bbbc96397 100644 (file)
@@ -79,6 +79,7 @@ namespace MonoTests.Microsoft.Build.Tasks {
                                                <Message Text='Text5' Importance='normal'/>
                                                <Message Text='Text6' Importance='high'/>
                                                <Message Text='Text7' />
+                                               <Message Text='%22abc test%22 123 %22def%22' />
                                                <Message Text='Text8' Importance='weird_importance'/>
                                        </Target>
                                </Project>
@@ -102,7 +103,8 @@ namespace MonoTests.Microsoft.Build.Tasks {
                        Assert.AreEqual (0, testLogger.CheckAny ("Text5", MessageImportance.Normal), "A5");
                        Assert.AreEqual (0, testLogger.CheckAny ("Text6", MessageImportance.High), "A6");
                        Assert.AreEqual (0, testLogger.CheckAny ("Text7", MessageImportance.Normal), "A7");
-                       Assert.AreEqual (1, testLogger.CheckAny ("Text8", MessageImportance.Normal), "A8");
+                       Assert.AreEqual (0, testLogger.CheckAny ("\"abc test\" 123 \"def\"", MessageImportance.Normal), "A8");
+                       Assert.AreEqual (1, testLogger.CheckAny ("Text8", MessageImportance.Normal), "A9");
                }
        }
 }      
index 4a61015f0be8d245ee5ddfae52cb8bd4b48eb3fe..3342c003e8bf890d8df77900cb32aee9f6d3eb0f 100755 (executable)
@@ -91,6 +91,7 @@ namespace MonoTests.Microsoft.Build.Tasks {
                }
 
                [Test]
+               [Category("NotWorking")] // this fails due to an xbuild bug, it works on MS.NET
                public void TestLineWithEscapedSemicolon ()
                {
                        string[] lines = new string[] { "abc%3Btest%3B%3B", "%3Bdef" };
@@ -101,6 +102,7 @@ namespace MonoTests.Microsoft.Build.Tasks {
                }
 
                [Test]
+               [Category("NotWorking")] // this fails due to an xbuild bug, it works on MS.NET
                public void TestLineWithEscapedSpace ()
                {
                        string[] lines = new string[] { "  %20%20abc%20test  ", "  def%20%20" };
@@ -110,6 +112,16 @@ namespace MonoTests.Microsoft.Build.Tasks {
                        });
                }
 
+               [Test]
+               public void TestLineWithEscapedQuote ()
+               {
+                       string[] lines = new string[] { "%22abc test%22 123 %22def%22" };
+                       CreateProjectAndCheck (full_filepath, lines, false, true, delegate () {
+                               CheckFileExists (full_filepath, true);
+                               CheckLines (full_filepath, new string [] {"\"abc test\" 123 \"def\""});
+                       });
+               }
+
                [Test]
                public void TestNoOverwrite ()
                {
diff --git a/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities-net_4_x.csproj b/mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities-net_4_x.csproj
new file mode 100644 (file)
index 0000000..87290f5
--- /dev/null
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{8E5728E0-CEAF-431F-963E-EB1DEE15C506}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Microsoft.Build.Utilities.v4.0</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\..\tools\xbuild\XBuildConsts.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\AppDomainIsolatedTask.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\CommandLineBuilder.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\HostObjectInitializationStatus.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\IAsyncOperation.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\IProcessAsyncOperation.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\Logger.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\MSBuildErrorParser.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\ProcessService.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\ProcessWrapper.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\TargetDotNetFrameworkVersion.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\Task.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\TaskItem.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\TaskLoggingHelper.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\ToolLocationHelper.cs" />\r
+    <Compile Include="Microsoft.Build.Utilities\ToolTask.cs" />\r
+    <Compile Include="Mono.XBuild.Utilities\MonoLocationHelper.cs" />\r
+    <Compile Include="Mono.XBuild.Utilities\MSBuildUtils.cs" />\r
+    <Compile Include="Mono.XBuild.Utilities\ReservedNameUtils.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Microsoft.Build.Framework/Microsoft.Build.Framework-net_4_x.csproj">\r
+      <Project>{5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}</Project>\r
+      <Name>Microsoft.Build.Framework-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 5e818caf70756dba3b45a18c8443ad9eccf03891..2d2de50cd9e6d8c4d73ab42bade65cbea2c89ff2 100644 (file)
@@ -173,7 +173,7 @@ namespace Microsoft.Build.Utilities
                }
                public override string ToString ()
                {
-                       return ItemSpec;
+                       return escapedItemSpec;
                }
                
                public string ItemSpec {
index 8f040e404ebb8ca8d9673b3865f9690d752dc1c4..64ed0757a90fd04d1047d4af9ae78bd361c102f2 100644 (file)
@@ -71,7 +71,8 @@ namespace Microsoft.Build.Utilities
                                        // be a complete replacement for 4.0.
                                        Path.Combine (lib_mono_dir, "net_4_x"),
                                        Path.Combine (lib_mono_dir, "net_4_x"),
-                                       Path.Combine (lib_mono_dir, "net_4_x")
+                                       Path.Combine (lib_mono_dir, "net_4_x"),
+                                       Path.Combine (lib_mono_dir, "net_4_x")                                  
                                };      
                        } else if (runningOnDotNet) {
                                mono_dir = new string [] {
@@ -81,7 +82,8 @@ namespace Microsoft.Build.Utilities
                                        Path.Combine (lib_mono_dir, "v3.5"),
                                        Path.Combine (lib_mono_dir, "v4.0.30319"),
                                        Path.Combine (lib_mono_dir, "v4.0.30319"),
-                                       Path.Combine (lib_mono_dir, "v4.0.30319")
+                                       Path.Combine (lib_mono_dir, "v4.0.30319"),
+                                       Path.Combine (lib_mono_dir, "v4.0.30319")                                       
                                };
                        } else {
                                mono_dir = new string [] {
@@ -93,6 +95,7 @@ namespace Microsoft.Build.Utilities
                                        Path.Combine (lib_mono_dir, "4.5"),
                                        Path.Combine (lib_mono_dir, "4.5"),
                                        Path.Combine (lib_mono_dir, "4.5"),
+                                       Path.Combine (lib_mono_dir, "4.5")
                                };
                        }
 
diff --git a/mcs/class/Microsoft.Build/Microsoft.Build-net_4_x.csproj b/mcs/class/Microsoft.Build/Microsoft.Build-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7b8f983
--- /dev/null
@@ -0,0 +1,230 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{124B6594-F3EC-4FE3-B5A8-2A5CB4D5BC5A}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Microsoft.Build</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;MICROSOFT_BUILD_DLL</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;MICROSOFT_BUILD_DLL</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\..\tools\xbuild\XBuildConsts.cs" />\r
+    <Compile Include="..\Microsoft.Build.Engine\Microsoft.Build.BuildEngine\ColorResetter.cs" />\r
+    <Compile Include="..\Microsoft.Build.Engine\Microsoft.Build.BuildEngine\ColorSetter.cs" />\r
+    <Compile Include="..\Microsoft.Build.Engine\Microsoft.Build.BuildEngine\ConsoleLogger.cs" />\r
+    <Compile Include="..\Microsoft.Build.Engine\Microsoft.Build.BuildEngine\DirectoryScanner.cs" />\r
+    <Compile Include="..\Microsoft.Build.Engine\Microsoft.Build.BuildEngine\EventSource.cs" />\r
+    <Compile Include="..\Microsoft.Build.Engine\Microsoft.Build.BuildEngine\FileLogger.cs" />\r
+    <Compile Include="..\Microsoft.Build.Engine\Microsoft.Build.BuildEngine\WriteHandler.cs" />\r
+    <Compile Include="..\Microsoft.Build.Utilities\Microsoft.Build.Utilities\TargetDotNetFrameworkVersion.cs" />\r
+    <Compile Include="..\Microsoft.Build.Utilities\Microsoft.Build.Utilities\TaskItem.cs" />\r
+    <Compile Include="..\Microsoft.Build.Utilities\Microsoft.Build.Utilities\ToolLocationHelper.cs" />\r
+    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\MSBuildUtils.cs" />\r
+    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\ReservedNameUtils.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ElementLocation.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectChooseElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectCommentElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectElementContainer.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectExtensionsElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectImportElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectImportGroupElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectItemDefinitionElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectItemDefinitionGroupElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectItemElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectItemGroupElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectMetadataElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectOnErrorElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectOtherwiseElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectOutputElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectPropertyElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectPropertyGroupElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectRootElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectTargetElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectTaskElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectUsingTaskBodyElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectUsingTaskElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectUsingTaskParameterElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\ProjectWhenElement.cs" />\r
+    <Compile Include="Microsoft.Build.Construction\UsingTaskParameterGroupElement.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\Project.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\ProjectChangedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\ProjectCollection.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\ProjectCollectionChangedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\ProjectCollectionChangedState.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\ProjectItem.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\ProjectItemDefinition.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\ProjectLoadSettings.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\ProjectMetadata.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\ProjectProperty.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\ProjectXmlChangedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\ResolvedImport.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\SubToolset.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\Toolset.cs" />\r
+    <Compile Include="Microsoft.Build.Evaluation\ToolsetDefinitionLocations.cs" />\r
+    <Compile Include="Microsoft.Build.Exceptions\BuildAbortedException.cs" />\r
+    <Compile Include="Microsoft.Build.Exceptions\InternalLoggerException.cs" />\r
+    <Compile Include="Microsoft.Build.Exceptions\InvalidProjectFileException.cs" />\r
+    <Compile Include="Microsoft.Build.Exceptions\InvalidToolsetDefinitionException.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\BuildManager.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\BuildParameters.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\BuildRequestData.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\BuildRequestDataFlags.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\BuildResult.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\BuildResultCode.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\BuildSubmission.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\BuildSubmissionCompleteCallback.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\HostServices.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ITargetResult.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\NodeAffinity.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\NodeEngineShutdownReason.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\OutOfProcNode.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectItemDefinitionInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectItemGroupTaskInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectItemGroupTaskItemInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectItemGroupTaskMetadataInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectItemInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectMetadataInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectOnErrorInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectPropertyGroupTaskInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectPropertyGroupTaskPropertyInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectPropertyInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectTargetInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectTargetInstanceChild.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectTaskInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectTaskInstanceChild.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectTaskOutputItemInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\ProjectTaskOutputPropertyInstance.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\TargetResult.cs" />\r
+    <Compile Include="Microsoft.Build.Execution\TargetResultCode.cs" />\r
+    <Compile Include="Microsoft.Build.Internal\BuildEngine4.cs" />\r
+    <Compile Include="Microsoft.Build.Internal\BuildNodeManager.cs" />\r
+    <Compile Include="Microsoft.Build.Internal\BuildTaskDatabase.cs" />\r
+    <Compile Include="Microsoft.Build.Internal\BuildTaskFactory.cs" />\r
+    <Compile Include="Microsoft.Build.Internal\CollectionFromEnumerable.cs" />\r
+    <Compile Include="Microsoft.Build.Internal\ExpressionConstructs.cs" />\r
+    <Compile Include="Microsoft.Build.Internal\ExpressionEvaluator.cs" />\r
+    <Compile Include="Microsoft.Build.Internal\ExpressionParserManual.cs" />\r
+    <Compile Include="Microsoft.Build.Internal\ExpressionTokenizer.cs" />\r
+    <Compile Include="Microsoft.Build.Internal\FilteredEnumerable.cs" />\r
+    <Compile Include="Microsoft.Build.Internal\ProjectTaskItem.cs" />\r
+    <Compile Include="Microsoft.Build.Internal\ReverseEnumerable.cs" />\r
+    <Compile Include="Microsoft.Build.Internal\WindowsCompatibilityExtensions.cs" />\r
+    <Compile Include="Microsoft.Build.Logging\ConfigurableForwardingLogger.cs" />\r
+    <Compile Include="Microsoft.Build.Logging\ForwardingLoggerRecord.cs" />\r
+    <Compile Include="Microsoft.Build.Logging\LoggerDescription.cs" />\r
+    <Compile Include="Microsoft.Build.Internal\ExpressionParser.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Microsoft.Build.Engine/Microsoft.Build.Engine-net_4_x.csproj">\r
+      <Project>{75DFF196-FA56-48CD-9A1A-CEA3BEC618AB}</Project>\r
+      <Name>Microsoft.Build.Engine-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Microsoft.Build.Framework/Microsoft.Build.Framework-net_4_x.csproj">\r
+      <Project>{5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}</Project>\r
+      <Name>Microsoft.Build.Framework-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Microsoft.Build.Engine/Microsoft.Build.Engine-net_4_x.csproj">\r
+      <Project>{75DFF196-FA56-48CD-9A1A-CEA3BEC618AB}</Project>\r
+      <Name>Microsoft.Build.Engine-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Microsoft.Build.Framework/Microsoft.Build.Framework-net_4_x.csproj">\r
+      <Project>{5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}</Project>\r
+      <Name>Microsoft.Build.Framework-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Microsoft.CSharp/Microsoft.CSharp-net_4_x.csproj b/mcs/class/Microsoft.CSharp/Microsoft.CSharp-net_4_x.csproj
new file mode 100644 (file)
index 0000000..84ec489
--- /dev/null
@@ -0,0 +1,114 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{DABF9F75-63AD-4991-9D2B-9234E7032B32}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Microsoft.CSharp</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\Binder.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpArgumentInfo.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpArgumentInfoFlags.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpBinaryOperationBinder.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpBinder.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpBinderFlags.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpConvertBinder.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpGetIndexBinder.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpGetMemberBinder.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpInvokeBinder.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpInvokeConstructorBinder.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpInvokeMemberBinder.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpIsEventBinder.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpSetIndexBinder.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpSetMemberBinder.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\CSharpUnaryOperationBinder.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\DynamicContext.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\ErrorPrinter.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\Extensions.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\RuntimeBinderContext.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\RuntimeBinderException.cs" />\r
+    <Compile Include="Microsoft.CSharp.RuntimeBinder\RuntimeBinderInternalCompilerException.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.CSharp/Mono.CSharp-net_4_x.csproj">\r
+      <Project>{BEFCA993-98B4-48E9-8D68-1ACCB1FA7200}</Project>\r
+      <Name>Mono.CSharp-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Microsoft.VisualC/Microsoft.VisualC-net_4_x.csproj b/mcs/class/Microsoft.VisualC/Microsoft.VisualC-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9bd3a2a
--- /dev/null
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{ACA2694D-9F07-4AE2-9171-9AB5DD1A8C18}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Microsoft.VisualC</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Microsoft.VisualC\DebugInfoInPDBAttribute.cs" />\r
+    <Compile Include="Microsoft.VisualC\DecoratedNameAttribute.cs" />\r
+    <Compile Include="Microsoft.VisualC\IsConstModifier.cs" />\r
+    <Compile Include="Microsoft.VisualC\IsCXXReferenceModifier.cs" />\r
+    <Compile Include="Microsoft.VisualC\IsLongModifier.cs" />\r
+    <Compile Include="Microsoft.VisualC\IsSignedModifier.cs" />\r
+    <Compile Include="Microsoft.VisualC\IsVolatileModifier.cs" />\r
+    <Compile Include="Microsoft.VisualC\MiscellaneousBitsAttribute.cs" />\r
+    <Compile Include="Microsoft.VisualC\NeedsCopyConstructorModifier.cs" />\r
+    <Compile Include="Microsoft.VisualC\NoSignSpecifiedModifier.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Microsoft.Web.Infrastructure/Microsoft.Web.Infrastructure-net_4_x.csproj b/mcs/class/Microsoft.Web.Infrastructure/Microsoft.Web.Infrastructure-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f85b143
--- /dev/null
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{CD409902-9DA0-48A3-B360-C09060168CB5}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Microsoft.Web.Infrastructure</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include=".\Microsoft.Web.Infrastructure.DynamicModuleHelper\DynamicModuleUtility.cs" />\r
+    <Compile Include=".\Microsoft.Web.Infrastructure.DynamicValidationHelper\LazyWebROCollection.cs" />\r
+    <Compile Include=".\Microsoft.Web.Infrastructure.DynamicValidationHelper\ValidationUtility.cs" />\r
+    <Compile Include=".\Microsoft.Web.Infrastructure\HttpContextHelper.cs" />\r
+    <Compile Include=".\Microsoft.Web.Infrastructure\InfrastructureHelper.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 19363185e8687468b4d15db041e134d3dbc794ed..71430e729329903df359647cba9950ff227dd722 100644 (file)
@@ -12,4 +12,6 @@ EXTRA_DISTFILES = \
        LICENSE.txt \
        c5.pub c5.snk c5.xml
 
+NO_INSTALL = yes
+
 include ../../build/library.make
diff --git a/mcs/class/Mono.C5/Mono.C5-net_4_x.csproj b/mcs/class/Mono.C5/Mono.C5-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7db3bcb
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{61B86230-B170-4B03-A8CA-D5AF77858D7E}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,169,219,414,1030,3001,3005,3006</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.C5</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="C5\arrays\ArrayList.cs" />\r
+    <Compile Include="C5\arrays\CircularQueue.cs" />\r
+    <Compile Include="C5\arrays\HashedArrayList.cs" />\r
+    <Compile Include="C5\arrays\SortedArray.cs" />\r
+    <Compile Include="C5\AssemblyInfo.cs" />\r
+    <Compile Include="C5\Attributes.cs" />\r
+    <Compile Include="C5\Builtin.cs" />\r
+    <Compile Include="C5\Collections.cs" />\r
+    <Compile Include="C5\Comparer.cs" />\r
+    <Compile Include="C5\Delegates.cs" />\r
+    <Compile Include="C5\Dictionaries.cs" />\r
+    <Compile Include="C5\Enums.cs" />\r
+    <Compile Include="C5\Events.cs" />\r
+    <Compile Include="C5\Exceptions.cs" />\r
+    <Compile Include="C5\Formatting.cs" />\r
+    <Compile Include="C5\Hashers.cs" />\r
+    <Compile Include="C5\hashing\HashBag.cs" />\r
+    <Compile Include="C5\hashing\HashDictionary.cs" />\r
+    <Compile Include="C5\hashing\HashTable.cs" />\r
+    <Compile Include="C5\heaps\IntervalHeap.cs" />\r
+    <Compile Include="C5\Interfaces.cs" />\r
+    <Compile Include="C5\linkedlists\HashedLinkedList.cs" />\r
+    <Compile Include="C5\linkedlists\LinkedList.cs" />\r
+    <Compile Include="C5\MappedEnumerators.cs" />\r
+    <Compile Include="C5\Random.cs" />\r
+    <Compile Include="C5\Records.cs" />\r
+    <Compile Include="C5\Sorting.cs" />\r
+    <Compile Include="C5\trees\RedBlackTreeBag.cs" />\r
+    <Compile Include="C5\trees\RedBlackTreeDictionary.cs" />\r
+    <Compile Include="C5\trees\RedBlackTreeSet.cs" />\r
+    <Compile Include="C5\ViewSupport.cs" />\r
+    <Compile Include="C5\WrappedArray.cs" />\r
+    <Compile Include="C5\Wrappers.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 74a1f0fe8f1d0d100662902af57852779e78c6e9..be27ecf831cb2e5bec4382db9b859225161c73e0 100644 (file)
@@ -7,8 +7,6 @@ LIBRARY = Mono.CSharp.dll
 LIB_REFS = System.Core System.Xml System
 LIB_MCS_FLAGS =
 
-MOBILE_STATIC := $(filter mobile_static monotouch monotouch_watch, $(PROFILE))
-
 ifdef MOBILE_STATIC
 LIB_MCS_FLAGS += -d:IOS_REFLECTION
 endif
diff --git a/mcs/class/Mono.CSharp/Mono.CSharp-net_4_x.csproj b/mcs/class/Mono.CSharp/Mono.CSharp-net_4_x.csproj
new file mode 100644 (file)
index 0000000..4400421
--- /dev/null
@@ -0,0 +1,150 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{BEFCA993-98B4-48E9-8D68-1ACCB1FA7200}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.CSharp</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolFile.cs" />\r
+    <Compile Include="..\..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolTable.cs" />\r
+    <Compile Include="..\..\class\Mono.CompilerServices.SymbolWriter\SourceMethodBuilder.cs" />\r
+    <Compile Include="..\..\class\Mono.Security\Mono.Security.Cryptography\CryptoConvert.cs" />\r
+    <Compile Include="..\..\mcs\anonymous.cs" />\r
+    <Compile Include="..\..\mcs\argument.cs" />\r
+    <Compile Include="..\..\mcs\assembly.cs" />\r
+    <Compile Include="..\..\mcs\assign.cs" />\r
+    <Compile Include="..\..\mcs\async.cs" />\r
+    <Compile Include="..\..\mcs\attribute.cs" />\r
+    <Compile Include="..\..\mcs\cfold.cs" />\r
+    <Compile Include="..\..\mcs\class.cs" />\r
+    <Compile Include="..\..\mcs\codegen.cs" />\r
+    <Compile Include="..\..\mcs\complete.cs" />\r
+    <Compile Include="..\..\mcs\const.cs" />\r
+    <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\doc.cs" />\r
+    <Compile Include="..\..\mcs\driver.cs" />\r
+    <Compile Include="..\..\mcs\dynamic.cs" />\r
+    <Compile Include="..\..\mcs\ecore.cs" />\r
+    <Compile Include="..\..\mcs\enum.cs" />\r
+    <Compile Include="..\..\mcs\eval.cs" />\r
+    <Compile Include="..\..\mcs\expression.cs" />\r
+    <Compile Include="..\..\mcs\field.cs" />\r
+    <Compile Include="..\..\mcs\flowanalysis.cs" />\r
+    <Compile Include="..\..\mcs\generic.cs" />\r
+    <Compile Include="..\..\mcs\import.cs" />\r
+    <Compile Include="..\..\mcs\iterators.cs" />\r
+    <Compile Include="..\..\mcs\lambda.cs" />\r
+    <Compile Include="..\..\mcs\linq.cs" />\r
+    <Compile Include="..\..\mcs\literal.cs" />\r
+    <Compile Include="..\..\mcs\location.cs" />\r
+    <Compile Include="..\..\mcs\membercache.cs" />\r
+    <Compile Include="..\..\mcs\method.cs" />\r
+    <Compile Include="..\..\mcs\modifiers.cs" />\r
+    <Compile Include="..\..\mcs\module.cs" />\r
+    <Compile Include="..\..\mcs\namespace.cs" />\r
+    <Compile Include="..\..\mcs\nullable.cs" />\r
+    <Compile Include="..\..\mcs\parameter.cs" />\r
+    <Compile Include="..\..\mcs\pending.cs" />\r
+    <Compile Include="..\..\mcs\property.cs" />\r
+    <Compile Include="..\..\mcs\reflection.cs" />\r
+    <Compile Include="..\..\mcs\report.cs" />\r
+    <Compile Include="..\..\mcs\settings.cs" />\r
+    <Compile Include="..\..\mcs\statement.cs" />\r
+    <Compile Include="..\..\mcs\support.cs" />\r
+    <Compile Include="..\..\mcs\typemanager.cs" />\r
+    <Compile Include="..\..\mcs\typespec.cs" />\r
+    <Compile Include="..\..\mcs\visit.cs" />\r
+    <Compile Include="..\..\tools\monop\outline.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.CSharp/monotouch_tv_Mono.CSharp.dll.sources b/mcs/class/Mono.CSharp/monotouch_tv_Mono.CSharp.dll.sources
new file mode 100644 (file)
index 0000000..6a71501
--- /dev/null
@@ -0,0 +1,2 @@
+#include mobile_static_Mono.CSharp.dll.sources
+monotouch.cs
diff --git a/mcs/class/Mono.Cairo/Mono.Cairo-net_4_x.csproj b/mcs/class/Mono.Cairo/Mono.Cairo-net_4_x.csproj
new file mode 100644 (file)
index 0000000..424e9aa
--- /dev/null
@@ -0,0 +1,136 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D76A0C93-56FE-4339-99A8-B7A3D49D6DDE}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Cairo</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include=".\Mono.Cairo\Antialias.cs" />\r
+    <Compile Include=".\Mono.Cairo\Cairo.cs" />\r
+    <Compile Include=".\Mono.Cairo\CairoDebug.cs" />\r
+    <Compile Include=".\Mono.Cairo\Color.cs" />\r
+    <Compile Include=".\Mono.Cairo\Content.cs" />\r
+    <Compile Include=".\Mono.Cairo\Context.cs" />\r
+    <Compile Include=".\Mono.Cairo\DirectFBSurface.cs" />\r
+    <Compile Include=".\Mono.Cairo\Distance.cs" />\r
+    <Compile Include=".\Mono.Cairo\Extend.cs" />\r
+    <Compile Include=".\Mono.Cairo\FillRule.cs" />\r
+    <Compile Include=".\Mono.Cairo\Filter.cs" />\r
+    <Compile Include=".\Mono.Cairo\FontExtents.cs" />\r
+    <Compile Include=".\Mono.Cairo\FontFace.cs" />\r
+    <Compile Include=".\Mono.Cairo\FontOptions.cs" />\r
+    <Compile Include=".\Mono.Cairo\FontSlant.cs" />\r
+    <Compile Include=".\Mono.Cairo\FontType.cs" />\r
+    <Compile Include=".\Mono.Cairo\FontWeight.cs" />\r
+    <Compile Include=".\Mono.Cairo\Format.cs" />\r
+    <Compile Include=".\Mono.Cairo\GlitzSurface.cs" />\r
+    <Compile Include=".\Mono.Cairo\Glyph.cs" />\r
+    <Compile Include=".\Mono.Cairo\Gradient.cs" />\r
+    <Compile Include=".\Mono.Cairo\HintMetrics.cs" />\r
+    <Compile Include=".\Mono.Cairo\HintStyle.cs" />\r
+    <Compile Include=".\Mono.Cairo\ImageSurface.cs" />\r
+    <Compile Include=".\Mono.Cairo\LinearGradient.cs" />\r
+    <Compile Include=".\Mono.Cairo\LineCap.cs" />\r
+    <Compile Include=".\Mono.Cairo\LineJoin.cs" />\r
+    <Compile Include=".\Mono.Cairo\Matrix.cs" />\r
+    <Compile Include=".\Mono.Cairo\NativeMethods.cs" />\r
+    <Compile Include=".\Mono.Cairo\Operator.cs" />\r
+    <Compile Include=".\Mono.Cairo\Path.cs" />\r
+    <Compile Include=".\Mono.Cairo\Pattern.cs" />\r
+    <Compile Include=".\Mono.Cairo\PatternType.cs" />\r
+    <Compile Include=".\Mono.Cairo\PdfSurface.cs" />\r
+    <Compile Include=".\Mono.Cairo\Point.cs" />\r
+    <Compile Include=".\Mono.Cairo\PointD.cs" />\r
+    <Compile Include=".\Mono.Cairo\PSSurface.cs" />\r
+    <Compile Include=".\Mono.Cairo\RadialGradient.cs" />\r
+    <Compile Include=".\Mono.Cairo\Rectangle.cs" />\r
+    <Compile Include=".\Mono.Cairo\Region.cs" />\r
+    <Compile Include=".\Mono.Cairo\ScaledFont.cs" />\r
+    <Compile Include=".\Mono.Cairo\SolidPattern.cs" />\r
+    <Compile Include=".\Mono.Cairo\Status.cs" />\r
+    <Compile Include=".\Mono.Cairo\SubpixelOrder.cs" />\r
+    <Compile Include=".\Mono.Cairo\Surface.cs" />\r
+    <Compile Include=".\Mono.Cairo\SurfacePattern.cs" />\r
+    <Compile Include=".\Mono.Cairo\SurfaceType.cs" />\r
+    <Compile Include=".\Mono.Cairo\SvgSurface.cs" />\r
+    <Compile Include=".\Mono.Cairo\SvgVersion.cs" />\r
+    <Compile Include=".\Mono.Cairo\TextExtents.cs" />\r
+    <Compile Include=".\Mono.Cairo\Win32Surface.cs" />\r
+    <Compile Include=".\Mono.Cairo\XcbSurface.cs" />\r
+    <Compile Include=".\Mono.Cairo\XlibSurface.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb-net_4_x.csproj b/mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1eb2e95
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{CF14D34A-F69B-47FB-A99C-D25C77198F30}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Cecil.Mdb</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../mono.snk</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;CECIL</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;CECIL</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\cecil\symbols\mdb\Mono.Cecil.Mdb\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\cecil\symbols\mdb\Mono.Cecil.Mdb\MdbReader.cs" />\r
+    <Compile Include="..\..\..\external\cecil\symbols\mdb\Mono.Cecil.Mdb\MdbWriter.cs" />\r
+    <Compile Include="..\..\..\external\cecil\symbols\mdb\Mono.CompilerServices.SymbolWriter\MonoSymbolFile.cs" />\r
+    <Compile Include="..\..\..\external\cecil\symbols\mdb\Mono.CompilerServices.SymbolWriter\MonoSymbolTable.cs" />\r
+    <Compile Include="..\..\..\external\cecil\symbols\mdb\Mono.CompilerServices.SymbolWriter\MonoSymbolWriter.cs" />\r
+    <Compile Include="..\..\..\external\cecil\symbols\mdb\Mono.CompilerServices.SymbolWriter\SymbolWriterImpl.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Cecil/Mono.Cecil-net_4_x.csproj">\r
+      <Project>{2C0D558F-0B38-4691-967E-A910A1B995C1}</Project>\r
+      <Name>Mono.Cecil-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.Cecil/Mono.Cecil-net_4_x.csproj b/mcs/class/Mono.Cecil/Mono.Cecil-net_4_x.csproj
new file mode 100644 (file)
index 0000000..8744263
--- /dev/null
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2C0D558F-0B38-4691-967E-A910A1B995C1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Cecil</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../mono.snk</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\Code.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\CodeReader.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\CodeWriter.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\Document.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\ExceptionHandler.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\ILProcessor.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\Instruction.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\MethodBody.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\OpCode.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\OpCodes.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\SequencePoint.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\Symbols.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\VariableDefinition.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Cil\VariableReference.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\BlobHeap.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\Buffers.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\CodedIndex.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\ElementType.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\GuidHeap.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\Heap.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\MetadataToken.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\Row.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\StringHeap.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\TableHeap.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\TokenType.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\UserStringHeap.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.Metadata\Utilities.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\BinaryStreamReader.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\BinaryStreamWriter.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\ByteBuffer.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\ByteBufferEqualityComparer.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\DataDirectory.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\Image.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\ImageReader.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\ImageWriter.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\Section.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil.PE\TextMap.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ArrayType.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyDefinition.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyFlags.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyHashAlgorithm.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyLinkedResource.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyNameDefinition.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyNameReference.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyReader.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\AssemblyWriter.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\BaseAssemblyResolver.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\CallSite.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\CustomAttribute.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\DefaultAssemblyResolver.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\EmbeddedResource.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\EventAttributes.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\EventDefinition.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\EventReference.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ExportedType.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\FieldAttributes.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\FieldDefinition.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\FieldReference.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\FileAttributes.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\FunctionPointerType.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\GenericInstanceMethod.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\GenericInstanceType.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\GenericParameter.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\GenericParameterAttributes.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IConstantProvider.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ICustomAttributeProvider.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IGenericInstance.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IGenericParameterProvider.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IMarshalInfoProvider.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IMemberDefinition.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IMetadataScope.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IMetadataTokenProvider.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\IMethodSignature.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\Import.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\LinkedResource.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ManifestResourceAttributes.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MarshalInfo.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MemberDefinitionCollection.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MemberReference.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MetadataResolver.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MetadataSystem.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodAttributes.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodCallingConvention.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodDefinition.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodImplAttributes.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodReference.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodReturnType.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodSemanticsAttributes.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\MethodSpecification.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\Modifiers.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ModuleDefinition.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ModuleKind.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ModuleReference.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\NativeType.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ParameterAttributes.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ParameterDefinition.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ParameterDefinitionCollection.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ParameterReference.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\PinnedType.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\PInvokeAttributes.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\PInvokeInfo.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\PointerType.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\PropertyAttributes.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\PropertyDefinition.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\PropertyReference.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\ReferenceType.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\Resource.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\SecurityDeclaration.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\SentinelType.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TargetRuntime.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TypeAttributes.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TypeDefinition.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TypeDefinitionCollection.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TypeParser.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TypeReference.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TypeSpecification.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\TypeSystem.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Cecil\VariantType.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Collections.Generic\Collection.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Collections.Generic\ReadOnlyCollection.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Security.Cryptography\CryptoConvert.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono.Security.Cryptography\CryptoService.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono\Actions.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono\Empty.cs" />\r
+    <Compile Include="..\..\..\external\cecil\Mono\Funcs.cs" />\r
+    <Compile Include="..\..\..\external\cecil\System.Runtime.CompilerServices\ExtensionAttribute.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.CodeContracts/Mono.CodeContracts-net_4_x.csproj b/mcs/class/Mono.CodeContracts/Mono.CodeContracts-net_4_x.csproj
new file mode 100644 (file)
index 0000000..bf01a81
--- /dev/null
@@ -0,0 +1,473 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{9BE8D62B-471D-4538-8287-691B4ECE3209}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.CodeContracts</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\Expr.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprAdd.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprBinaryOp.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprBinaryOpArithmetic.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprBinaryOpComparison.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprBlock.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprBox.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprCall.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprCompareEqual.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprCompareGreaterThan.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprCompareLessThan.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprConv.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprLoadArg.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprLoadConstant.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprNop.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprReturn.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprSub.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\ExprType.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.Ast\Sn.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.AstVisitors\CompileVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.AstVisitors\ExprVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.AstVisitors\InstructionExtentVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite.AstVisitors\SourcePositionVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite\AssemblyRef.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite\ConditionTextExtractor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite\ContractRequiresInfo.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite\ContractsRuntime.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite\Decompile.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite\ExprGen.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite\MethodInfo.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite\PerformRewrite.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite\Rewriter.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite\RewriterOptions.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite\RewriterResults.cs" />\r
+    <Compile Include="Mono.CodeContracts.Rewrite\TransformContractsVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Drivers\AnalysisDriver.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Drivers\BasicAnalysisDriver.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Drivers\BasicMethodDriver.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Drivers\CodeContractsAnalysisDriver.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Drivers\IBasicAnalysisDriver.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Drivers\IBasicMethodDriver.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Drivers\IMethodAnalysis.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Drivers\IMethodAnalysisFixPoint.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Drivers\IMethodDriver.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Drivers\IMethodResult.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Decoding\FullExpressionDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Decoding\IFullExpressionDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Decoding\QueryVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Decoding\VisitorForIsBinaryExpression.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Decoding\VisitorForIsInst.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Decoding\VisitorForIsNull.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Decoding\VisitorForIsUnaryExpression.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Decoding\VisitorForSizeOf.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Decoding\VisitorForUnderlyingVariable.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Decoding\VisitorForValueOf.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Decoding\VisitorForVariable.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Decoding\VisitorForVariablesIn.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Expressions\BinaryExpr.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Expressions\ConstExpr.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Expressions\Expr.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Expressions\IsInstExpr.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Expressions\NullExpr.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Expressions\SizeOfExpr.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis.Expressions\UnaryExpr.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis\AnalysisDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis\AssumeDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis\ExprDomain.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis\ExpressionAnalysisFacade.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis\ExpressionDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis\ExpressionDecoderAdapter.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis\ExpressionPrinterFactory.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis\ILDecoderAdapter.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.ExpressionAnalysis\ValueAnalysis.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.Paths\AccessPathFilter.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.Paths\IVisibilityCheck.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.Paths\MethodCallPathElement.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.Paths\ParameterPathElement.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.Paths\PathElement.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.Paths\PathElement`1.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.Paths\PathElementBase.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.Paths\PathExtensions.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.Paths\SpecialPathElement.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.Paths\SpecialPathElementKind.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.SymbolicGraph\AbstractDomainUpdate.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.SymbolicGraph\EdgeUpdate.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.SymbolicGraph\EliminateEdgeUpdate.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.SymbolicGraph\EqualityPair.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.SymbolicGraph\EqualityUpdate.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.SymbolicGraph\IMergeInfo.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.SymbolicGraph\MergeInfo.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.SymbolicGraph\MultiEdge.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.SymbolicGraph\MultiEdgeUpdate.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.SymbolicGraph\SymGraph.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.SymbolicGraph\SymGraphTerm.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis.SymbolicGraph\Update.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\AbstractType.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\AnalysisDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\Domain.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\FunctionsTable.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\HeapAnalysis.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\IAbstractDomainForEGraph.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\IConstantInfo.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\ISymGraph.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\LabeledSymbol.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\MethodWrapper.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\ParameterWrapper.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\StackToSymbolicAdapter.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\SymbolicValue.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\SymFunction.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\SymValue.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\TypeCache.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\ValueContextProvider.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\ValueDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.HeapAnalysis\Wrapper.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.NonNull\Analysis.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.NonNull\ExpressionAssertDischarger.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.NonNull\ExpressionAssumeDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.NonNull\NonNullAnalysisFacade.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.NonNull\NonNullDomain.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\AbstractInterpretationException.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\Analysers.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\Analysis.ConstantEvaluator.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\Analysis.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\Analysis.GenericNumericalAnalysis.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\Analysis.GenericValueAnalysis.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\AssumeFalseVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\AssumeTrueVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\BoxedExpressionDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\BoxedExpressionEncoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\BoxedVariable.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\ConstantEvaluatorVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\ConstToIntervalEvaluator.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\Counter.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\DisInterval.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\DisIntervalAssumer.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\DisIntervalContext.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\DisIntervalEnvironment.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\EvaluateArithmeticWithOverflow.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\EvaluateExpressionVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\ExpressionOperator.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\ExpressionType.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\ExpressionViaStringComparer.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\GenericExpressionVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\GenericTypeExpressionVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\GetThresholdVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IEnvironmentDomain.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IExpressionDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IExpressionEncoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IIntervalEnvironment.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\Interval.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IntervalAssumeFalseVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IntervalAssumer.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IntervalAssumerBase.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IntervalAssumeTrueVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IntervalBase.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IntervalContext.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IntervalContextBase.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IntervalEnvironment.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IntervalEnvironmentBase.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IntervalInference.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IntervalRationalAssumerBase.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\IntervalRationalContextBase.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\LongToIntegerConstantEvaluator.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\Monomial.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\ObjectExtensions.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\Polynomial.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\Rational.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\RationalThreshold.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\Threshold.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\TresholdDB.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.Numerical\ValueExpressionDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.StackAnalysis\APCMap.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.StackAnalysis\SequenceGenerator.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.StackAnalysis\StackDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.StackAnalysis\StackDepthFactory.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.StackAnalysis\StackDepthProvider.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.StackAnalysis\StackInfo.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis.StackAnalysis\StackInfo`1.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis\CodeLayer.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis\CodeLayerFactory.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis\ICodeLayer.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis\IExpressionContext.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis\IExpressionContextProvider.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis\ILPrinter.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis\IMethodContext.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis\IMethodContextProvider.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis\IStackContext.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis\IStackContextProvider.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis\IValueContext.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis\IValueContextProvider.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Analysis\PrinterFactory.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST.Visitors\CodeVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST.Visitors\DefaultNodeVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST.Visitors\IAggregateVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST.Visitors\ICodeConsumer.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST.Visitors\IExpressionILVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST.Visitors\IILVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST.Visitors\ILVisitorBase.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST.Visitors\IMethodCodeConsumer.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST.Visitors\ISymbolicExpressionVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST.Visitors\ISyntheticILVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST.Visitors\NodeInspector.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST.Visitors\NodeVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST.Visitors\ValueCodeVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\ArrayTypeNode.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\AssemblyNode.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\AssignmentStatement.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\BinaryExpression.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\BinaryOperator.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Block.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\BlockExpression.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\BodyParser.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Branch.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\CatchFilter.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Class.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Construct.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\CoreSystemTypes.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\EndFinally.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Ensures.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\ExceptionHandler.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Expression.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\ExpressionStatement.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\FaultHandler.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Field.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Literal.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Local.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Member.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\MemberBinding.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Method.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\MethodCall.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\MethodContract.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\MethodContractElement.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Module.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\NaryExpression.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Node.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\NodeType.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\OperatorExtensions.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Parameter.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Property.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Reference.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Requires.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Return.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Statement.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\This.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\TypeNode.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\UnaryExpression.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\UnaryOperator.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.AST\Variable.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ContractExtraction\ContractExtractor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ContractExtraction\ContractNodes.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ContractExtraction\GatherLocals.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ContractExtraction\HelperMethods.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ContractExtraction\RepresentationForAttribute.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Blocks\AssumeBlock.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Blocks\BlockBase.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Blocks\BlockWithLabels.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Blocks\CatchFilterEntryBlock.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Blocks\EnsuresBlock.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Blocks\EntryBlock.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Blocks\EntryExitBlock.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Blocks\LabelAdapter.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Blocks\MethodCallBlock.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Blocks\NewObjCallBlock.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines.Builders\BlockBuilder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines.Builders\BlockStartGatherer.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines.Builders\EnsuresFactory.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines.Builders\RequiresFactory.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines.Builders\SimpleSubroutineBuilder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines.Builders\SubroutineBuilder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines.Builders\SubroutineFactory.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines.Builders\SubroutineWithHandlersBuilder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines\EnsuresSubroutine.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines\FaultFinallySubroutineBase.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines\FaultSubroutine.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines\FinallySubroutine.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines\MethodContractSubroutine.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines\MethodSubroutine.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines\OldScanStateMachine.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines\OldValueSubroutine.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines\RequiresSubroutine.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines\SimpleSubroutine.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines\SubroutineBase.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines\SubroutineFacade.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow.Subroutines\SubroutineWithHandlers.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\APC.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\APCDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\CFGBlock.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\ContractFilteredCFG.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\ControlFlowGraph.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\Edge.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\EdgeMap.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\EdgeTag.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\EdgeTagExtensions.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\EdgeVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\ICFG.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\IConstantInfo.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\IHandlerFilter.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\IMethodInfo.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\IStackInfo.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\RemoveBranchDelegator.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\Subroutine.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.ControlFlow\SubroutineKind.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataFlowAnalysis\DataFlowAnalysisBase.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataFlowAnalysis\EdgeBasedWidening.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataFlowAnalysis\EdgeConverter.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataFlowAnalysis\ForwardAnalysis.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataFlowAnalysis\ForwardDataFlowAnalysisBase.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataFlowAnalysis\IAnalysis.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataFlowAnalysis\IFixPointInfo.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataFlowAnalysis\IWidenStrategy.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataFlowAnalysis\Joiner.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataFlowAnalysis\StepWidening.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures.Patricia\BranchNode.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures.Patricia\EmptyNode.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures.Patricia\LeafNode.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures.Patricia\PatriciaTrieNode.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\AbstractWorkList.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\BooleanExtensions.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\DecoratorHelper.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\DepthFirst.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\DoubleDictionary.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\DoubleImmutableMap.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\Dummy.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\EdgeVisitor.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\GraphWrapper.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\IGraph.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\IImmutableIntMap.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\IImmutableMap.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\IImmutableSet.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\IIndexable.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\ImmutableIntKeyMap.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\ImmutableIntMap.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\ImmutableMap.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\ImmutableSet.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\ImmutableSetExtensions.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\Indexable.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\IPropertyCollection.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\IWorkList.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\Optional.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\Pair.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\PriorityQueue.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\PropertyCollection.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\Sequence.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\SequenceExtensions.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\TypedKey.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\VisitStatus.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.DataStructures\WorkList.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Extensions\Extensions.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Lattices\AbstractDomainExtensions.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Lattices\EnvironmentDomain.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Lattices\FlatDomain.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Lattices\IAbstractDomain.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Lattices\SetDomain.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Providers\CodeContractDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Providers\CodeProviderImpl.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Providers\ICodeProvider.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Providers\IContractProvider.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Providers\IILDecoder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Providers\IMetaDataProvider.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Providers\IMethodCodeProvider.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Providers\MetaDataProvider.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Proving\AssertionFinder.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Proving\BasicFacts.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Proving\BoxedExpression.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Proving\BoxedExpressionExtensions.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Proving\ComposedFactQuery.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Proving\ConstantPropagationFactQuery.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Proving\IFactBase.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Proving\IFactQuery.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static.Proving\SimpleLogicInference.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static\Checker.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static\CheckOptions.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static\CheckResults.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static\DebugOptions.cs" />\r
+    <Compile Include="Mono.CodeContracts.Static\ProofOutcome.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Cecil/Mono.Cecil-net_4_x.csproj">\r
+      <Project>{2C0D558F-0B38-4691-967E-A910A1B995C1}</Project>\r
+      <Name>Mono.Cecil-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Cecil.Mdb/Mono.Cecil.Mdb-net_4_x.csproj">\r
+      <Project>{CF14D34A-F69B-47FB-A99C-D25C77198F30}</Project>\r
+      <Name>Mono.Cecil.Mdb-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.CompilerServices.SymbolWriter/Mono.CompilerServices.SymbolWriter-net_4_x.csproj b/mcs/class/Mono.CompilerServices.SymbolWriter/Mono.CompilerServices.SymbolWriter-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c39e13e
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{88177C4B-894F-485D-B95A-44199C06BE9F}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.CompilerServices.SymbolWriter</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="MonoSymbolFile.cs" />\r
+    <Compile Include="MonoSymbolTable.cs" />\r
+    <Compile Include="MonoSymbolWriter.cs" />\r
+    <Compile Include="SourceMethodBuilder.cs" />\r
+    <Compile Include="SymbolWriterImpl.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite-net_4_x.csproj b/mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a6f0c58
--- /dev/null
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{371560EA-7BD3-4025-90CB-F1B112403CF2}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Data.Sqlite</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;SQLITE_STANDARD</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;SQLITE_STANDARD</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\LINQ\SQLiteConnection_Linq.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\LINQ\SQLiteFactory_Linq.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\MonoPInvokeCallbackAttribute.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLite3.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLite3_UTF16.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteBase.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteCommand.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteCommandBuilder.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteConnection.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteConnectionPool.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteConnectionStringBuilder.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteConvert.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteDataAdapter.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteDataReader.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SqliteDataSourceEnumerator.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteEnlistment.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteException.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteFactory.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteFunction.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteFunctionAttribute.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteKeyReader.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteMetaDataCollectionNames.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteParameter.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteParameterCollection.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteStatement.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SQLiteTransaction.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\SR.Designer.cs" />\r
+    <Compile Include="Mono.Data.Sqlite_2.0\UnsafeNativeMethods.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Transactions/System.Transactions-net_4_x.csproj">\r
+      <Project>{3821C69F-220D-4231-992C-0FE05311A005}</Project>\r
+      <Name>System.Transactions-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="resources/SR.resources">\r
+      <LogicalName>SR.resources</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/SQLiteCommand.bmp">\r
+      <LogicalName>SQLiteCommand.bmp</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/SQLiteConnection.bmp">\r
+      <LogicalName>SQLiteConnection.bmp</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/SQLiteDataAdapter.bmp">\r
+      <LogicalName>SQLiteDataAdapter.bmp</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
index e698dde9d6d208f21c70257a30d4a0e639624cbf..df8a5d787ab0daefe2ea5714dc621b1342f9f8b2 100644 (file)
@@ -206,8 +206,13 @@ namespace Mono.Data.Sqlite
 #if !SQLITE_STANDARD\r
         int n = UnsafeNativeMethods.sqlite3_close_interop(db);\r
 #else\r
-      ResetConnection(db);\r
-      int n = UnsafeNativeMethods.sqlite3_close(db);\r
+        ResetConnection(db);\r
+        int n;\r
+        try {\r
+          n = UnsafeNativeMethods.sqlite3_close_v2(db);\r
+        } catch (EntryPointNotFoundException) {\r
+          n = UnsafeNativeMethods.sqlite3_close(db);\r
+        }\r
 #endif\r
         if (n > 0) throw new SqliteException(n, SQLiteLastError(db));\r
       }\r
index c5ae7c6ff2cf89e15ebc564530921fa6c3d0474b..4b440b951ed56cd07ede1b2c0f6aa3a3ebc21615 100644 (file)
@@ -135,6 +135,13 @@ namespace Mono.Data.Sqlite
     [DllImport(SQLITE_DLL)]\r
 #endif\r
     internal static extern int sqlite3_close(IntPtr db);\r
+               \r
+#if !PLATFORM_COMPACTFRAMEWORK\r
+    [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)]\r
+#else\r
+    [DllImport(SQLITE_DLL)]\r
+#endif\r
+    internal static extern int sqlite3_close_v2(IntPtr db);\r
 \r
 #if !PLATFORM_COMPACTFRAMEWORK\r
     [DllImport(SQLITE_DLL, CallingConvention = CallingConvention.Cdecl)]\r
index a3a5376e48c330eeb01ca2ea8c0d9084e9e3ff65..d64d3055b999b36e07e8ba66aeed04a5aba275c0 100644 (file)
@@ -92,14 +92,12 @@ namespace MonoTests.Mono.Data.Sqlite {
                                                        Assert.AreEqual(dr["Company.Name"], "Test CO");
                                                        i += 2;
                                                }
-                                               Assert.IsTrue(dr.FieldCount>0);
+                                               Assert.IsTrue(dr.FieldCount>0, i.ToString ());
                                        }
-                                       if (BCL.Tests.TestRuntime.CheckSystemVersion (8, 2))
-                                               Assert.IsTrue (false, "Apple fixed bug 27864, this check can now be removed");
                                }
                        } catch (SqliteException ex) {
-
-                               if (BCL.Tests.TestRuntime.CheckSystemVersion (8, 2)) // Expected Exception on iOS 8.2+, if this does not happen anymore it means apple fixed it
+                               // Expected Exception from iOS 8.2 (broken) to 9.0 (fixed)
+                               if (BCL.Tests.TestRuntime.CheckSystemVersion (8,2) && !BCL.Tests.TestRuntime.CheckSystemVersion (9,0)) 
                                        Assert.That (ex.Message.Contains ("no such column: com.Name"));
                                else
                                        throw new AssertionException ("Unexpected Sqlite Error", ex); // This should not happen
index d65ee3f9ae6179fd80d5d8b06ff97d596b5f5b55..9afb83a2b39676721deb8f0bb40537f0ed88b67f 100644 (file)
@@ -44,6 +44,26 @@ namespace MonoTests.Mono.Data.Sqlite
                 readonly static string _connectionString = "URI=file://" + _uri + ", version=3";
                 SqliteConnection _conn = new SqliteConnection ();
 
+               [Test]
+               public void ReleaseDatabaseFileHandles ()
+               {
+                       _conn.ConnectionString = _connectionString;
+                       _conn.Open ();
+                       
+                       SqliteCommand cmd = _conn.CreateCommand ();
+                       cmd.CommandText = "PRAGMA legacy_file_format;";
+                       cmd.ExecuteScalar ();
+                       
+                       // close connection before the command
+                       _conn.Dispose ();
+                       
+                       // then close the command
+                       cmd.Dispose ();
+                       
+                       // the locks should be released, and we should be able to delete the database
+                       File.Delete (_uri);
+               }
+
                 [Test]
                 [ExpectedException (typeof (ArgumentNullException))]
                 public void ConnectionStringTest_Null ()
diff --git a/mcs/class/Mono.Data.Tds/Mono.Data.Tds-net_4_x.csproj b/mcs/class/Mono.Data.Tds/Mono.Data.Tds-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1e85a5b
--- /dev/null
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{39F59AE4-1381-4275-B14E-16D786F40B93}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Data.Tds</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\Tds.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\Tds42.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\Tds50.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\Tds70.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\Tds80.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsAsyncResult.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsAsyncState.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsBigDecimal.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsBulkCopy.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsCollation.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsColumnStatus.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsColumnType.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsComm.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsConnectionParameters.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsConnectionPool.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsDataColumn.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsDataColumnCollection.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsDataRow.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsEnvPacketSubType.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsInternalError.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsInternalErrorCollection.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsInternalErrorMessageEventArgs.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsInternalErrorMessageEventHandler.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsInternalException.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsInternalInfoMessageEventArgs.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsInternalInfoMessageEventHandler.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsPacketSubType.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsPacketType.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsRpcProcId.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsTimeoutException.cs" />\r
+    <Compile Include="Mono.Data.Tds.Protocol\TdsVersion.cs" />\r
+    <Compile Include="Mono.Data.Tds\TdsMetaParameter.cs" />\r
+    <Compile Include="Mono.Data.Tds\TdsMetaParameterCollection.cs" />\r
+    <Compile Include="Mono.Data.Tds\TdsParameterDirection.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Security/Mono.Security-net_4_x.csproj">\r
+      <Project>{42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}</Project>\r
+      <Name>Mono.Security-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft-net_4_x.csproj b/mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9af7971
--- /dev/null
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{57B5039F-30CC-4EAA-9D55-1B9A07AC8A69}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Debugger.Soft</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../mono.snk</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;MONO_DATACONVERTER_STATIC_METHODS</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;MONO_DATACONVERTER_STATIC_METHODS</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\AbsentInformationException.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\AppDomainCreateEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\AppDomainMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\AppDomainUnloadEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\ArrayMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\AssemblyLoadEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\AssemblyLoadEventRequest.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\AssemblyMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\AssemblyUnloadEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\BreakpointEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\BreakpointEventRequest.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\Connection.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\CustomAttributeDataMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\CustomAttributeNamedArgumentMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\CustomAttributeTypedArgumentMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\DataConverter.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\EnumMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\Event.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\EventQueueImpl.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\EventRequest.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\EventSet.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\EventType.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\ExceptionEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\ExceptionEventRequest.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\FieldInfoMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\IInvokeAsyncResult.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\ILExceptionHandler.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\ILInstruction.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\ILInterpreter.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\IMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\InterfaceMappingMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\InvalidStackFrameException.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\InvocationException.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\InvokeOptions.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\ITargetProcess.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\LocalVariable.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\Location.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\MethodBodyMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\MethodEntryEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\MethodEntryEventRequest.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\MethodExitEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\MethodExitEventRequest.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\MethodMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\Mirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\ModuleMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\ObjectCollectedException.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\ObjectMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\ParameterInfoMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\PointerValue.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\PrimitiveValue.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\PropertyInfoMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\StackFrame.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\StepEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\StepEventRequest.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\StringMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\StructMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\SuspendPolicy.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\ThreadDeathEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\ThreadMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\ThreadStartEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\TypeLoadEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\TypeLoadEventRequest.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\TypeMirror.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\UserBreakEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\UserLogEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\Value.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\VirtualMachine.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\VirtualMachineManager.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\VMDeathEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\VMDisconnectedException.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\VMDisconnectEvent.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\VMMismatchException.cs" />\r
+    <Compile Include="Mono.Debugger.Soft\VMStartEvent.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Cecil/Mono.Cecil-net_4_x.csproj">\r
+      <Project>{2C0D558F-0B38-4691-967E-A910A1B995C1}</Project>\r
+      <Name>Mono.Cecil-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 02ae6814cbfcc3254b8206ce2786be062fbf3907..05ea6bcdaf44aa4a2714b2c8758767164ffb0170 100644 (file)
@@ -382,7 +382,8 @@ namespace Mono.Debugger.Soft
                ERR_UNLOADED = 103,
                ERR_NO_INVOCATION = 104,
                ABSENT_INFORMATION = 105,
-               NO_SEQ_POINT_AT_IL_OFFSET = 106
+               NO_SEQ_POINT_AT_IL_OFFSET = 106,
+               INVOKE_ABORTED = 107
        }
 
        public class ErrorHandlerEventArgs : EventArgs {
@@ -417,7 +418,7 @@ namespace Mono.Debugger.Soft
                 * with newer runtimes, and vice versa.
                 */
                internal const int MAJOR_VERSION = 2;
-               internal const int MINOR_VERSION = 40;
+               internal const int MINOR_VERSION = 42;
 
                enum WPSuspendPolicy {
                        NONE = 0,
@@ -801,6 +802,13 @@ namespace Mono.Debugger.Soft
                                return res;
                        }
 
+                       public string ReadUTF16String () {
+                               int len = decode_int (packet, ref offset);
+                               string res = new String (Encoding.Unicode.GetChars (packet, offset, len));
+                               offset += len;
+                               return res;
+                       }
+
                        public ValueImpl ReadValue () {
                                ElementType etype = (ElementType)ReadByte ();
 
@@ -2418,7 +2426,16 @@ namespace Mono.Debugger.Soft
                 * STRINGS
                 */
                internal string String_GetValue (long id) {
-                       return SendReceive (CommandSet.STRING_REF, (int)CmdStringRef.GET_VALUE, new PacketWriter ().WriteId (id)).ReadString ();
+                       var r = SendReceive (CommandSet.STRING_REF, (int)CmdStringRef.GET_VALUE, new PacketWriter ().WriteId (id));
+
+                       bool is_utf16 = false;
+                       if (Version.AtLeast (2, 41))
+                               is_utf16 = r.ReadByte () == 1;
+
+                       if (is_utf16)
+                               return r.ReadUTF16String ();
+                       else
+                               return r.ReadString ();
                }                       
 
                internal int String_GetLength (long id) {
index 6c20cd9937a0be9aaf2d1f677068edbedfa8f97b..022cbdceab44bd850f5685c035617bd59d4020b1 100644 (file)
@@ -442,6 +442,9 @@ namespace Mono.Debugger.Soft
 
                        Interlocked.Decrement (ref r.NumPending);
 
+                       if (error != 0)
+                               r.ErrorCode = error;
+
                        if (r.NumPending == 0) {
                                r.IsCompleted = true;
                                ((ManualResetEvent)r.AsyncWaitHandle).Set ();
index d922e9e0e640b4ab9bc3f8689299c099dce6e444..7b99f7b7e32ed594e92f9cb7da7abbaff676dc13 100644 (file)
@@ -342,6 +342,8 @@ public class Tests : TestsBase, ITest2
                        frames_in_native ();
                if (args.Length > 0 && args [0] == "invoke-single-threaded")
                        new Tests ().invoke_single_threaded ();
+               if (args.Length > 0 && args [0] == "invoke-abort")
+                       new Tests ().invoke_abort ();
                new Tests ().evaluate_method ();
                return 3;
        }
@@ -598,7 +600,7 @@ public class Tests : TestsBase, ITest2
        public static void arguments () {
                arg1 (SByte.MaxValue - 5, Byte.MaxValue - 5, true, Int16.MaxValue - 5, UInt16.MaxValue - 5, 'F', Int32.MaxValue - 5, UInt32.MaxValue - 5, Int64.MaxValue - 5, UInt64.MaxValue - 5, 1.2345f, 6.78910, new IntPtr (Int32.MaxValue - 5), new UIntPtr (UInt32.MaxValue - 5));
                int i = 42;
-               arg2 ("FOO", null, "BLA", ref i, new GClass <int> { field = 42 }, new object ());
+               arg2 ("FOO", null, "BLA", ref i, new GClass <int> { field = 42 }, new object (), '\0'.ToString () + "A");
                Tests t = new Tests () { field_i = 42, field_s = "S" };
                t.arg3 ("BLA");
        }
@@ -609,7 +611,7 @@ public class Tests : TestsBase, ITest2
        }
 
        [MethodImplAttribute (MethodImplOptions.NoInlining)]
-       public static string arg2 (string s, string s3, object o, ref int i, GClass <int> gc, object o2) {
+       public static string arg2 (string s, string s3, object o, ref int i, GClass <int> gc, object o2, string s4) {
                return s + (s3 != null ? "" : "") + o + i + gc.field + o2;
        }
 
@@ -944,6 +946,15 @@ public class Tests : TestsBase, ITest2
        public void invoke_single_threaded_2 () {
        }
 
+       [MethodImplAttribute (MethodImplOptions.NoInlining)]
+       public void invoke_abort () {
+       }
+
+       [MethodImplAttribute (MethodImplOptions.NoInlining)]
+       public void invoke_abort_2 () {
+               Thread.Sleep (1000000);
+       }
+
        public void invoke_return_void () {
        }
 
index 641fefd2afe9c647385e3ad22f0e18a355ee6f2e..ff7b3616df855d53c0acc30c6f22b5e68b5e112c 100644 (file)
@@ -2506,6 +2506,28 @@ public class DebuggerTests
                        invoke_results.Add (res);
        }
 
+       [Test]
+       public void InvokeAbort () {
+               vm.Detach ();
+
+               Start (new string [] { "dtest-app.exe", "invoke-abort" });
+
+               Event e = run_until ("invoke_abort");
+
+               StackFrame f = e.Thread.GetFrames ()[0];
+
+               var obj = f.GetThis () as ObjectMirror;
+               var t = obj.Type;
+               var m = t.GetMethod ("invoke_abort_2");
+               // Invoke multiple times to check that the subsequent invokes are aborted too
+               var res = (IInvokeAsyncResult)obj.BeginInvokeMultiple (e.Thread, new MethodMirror[] { m, m, m, m }, null, InvokeOptions.None, delegate { }, null);
+               Thread.Sleep (500);
+               res.Abort ();
+               AssertThrows<CommandException> (delegate {
+                               obj.EndInvokeMethod (res);
+                       });
+       }
+
        [Test]
        public void GetThreads () {
                vm.GetThreads ();
@@ -3319,6 +3341,20 @@ public class DebuggerTests
                Assert.AreEqual ("System.Exception", types [0].FullName);
        }
 
+       [Test]
+       public void String_GetValue () {
+               // Embedded nulls
+               object val;
+
+               // Reuse this test
+               var e = run_until ("arg2");
+
+               var frame = e.Thread.GetFrames () [0];
+
+               val = frame.GetArgument (6);
+               Assert.AreEqual ('\0'.ToString () + "A", (val as StringMirror).Value);
+       }
+
        [Test]
        public void String_GetChars () {
                object val;
index fd1d15500a60f6f97888848074a9ef8ae51e1372..903006b49b56052e2c2ad929f63327c4ff43e085 100644 (file)
@@ -10,8 +10,6 @@ LIB_MCS_FLAGS = \
        -d:MONO_INTERPRETER \
        -delaysign -keyfile:../mono.pub
 
-MOBILE_STATIC := $(filter mobile_static monotouch monotouch_runtime monotouch_watch, $(PROFILE))
-
 ifdef MOBILE_STATIC
 mono_dynamic_interpreter_deps = $(the_libdir_base)plaincore/System.Core.dll
 LIB_MCS_FLAGS += -lib:$(the_libdir_base)plaincore
diff --git a/mcs/class/Mono.Http/Mono.Http-net_4_x.csproj b/mcs/class/Mono.Http/Mono.Http-net_4_x.csproj
new file mode 100644 (file)
index 0000000..510ad8a
--- /dev/null
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{11DD6F15-65AB-4CBD-9EFE-2C9626388C53}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Http</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.Http.Configuration\AcceptEncodingConfig.cs" />\r
+    <Compile Include="Mono.Http.Configuration\AcceptEncodingSectionHandler.cs" />\r
+    <Compile Include="Mono.Http.Modules\AcceptEncodingModule.cs" />\r
+    <Compile Include="Mono.Http.Modules\AuthenticationModule.cs" />\r
+    <Compile Include="Mono.Http.Modules\BasicAuthenticationModule.cs" />\r
+    <Compile Include="Mono.Http.Modules\DigestAuthenticationModule.cs" />\r
+    <Compile Include="Mono.Http\GZipWebRequest.cs" />\r
+    <Compile Include="Mono.Http\GZipWebRequestCreator.cs" />\r
+    <Compile Include="Mono.Http\GZipWebResponse.cs" />\r
+    <Compile Include="Mono.Http\GZipWriteFilter.cs" />\r
+    <Compile Include="Mono.Http\NtlmClient.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib-net_4_x.csproj">\r
+      <Project>{4903F98F-B4C9-467A-8FBA-39E7F91D9327}</Project>\r
+      <Name>ICSharpCode.SharpZipLib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Security/Mono.Security-net_4_x.csproj">\r
+      <Project>{42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}</Project>\r
+      <Name>Mono.Security-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.Management/Mono.Management-net_4_x.csproj b/mcs/class/Mono.Management/Mono.Management-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7da8011
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{1A2B6016-1EEF-4C06-943D-EB3E94A31EB9}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Management</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.Attach\VirtualMachine.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Posix/Mono.Posix-net_4_x.csproj">\r
+      <Project>{66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}</Project>\r
+      <Name>Mono.Posix-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ-net_4_x.csproj b/mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f778bc3
--- /dev/null
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{FF19FF42-C95D-4BB7-A0D7-05A94C07276E}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Messaging.RabbitMQ</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include=".\Mono.Messaging.RabbitMQ\IMessagingContext.cs" />\r
+    <Compile Include=".\Mono.Messaging.RabbitMQ\MessageFactory.cs" />\r
+    <Compile Include=".\Mono.Messaging.RabbitMQ\MessagingContext.cs" />\r
+    <Compile Include=".\Mono.Messaging.RabbitMQ\MessagingContextPool.cs" />\r
+    <Compile Include=".\Mono.Messaging.RabbitMQ\RabbitMQMessageEnumerator.cs" />\r
+    <Compile Include=".\Mono.Messaging.RabbitMQ\RabbitMQMessageQueue.cs" />\r
+    <Compile Include=".\Mono.Messaging.RabbitMQ\RabbitMQMessageQueueTransaction.cs" />\r
+    <Compile Include=".\Mono.Messaging.RabbitMQ\RabbitMQMessagingProvider.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Messaging/System.Messaging-net_4_x.csproj">\r
+      <Project>{4AC19C4C-5998-4F55-9C65-55ACB8D71AB2}</Project>\r
+      <Name>System.Messaging-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Messaging/Mono.Messaging-net_4_x.csproj">\r
+      <Project>{F89761CF-5915-45E5-8C9C-E4F883EC5FA5}</Project>\r
+      <Name>Mono.Messaging-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../RabbitMQ.Client/src/client/RabbitMQ.Client-net_4_x.csproj">\r
+      <Project>{8A378E82-8FA2-4DC9-A2F7-CD5CACC3F8F6}</Project>\r
+      <Name>RabbitMQ.Client-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.Messaging/Mono.Messaging-net_4_x.csproj b/mcs/class/Mono.Messaging/Mono.Messaging-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1a269cc
--- /dev/null
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{F89761CF-5915-45E5-8C9C-E4F883EC5FA5}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Messaging</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include=".\Mono.Messaging\AcknowledgeTypes.cs" />\r
+    <Compile Include=".\Mono.Messaging\Acknowledgment.cs" />\r
+    <Compile Include=".\Mono.Messaging\CompletedEventArgs.cs" />\r
+    <Compile Include=".\Mono.Messaging\CompletedEventHandler.cs" />\r
+    <Compile Include=".\Mono.Messaging\ConcurrentLinkedQueue.cs" />\r
+    <Compile Include=".\Mono.Messaging\ConnectionException.cs" />\r
+    <Compile Include=".\Mono.Messaging\CryptographicProviderType.cs" />\r
+    <Compile Include=".\Mono.Messaging\EncryptionAlgorithm.cs" />\r
+    <Compile Include=".\Mono.Messaging\EncryptionRequired.cs" />\r
+    <Compile Include=".\Mono.Messaging\HashAlgorithm.cs" />\r
+    <Compile Include=".\Mono.Messaging\IMessage.cs" />\r
+    <Compile Include=".\Mono.Messaging\IMessageEnumerator.cs" />\r
+    <Compile Include=".\Mono.Messaging\IMessageQueue.cs" />\r
+    <Compile Include=".\Mono.Messaging\IMessageQueueTransaction.cs" />\r
+    <Compile Include=".\Mono.Messaging\IMessagingProvider.cs" />\r
+    <Compile Include=".\Mono.Messaging\MessageBase.cs" />\r
+    <Compile Include=".\Mono.Messaging\MessagePriority.cs" />\r
+    <Compile Include=".\Mono.Messaging\MessageQueueBase.cs" />\r
+    <Compile Include=".\Mono.Messaging\MessageQueueTransactionStatus.cs" />\r
+    <Compile Include=".\Mono.Messaging\MessageQueueTransactionType.cs" />\r
+    <Compile Include=".\Mono.Messaging\MessageType.cs" />\r
+    <Compile Include=".\Mono.Messaging\MessageUnavailableException.cs" />\r
+    <Compile Include=".\Mono.Messaging\MessagingProviderLocator.cs" />\r
+    <Compile Include=".\Mono.Messaging\MonoMessagingException.cs" />\r
+    <Compile Include=".\Mono.Messaging\QueueReference.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.Options/Mono.Options-net_4_x.csproj b/mcs/class/Mono.Options/Mono.Options-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3fbd425
--- /dev/null
@@ -0,0 +1,88 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{115711B0-D1F2-4E50-83F9-63128E70CE05}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Options</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include=".\Mono.Options\Options.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.Parallel/Mono.Parallel-net_4_x.csproj b/mcs/class/Mono.Parallel/Mono.Parallel-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c3e431f
--- /dev/null
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{18E55AE4-6B9B-44EF-94C9-1084D5472E63}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Parallel</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;INSIDE_MONO_PARALLEL</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;INSIDE_MONO_PARALLEL</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.Collections.Concurrent\ConcurrentOrderedList.cs" />\r
+    <Compile Include="Mono.Collections.Concurrent\ConcurrentSkipList.cs" />\r
+    <Compile Include="Mono.Threading.Tasks\CyclicDeque.cs" />\r
+    <Compile Include="Mono.Threading.Tasks\IConcurrentDeque.cs" />\r
+    <Compile Include="Mono.Threading.Tasks\PopResult.cs" />\r
+    <Compile Include="Mono.Threading\AtomicBoolean.cs" />\r
+    <Compile Include="Mono.Threading\CSnzi.cs" />\r
+    <Compile Include="Mono.Threading\ReaderWriterLockSlimmer.cs" />\r
+    <Compile Include="Mono.Threading\Snzi.cs" />\r
+    <Compile Include="Mono.Threading\SpinLockWrapper.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.Posix/Mono.Posix-net_4_x.csproj b/mcs/class/Mono.Posix/Mono.Posix-net_4_x.csproj
new file mode 100644 (file)
index 0000000..899695c
--- /dev/null
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,618,612</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Posix</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include=".\Mono.Posix\Catalog.cs" />\r
+    <Compile Include=".\Mono.Posix\PeerCred.cs" />\r
+    <Compile Include=".\Mono.Posix\Syscall.cs" />\r
+    <Compile Include=".\Mono.Posix\UnixEndPoint.cs" />\r
+    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixBinaryClientFormatterSink.cs" />\r
+    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixBinaryClientFormatterSinkProvider.cs" />\r
+    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixBinaryCore.cs" />\r
+    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixBinaryServerFormatterSink.cs" />\r
+    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixBinaryServerFormatterSinkProvider.cs" />\r
+    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixChannel.cs" />\r
+    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixClientChannel.cs" />\r
+    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixClientTransportSink.cs" />\r
+    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixClientTransportSinkProvider.cs" />\r
+    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixConnectionPool.cs" />\r
+    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixMessageIO.cs" />\r
+    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixServerChannel.cs" />\r
+    <Compile Include=".\Mono.Remoting.Channels.Unix\UnixServerTransportSink.cs" />\r
+    <Compile Include=".\Mono.Unix.Native\CdeclFunction.cs" />\r
+    <Compile Include=".\Mono.Unix.Native\FileNameMarshaler.cs" />\r
+    <Compile Include=".\Mono.Unix.Native\MapAttribute.cs" />\r
+    <Compile Include=".\Mono.Unix.Native\NativeConvert.cs" />\r
+    <Compile Include=".\Mono.Unix.Native\NativeConvert.generated.cs" />\r
+    <Compile Include=".\Mono.Unix.Native\RealTimeSignum.cs" />\r
+    <Compile Include=".\Mono.Unix.Native\Stdlib.cs" />\r
+    <Compile Include=".\Mono.Unix.Native\Syscall.cs" />\r
+    <Compile Include=".\Mono.Unix.Native\TypeAttributes.cs" />\r
+    <Compile Include=".\Mono.Unix\AbstractUnixEndPoint.cs" />\r
+    <Compile Include=".\Mono.Unix\Catalog.cs" />\r
+    <Compile Include=".\Mono.Unix\FileAccessPattern.cs" />\r
+    <Compile Include=".\Mono.Unix\FileAccessPermissions.cs" />\r
+    <Compile Include=".\Mono.Unix\FileHandleOperations.cs" />\r
+    <Compile Include=".\Mono.Unix\FileSpecialAttributes.cs" />\r
+    <Compile Include=".\Mono.Unix\FileTypes.cs" />\r
+    <Compile Include=".\Mono.Unix\PeerCred.cs" />\r
+    <Compile Include=".\Mono.Unix\StdioFileStream.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixClient.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixDirectoryInfo.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixDriveInfo.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixEncoding.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixEndPoint.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixEnvironment.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixFileInfo.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixFileSystemInfo.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixGroupInfo.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixIOException.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixListener.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixMarshal.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixPath.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixPipes.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixProcess.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixSignal.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixStream.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixSymbolicLinkInfo.cs" />\r
+    <Compile Include=".\Mono.Unix\UnixUserInfo.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index a7d9f70f9954a416e88e2cf320575532dc0a181a..a0c5cf12f5761423cc174f3ed89ba402a37b6265 100644 (file)
@@ -45,6 +45,7 @@
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
   <ItemGroup>\r
     <Compile Include="Test\Mono.Unix.Native\RealTimeSignumTests.cs" />\r
+    <Compile Include="Test\Mono.Unix.Native\SocketTest.cs" />\r
     <Compile Include="Test\Mono.Unix.Native\StdlibTest.cs" />\r
     <Compile Include="Test\Mono.Unix\ReadlinkTest.cs" />\r
     <Compile Include="Test\Mono.Unix\StdioFileStreamTest.cs" />\r
index 270b0b6aee680cb64332b06638110b58a6eda18b..e2a49354a8eb43a4790567e1c361ac2a73e87856 100644 (file)
@@ -6,5 +6,7 @@ Mono.Unix/UnixMarshalTest.cs
 Mono.Unix/UnixPathTest.cs
 Mono.Unix/UnixSignalTest.cs
 Mono.Unix/UnixUserTest.cs
+Mono.Unix.Android/TestHelper.cs
 Mono.Unix.Native/RealTimeSignumTests.cs
+Mono.Unix.Native/SocketTest.cs
 Mono.Unix.Native/StdlibTest.cs
index ffa329f1b5bf3d5fa7cc75a7a6e93355b118d117..4e2613b127991263f8ba2d31fede7f7da2a99f1f 100644 (file)
@@ -17,10 +17,10 @@ namespace Mono.Unix.Native {
                //
                // Non-generated exports
                //
-
+#if !MONODROID
                [DllImport (LIB, EntryPoint="Mono_Posix_FromRealTimeSignum")]
                private static extern int FromRealTimeSignum (Int32 offset, out Int32 rval);
-
+#endif
                // convert a realtime signal to os signal
                public static int FromRealTimeSignum (RealTimeSignum sig)
                {
index d9097f8d7a3394610167957639000144950b97e6..2ac13c6677edd26437a6fc806df7cf3e12b6d027 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file was automatically generated by create-native-map from ../../class/lib/net_2_0/Mono.Posix.dll.
+ * This file was automatically generated by create-native-map from ./../../class/lib/net_4_x/Mono.Posix.dll.
  *
  * DO NOT MODIFY.
  */
@@ -342,6 +342,22 @@ namespace Mono.Unix.Native {
                        return ToIovec (source, out destination) == 0;
                }
 
+               [DllImport (LIB, EntryPoint="Mono_Posix_FromLinger")]
+               private static extern int FromLinger (ref Linger source, IntPtr destination);
+
+               public static bool TryCopy (ref Linger source, IntPtr destination)
+               {
+                       return FromLinger (ref source, destination) == 0;
+               }
+
+               [DllImport (LIB, EntryPoint="Mono_Posix_ToLinger")]
+               private static extern int ToLinger (IntPtr source, out Linger destination);
+
+               public static bool TryCopy (IntPtr source, out Linger destination)
+               {
+                       return ToLinger (source, out destination) == 0;
+               }
+
                [DllImport (LIB, EntryPoint="Mono_Posix_FromLockType")]
                private static extern int FromLockType (LockType value, out Int16 rval);
 
@@ -406,6 +422,38 @@ namespace Mono.Unix.Native {
                        return rval;
                }
 
+               [DllImport (LIB, EntryPoint="Mono_Posix_FromMessageFlags")]
+               private static extern int FromMessageFlags (MessageFlags value, out Int32 rval);
+
+               public static bool TryFromMessageFlags (MessageFlags value, out Int32 rval)
+               {
+                       return FromMessageFlags (value, out rval) == 0;
+               }
+
+               public static Int32 FromMessageFlags (MessageFlags value)
+               {
+                       Int32 rval;
+                       if (FromMessageFlags (value, out rval) == -1)
+                               ThrowArgumentException (value);
+                       return rval;
+               }
+
+               [DllImport (LIB, EntryPoint="Mono_Posix_ToMessageFlags")]
+               private static extern int ToMessageFlags (Int32 value, out MessageFlags rval);
+
+               public static bool TryToMessageFlags (Int32 value, out MessageFlags rval)
+               {
+                       return ToMessageFlags (value, out rval) == 0;
+               }
+
+               public static MessageFlags ToMessageFlags (Int32 value)
+               {
+                       MessageFlags rval;
+                       if (ToMessageFlags (value, out rval) == -1)
+                               ThrowArgumentException (value);
+                       return rval;
+               }
+
                [DllImport (LIB, EntryPoint="Mono_Posix_FromMlockallFlags")]
                private static extern int FromMlockallFlags (MlockallFlags value, out Int32 rval);
 
@@ -806,6 +854,38 @@ namespace Mono.Unix.Native {
                        return rval;
                }
 
+               [DllImport (LIB, EntryPoint="Mono_Posix_FromShutdownOption")]
+               private static extern int FromShutdownOption (ShutdownOption value, out Int32 rval);
+
+               public static bool TryFromShutdownOption (ShutdownOption value, out Int32 rval)
+               {
+                       return FromShutdownOption (value, out rval) == 0;
+               }
+
+               public static Int32 FromShutdownOption (ShutdownOption value)
+               {
+                       Int32 rval;
+                       if (FromShutdownOption (value, out rval) == -1)
+                               ThrowArgumentException (value);
+                       return rval;
+               }
+
+               [DllImport (LIB, EntryPoint="Mono_Posix_ToShutdownOption")]
+               private static extern int ToShutdownOption (Int32 value, out ShutdownOption rval);
+
+               public static bool TryToShutdownOption (Int32 value, out ShutdownOption rval)
+               {
+                       return ToShutdownOption (value, out rval) == 0;
+               }
+
+               public static ShutdownOption ToShutdownOption (Int32 value)
+               {
+                       ShutdownOption rval;
+                       if (ToShutdownOption (value, out rval) == -1)
+                               ThrowArgumentException (value);
+                       return rval;
+               }
+
                [DllImport (LIB, EntryPoint="Mono_Posix_FromSignum")]
                private static extern int FromSignum (Signum value, out Int32 rval);
 
@@ -1014,6 +1094,166 @@ namespace Mono.Unix.Native {
                        return ToTimezone (source, out destination) == 0;
                }
 
+               [DllImport (LIB, EntryPoint="Mono_Posix_FromUnixAddressFamily")]
+               private static extern int FromUnixAddressFamily (UnixAddressFamily value, out Int32 rval);
+
+               public static bool TryFromUnixAddressFamily (UnixAddressFamily value, out Int32 rval)
+               {
+                       return FromUnixAddressFamily (value, out rval) == 0;
+               }
+
+               public static Int32 FromUnixAddressFamily (UnixAddressFamily value)
+               {
+                       Int32 rval;
+                       if (FromUnixAddressFamily (value, out rval) == -1)
+                               ThrowArgumentException (value);
+                       return rval;
+               }
+
+               [DllImport (LIB, EntryPoint="Mono_Posix_ToUnixAddressFamily")]
+               private static extern int ToUnixAddressFamily (Int32 value, out UnixAddressFamily rval);
+
+               public static bool TryToUnixAddressFamily (Int32 value, out UnixAddressFamily rval)
+               {
+                       return ToUnixAddressFamily (value, out rval) == 0;
+               }
+
+               public static UnixAddressFamily ToUnixAddressFamily (Int32 value)
+               {
+                       UnixAddressFamily rval;
+                       if (ToUnixAddressFamily (value, out rval) == -1)
+                               ThrowArgumentException (value);
+                       return rval;
+               }
+
+               [DllImport (LIB, EntryPoint="Mono_Posix_FromUnixSocketFlags")]
+               private static extern int FromUnixSocketFlags (UnixSocketFlags value, out Int32 rval);
+
+               public static bool TryFromUnixSocketFlags (UnixSocketFlags value, out Int32 rval)
+               {
+                       return FromUnixSocketFlags (value, out rval) == 0;
+               }
+
+               public static Int32 FromUnixSocketFlags (UnixSocketFlags value)
+               {
+                       Int32 rval;
+                       if (FromUnixSocketFlags (value, out rval) == -1)
+                               ThrowArgumentException (value);
+                       return rval;
+               }
+
+               [DllImport (LIB, EntryPoint="Mono_Posix_ToUnixSocketFlags")]
+               private static extern int ToUnixSocketFlags (Int32 value, out UnixSocketFlags rval);
+
+               public static bool TryToUnixSocketFlags (Int32 value, out UnixSocketFlags rval)
+               {
+                       return ToUnixSocketFlags (value, out rval) == 0;
+               }
+
+               public static UnixSocketFlags ToUnixSocketFlags (Int32 value)
+               {
+                       UnixSocketFlags rval;
+                       if (ToUnixSocketFlags (value, out rval) == -1)
+                               ThrowArgumentException (value);
+                       return rval;
+               }
+
+               [DllImport (LIB, EntryPoint="Mono_Posix_FromUnixSocketOptionName")]
+               private static extern int FromUnixSocketOptionName (UnixSocketOptionName value, out Int32 rval);
+
+               public static bool TryFromUnixSocketOptionName (UnixSocketOptionName value, out Int32 rval)
+               {
+                       return FromUnixSocketOptionName (value, out rval) == 0;
+               }
+
+               public static Int32 FromUnixSocketOptionName (UnixSocketOptionName value)
+               {
+                       Int32 rval;
+                       if (FromUnixSocketOptionName (value, out rval) == -1)
+                               ThrowArgumentException (value);
+                       return rval;
+               }
+
+               [DllImport (LIB, EntryPoint="Mono_Posix_ToUnixSocketOptionName")]
+               private static extern int ToUnixSocketOptionName (Int32 value, out UnixSocketOptionName rval);
+
+               public static bool TryToUnixSocketOptionName (Int32 value, out UnixSocketOptionName rval)
+               {
+                       return ToUnixSocketOptionName (value, out rval) == 0;
+               }
+
+               public static UnixSocketOptionName ToUnixSocketOptionName (Int32 value)
+               {
+                       UnixSocketOptionName rval;
+                       if (ToUnixSocketOptionName (value, out rval) == -1)
+                               ThrowArgumentException (value);
+                       return rval;
+               }
+
+               [DllImport (LIB, EntryPoint="Mono_Posix_FromUnixSocketProtocol")]
+               private static extern int FromUnixSocketProtocol (UnixSocketProtocol value, out Int32 rval);
+
+               public static bool TryFromUnixSocketProtocol (UnixSocketProtocol value, out Int32 rval)
+               {
+                       return FromUnixSocketProtocol (value, out rval) == 0;
+               }
+
+               public static Int32 FromUnixSocketProtocol (UnixSocketProtocol value)
+               {
+                       Int32 rval;
+                       if (FromUnixSocketProtocol (value, out rval) == -1)
+                               ThrowArgumentException (value);
+                       return rval;
+               }
+
+               [DllImport (LIB, EntryPoint="Mono_Posix_ToUnixSocketProtocol")]
+               private static extern int ToUnixSocketProtocol (Int32 value, out UnixSocketProtocol rval);
+
+               public static bool TryToUnixSocketProtocol (Int32 value, out UnixSocketProtocol rval)
+               {
+                       return ToUnixSocketProtocol (value, out rval) == 0;
+               }
+
+               public static UnixSocketProtocol ToUnixSocketProtocol (Int32 value)
+               {
+                       UnixSocketProtocol rval;
+                       if (ToUnixSocketProtocol (value, out rval) == -1)
+                               ThrowArgumentException (value);
+                       return rval;
+               }
+
+               [DllImport (LIB, EntryPoint="Mono_Posix_FromUnixSocketType")]
+               private static extern int FromUnixSocketType (UnixSocketType value, out Int32 rval);
+
+               public static bool TryFromUnixSocketType (UnixSocketType value, out Int32 rval)
+               {
+                       return FromUnixSocketType (value, out rval) == 0;
+               }
+
+               public static Int32 FromUnixSocketType (UnixSocketType value)
+               {
+                       Int32 rval;
+                       if (FromUnixSocketType (value, out rval) == -1)
+                               ThrowArgumentException (value);
+                       return rval;
+               }
+
+               [DllImport (LIB, EntryPoint="Mono_Posix_ToUnixSocketType")]
+               private static extern int ToUnixSocketType (Int32 value, out UnixSocketType rval);
+
+               public static bool TryToUnixSocketType (Int32 value, out UnixSocketType rval)
+               {
+                       return ToUnixSocketType (value, out rval) == 0;
+               }
+
+               public static UnixSocketType ToUnixSocketType (Int32 value)
+               {
+                       UnixSocketType rval;
+                       if (ToUnixSocketType (value, out rval) == -1)
+                               ThrowArgumentException (value);
+                       return rval;
+               }
+
                [DllImport (LIB, EntryPoint="Mono_Posix_FromUtimbuf")]
                private static extern int FromUtimbuf (ref Utimbuf source, IntPtr destination);
 
index c4ff89c0573826bf5b1b77b8f98053f071e0b0d8..4125978df0c8371b3c21d2a86e7e00364e2f7e54 100644 (file)
@@ -727,6 +727,186 @@ namespace Mono.Unix.Native {
                MREMAP_MAYMOVE = 0x1,
        }
 
+       [Map]
+       [CLSCompliant (false)]
+       public enum UnixSocketType : int {
+               SOCK_STREAM    =  1, // Byte-stream socket
+               SOCK_DGRAM     =  2, // Datagram socket
+               SOCK_RAW       =  3, // Raw protocol interface (linux specific)
+               SOCK_RDM       =  4, // Reliably-delivered messages (linux specific)
+               SOCK_SEQPACKET =  5, // Sequenced-packet socket
+               SOCK_DCCP      =  6, // Datagram Congestion Control Protocol (linux specific)
+               SOCK_PACKET    = 10, // Linux specific
+       }
+
+       [Map][Flags]
+       [CLSCompliant (false)]
+       public enum UnixSocketFlags : int {
+               SOCK_CLOEXEC  = 0x80000, /* Atomically set close-on-exec flag for the new descriptor(s). */
+               SOCK_NONBLOCK = 0x00800, /* Atomically mark descriptor(s) as non-blocking. */
+       }
+
+       [Map]
+       [CLSCompliant (false)]
+       public enum UnixSocketProtocol : int {
+               IPPROTO_ICMP    =    1, /* Internet Control Message Protocol */
+               IPPROTO_IGMP    =    2, /* Internet Group Management Protocol */
+               IPPROTO_IPIP    =    4, /* IPIP tunnels (older KA9Q tunnels use 94) */
+               IPPROTO_TCP     =    6, /* Transmission Control Protocol */
+               IPPROTO_EGP     =    8, /* Exterior Gateway Protocol */
+               IPPROTO_PUP     =   12, /* PUP protocol */
+               IPPROTO_UDP     =   17, /* User Datagram Protocol */
+               IPPROTO_IDP     =   22, /* XNS IDP protocol */
+               IPPROTO_TP      =   29, /* SO Transport Protocol Class 4 */
+               IPPROTO_DCCP    =   33, /* Datagram Congestion Control Protocol */
+               IPPROTO_IPV6    =   41, /* IPv6-in-IPv4 tunnelling */
+               IPPROTO_RSVP    =   46, /* RSVP Protocol */
+               IPPROTO_GRE     =   47, /* Cisco GRE tunnels (rfc 1701,1702) */
+               IPPROTO_ESP     =   50, /* Encapsulation Security Payload protocol */
+               IPPROTO_AH      =   51, /* Authentication Header protocol */
+               IPPROTO_MTP     =   92, /* Multicast Transport Protocol */
+               IPPROTO_BEETPH  =   94, /* IP option pseudo header for BEET */
+               IPPROTO_ENCAP   =   98, /* Encapsulation Header */
+               IPPROTO_PIM     =  103, /* Protocol Independent Multicast */
+               IPPROTO_COMP    =  108, /* Compression Header Protocol */
+               IPPROTO_SCTP    =  132, /* Stream Control Transport Protocol */
+               IPPROTO_UDPLITE =  136, /* UDP-Lite (RFC 3828) */
+               IPPROTO_RAW     =  255, /* Raw IP packets */
+
+               // Number used by linux (0) has a special meaning for socket()
+               IPPROTO_IP      = 1024, /* Dummy protocol for TCP */
+               // Number used by linux (1) clashes with IPPROTO_ICMP
+               SOL_SOCKET      = 2048, /* For setsockopt() / getsockopt(): Options to be accessed at socket level, not protocol level. */
+       }
+
+       [Map]
+       [CLSCompliant (false)]
+       public enum UnixAddressFamily : int {
+               AF_UNSPEC     =  0,  /* Unspecified. */
+               AF_UNIX       =  1,  /* Local to host (pipes and file-domain). */
+               AF_INET       =  2,  /* IP protocol family. */
+               AF_AX25       =  3,  /* Amateur Radio AX.25. */
+               AF_IPX        =  4,  /* Novell Internet Protocol. */
+               AF_APPLETALK  =  5,  /* Appletalk DDP. */
+               AF_NETROM     =  6,  /* Amateur radio NetROM. */
+               AF_BRIDGE     =  7,  /* Multiprotocol bridge. */
+               AF_ATMPVC     =  8,  /* ATM PVCs. */
+               AF_X25        =  9,  /* Reserved for X.25 project. */
+               AF_INET6      = 10,  /* IP version 6. */
+               AF_ROSE       = 11,  /* Amateur Radio X.25 PLP. */
+               AF_DECnet     = 12,  /* Reserved for DECnet project. */
+               AF_NETBEUI    = 13,  /* Reserved for 802.2LLC project. */
+               AF_SECURITY   = 14,  /* Security callback pseudo AF. */
+               AF_KEY        = 15,  /* PF_KEY key management API. */
+               AF_NETLINK    = 16,
+               AF_PACKET     = 17,  /* Packet family. */
+               AF_ASH        = 18,  /* Ash. */
+               AF_ECONET     = 19,  /* Acorn Econet. */
+               AF_ATMSVC     = 20,  /* ATM SVCs. */
+               AF_RDS        = 21,  /* RDS sockets. */
+               AF_SNA        = 22,  /* Linux SNA Project */
+               AF_IRDA       = 23,  /* IRDA sockets. */
+               AF_PPPOX      = 24,  /* PPPoX sockets. */
+               AF_WANPIPE    = 25,  /* Wanpipe API sockets. */
+               AF_LLC        = 26,  /* Linux LLC. */
+               AF_CAN        = 29,  /* Controller Area Network. */
+               AF_TIPC       = 30,  /* TIPC sockets. */
+               AF_BLUETOOTH  = 31,  /* Bluetooth sockets. */
+               AF_IUCV       = 32,  /* IUCV sockets. */
+               AF_RXRPC      = 33,  /* RxRPC sockets. */
+               AF_ISDN       = 34,  /* mISDN sockets. */
+               AF_PHONET     = 35,  /* Phonet sockets. */
+               AF_IEEE802154 = 36,  /* IEEE 802.15.4 sockets. */
+               AF_CAIF       = 37,  /* CAIF sockets. */
+               AF_ALG        = 38,  /* Algorithm sockets. */
+               AF_NFC        = 39,  /* NFC sockets. */
+               AF_VSOCK      = 40,  /* vSockets. */
+       }
+
+       [Map]
+       [CLSCompliant (false)]
+       public enum UnixSocketOptionName : int {
+               SO_DEBUG                         =  1,
+               SO_REUSEADDR                     =  2,
+               SO_TYPE                          =  3,
+               SO_ERROR                         =  4,
+               SO_DONTROUTE                     =  5,
+               SO_BROADCAST                     =  6,
+               SO_SNDBUF                        =  7,
+               SO_RCVBUF                        =  8,
+               SO_SNDBUFFORCE                   = 32,
+               SO_RCVBUFFORCE                   = 33,
+               SO_KEEPALIVE                     =  9,
+               SO_OOBINLINE                     = 10,
+               SO_NO_CHECK                      = 11,
+               SO_PRIORITY                      = 12,
+               SO_LINGER                        = 13,
+               SO_BSDCOMPAT                     = 14,
+               SO_REUSEPORT                     = 15,
+               SO_PASSCRED                      = 16,
+               SO_PEERCRED                      = 17,
+               SO_RCVLOWAT                      = 18,
+               SO_SNDLOWAT                      = 19,
+               SO_RCVTIMEO                      = 20,
+               SO_SNDTIMEO                      = 21,
+               SO_SECURITY_AUTHENTICATION       = 22,
+               SO_SECURITY_ENCRYPTION_TRANSPORT = 23,
+               SO_SECURITY_ENCRYPTION_NETWORK   = 24,
+               SO_BINDTODEVICE                  = 25,
+               SO_ATTACH_FILTER                 = 26,
+               SO_DETACH_FILTER                 = 27,
+               SO_PEERNAME                      = 28,
+               SO_TIMESTAMP                     = 29,
+               SO_ACCEPTCONN                    = 30,
+               SO_PEERSEC                       = 31,
+               SO_PASSSEC                       = 34,
+               SO_TIMESTAMPNS                   = 35,
+               SO_MARK                          = 36,
+               SO_TIMESTAMPING                  = 37,
+               SO_PROTOCOL                      = 38,
+               SO_DOMAIN                        = 39,
+               SO_RXQ_OVFL                      = 40,
+               SO_WIFI_STATUS                   = 41,
+               SO_PEEK_OFF                      = 42,
+               SO_NOFCS                         = 43,
+               SO_LOCK_FILTER                   = 44,
+               SO_SELECT_ERR_QUEUE              = 45,
+               SO_BUSY_POLL                     = 46,
+               SO_MAX_PACING_RATE               = 47,
+       }
+
+       [Flags][Map]
+       [CLSCompliant (false)]
+       public enum MessageFlags : int {
+               MSG_OOB          =       0x01, /* Process out-of-band data. */
+               MSG_PEEK         =       0x02, /* Peek at incoming messages. */
+               MSG_DONTROUTE    =       0x04, /* Don't use local routing. */
+               MSG_CTRUNC       =       0x08, /* Control data lost before delivery. */
+               MSG_PROXY        =       0x10, /* Supply or ask second address. */
+               MSG_TRUNC        =       0x20,
+               MSG_DONTWAIT     =       0x40, /* Nonblocking IO. */
+               MSG_EOR          =       0x80, /* End of record. */
+               MSG_WAITALL      =      0x100, /* Wait for a full request. */
+               MSG_FIN          =      0x200,
+               MSG_SYN          =      0x400,
+               MSG_CONFIRM      =      0x800, /* Confirm path validity. */
+               MSG_RST          =     0x1000,
+               MSG_ERRQUEUE     =     0x2000, /* Fetch message from error queue. */
+               MSG_NOSIGNAL     =     0x4000, /* Do not generate SIGPIPE. */
+               MSG_MORE         =     0x8000, /* Sender will send more. */
+               MSG_WAITFORONE   =    0x10000, /* Wait for at least one packet to return.*/
+               MSG_FASTOPEN     = 0x20000000, /* Send data in TCP SYN. */
+               MSG_CMSG_CLOEXEC = 0x40000000, /* Set close_on_exit for file descriptor received through SCM_RIGHTS. */
+       }
+
+       [Map]
+       [CLSCompliant (false)]
+       public enum ShutdownOption : int {
+               SHUT_RD   = 0x01,   /* No more receptions. */
+               SHUT_WR   = 0x02,   /* No more transmissions. */
+               SHUT_RDWR = 0x03,   /* No more receptions or transmissions. */
+       }
+
        #endregion
 
        #region Structures
@@ -1228,6 +1408,19 @@ namespace Mono.Unix.Native {
                [FieldOffset (4)]
                public ulong u64;
        }
+
+       [Map ("struct linger")]
+       [CLSCompliant (false)]
+       public struct Linger {
+               public int l_onoff;
+               public int l_linger;
+
+               public override string ToString ()
+               {
+                       return string.Format ("{0}, {1}", l_onoff, l_linger);
+               }
+       }
+
        #endregion
 
        #region Classes
@@ -4356,6 +4549,243 @@ namespace Mono.Unix.Native {
                        return sys_pwritev (fd, iov, iov.Length, offset);
                }
                #endregion
+
+               #region <socket.h> Declarations
+               //
+               // <socket.h>
+               //
+
+               // socket(2)
+               //    int socket(int domain, int type, int protocol);
+               [DllImport (LIBC, SetLastError=true, 
+                               EntryPoint="socket")]
+               static extern int sys_socket (int domain, int type, int protocol);
+
+               public static int socket (UnixAddressFamily domain, UnixSocketType type, UnixSocketFlags flags, UnixSocketProtocol protocol)
+               {
+                       var _domain = NativeConvert.FromUnixAddressFamily (domain);
+                       var _type = NativeConvert.FromUnixSocketType (type);
+                       var _flags = NativeConvert.FromUnixSocketFlags (flags);
+                       // protocol == 0 is a special case (uses default protocol)
+                       var _protocol = protocol == 0 ? 0 : NativeConvert.FromUnixSocketProtocol (protocol);
+
+                       return sys_socket (_domain, _type | _flags, _protocol);
+               }
+
+               public static int socket (UnixAddressFamily domain, UnixSocketType type, UnixSocketProtocol protocol)
+               {
+                       return socket (domain, type, 0, protocol);
+               }
+
+               // socketpair(2)
+               //    int socketpair(int domain, int type, int protocol, int sv[2]);
+               [DllImport (MPH, SetLastError=true, 
+                               EntryPoint="Mono_Posix_Syscall_socketpair")]
+               static extern int sys_socketpair (int domain, int type, int protocol, out int socket1, out int socket2);
+
+               public static int socketpair (UnixAddressFamily domain, UnixSocketType type, UnixSocketFlags flags, UnixSocketProtocol protocol, out int socket1, out int socket2)
+               {
+                       var _domain = NativeConvert.FromUnixAddressFamily (domain);
+                       var _type = NativeConvert.FromUnixSocketType (type);
+                       var _flags = NativeConvert.FromUnixSocketFlags (flags);
+                       // protocol == 0 is a special case (uses default protocol)
+                       var _protocol = protocol == 0 ? 0 : NativeConvert.FromUnixSocketProtocol (protocol);
+
+                       return sys_socketpair (_domain, _type | _flags, _protocol, out socket1, out socket2);
+               }
+
+               public static int socketpair (UnixAddressFamily domain, UnixSocketType type, UnixSocketProtocol protocol, out int socket1, out int socket2)
+               {
+                       return socketpair (domain, type, 0, protocol, out socket1, out socket2);
+               }
+
+               // sockatmark(2)
+               //    int sockatmark(int sockfd);
+               [DllImport (LIBC, SetLastError=true)]
+               public static extern int sockatmark (int socket);
+
+               // listen(2)
+               //    int listen(int sockfd, int backlog);
+               [DllImport (LIBC, SetLastError=true)]
+               public static extern int listen (int socket, int backlog);
+
+               // getsockopt(2)
+               //    int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);
+               [DllImport (MPH, SetLastError=true, 
+                               EntryPoint="Mono_Posix_Syscall_getsockopt")]
+               static extern unsafe int sys_getsockopt (int socket, int level, int option_name, void *option_value, ref long option_len);
+
+               [DllImport (MPH, SetLastError=true, 
+                               EntryPoint="Mono_Posix_Syscall_getsockopt_timeval")]
+               static extern unsafe int sys_getsockopt_timeval (int socket, int level, int option_name, out Timeval option_value);
+
+               [DllImport (MPH, SetLastError=true, 
+                               EntryPoint="Mono_Posix_Syscall_getsockopt_linger")]
+               static extern unsafe int sys_getsockopt_linger (int socket, int level, int option_name, out Linger option_value);
+
+               public static unsafe int getsockopt (int socket, UnixSocketProtocol level, UnixSocketOptionName option_name, void *option_value, ref long option_len)
+               {
+                       var _level = NativeConvert.FromUnixSocketProtocol (level);
+                       var _option_name = NativeConvert.FromUnixSocketOptionName (option_name);
+                       return sys_getsockopt (socket, _level, _option_name, option_value, ref option_len);
+               }
+
+               public static unsafe int getsockopt (int socket, UnixSocketProtocol level, UnixSocketOptionName option_name, IntPtr option_value, ref long option_len)
+               {
+                       return getsockopt (socket, level, option_name, (void*) option_value, ref option_len);
+               }
+
+               public static unsafe int getsockopt (int socket, UnixSocketProtocol level, UnixSocketOptionName option_name, out int option_value)
+               {
+                       int value;
+                       long size = sizeof (int);
+                       int ret = getsockopt (socket, level, option_name, &value, ref size);
+                       if (ret != -1 && size != sizeof (int)) {
+                               SetLastError (Errno.EINVAL);
+                               ret = -1;
+                       }
+                       option_value = value;
+                       return ret;
+               }
+
+               public static unsafe int getsockopt (int socket, UnixSocketProtocol level, UnixSocketOptionName option_name, byte[] option_value, ref long option_len)
+               {
+                       if (option_len > (option_value == null ? 0 : option_value.Length))
+                               throw new ArgumentOutOfRangeException ("option_len", "option_len > (option_value == null ? 0 : option_value.Length)");
+                       fixed (byte* ptr = option_value)
+                               return getsockopt (socket, level, option_name, ptr, ref option_len);
+               }
+
+               public static unsafe int getsockopt (int socket, UnixSocketProtocol level, UnixSocketOptionName option_name, out Timeval option_value)
+               {
+                       var _level = NativeConvert.FromUnixSocketProtocol (level);
+                       var _option_name = NativeConvert.FromUnixSocketOptionName (option_name);
+                       return sys_getsockopt_timeval (socket, _level, _option_name, out option_value);
+               }
+
+               public static unsafe int getsockopt (int socket, UnixSocketProtocol level, UnixSocketOptionName option_name, out Linger option_value)
+               {
+                       var _level = NativeConvert.FromUnixSocketProtocol (level);
+                       var _option_name = NativeConvert.FromUnixSocketOptionName (option_name);
+                       return sys_getsockopt_linger (socket, _level, _option_name, out option_value);
+               }
+
+               // setsockopt(2)
+               //    int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t optlen);
+               [DllImport (MPH, SetLastError=true, 
+                               EntryPoint="Mono_Posix_Syscall_setsockopt")]
+               static extern unsafe int sys_setsockopt (int socket, int level, int option_name, void *option_value, long option_len);
+
+               [DllImport (MPH, SetLastError=true, 
+                               EntryPoint="Mono_Posix_Syscall_setsockopt_timeval")]
+               static extern unsafe int sys_setsockopt_timeval (int socket, int level, int option_name, ref Timeval option_value);
+
+               [DllImport (MPH, SetLastError=true, 
+                               EntryPoint="Mono_Posix_Syscall_setsockopt_linger")]
+               static extern unsafe int sys_setsockopt_linger (int socket, int level, int option_name, ref Linger option_value);
+
+               public static unsafe int setsockopt (int socket, UnixSocketProtocol level, UnixSocketOptionName option_name, void *option_value, long option_len)
+               {
+                       var _level = NativeConvert.FromUnixSocketProtocol (level);
+                       var _option_name = NativeConvert.FromUnixSocketOptionName (option_name);
+                       return sys_setsockopt (socket, _level, _option_name, option_value, option_len);
+               }
+
+               public static unsafe int setsockopt (int socket, UnixSocketProtocol level, UnixSocketOptionName option_name, IntPtr option_value, long option_len)
+               {
+                       return setsockopt (socket, level, option_name, (void*) option_value, option_len);
+               }
+
+               public static unsafe int setsockopt (int socket, UnixSocketProtocol level, UnixSocketOptionName option_name, int option_value)
+               {
+                       return setsockopt (socket, level, option_name, &option_value, sizeof (int));
+               }
+
+               public static unsafe int setsockopt (int socket, UnixSocketProtocol level, UnixSocketOptionName option_name, byte[] option_value, long option_len)
+               {
+                       if (option_len > (option_value == null ? 0 : option_value.Length))
+                               throw new ArgumentOutOfRangeException ("option_len", "option_len > (option_value == null ? 0 : option_value.Length)");
+                       fixed (byte* ptr = option_value)
+                               return setsockopt (socket, level, option_name, ptr, option_len);
+               }
+
+               public static unsafe int setsockopt (int socket, UnixSocketProtocol level, UnixSocketOptionName option_name, Timeval option_value)
+               {
+                       var _level = NativeConvert.FromUnixSocketProtocol (level);
+                       var _option_name = NativeConvert.FromUnixSocketOptionName (option_name);
+                       return sys_setsockopt_timeval (socket, _level, _option_name, ref option_value);
+               }
+
+               public static unsafe int setsockopt (int socket, UnixSocketProtocol level, UnixSocketOptionName option_name, Linger option_value)
+               {
+                       var _level = NativeConvert.FromUnixSocketProtocol (level);
+                       var _option_name = NativeConvert.FromUnixSocketOptionName (option_name);
+                       return sys_setsockopt_linger (socket, _level, _option_name, ref option_value);
+               }
+
+               // shutdown(2)
+               //    int shutdown(int sockfd, int how);
+               [DllImport (LIBC, SetLastError=true, 
+                               EntryPoint="shutdown")]
+               static extern int sys_shutdown (int socket, int how);
+
+               public static int shutdown (int socket, ShutdownOption how)
+               {
+                       var _how = NativeConvert.FromShutdownOption (how);
+                       return sys_shutdown (socket, _how);
+               }
+
+               // recv(2)
+               //    ssize_t recv(int sockfd, void *buf, size_t len, int flags);
+               [DllImport (MPH, SetLastError=true, 
+                               EntryPoint="Mono_Posix_Syscall_recv")]
+               static extern unsafe long sys_recv (int socket, void *buffer, ulong length, int flags);
+
+               public static unsafe long recv (int socket, void *buffer, ulong length, MessageFlags flags)
+               {
+                       int _flags = NativeConvert.FromMessageFlags (flags);
+                       return sys_recv (socket, buffer, length, _flags);
+               }
+
+               public static unsafe long recv (int socket, IntPtr buffer, ulong length, MessageFlags flags)
+               {
+                       return recv (socket, (void*) buffer, length, flags);
+               }
+
+               public static unsafe long recv (int socket, byte[] buffer, ulong length, MessageFlags flags)
+               {
+                       if (length > (ulong) (buffer == null ? 0 : buffer.LongLength))
+                               throw new ArgumentOutOfRangeException ("length", "length > (buffer == null ? 0 : buffer.LongLength)");
+                       fixed (byte* ptr = buffer)
+                               return recv (socket, ptr, length, flags);
+               }
+
+               // send(2)
+               //    ssize_t send(int sockfd, const void *buf, size_t len, int flags);
+               [DllImport (MPH, SetLastError=true, 
+                               EntryPoint="Mono_Posix_Syscall_send")]
+               static extern unsafe long sys_send (int socket, void *message, ulong length, int flags);
+
+               public static unsafe long send (int socket, void *message, ulong length, MessageFlags flags)
+               {
+                       int _flags = NativeConvert.FromMessageFlags (flags);
+                       return sys_send (socket, message, length, _flags);
+               }
+
+               public static unsafe long send (int socket, IntPtr message, ulong length, MessageFlags flags)
+               {
+                       return send (socket, (void*) message, length, flags);
+               }
+
+               public static unsafe long send (int socket, byte[] message, ulong length, MessageFlags flags)
+               {
+                       if (length > (ulong) (message == null ? 0 : message.LongLength))
+                               throw new ArgumentOutOfRangeException ("length", "length > (message == null ? 0 : message.LongLength)");
+                       fixed (byte* ptr = message)
+                               return send (socket, ptr, length, flags);
+               }
+
+               #endregion
        }
 
        #endregion
diff --git a/mcs/class/Mono.Posix/Test/Mono.Unix.Android/TestHelper.cs b/mcs/class/Mono.Posix/Test/Mono.Unix.Android/TestHelper.cs
new file mode 100644 (file)
index 0000000..a7a56a4
--- /dev/null
@@ -0,0 +1,12 @@
+namespace Mono.Unix.Android
+{
+       // Another version of this class is used by the Xamarin.Android test suite
+       // It is here to keep the test code #ifdef free as much as possible
+       public class TestHelper
+       {
+               public static bool CanUseRealTimeSignals ()
+               {
+                       return true;
+               }
+       }
+}
\ No newline at end of file
index 4aea4e8ba60f4db71577c3f9789c4c6333bab39f..f68fe53b8ce70b896dbb603a9530042fddae1885 100644 (file)
@@ -15,6 +15,7 @@ using System;
 using System.Text;
 using System.Threading;
 using Mono.Unix;
+using Mono.Unix.Android;
 using Mono.Unix.Native;
 
 namespace MonoTests.Mono.Unix.Native {
@@ -27,6 +28,8 @@ namespace MonoTests.Mono.Unix.Native {
                [ExpectedException (typeof (ArgumentOutOfRangeException))]
                public void TestRealTimeOutOfRange ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        RealTimeSignum rts = new RealTimeSignum (int.MaxValue);
                }
 
@@ -34,12 +37,16 @@ namespace MonoTests.Mono.Unix.Native {
                [ExpectedException (typeof (ArgumentOutOfRangeException))]
                public void TestRealTimeSignumNegativeOffset ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        RealTimeSignum rts1 = new RealTimeSignum (-1);
                }
 
                [Test]
                public void TestRTSignalEquality ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        RealTimeSignum rts1 = new RealTimeSignum (0);
                        RealTimeSignum rts2 = new RealTimeSignum (0);
                        Assert.That (rts1 == rts2, Is.True);
@@ -49,6 +56,8 @@ namespace MonoTests.Mono.Unix.Native {
                [Test]
                public void TestRTSignalInequality ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        RealTimeSignum rts1 = new RealTimeSignum (0);
                        RealTimeSignum rts2 = new RealTimeSignum (1);
                        Assert.That (rts1 == rts2, Is.False);
@@ -58,6 +67,8 @@ namespace MonoTests.Mono.Unix.Native {
                [Test]
                public void TestRTSignalGetHashCodeEquality ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        RealTimeSignum rts1 = new RealTimeSignum (0);
                        RealTimeSignum rts2 = new RealTimeSignum (0);
                        Assert.That (rts1.GetHashCode (), Is.EqualTo(rts2.GetHashCode ()));
@@ -66,6 +77,8 @@ namespace MonoTests.Mono.Unix.Native {
                [Test]
                public void TestRTSignalGetHashCodeInequality ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        RealTimeSignum rts1 = new RealTimeSignum (0);
                        RealTimeSignum rts2 = new RealTimeSignum (1);
                        Assert.That (rts1.GetHashCode (), Is.Not.EqualTo(rts2.GetHashCode ()));
@@ -74,6 +87,8 @@ namespace MonoTests.Mono.Unix.Native {
                [Test]
                public void TestIsRTSignalPropertyForRTSignum ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        UnixSignal signal1 = new UnixSignal(new RealTimeSignum (0));
                        Assert.That (signal1.IsRealTimeSignal, Is.True);
                }
@@ -81,6 +96,8 @@ namespace MonoTests.Mono.Unix.Native {
                [Test]
                public void TestIsRTSignalPropertyForSignum ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        UnixSignal signal1 = new UnixSignal (Signum.SIGSEGV);
                        Assert.That (signal1.IsRealTimeSignal, Is.False);
                }
diff --git a/mcs/class/Mono.Posix/Test/Mono.Unix.Native/SocketTest.cs b/mcs/class/Mono.Posix/Test/Mono.Unix.Native/SocketTest.cs
new file mode 100644 (file)
index 0000000..a82ee31
--- /dev/null
@@ -0,0 +1,223 @@
+//
+// socket-related test cases
+//
+// Authors:
+//  Steffen Kiess (s-kiess@web.de)
+//
+// Copyright (C) 2015 Steffen Kiess
+//
+
+using System;
+using System.IO;
+using System.Net;
+using System.Net.Sockets;
+using System.Runtime.InteropServices;
+
+using Mono.Unix;
+using Mono.Unix.Native;
+
+using NUnit.Framework;
+
+namespace MonoTests.Mono.Unix.Native
+{
+       [TestFixture, Category ("NotDotNet")]
+       public class SocketTest {
+
+               string TempFolder;
+
+               [SetUp]
+               public void SetUp ()
+               {
+                       TempFolder = Path.Combine (Path.GetTempPath (), this.GetType ().FullName);
+
+                       if (Directory.Exists (TempFolder))
+                               Directory.Delete (TempFolder, true);
+
+                       Directory.CreateDirectory (TempFolder);
+               }
+
+               [TearDown]
+               public void TearDown()
+               {
+                       if (Directory.Exists (TempFolder))
+                               Directory.Delete (TempFolder, true);
+               }
+
+               // Set a timeout on all sockets to make sure that if a test fails it
+               // won't cause the program to hang
+               void SetTimeout (int socket)
+               {
+                       var timeout = new Timeval {
+                               tv_sec = 0,
+                               tv_usec = 500000,
+                       };
+                       if (Syscall.setsockopt (socket, UnixSocketProtocol.SOL_SOCKET, UnixSocketOptionName.SO_RCVTIMEO, timeout) < 0 ||
+                                       Syscall.setsockopt (socket, UnixSocketProtocol.SOL_SOCKET, UnixSocketOptionName.SO_SNDTIMEO, timeout) < 0)
+                               UnixMarshal.ThrowExceptionForLastError ();
+               }
+
+               void WithSocketPair (Action<int, int> f)
+               {
+                       int socket1, socket2;
+                       if (Syscall.socketpair (UnixAddressFamily.AF_UNIX, UnixSocketType.SOCK_STREAM, 0, out socket1, out socket2) < 0)
+                               UnixMarshal.ThrowExceptionForLastError ();
+                       try {
+                               SetTimeout (socket1);
+                               SetTimeout (socket2);
+
+                               f (socket1, socket2);
+                       } finally {
+                               int r0 = Syscall.close (socket1);
+                               int r1 = Syscall.close (socket2);
+                               if (r0 < 0 || r1 < 0)
+                                       UnixMarshal.ThrowExceptionForLastError ();
+                       }
+               }
+
+               void WithSockets (UnixAddressFamily af, UnixSocketType type, UnixSocketProtocol protocol, Action<int, int> f)
+               {
+                       int so1, so2;
+                       if ((so1 = Syscall.socket (af, type, protocol)) < 0)
+                               UnixMarshal.ThrowExceptionForLastError ();
+                       try {
+                               if ((so2 = Syscall.socket (af, type, protocol)) < 0)
+                                       UnixMarshal.ThrowExceptionForLastError ();
+                               try {
+                                       SetTimeout (so1);
+                                       SetTimeout (so2);
+
+                                       f (so1, so2);
+                               } finally {
+                                       if (Syscall.close (so2) < 0)
+                                               UnixMarshal.ThrowExceptionForLastError ();
+                               }
+                       } finally {
+                               if (Syscall.close (so1) < 0)
+                                       UnixMarshal.ThrowExceptionForLastError ();
+                       }
+               }
+
+               [Test]
+               public void Socket ()
+               {
+                       int socket;
+                       if ((socket = Syscall.socket (UnixAddressFamily.AF_UNIX, UnixSocketType.SOCK_STREAM, 0)) < 0)
+                               UnixMarshal.ThrowExceptionForLastError ();
+
+                       if (Syscall.close (socket) < 0)
+                               UnixMarshal.ThrowExceptionForLastError ();
+               }
+
+               [Test]
+               public void SocketPair ()
+               {
+                       int socket1, socket2;
+                       if (Syscall.socketpair (UnixAddressFamily.AF_UNIX, UnixSocketType.SOCK_STREAM, 0, out socket1, out socket2) < 0)
+                               UnixMarshal.ThrowExceptionForLastError ();
+
+                       int r0 = Syscall.close (socket1);
+                       int r1 = Syscall.close (socket2);
+                       if (r0 < 0 || r1 < 0)
+                               UnixMarshal.ThrowExceptionForLastError ();
+               }
+
+               [Test]
+               public void SendRecv ()
+               {
+                       WithSocketPair ((so1, so2) => {
+                               long ret;
+                               var buffer1 = new byte[] { 42, 43, 44 };
+                               ret = Syscall.send (so1, buffer1, (ulong) buffer1.Length, 0);
+                               if (ret < 0)
+                                       UnixMarshal.ThrowExceptionForLastError ();
+
+                               var buffer2 = new byte[1024];
+                               ret = Syscall.recv (so2, buffer2, (ulong) buffer2.Length, 0);
+                               if (ret < 0)
+                                       UnixMarshal.ThrowExceptionForLastError ();
+
+                               Assert.AreEqual (buffer1.Length, ret);
+                               for (int i = 0; i < buffer1.Length; i++)
+                                       Assert.AreEqual (buffer1[i], buffer2[i]);
+                       });
+               }
+
+               [Test]
+               public void SockOpt ()
+               {
+                       WithSockets (UnixAddressFamily.AF_UNIX, UnixSocketType.SOCK_STREAM, 0, (so1, so2) => {
+                               if (Syscall.getsockopt (so1, UnixSocketProtocol.SOL_SOCKET, UnixSocketOptionName.SO_REUSEADDR, out value) < 0)
+                                       UnixMarshal.ThrowExceptionForLastError ();
+                               Assert.AreEqual (0, value);
+
+                               // Set SO_REUSEADDR to 1
+                               if (Syscall.setsockopt (so1, UnixSocketProtocol.SOL_SOCKET, UnixSocketOptionName.SO_REUSEADDR, 1) < 0)
+                                       UnixMarshal.ThrowExceptionForLastError ();
+
+                               // Get and check SO_REUSEADDR
+                               int value;
+                               if (Syscall.getsockopt (so1, UnixSocketProtocol.SOL_SOCKET, UnixSocketOptionName.SO_REUSEADDR, out value) < 0)
+                                       UnixMarshal.ThrowExceptionForLastError ();
+                               Assert.AreNotEqual (0, value);
+
+                               // Set SO_REUSEADDR to 0
+                               if (Syscall.setsockopt (so1, UnixSocketProtocol.SOL_SOCKET, UnixSocketOptionName.SO_REUSEADDR, new byte[10], 4) < 0)
+                                       UnixMarshal.ThrowExceptionForLastError ();
+
+                               // Get and check SO_REUSEADDR
+                               var buffer = new byte[15];
+                               long size = 12;
+                               if (Syscall.getsockopt (so1, UnixSocketProtocol.SOL_SOCKET, UnixSocketOptionName.SO_REUSEADDR, buffer, ref size) < 0)
+                                       UnixMarshal.ThrowExceptionForLastError ();
+                               Assert.AreEqual (size, 4);
+                               for (int i = 0; i < size; i++)
+                                       Assert.AreEqual (buffer[i], 0);
+                       });
+               }
+
+               [Test]
+               public void SockOptLinger ()
+               {
+                       WithSockets (UnixAddressFamily.AF_INET, UnixSocketType.SOCK_STREAM, UnixSocketProtocol.IPPROTO_TCP, (so1, so2) => {
+                               Linger linger = new Linger {
+                                       l_onoff = 1,
+                                       l_linger = 42,
+                               };
+                               // Set SO_LINGER
+                               if (Syscall.setsockopt (so1, UnixSocketProtocol.SOL_SOCKET, UnixSocketOptionName.SO_LINGER, linger) < 0)
+                                       UnixMarshal.ThrowExceptionForLastError ();
+
+                               // Get and check SO_LINGER
+                               Linger value;
+                               if (Syscall.getsockopt (so1, UnixSocketProtocol.SOL_SOCKET, UnixSocketOptionName.SO_LINGER, out value) < 0)
+                                       UnixMarshal.ThrowExceptionForLastError ();
+                               if (value.l_onoff == 0)
+                                       Assert.Fail ("Linger not enabled");
+                               Assert.AreEqual (linger.l_linger, value.l_linger);
+                       });
+               }
+
+               [Test]
+               public void Shutdown ()
+               {
+                       WithSocketPair ((so1, so2) => {
+                               if (Syscall.shutdown (so1, ShutdownOption.SHUT_WR) < 0)
+                                       UnixMarshal.ThrowExceptionForLastError ();
+
+                               var buffer2 = new byte[1024];
+                               long ret = Syscall.recv (so2, buffer2, (ulong) buffer2.Length, 0);
+                               if (ret < 0)
+                                       UnixMarshal.ThrowExceptionForLastError ();
+
+                               Assert.AreEqual (ret, 0);
+                       });
+               }
+       }
+}
+
+// vim: noexpandtab
+// Local Variables: 
+// tab-width: 4
+// c-basic-offset: 4
+// indent-tabs-mode: t
+// End: 
index b7b4e6fc695e9539dc22237d55b0b1a45c766ff2..14613104d9b7c0198895e604cd4fbc5149329719 100644 (file)
@@ -15,6 +15,7 @@ using System;
 using System.Text;
 using System.Threading;
 using Mono.Unix;
+using Mono.Unix.Android;
 using Mono.Unix.Native;
 #if !MONODROID
 namespace NUnit.Framework.SyntaxHelpers { class Dummy {} }
@@ -117,6 +118,7 @@ namespace MonoTests.Mono.Unix {
                }
 
                [Test]
+               [Category ("AndroidNotWorking")] // Crashes (silently) the runtime in similar fashion to real-time signals
                public void TestSignumProperty ()
                {
                        UnixSignal signal1 = new UnixSignal (Signum.SIGSEGV);
@@ -127,6 +129,8 @@ namespace MonoTests.Mono.Unix {
                [Category ("NotOnMac")]
                public void TestRealTimeCstor ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        RealTimeSignum rts = new RealTimeSignum (0);
                        using (UnixSignal s = new UnixSignal (rts))
                        {
@@ -140,6 +144,8 @@ namespace MonoTests.Mono.Unix {
                [Category ("NotOnMac")]
                public void TestSignumPropertyThrows ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        UnixSignal signal1 = new UnixSignal (new RealTimeSignum (0));
                        Signum s = signal1.Signum;
                }
@@ -148,6 +154,8 @@ namespace MonoTests.Mono.Unix {
                [Category ("NotOnMac")]
                public void TestRealTimeSignumProperty ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        RealTimeSignum rts = new RealTimeSignum (0);
                        UnixSignal signal1 = new UnixSignal (rts);
                        Assert.That (signal1.RealTimeSignum, Is.EqualTo (rts));
@@ -158,6 +166,8 @@ namespace MonoTests.Mono.Unix {
                [Category ("NotOnMac")]
                public void TestRealTimePropertyThrows ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        UnixSignal signal1 = new UnixSignal (Signum.SIGSEGV);
                        RealTimeSignum s = signal1.RealTimeSignum;
                }
@@ -166,6 +176,8 @@ namespace MonoTests.Mono.Unix {
                [Category ("NotOnMac")]
                public void TestRaiseRTMINSignal ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        RealTimeSignum rts = new RealTimeSignum (0);
                        using (UnixSignal signal = new UnixSignal (rts))
                        {
@@ -180,6 +192,8 @@ namespace MonoTests.Mono.Unix {
                [Category ("NotOnMac")]
                public void TestRaiseRTMINPlusOneSignal ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        /*this number is a guestimate, but it's ok*/
                        for (int i = 1; i < 10; ++i) {
                                RealTimeSignum rts = new RealTimeSignum (i);
@@ -205,6 +219,8 @@ namespace MonoTests.Mono.Unix {
                [Category ("NotOnMac")]
                public void TestCanRegisterRTSignalMultipleTimes ()
                {
+                       if (!TestHelper.CanUseRealTimeSignals ())
+                               return;
                        /*this number is a guestimate, but it's ok*/
                        for (int i = 1; i < 10; ++i) {
                                RealTimeSignum rts = new RealTimeSignum (i);
@@ -394,7 +410,6 @@ namespace MonoTests.Mono.Unix {
                const int StormCount = 100000;
 
                [Test]
-               [Category("NotOnMac")] // OSX signal storming will not deliver every one
                public void TestRaiseStorm ()
                {
                        UnixSignal[] usignals = CreateSignals (signals);
@@ -408,7 +423,7 @@ namespace MonoTests.Mono.Unix {
                                t.Start ();
                        foreach (Thread t in threads)
                                t.Join ();
-                       AssertCount (usignals);
+                       AssertCountSet (usignals);
                        CloseSignals (usignals);
                }
 
@@ -420,6 +435,13 @@ namespace MonoTests.Mono.Unix {
                        Assert.AreEqual (sum, StormCount);
                }
 
+               static void AssertCountSet (UnixSignal[] usignals)
+               {
+                       foreach (UnixSignal s in usignals) {
+                               Assert.IsTrue (s.Count > 0);
+                       }
+               }
+
                static UnixSignal[] CreateSignals (Signum[] signals)
                {
                        UnixSignal[] s = new UnixSignal [signals.Length];
@@ -446,7 +468,6 @@ namespace MonoTests.Mono.Unix {
                }
 
                [Test]
-               [Category("NotOnMac")] // OSX signal storming will not deliver every one
                public void TestAddRemove ()
                {
                        UnixSignal[] usignals = CreateSignals (signals);
@@ -461,7 +482,7 @@ namespace MonoTests.Mono.Unix {
                        foreach (Thread t in threads)
                                t.Join ();
 
-                       AssertCount (usignals);
+                       AssertCountSet (usignals);
                        CloseSignals (usignals);
                }
 
@@ -481,7 +502,6 @@ namespace MonoTests.Mono.Unix {
                }
 
                [Test]
-               [Category("NotOnMac")] // OSX signal storming will not deliver every one
                public void TestWaitAny ()
                {
                        UnixSignal[] usignals = CreateSignals (signals);
@@ -499,7 +519,7 @@ namespace MonoTests.Mono.Unix {
                        foreach (Thread t in threads)
                                t.Join ();
 
-                       AssertCount (usignals);
+                       AssertCountSet (usignals);
                        CloseSignals (usignals);
                }
 
diff --git a/mcs/class/Mono.Security.Win32/Mono.Security.Win32-net_4_x.csproj b/mcs/class/Mono.Security.Win32/Mono.Security.Win32-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2be8ede
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{994BF3A4-85FD-4FDB-9120-C3A3B44A57CD}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Security.Win32</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\CapiContext.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\CapiHash.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\CapiRandomNumberGenerator.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\CryptoAPI.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\MD2.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\MD2CryptoServiceProvider.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\MD4.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\MD4CryptoServiceProvider.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\MD5CryptoServiceProvider.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\RNGCryptoServiceProvider.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\SHA1CryptoServiceProvider.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.Security/Mono.Security-net_4_x.csproj b/mcs/class/Mono.Security/Mono.Security-net_4_x.csproj
new file mode 100644 (file)
index 0000000..cc51fcf
--- /dev/null
@@ -0,0 +1,220 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1030</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Security</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,1030</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include=".\Mono.Math.Prime.Generator\NextPrimeFinder.cs" />\r
+    <Compile Include=".\Mono.Math.Prime.Generator\PrimeGeneratorBase.cs" />\r
+    <Compile Include=".\Mono.Math.Prime.Generator\SequentialSearchPrimeGeneratorBase.cs" />\r
+    <Compile Include=".\Mono.Math.Prime\ConfidenceFactor.cs" />\r
+    <Compile Include=".\Mono.Math.Prime\PrimalityTests.cs" />\r
+    <Compile Include=".\Mono.Math\BigInteger.cs" />\r
+    <Compile Include=".\Mono.Security.Authenticode\AuthenticodeBase.cs" />\r
+    <Compile Include=".\Mono.Security.Authenticode\AuthenticodeDeformatter.cs" />\r
+    <Compile Include=".\Mono.Security.Authenticode\AuthenticodeFormatter.cs" />\r
+    <Compile Include=".\Mono.Security.Authenticode\PrivateKey.cs" />\r
+    <Compile Include=".\Mono.Security.Authenticode\SoftwarePublisherCertificate.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\ARC4Managed.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\CryptoConvert.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\CryptoTools.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\DHKeyGeneration.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\DHParameters.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\DiffieHellman.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\DiffieHellmanManaged.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\KeyPairPersistence.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\MD2.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\MD2Managed.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\MD4.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\MD4Managed.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\MD5SHA1.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\PKCS1.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\PKCS8.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\RC4.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\RSAManaged.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\SHA224.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\SHA224Managed.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\SymmetricTransform.cs" />\r
+    <Compile Include=".\Mono.Security.Cryptography\TlsHMAC.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Ntlm\ChallengeResponse.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Ntlm\ChallengeResponse2.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Ntlm\MessageBase.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Ntlm\NtlmAuthLevel.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Ntlm\NtlmFlags.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Ntlm\NtlmSettings.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Ntlm\Type1Message.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Ntlm\Type2Message.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Ntlm\Type3Message.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsClientCertificate.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsClientCertificateVerify.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsClientFinished.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsClientHello.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsClientKeyExchange.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsServerCertificate.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsServerCertificateRequest.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsServerFinished.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsServerHello.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsServerHelloDone.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Client\TlsServerKeyExchange.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsClientCertificate.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsClientCertificateVerify.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsClientFinished.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsClientHello.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsClientKeyExchange.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsServerCertificate.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsServerCertificateRequest.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsServerFinished.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsServerHello.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsServerHelloDone.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake.Server\TlsServerKeyExchange.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake\ClientCertificateType.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake\HandshakeMessage.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls.Handshake\HandshakeType.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\Alert.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\CipherAlgorithmType.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\CipherSuite.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\CipherSuiteCollection.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\CipherSuiteFactory.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\ClientContext.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\ClientRecordProtocol.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\ClientSessionCache.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\ContentType.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\Context.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\DebugHelper.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\ExchangeAlgorithmType.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\HandshakeState.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\HashAlgorithmType.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\HttpsClientStream.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\RecordProtocol.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\RSASslSignatureDeformatter.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\RSASslSignatureFormatter.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\SecurityCompressionType.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\SecurityParameters.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\SecurityProtocolType.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\ServerContext.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\ServerRecordProtocol.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\SslCipherSuite.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\SslClientStream.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\SslHandshakeHash.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\SslServerStream.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\SslStreamBase.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\TlsCipherSuite.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\TlsClientSettings.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\TlsException.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\TlsServerSettings.cs" />\r
+    <Compile Include=".\Mono.Security.Protocol.Tls\TlsStream.cs" />\r
+    <Compile Include=".\Mono.Security.X509.Extensions\AuthorityKeyIdentifierExtension.cs" />\r
+    <Compile Include=".\Mono.Security.X509.Extensions\BasicConstraintsExtension.cs" />\r
+    <Compile Include=".\Mono.Security.X509.Extensions\CertificatePoliciesExtension.cs" />\r
+    <Compile Include=".\Mono.Security.X509.Extensions\CRLDistributionPointsExtension.cs" />\r
+    <Compile Include=".\Mono.Security.X509.Extensions\ExtendedKeyUsageExtension.cs" />\r
+    <Compile Include=".\Mono.Security.X509.Extensions\GeneralNames.cs" />\r
+    <Compile Include=".\Mono.Security.X509.Extensions\KeyAttributesExtension.cs" />\r
+    <Compile Include=".\Mono.Security.X509.Extensions\KeyUsageExtension.cs" />\r
+    <Compile Include=".\Mono.Security.X509.Extensions\NetscapeCertTypeExtension.cs" />\r
+    <Compile Include=".\Mono.Security.X509.Extensions\PrivateKeyUsagePeriodExtension.cs" />\r
+    <Compile Include=".\Mono.Security.X509.Extensions\SubjectAltNameExtension.cs" />\r
+    <Compile Include=".\Mono.Security.X509.Extensions\SubjectKeyIdentifierExtension.cs" />\r
+    <Compile Include=".\Mono.Security.X509\PKCS12.cs" />\r
+    <Compile Include=".\Mono.Security.X509\X501Name.cs" />\r
+    <Compile Include=".\Mono.Security.X509\X509Builder.cs" />\r
+    <Compile Include=".\Mono.Security.X509\X509Certificate.cs" />\r
+    <Compile Include=".\Mono.Security.X509\X509CertificateBuilder.cs" />\r
+    <Compile Include=".\Mono.Security.X509\X509CertificateCollection.cs" />\r
+    <Compile Include=".\Mono.Security.X509\X509Chain.cs" />\r
+    <Compile Include=".\Mono.Security.X509\X509ChainStatusFlags.cs" />\r
+    <Compile Include=".\Mono.Security.X509\X509CRL.cs" />\r
+    <Compile Include=".\Mono.Security.X509\X509Extension.cs" />\r
+    <Compile Include=".\Mono.Security.X509\X509Extensions.cs" />\r
+    <Compile Include=".\Mono.Security.X509\X509Store.cs" />\r
+    <Compile Include=".\Mono.Security.X509\X509StoreManager.cs" />\r
+    <Compile Include=".\Mono.Security.X509\X509Stores.cs" />\r
+    <Compile Include=".\Mono.Security.X509\X520Attributes.cs" />\r
+    <Compile Include=".\Mono.Security\ASN1.cs" />\r
+    <Compile Include=".\Mono.Security\ASN1Convert.cs" />\r
+    <Compile Include=".\Mono.Security\BitConverterLE.cs" />\r
+    <Compile Include=".\Mono.Security\PKCS7.cs" />\r
+    <Compile Include=".\Mono.Security\StrongName.cs" />\r
+    <Compile Include=".\Mono.Xml\MiniParser.cs" />\r
+    <Compile Include=".\Mono.Xml\SecurityParser.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-bare-net_4_x.csproj">\r
+      <Project>{483DB7F6-9145-4AE2-B9B2-2B5EE6FDEFB4}</Project>\r
+      <Name>System-bare-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index d57ce5ae55c1e69d7a444b3568960b11554979be..054038731aec8a6f15ef7c9ece468b1603ae68b9 100644 (file)
@@ -88,6 +88,10 @@ namespace Mono.Security.Cryptography {
                // block size (which isn't their real internal block size)
                public BlockProcessor (ICryptoTransform transform, int blockSize)
                {
+                       if (transform == null)
+                               throw new ArgumentNullException ("transform");
+                       if (blockSize <= 0)
+                               throw new ArgumentOutOfRangeException ("blockSize");
                        this.transform = transform;
                        this.blockSize = blockSize;
                        block = new byte [blockSize];
diff --git a/mcs/class/Mono.Security/monotouch_tv_Mono.Security.dll.sources b/mcs/class/Mono.Security/monotouch_tv_Mono.Security.dll.sources
new file mode 100644 (file)
index 0000000..007d940
--- /dev/null
@@ -0,0 +1 @@
+#include monotouch_Mono.Security.dll.sources
\ No newline at end of file
diff --git a/mcs/class/Mono.Simd/Mono.Simd-net_4_x.csproj b/mcs/class/Mono.Simd/Mono.Simd-net_4_x.csproj
new file mode 100644 (file)
index 0000000..423ccd6
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{9DD41BEA-E086-42C4-9FB8-85ABEDDA7F37}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Simd</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.Simd\AccelerationAttribute.cs" />\r
+    <Compile Include="Mono.Simd\AccelMode.cs" />\r
+    <Compile Include="Mono.Simd\ArrayExtensions.cs" />\r
+    <Compile Include="Mono.Simd\SimdRuntime.cs" />\r
+    <Compile Include="Mono.Simd\Vector16b.cs" />\r
+    <Compile Include="Mono.Simd\Vector16sb.cs" />\r
+    <Compile Include="Mono.Simd\Vector2d.cs" />\r
+    <Compile Include="Mono.Simd\Vector2l.cs" />\r
+    <Compile Include="Mono.Simd\Vector2ul.cs" />\r
+    <Compile Include="Mono.Simd\Vector4f.cs" />\r
+    <Compile Include="Mono.Simd\Vector4i.cs" />\r
+    <Compile Include="Mono.Simd\Vector4ui.cs" />\r
+    <Compile Include="Mono.Simd\Vector8s.cs" />\r
+    <Compile Include="Mono.Simd\Vector8us.cs" />\r
+    <Compile Include="Mono.Simd\VectorOperations.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.Tasklets/Mono.Tasklets-net_4_x.csproj b/mcs/class/Mono.Tasklets/Mono.Tasklets-net_4_x.csproj
new file mode 100644 (file)
index 0000000..0f63283
--- /dev/null
@@ -0,0 +1,84 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{85EC1EAD-8AA5-4CF8-A0CE-3882FEB7C57B}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Tasklets</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.Tasklets\Continuation.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.WebBrowser/Mono.WebBrowser-net_4_x.csproj b/mcs/class/Mono.WebBrowser/Mono.WebBrowser-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9e3b282
--- /dev/null
@@ -0,0 +1,241 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{B6DD737B-421C-4201-A852-8022328FE59D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.WebBrowser</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.Mozilla\AsciiString.cs" />\r
+    <Compile Include="Mono.Mozilla\Base.cs" />\r
+    <Compile Include="Mono.Mozilla\Callback.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\Attribute.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\AttributeCollection.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\ContentListener.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\Document.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\DocumentEncoder.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\DocumentType.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\DOMImplementation.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\DOMObject.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\Element.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\EventListener.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\History.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\HTMLElement.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\HTMLElementCollection.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\NamedNodeMap.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\Navigation.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\Node.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\NodeList.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\Stream.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\Stylesheet.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\StylesheetList.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\Window.cs" />\r
+    <Compile Include="Mono.Mozilla\DOM\WindowCollection.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\extras\DocumentEncoderFlags.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\extras\NodeType.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\extras\nsIReadSegmentFun.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\extras\nsITimerCallbackDelegate.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\extras\nsIWriteSegmentFun.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\extras\Options.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIAccessibilityService.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIAccessible.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIAccessibleDocument.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIAccessibleRelation.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIAccessibleRetrieval.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIAccessNode.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIArray.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsICancelable.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIChannel.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIClassInfo.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDocCharset.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDocumentEncoder.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDocumentEncoderNodeFixup.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMAbstractView.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMAttr.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMBarProp.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCDATASection.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCharacterData.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMComment.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCounter.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCSSPrimitiveValue.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCSSRule.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCSSRuleList.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCSSStyleDeclaration.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCSSStyleSheet.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMCSSValue.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDocument.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDocumentEvent.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDocumentFragment.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDocumentRange.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDocumentStyle.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDocumentType.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDocumentView.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDOMImplementation.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMDOMStringList.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMElement.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMEntityReference.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMEvent.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMEventListener.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMEventTarget.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMHTMLBodyElement.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMHTMLCollection.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMHTMLDocument.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMHTMLElement.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMHTMLStyleElement.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMKeyEvent.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMMediaList.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMMouseEvent.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMNamedNodeMap.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMNode.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMNodeList.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMNSHTMLElement.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMNSRange.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMProcessingInstruction.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMRange.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMRect.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMRGBColor.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMStyleSheet.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMStyleSheetList.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMText.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMUIEvent.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMViewCSS.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMWindow.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIDOMWindowCollection.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIErrorService.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIFile.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIHistoryEntry.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIInputStream.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIInterfaceRequestor.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIIOService.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsILoadGroup.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIObserver.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIOutputStream.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIPersistentProperties.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIPrefBranch.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIPrefService.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIProperties.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIProtocolHandler.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIRequest.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIRequestObserver.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsISelection.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIServiceManager.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsISHistory.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsISHistoryListener.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsISimpleEnumerator.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIStreamListener.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsITimer.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsITimerCallback.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIURI.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIURIContentListener.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIWeakReference.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIWebBrowser.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIWebBrowserChrome.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIWebBrowserChromeFocus.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIWebBrowserFocus.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIWebBrowserPersist.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIWebBrowserStream.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIWebNavigation.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIWebProgress.cs" />\r
+    <Compile Include="Mono.Mozilla\interfaces\nsIWebProgressListener.cs" />\r
+    <Compile Include="Mono.Mozilla\UniString.cs" />\r
+    <Compile Include="Mono.Mozilla\WebBrowser.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\EventArgs.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\EventHandlers.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\IAttribute.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\IAttributeCollection.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\IDocument.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\IDocumentType.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\IDOMImplementation.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\IElement.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\IElementCollection.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\IHistory.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\IMediaList.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\INamedNodeMap.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\INavigation.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\INode.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\INodeList.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\IStylesheet.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\IStylesheetList.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\IWindow.cs" />\r
+    <Compile Include="Mono.WebBrowser\DOM\IWindowCollection.cs" />\r
+    <Compile Include="Mono.WebBrowser\Exception.cs" />\r
+    <Compile Include="Mono.WebBrowser\IWebBrowser.cs" />\r
+    <Compile Include="Mono.WebBrowser\Manager.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_4_x.csproj b/mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_4_x.csproj
new file mode 100644 (file)
index 0000000..fa323d9
--- /dev/null
@@ -0,0 +1,103 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{3FA2C1F8-62D9-421D-8EEE-B4E651B8588C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.XBuild.Tasks</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\..\tools\xbuild\XBuildConsts.cs" />\r
+    <Compile Include="..\Microsoft.Build.Utilities\Mono.XBuild.Utilities\MSBuildUtils.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.XBuild.Tasks\LibraryPcFileCache.cs" />\r
+    <Compile Include="Mono.XBuild.Tasks\PcFileCache.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Novell.Directory.Ldap/Novell.Directory.Ldap-net_4_x.csproj b/mcs/class/Novell.Directory.Ldap/Novell.Directory.Ldap-net_4_x.csproj
new file mode 100644 (file)
index 0000000..094bcd9
--- /dev/null
@@ -0,0 +1,317 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{B424FF7F-8F49-45F5-BFD5-6319F818816F}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,612</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Novell.Directory.Ldap</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,612</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs.in" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Boolean.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Choice.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Decoder.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Encoder.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Enumerated.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Identifier.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Integer.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Length.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Null.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Numeric.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Object.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1OctetString.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Sequence.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1SequenceOf.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Set.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1SetOf.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Structured.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\Asn1Tagged.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\LBERDecoder.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Asn1\LBEREncoder.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Controls\LdapEntryChangeControl.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Controls\LdapPersistSearchControl.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Controls\LdapSortControl.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Controls\LdapSortKey.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Controls\LdapSortResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Controls\LdapVirtualListControl.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Controls\LdapVirtualListResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\BaseEdirEventData.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\BinderyObjectEventData.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\ChangeAddressEventData.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\ConnectionStateEventData.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\DebugEventData.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\DebugParameter.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\DSETimeStamp.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\EntryEventData.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\GeneralDSEventData.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\ModuleStateEventData.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\NetworkAddressEventData.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\ReferralAddress.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\SecurityEquivalenceEventData.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir.EventData\ValueEventData.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir\EdirEventArgs.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir\EdirEventConstants.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir\EdirEventIntermediateResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir\EdirEventSource.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir\EdirEventSpecifier.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir\MonitorEventRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events.Edir\MonitorEventResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events\BaseEventArgs.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events\DirectoryEventArgs.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events\DirectoryExceptionEventArgs.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events\LdapEventArgs.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events\LdapEventConstants.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events\LdapEventSource.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events\PSearchEventSource.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events\SearchReferralEventArgs.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Events\SearchResultEventArgs.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\AbortPartitionOperationRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\AddReplicaRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\BackupRestoreConstants.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\ChangeReplicaTypeRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\GetBindDNRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\GetBindDNResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\GetEffectivePrivilegesRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\GetEffectivePrivilegesResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\GetReplicaInfoRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\GetReplicaInfoResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\GetReplicationFilterRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\GetReplicationFilterResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\LdapBackupRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\LdapBackupResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\LdapRestoreRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\ListReplicasRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\ListReplicasResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\MergePartitionsRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\NamingContextConstants.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\PartitionEntryCountRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\PartitionEntryCountResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\PartitionSyncRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\ReceiveAllUpdatesRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\RefreshLdapServerRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\RemoveOrphanPartitionRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\RemoveReplicaRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\ReplicationConstants.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\SchemaSyncRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\SendAllUpdatesRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\SetReplicationFilterRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\SplitOrphanPartitionRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\SplitPartitionRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Extensions\TriggerBackgroundProcessRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAbandonRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAddRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAddResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAssertionValue.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAttributeDescription.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAttributeDescriptionList.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAttributeList.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAttributeTypeAndValues.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAttributeValue.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAttributeValueAssertion.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcAuthenticationChoice.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcBindRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcBindResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcCompareRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcCompareResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcControl.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcControls.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcDelRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcDelResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcExtendedRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcExtendedResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcFilter.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcIntermediateResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcLdapDN.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcLdapMessage.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcLdapOID.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcLdapResult.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcLdapString.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcLdapSuperDN.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcMatchingRuleAssertion.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcMatchingRuleId.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcMessageID.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcModifyDNRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcModifyDNResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcModifyRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcModifyResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcReferral.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcRelativeLdapDN.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcSaslCredentials.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcSearchRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcSearchResultDone.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcSearchResultEntry.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcSearchResultReference.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcSubstringFilter.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Rfc2251\RfcUnbindRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\ArrayEnumeration.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\AttributeQualifier.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\Base64.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\BindProperties.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\CharacterTypes.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\DN.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\EnumeratedIterator.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\ExceptionMessages.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\ExtResponseFactory.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\IntermediateResponseFactory.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\RDN.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\ReferralInfo.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\ResourcesHandler.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\RespControlVector.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\RespExtensionSet.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\ResultCodeMessages.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\SchemaParser.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\SchemaTokenCreator.cs" />\r
+    <Compile Include="Novell.Directory.Ldap.Utilclass\TokenTypes.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\AssemblyInfo.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\AuthenticationTypes.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\Connection.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\InterThreadException.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapAbandonRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapAddRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapAttribute.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapAttributeSchema.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapAttributeSet.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapAuthHandler.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapAuthProvider.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapBindHandler.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapBindRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapCompareAttrNames.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapCompareRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapConnection.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapConstraints.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapControl.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapDeleteRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapDITContentRuleSchema.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapDITStructureRuleSchema.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapDN.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapDSConstants.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapEntry.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapException.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapExtendedOperation.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapExtendedRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapExtendedResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapIntermediateResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapLocalException.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapMatchingRuleSchema.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapMatchingRuleUseSchema.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapMessage.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapMessageQueue.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapModification.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapModifyDNRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapModifyRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapNameFormSchema.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapObjectClassSchema.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapReferralException.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapReferralHandler.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapResponse.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapResponseQueue.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapSchema.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapSchemaElement.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapSearchConstraints.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapSearchQueue.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapSearchRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapSearchResult.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapSearchResultReference.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapSearchResults.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapSyntaxSchema.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapUnbindRequest.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapUnsolicitedNotificationListener.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\LdapUrl.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\Message.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\MessageAgent.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\MessageVector.cs" />\r
+    <Compile Include="Novell.Directory.Ldap\SupportClass.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Security/Mono.Security-net_4_x.csproj">\r
+      <Project>{42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}</Project>\r
+      <Name>Mono.Security-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Security/Mono.Security-net_4_x.csproj">\r
+      <Project>{42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}</Project>\r
+      <Name>Mono.Security-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="Novell.Directory.Ldap.Utilclass/ResultCodeMessages.resources">\r
+      <LogicalName>ResultCodeMessages.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/PEAPI/PEAPI-net_4_x.csproj b/mcs/class/PEAPI/PEAPI-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a97f3a0
--- /dev/null
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{34443C71-09F1-4F21-ABB4-82822376F74F}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,414,618</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>PEAPI</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Code.cs" />\r
+    <Compile Include="Metadata.cs" />\r
+    <Compile Include="PEAPI.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/RabbitMQ.Client/src/apigen/RabbitMQ.Client.Apigen-net_4_x.csproj b/mcs/class/RabbitMQ.Client/src/apigen/RabbitMQ.Client.Apigen-net_4_x.csproj
new file mode 100644 (file)
index 0000000..64bca8b
--- /dev/null
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D2A49790-9CFD-492B-9CFA-58B9AEDA1B75}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>RabbitMQ.Client.Apigen</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\client\api\AmqpTimestamp.cs" />\r
+    <Compile Include="..\client\api\IBasicConsumer.cs" />\r
+    <Compile Include="..\client\api\IBasicProperties.cs" />\r
+    <Compile Include="..\client\api\IContentHeader.cs" />\r
+    <Compile Include="..\client\api\IFileProperties.cs" />\r
+    <Compile Include="..\client\api\IModel.cs" />\r
+    <Compile Include="..\client\api\IStreamProperties.cs" />\r
+    <Compile Include="..\client\api\PublicationAddress.cs" />\r
+    <Compile Include="..\client\api\ShutdownEventArgs.cs" />\r
+    <Compile Include="..\client\api\ShutdownInitiator.cs" />\r
+    <Compile Include="..\client\events\BasicReturnEventArgs.cs" />\r
+    <Compile Include="..\client\events\BasicReturnEventHandler.cs" />\r
+    <Compile Include="..\client\events\CallbackExceptionEventArgs.cs" />\r
+    <Compile Include="..\client\events\CallbackExceptionEventHandler.cs" />\r
+    <Compile Include="..\client\events\ModelShutdownEventHandler.cs" />\r
+    <Compile Include="AmqpClass.cs" />\r
+    <Compile Include="AmqpEntity.cs" />\r
+    <Compile Include="AmqpField.cs" />\r
+    <Compile Include="AmqpMethod.cs" />\r
+    <Compile Include="Apigen.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/RabbitMQ.Client/src/client/RabbitMQ.Client-net_4_x.csproj b/mcs/class/RabbitMQ.Client/src/client/RabbitMQ.Client-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c1c44be
--- /dev/null
@@ -0,0 +1,216 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{8A378E82-8FA2-4DC9-A2F7-CD5CACC3F8F6}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <OutputPath>./../../../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>RabbitMQ.Client</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\util\BlockingCell.cs" />\r
+    <Compile Include="..\util\DebugUtil.cs" />\r
+    <Compile Include="..\util\Either.cs" />\r
+    <Compile Include="..\util\IntAllocator.cs" />\r
+    <Compile Include="..\util\NetworkBinaryReader.cs" />\r
+    <Compile Include="..\util\NetworkBinaryWriter.cs" />\r
+    <Compile Include="..\util\Semaphore.cs" />\r
+    <Compile Include="..\util\SharedQueue.cs" />\r
+    <Compile Include="..\util\XmlUtil.cs" />\r
+    <Compile Include=".\api\AmqpTcpEndpoint.cs" />\r
+    <Compile Include=".\api\AmqpTimestamp.cs" />\r
+    <Compile Include=".\api\AmqpVersion.cs" />\r
+    <Compile Include=".\api\BinaryTableValue.cs" />\r
+    <Compile Include=".\api\ConnectionFactory.cs" />\r
+    <Compile Include=".\api\DefaultBasicConsumer.cs" />\r
+    <Compile Include=".\api\ExchangeType.cs" />\r
+    <Compile Include=".\api\IBasicConsumer.cs" />\r
+    <Compile Include=".\api\IBasicProperties.cs" />\r
+    <Compile Include=".\api\IConnection.cs" />\r
+    <Compile Include=".\api\IContentHeader.cs" />\r
+    <Compile Include=".\api\IFileProperties.cs" />\r
+    <Compile Include=".\api\IMethod.cs" />\r
+    <Compile Include=".\api\IModel.cs" />\r
+    <Compile Include=".\api\IProtocol.cs" />\r
+    <Compile Include=".\api\IStreamProperties.cs" />\r
+    <Compile Include=".\api\Protocols.cs" />\r
+    <Compile Include=".\api\PublicationAddress.cs" />\r
+    <Compile Include=".\api\QueueingBasicConsumer.cs" />\r
+    <Compile Include=".\api\ShutdownEventArgs.cs" />\r
+    <Compile Include=".\api\ShutdownInitiator.cs" />\r
+    <Compile Include=".\api\ShutdownReportEntry.cs" />\r
+    <Compile Include=".\api\SslHelper.cs" />\r
+    <Compile Include=".\api\SslOption.cs" />\r
+    <Compile Include=".\AssemblyInfo.cs" />\r
+    <Compile Include=".\content\BasicMessageBuilder.cs" />\r
+    <Compile Include=".\content\BasicMessageReader.cs" />\r
+    <Compile Include=".\content\BytesMessageBuilder.cs" />\r
+    <Compile Include=".\content\BytesMessageReader.cs" />\r
+    <Compile Include=".\content\BytesWireFormatting.cs" />\r
+    <Compile Include=".\content\IBytesMessageBuilder.cs" />\r
+    <Compile Include=".\content\IBytesMessageReader.cs" />\r
+    <Compile Include=".\content\IMapMessageBuilder.cs" />\r
+    <Compile Include=".\content\IMapMessageReader.cs" />\r
+    <Compile Include=".\content\IMessageBuilder.cs" />\r
+    <Compile Include=".\content\IMessageReader.cs" />\r
+    <Compile Include=".\content\IStreamMessageBuilder.cs" />\r
+    <Compile Include=".\content\IStreamMessageReader.cs" />\r
+    <Compile Include=".\content\MapMessageBuilder.cs" />\r
+    <Compile Include=".\content\MapMessageReader.cs" />\r
+    <Compile Include=".\content\MapWireFormatting.cs" />\r
+    <Compile Include=".\content\PrimitiveParser.cs" />\r
+    <Compile Include=".\content\StreamMessageBuilder.cs" />\r
+    <Compile Include=".\content\StreamMessageReader.cs" />\r
+    <Compile Include=".\content\StreamWireFormatting.cs" />\r
+    <Compile Include=".\events\BasicDeliverEventArgs.cs" />\r
+    <Compile Include=".\events\BasicDeliverEventHandler.cs" />\r
+    <Compile Include=".\events\BasicReturnEventArgs.cs" />\r
+    <Compile Include=".\events\BasicReturnEventHandler.cs" />\r
+    <Compile Include=".\events\CallbackExceptionEventArgs.cs" />\r
+    <Compile Include=".\events\CallbackExceptionEventHandler.cs" />\r
+    <Compile Include=".\events\ConnectionShutdownEventHandler.cs" />\r
+    <Compile Include=".\events\ConsumerEventArgs.cs" />\r
+    <Compile Include=".\events\ConsumerEventHandler.cs" />\r
+    <Compile Include=".\events\ConsumerShutdownEventHandler.cs" />\r
+    <Compile Include=".\events\EventingBasicConsumer.cs" />\r
+    <Compile Include=".\events\ModelShutdownEventHandler.cs" />\r
+    <Compile Include=".\exceptions\AlreadyClosedException.cs" />\r
+    <Compile Include=".\exceptions\BrokerUnreachableException.cs" />\r
+    <Compile Include=".\exceptions\ChannelAllocationException.cs" />\r
+    <Compile Include=".\exceptions\OperationInterruptedException.cs" />\r
+    <Compile Include=".\exceptions\PacketNotRecognizedException.cs" />\r
+    <Compile Include=".\exceptions\PossibleAuthenticationFailureException.cs" />\r
+    <Compile Include=".\exceptions\ProtocolVersionMismatchException.cs" />\r
+    <Compile Include=".\exceptions\UnexpectedMethodException.cs" />\r
+    <Compile Include=".\exceptions\UnsupportedMethodException.cs" />\r
+    <Compile Include=".\exceptions\UnsupportedMethodFieldException.cs" />\r
+    <Compile Include=".\exceptions\WireFormattingException.cs" />\r
+    <Compile Include=".\impl\AbstractProtocolBase.cs" />\r
+    <Compile Include=".\impl\BasicProperties.cs" />\r
+    <Compile Include=".\impl\ChannelErrorException.cs" />\r
+    <Compile Include=".\impl\Command.cs" />\r
+    <Compile Include=".\impl\CommandAssembler.cs" />\r
+    <Compile Include=".\impl\ConnectionBase.cs" />\r
+    <Compile Include=".\impl\ConnectionStartDetails.cs" />\r
+    <Compile Include=".\impl\ContentHeaderBase.cs" />\r
+    <Compile Include=".\impl\ContentHeaderPropertyReader.cs" />\r
+    <Compile Include=".\impl\ContentHeaderPropertyWriter.cs" />\r
+    <Compile Include=".\impl\FileProperties.cs" />\r
+    <Compile Include=".\impl\Frame.cs" />\r
+    <Compile Include=".\impl\HardProtocolException.cs" />\r
+    <Compile Include=".\impl\IFrameHandler.cs" />\r
+    <Compile Include=".\impl\IRpcContinuation.cs" />\r
+    <Compile Include=".\impl\ISession.cs" />\r
+    <Compile Include=".\impl\MainSession.cs" />\r
+    <Compile Include=".\impl\MalformedFrameException.cs" />\r
+    <Compile Include=".\impl\MethodArgumentReader.cs" />\r
+    <Compile Include=".\impl\MethodArgumentWriter.cs" />\r
+    <Compile Include=".\impl\MethodBase.cs" />\r
+    <Compile Include=".\impl\ModelBase.cs" />\r
+    <Compile Include=".\impl\ProtocolException.cs" />\r
+    <Compile Include=".\impl\QuiescingSession.cs" />\r
+    <Compile Include=".\impl\RedirectException.cs" />\r
+    <Compile Include=".\impl\RpcContinuationQueue.cs" />\r
+    <Compile Include=".\impl\Session.cs" />\r
+    <Compile Include=".\impl\SessionBase.cs" />\r
+    <Compile Include=".\impl\SessionManager.cs" />\r
+    <Compile Include=".\impl\ShutdownContinuation.cs" />\r
+    <Compile Include=".\impl\SimpleBlockingRpcContinuation.cs" />\r
+    <Compile Include=".\impl\SocketFrameHandler_0_9.cs" />\r
+    <Compile Include=".\impl\SoftProtocolException.cs" />\r
+    <Compile Include=".\impl\StreamProperties.cs" />\r
+    <Compile Include=".\impl\SyntaxError.cs" />\r
+    <Compile Include=".\impl\UnexpectedFrameException.cs" />\r
+    <Compile Include=".\impl\UnknownClassOrMethodException.cs" />\r
+    <Compile Include=".\impl\v0_8\Connection.cs" />\r
+    <Compile Include=".\impl\v0_8\ProtocolBase.cs" />\r
+    <Compile Include=".\impl\v0_8qpid\Connection.cs" />\r
+    <Compile Include=".\impl\v0_8qpid\ProtocolBase.cs" />\r
+    <Compile Include=".\impl\v0_9\Connection.cs" />\r
+    <Compile Include=".\impl\v0_9\ProtocolBase.cs" />\r
+    <Compile Include=".\impl\WireFormatting.cs" />\r
+    <Compile Include=".\messagepatterns\SimpleRpcClient.cs" />\r
+    <Compile Include=".\messagepatterns\SimpleRpcServer.cs" />\r
+    <Compile Include=".\messagepatterns\Subscription.cs" />\r
+    <Compile Include="..\..\docs\specs\net_4_x-api-0-8.cs" />\r
+    <Compile Include="..\..\docs\specs\net_4_x-api-0-9.cs" />\r
+    <Compile Include="..\..\docs\specs\net_4_x-api-qpid-0-8.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/SMDiagnostics/SMDiagnostics-net_4_x.csproj b/mcs/class/SMDiagnostics/SMDiagnostics-net_4_x.csproj
new file mode 100644 (file)
index 0000000..90b90ed
--- /dev/null
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{8B8C3ED9-96F9-49B3-B355-9FD3D29DD3AD}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>SMDiagnostics</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\Activity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\DiagnosticsTraceCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\DiagnosticStrings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\DiagnosticTraceSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\EncodingFallbackAwareXmlTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\EventLogCategory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\EventLogEventId.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\EventLogger.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\ExceptionUtility.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\LegacyDiagnosticTrace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\MachineSettingsSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\NativeMethods.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\PiiTraceSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\PlainXmlWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\SafeEventLogWriteHandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\TraceSourceKind.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\TraceXPathNavigator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\SMDiagnostics\System\ServiceModel\Diagnostics\Utility.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="ReferenceSources\TraceSR.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel.Internals/System.ServiceModel.Internals-net_4_x.csproj">\r
+      <Project>{5769B536-7E8E-4C2A-8671-6B256D0F620B}</Project>\r
+      <Name>System.ServiceModel.Internals-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.ComponentModel.Composition.4.5/System.ComponentModel.Composition-net_4_x.csproj b/mcs/class/System.ComponentModel.Composition.4.5/System.ComponentModel.Composition-net_4_x.csproj
new file mode 100644 (file)
index 0000000..305e8f4
--- /dev/null
@@ -0,0 +1,268 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{9091B5ED-8AFF-4B93-801A-9A33E0895A2B}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,219,414</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ComponentModel.Composition</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,219,414</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;CLR40;USE_ECMA_KEY;FEATURE_REFLECTIONCONTEXT;FEATURE_REFLECTIONFILEIO;FEATURE_SERIALIZATION;FEATURE_SLIMLOCK</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,219,414</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;CLR40;USE_ECMA_KEY;FEATURE_REFLECTIONCONTEXT;FEATURE_REFLECTIONFILEIO;FEATURE_SERIALIZATION;FEATURE_SLIMLOCK</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="src\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="src\ComponentModel\ContractAdditions.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\Assumes.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\Assumes.InternalErrorException.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\AttributeServices.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\Collections\CollectionServices.CollectionOfObject.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\Collections\CollectionServices.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\Collections\EnumerableCardinality.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\Collections\WeakReferenceCollection.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\ContractServices.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\GenerationServices.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\LazyServices.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\Lock.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\Lock.Reader.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\Lock.Writer.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\ReflectionInvoke.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\ReflectionServices.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\Requires.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\Runtime\Serialization\SerializationServices.cs" />\r
+    <Compile Include="src\ComponentModel\Microsoft\Internal\StringComparers.cs" />\r
+    <Compile Include="src\ComponentModel\PlatformWorkarounds.cs" />\r
+    <Compile Include="src\ComponentModel\Strings.Designer.cs" />\r
+    <Compile Include="src\ComponentModel\SuppressMessages.cs" />\r
+    <Compile Include="src\ComponentModel\SuppressMessagesBaselined.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\AttributedModel\AttributedExportDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\AttributedModel\AttributedModelDiscovery.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\AttributedModel\AttributedPartCreationInfo.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\AttributedModelServices.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\CatalogReflectionContextAttribute.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ChangeRejectedException.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\CompositionContractMismatchException.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\CompositionError.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\CompositionErrorDebuggerProxy.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\CompositionErrorId.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\CompositionException.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\CompositionExceptionDebuggerProxy.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\CompositionResult.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\CompositionResultOfT.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ConstraintServices.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ContractNameServices.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\CreationPolicy.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Diagnostics\CompositionTrace.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Diagnostics\CompositionTraceId.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Diagnostics\CompositionTraceSource.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Diagnostics\SilverlightTraceWriter.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Diagnostics\TraceSourceTraceWriter.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Diagnostics\TraceWriter.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ErrorBuilder.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ExceptionBuilder.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ExportAttribute.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ExportCardinalityCheckResult.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ExportFactoryOfT.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ExportFactoryOfTTMetadata.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ExportLifetimeContextOfT.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ExportMetadataAttribute.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ExportServices.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ExportServices.DisposableLazy.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\AggregateCatalog.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\AggregateExportProvider.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\ApplicationCatalog.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\AssemblyCatalog.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\AssemblyCatalogDebuggerProxy.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\AtomicComposition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\AtomicCompositionExtensions.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CatalogExportProvider.CatalogChangeProxy.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CatalogExportProvider.CatalogExport.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CatalogExportProvider.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CatalogExportProvider.FactoryExport.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CatalogExportProvider.PartCreatorExport.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CatalogExportProvider.ScopeFactoryExport.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CatalogExportProvider.ScopeManager.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CatalogExtensions.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\ComposablePartCatalogChangeEventArgs.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\ComposablePartCatalogCollection.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\ComposablePartExportProvider.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CompositionBatch.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CompositionBatch.SingleExportComposablePart.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CompositionConstants.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CompositionContainer.CompositionServiceShim.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CompositionContainer.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CompositionLock.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CompositionOptions.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CompositionScopeDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CompositionScopeDefinitionDebuggerProxy.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CompositionService.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\CompositionServices.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\DirectoryCatalog.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\DirectoryCatalog.DirectoryCatalogDebuggerProxy.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\ExportProvider.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\ExportProvider.GetExportOverrides.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\ExportsChangeEventArgs.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\FilteredCatalog.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\FilteredCatalog.DependenciesTraversal.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\FilteredCatalog.DependentsTraversal.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\FilteredCatalog.IComposablePartCatalogTraversal.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\FilteredCatalog.Traversal.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\ImportEngine.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\ImportEngine.EngineContext.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\ImportEngine.PartManager.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\ImportEngine.RecompositionManager.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\ImportSourceImportDefinitionHelpers.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\INotifyComposablePartCatalogChanged.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\ScopingExtensions.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Hosting\TypeCatalog.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\IAttributedImport.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ICompositionService.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ImportAttribute.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ImportCardinalityMismatchException.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ImportCardinalityMismatchExceptionDebuggerProxy.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ImportingConstructorAttribute.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ImportManyAttribute.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ImportSource.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\InheritedExportAttribute.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\IPartImportsSatisfiedNotification.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\MetadataAttributeAttribute.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\MetadataServices.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\MetadataViewGenerator.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\MetadataViewImplementationAttribute.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\MetadataViewProvider.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\PartCreationPolicyAttribute.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\PartMetadataAttribute.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\PartNotDiscoverableAttribute.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\ComposablePart.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\ComposablePartCatalog.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\ComposablePartCatalogDebuggerProxy.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\ComposablePartDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\ComposablePartException.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\ComposablePartExceptionDebuggerProxy.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\CompositionElement.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\CompositionElementDebuggerProxy.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\CompositionElementExtensions.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\ContractBasedImportDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\Export.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\ExportDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\ExportedDelegate.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\ICompositionElement.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\ImportCardinality.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\ImportDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\IPartCreatorImportDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\PrimitivesServices.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\Primitives\SerializableCompositionElement.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\DisposableReflectionComposablePart.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ExportfactoryCreator.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ExportfactoryCreator.LifetimeContext.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ExportingMember.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\GenericServices.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\GenericSpecializationPartCreationInfo.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ImportingItem.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ImportingMember.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ImportingParameter.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ImportType.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\IReflectionPartCreationInfo.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\LazyMemberInfo.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\PartCreatorExportDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\PartCreatorMemberImportDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\PartCreatorParameterImportDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionComposablePart.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionComposablePartDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionExtensions.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionField.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionImportDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionItem.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionItemType.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionMember.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionMemberExportDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionMemberImportDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionMethod.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionModelServices.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionParameter.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionParameterImportDefinition.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionProperty.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionType.cs" />\r
+    <Compile Include="src\ComponentModel\System\ComponentModel\Composition\ReflectionModel\ReflectionWritableMember.cs" />\r
+    <Compile Include="src\ComponentModel\System\LazyOfTTMetadata.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="Microsoft.Internal.Strings.resources">\r
+      <LogicalName>Microsoft.Internal.Strings.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
index 5ff50e119df477e5bb5cf4dd3ee76bf7106b13e1..2427cdd39ae7d12b1c09c8aae58a6a8c49818d2b 100644 (file)
@@ -2,11 +2,11 @@ namespace System.ComponentModel.DataAnnotations.Resources
 {
 static class DataAnnotationsResources
 {
-       public const string ArgumentIsNullOrWhitespace = "ArgumentIsNullOrWhitespace";
+       public const string ArgumentIsNullOrWhitespace = "The argument '{0}' cannot be null, empty or contain only white space.";
        public const string AssociatedMetadataTypeTypeDescriptor_MetadataTypeContainsUnknownProperties = "AssociatedMetadataTypeTypeDescriptor_MetadataTypeContainsUnknownProperties";
        public const string AttributeStore_Unknown_Property = "AttributeStore_Unknown_Property";
        public const string Common_PropertyNotFound = "Common_PropertyNotFound";
-       public const string CompareAttribute_MustMatch = "CompareAttribute_MustMatch";
+       public const string CompareAttribute_MustMatch = "'{0}' and '{1}' do not match.";
        public const string CompareAttribute_UnknownProperty = "CompareAttribute_UnknownProperty";
        public const string CreditCardAttribute_Invalid = "CreditCardAttribute_Invalid";
        public const string CustomValidationAttribute_Method_Must_Return_ValidationResult = "CustomValidationAttribute_Method_Must_Return_ValidationResult";
@@ -19,16 +19,16 @@ static class DataAnnotationsResources
        public const string CustomValidationAttribute_ValidatorType_Required = "CustomValidationAttribute_ValidatorType_Required";
        public const string DataTypeAttribute_EmptyDataTypeString = "DataTypeAttribute_EmptyDataTypeString";
        public const string DisplayAttribute_PropertyNotSet = "The {0} property has not been set.  Use the {1} method to get the value.";
-       public const string EmailAddressAttribute_Invalid = "EmailAddressAttribute_Invalid";
+       public const string EmailAddressAttribute_Invalid = "The {0} field is not a valid email address";
        public const string EnumDataTypeAttribute_TypeCannotBeNull = "EnumDataTypeAttribute_TypeCannotBeNull";
        public const string EnumDataTypeAttribute_TypeNeedsToBeAnEnum = "EnumDataTypeAttribute_TypeNeedsToBeAnEnum";
        public const string FileExtensionsAttribute_Invalid = "FileExtensionsAttribute_Invalid";
        public const string LocalizableString_LocalizationFailed = "Cannot retrieve property '{0}' because localization failed. Type '{1}' is not public or does not contain a public static string property with the name '{2}'.";
-       public const string MaxLengthAttribute_InvalidMaxLength = "MaxLengthAttribute_InvalidMaxLength";
-       public const string MaxLengthAttribute_ValidationError = "MaxLengthAttribute_ValidationError";
+       public const string MaxLengthAttribute_InvalidMaxLength = "MaxLengthAttribute must have a Length value that is greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length.";
+       public const string MaxLengthAttribute_ValidationError = "The field {0} must be a string or array type with a maximum length of '{1}'.";
        public const string MetadataTypeAttribute_TypeCannotBeNull = "MetadataTypeAttribute_TypeCannotBeNull";
-       public const string MinLengthAttribute_InvalidMinLength = "MinLengthAttribute_InvalidMinLength";
-       public const string MinLengthAttribute_ValidationError = "MinLengthAttribute_ValidationError";
+       public const string MinLengthAttribute_InvalidMinLength = "MinLengthAttribute must have a Length value that is zero or greater.";
+       public const string MinLengthAttribute_ValidationError = "The field {0} must be a string or array type with a minimum length of '{1}'";
        public const string PhoneAttribute_Invalid = "PhoneAttribute_Invalid";
        public const string RangeAttribute_ArbitraryTypeNotIComparable = "RangeAttribute_ArbitraryTypeNotIComparable";
        public const string RangeAttribute_MinGreaterThanMax = "RangeAttribute_MinGreaterThanMax";
@@ -37,7 +37,7 @@ static class DataAnnotationsResources
        public const string RangeAttribute_ValidationError = "The field {0} must be between {1} and {2}.";
        public const string RegexAttribute_ValidationError = "The field {0} must match the regular expression {1}.";
        public const string RegularExpressionAttribute_Empty_Pattern = "The pattern must be set to a valid regular expression.";
-       public const string RequiredAttribute_ValidationError = "RequiredAttribute_ValidationError";
+       public const string RequiredAttribute_ValidationError = "The {0} field is required.";
        public const string StringLengthAttribute_InvalidMaxLength = "StringLengthAttribute_InvalidMaxLength";
        public const string StringLengthAttribute_ValidationError = "The field {0} must be a string with a maximum length of {1}.";
        public const string StringLengthAttribute_ValidationErrorIncludingMinimum = "StringLengthAttribute_ValidationErrorIncludingMinimum";
@@ -56,4 +56,4 @@ static class DataAnnotationsResources
        public const string Validator_InstanceMustMatchValidationContextInstance = "Validator_InstanceMustMatchValidationContextInstance";
        public const string Validator_Property_Value_Wrong_Type = "Validator_Property_Value_Wrong_Type";
 }
-}
\ No newline at end of file
+}
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_4_x.csproj b/mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_4_x.csproj
new file mode 100644 (file)
index 0000000..01fed3a
--- /dev/null
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{8F86C287-38A5-49F8-BE6D-1E0E3D74AF39}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,414</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ComponentModel.DataAnnotations</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,414</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\AssociatedMetadataTypeTypeDescriptionProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\AssociatedMetadataTypeTypeDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\AssociationAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\BindableTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\CompareAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\ConcurrencyCheckAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\CreditCardAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\CustomValidationAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\DataType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\DataTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\DisplayAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\DisplayColumnAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\DisplayFormatAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\EditableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\EmailAddressAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\EnumDataTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\FileExtensionsAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\FilterUIHintAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\IValidatableObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\KeyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\LocalizableString.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\MaxLengthAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\MetadataPropertyDescriptorWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\MetadataTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\MinLengthAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\PhoneAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\RangeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\RegularExpressionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\RequiredAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\ScaffoldAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\Schema\ColumnAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\Schema\ComplexTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\Schema\DatabaseGeneratedAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\Schema\DatabaseGeneratedOption.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\Schema\ForeignKeyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\Schema\InversePropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\Schema\NotMappedAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\Schema\TableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\StringLengthAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\TimestampAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\UIHintAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\UrlAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\ValidationAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\ValidationAttributeStore.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\ValidationContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\ValidationException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\ValidationResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ComponentModel.DataAnnotations\DataAnnotations\Validator.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="DataAnnotationsResources.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Configuration.Install/System.Configuration.Install-net_4_x.csproj b/mcs/class/System.Configuration.Install/System.Configuration.Install-net_4_x.csproj
new file mode 100644 (file)
index 0000000..41aaa87
--- /dev/null
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{B144ACD4-089D-4769-8605-583FBEDB5B7C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Configuration.Install</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Configuration.Install\AssemblyInstaller.cs" />\r
+    <Compile Include="System.Configuration.Install\ComponentInstaller.cs" />\r
+    <Compile Include="System.Configuration.Install\IManagedInstaller.cs" />\r
+    <Compile Include="System.Configuration.Install\InstallContext.cs" />\r
+    <Compile Include="System.Configuration.Install\Installer.cs" />\r
+    <Compile Include="System.Configuration.Install\InstallerCollection.cs" />\r
+    <Compile Include="System.Configuration.Install\InstallEventArgs.cs" />\r
+    <Compile Include="System.Configuration.Install\InstallEventHandler.cs" />\r
+    <Compile Include="System.Configuration.Install\InstallException.cs" />\r
+    <Compile Include="System.Configuration.Install\ManagedInstallerClass.cs" />\r
+    <Compile Include="System.Configuration.Install\TransactedInstaller.cs" />\r
+    <Compile Include="System.Configuration.Install\UninstallAction.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogInstaller.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterInstaller.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Configuration/System.Configuration-net_4_x.csproj b/mcs/class/System.Configuration/System.Configuration-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9170a00
--- /dev/null
@@ -0,0 +1,213 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Configuration</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Configuration.Internal\DelegatingConfigHost.cs" />\r
+    <Compile Include="System.Configuration.Internal\IConfigErrorInfo.cs" />\r
+    <Compile Include="System.Configuration.Internal\IConfigSystem.cs" />\r
+    <Compile Include="System.Configuration.Internal\IConfigurationManagerHelper.cs" />\r
+    <Compile Include="System.Configuration.Internal\IConfigurationManagerInternal.cs" />\r
+    <Compile Include="System.Configuration.Internal\IInternalConfigClientHost.cs" />\r
+    <Compile Include="System.Configuration.Internal\IInternalConfigConfigurationFactory.cs" />\r
+    <Compile Include="System.Configuration.Internal\IInternalConfigHost.cs" />\r
+    <Compile Include="System.Configuration.Internal\IInternalConfigRecord.cs" />\r
+    <Compile Include="System.Configuration.Internal\IInternalConfigRoot.cs" />\r
+    <Compile Include="System.Configuration.Internal\IInternalConfigSettingsFactory.cs" />\r
+    <Compile Include="System.Configuration.Internal\IInternalConfigSystem.cs" />\r
+    <Compile Include="System.Configuration.Internal\InternalConfigEventArgs.cs" />\r
+    <Compile Include="System.Configuration.Internal\InternalConfigEventHandler.cs" />\r
+    <Compile Include="System.Configuration.Internal\StreamChangeCallback.cs" />\r
+    <Compile Include="System.Configuration.Provider\ProviderBase.cs" />\r
+    <Compile Include="System.Configuration.Provider\ProviderCollection.cs" />\r
+    <Compile Include="System.Configuration.Provider\ProviderException.cs" />\r
+    <Compile Include="System.Configuration\AppSettingsSection.cs" />\r
+    <Compile Include="System.Configuration\CallbackValidator.cs" />\r
+    <Compile Include="System.Configuration\CallbackValidatorAttribute.cs" />\r
+    <Compile Include="System.Configuration\ClientConfigurationSystem.cs" />\r
+    <Compile Include="System.Configuration\CommaDelimitedStringCollection.cs" />\r
+    <Compile Include="System.Configuration\CommaDelimitedStringCollectionConverter.cs" />\r
+    <Compile Include="System.Configuration\ConfigHelper.cs" />\r
+    <Compile Include="System.Configuration\ConfigInfo.cs" />\r
+    <Compile Include="System.Configuration\Configuration.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationAllowDefinition.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationAllowExeDefinition.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationCollectionAttribute.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationConverterBase.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationElement.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationElementCollection.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationElementCollectionType.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationElementProperty.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationErrorsException.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationFileMap.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationLocation.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationLocationCollection.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationLockCollection.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationManager.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationPermission.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationPermissionAttribute.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationProperty.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationPropertyAttribute.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationPropertyCollection.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationPropertyOptions.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationRemoveElement.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationSaveEventArgs.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationSaveEventHandler.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationSaveMode.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationSection.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationSectionCollection.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationSectionGroup.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationSectionGroupCollection.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationUserLevel.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationValidatorAttribute.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationValidatorBase.cs" />\r
+    <Compile Include="System.Configuration\ConfigXmlTextReader.cs" />\r
+    <Compile Include="System.Configuration\ConnectionStringSettings.cs" />\r
+    <Compile Include="System.Configuration\ConnectionStringSettingsCollection.cs" />\r
+    <Compile Include="System.Configuration\ConnectionStringsSection.cs" />\r
+    <Compile Include="System.Configuration\ContextInformation.cs" />\r
+    <Compile Include="System.Configuration\DefaultSection.cs" />\r
+    <Compile Include="System.Configuration\DefaultValidator.cs" />\r
+    <Compile Include="System.Configuration\DpapiProtectedConfigurationProvider.cs" />\r
+    <Compile Include="System.Configuration\ElementInformation.cs" />\r
+    <Compile Include="System.Configuration\ExeConfigurationFileMap.cs" />\r
+    <Compile Include="System.Configuration\ExeContext.cs" />\r
+    <Compile Include="System.Configuration\GenericEnumConverter.cs" />\r
+    <Compile Include="System.Configuration\IConfigXmlNode.cs" />\r
+    <Compile Include="System.Configuration\IgnoreSection.cs" />\r
+    <Compile Include="System.Configuration\InfiniteIntConverter.cs" />\r
+    <Compile Include="System.Configuration\InfiniteTimeSpanConverter.cs" />\r
+    <Compile Include="System.Configuration\IntegerValidator.cs" />\r
+    <Compile Include="System.Configuration\IntegerValidatorAttribute.cs" />\r
+    <Compile Include="System.Configuration\InternalConfigurationFactory.cs" />\r
+    <Compile Include="System.Configuration\InternalConfigurationHost.cs" />\r
+    <Compile Include="System.Configuration\InternalConfigurationRoot.cs" />\r
+    <Compile Include="System.Configuration\KeyValueConfigurationCollection.cs" />\r
+    <Compile Include="System.Configuration\KeyValueConfigurationElement.cs" />\r
+    <Compile Include="System.Configuration\KeyValueInternalCollection.cs" />\r
+    <Compile Include="System.Configuration\LongValidator.cs" />\r
+    <Compile Include="System.Configuration\LongValidatorAttribute.cs" />\r
+    <Compile Include="System.Configuration\NameValueConfigurationCollection.cs" />\r
+    <Compile Include="System.Configuration\NameValueConfigurationElement.cs" />\r
+    <Compile Include="System.Configuration\PositiveTimeSpanValidator.cs" />\r
+    <Compile Include="System.Configuration\PositiveTimeSpanValidatorAttribute.cs" />\r
+    <Compile Include="System.Configuration\PropertyInformation.cs" />\r
+    <Compile Include="System.Configuration\PropertyInformationCollection.cs" />\r
+    <Compile Include="System.Configuration\PropertyValueOrigin.cs" />\r
+    <Compile Include="System.Configuration\ProtectedConfiguration.cs" />\r
+    <Compile Include="System.Configuration\ProtectedConfigurationProvider.cs" />\r
+    <Compile Include="System.Configuration\ProtectedConfigurationProviderCollection.cs" />\r
+    <Compile Include="System.Configuration\ProtectedConfigurationSection.cs" />\r
+    <Compile Include="System.Configuration\ProtectedProviderSettings.cs" />\r
+    <Compile Include="System.Configuration\ProviderSettings.cs" />\r
+    <Compile Include="System.Configuration\ProviderSettingsCollection.cs" />\r
+    <Compile Include="System.Configuration\RegexStringValidator.cs" />\r
+    <Compile Include="System.Configuration\RegexStringValidatorAttribute.cs" />\r
+    <Compile Include="System.Configuration\RsaProtectedConfigurationProvider.cs" />\r
+    <Compile Include="System.Configuration\SectionGroupInfo.cs" />\r
+    <Compile Include="System.Configuration\SectionInfo.cs" />\r
+    <Compile Include="System.Configuration\SectionInformation.cs" />\r
+    <Compile Include="System.Configuration\StringValidator.cs" />\r
+    <Compile Include="System.Configuration\StringValidatorAttribute.cs" />\r
+    <Compile Include="System.Configuration\SubclassTypeValidator.cs" />\r
+    <Compile Include="System.Configuration\SubclassTypeValidatorAttribute.cs" />\r
+    <Compile Include="System.Configuration\TimeSpanMinutesConverter.cs" />\r
+    <Compile Include="System.Configuration\TimeSpanMinutesOrInfiniteConverter.cs" />\r
+    <Compile Include="System.Configuration\TimeSpanSecondsConverter.cs" />\r
+    <Compile Include="System.Configuration\TimeSpanSecondsOrInfiniteConverter.cs" />\r
+    <Compile Include="System.Configuration\TimeSpanValidator.cs" />\r
+    <Compile Include="System.Configuration\TimeSpanValidatorAttribute.cs" />\r
+    <Compile Include="System.Configuration\TypeNameConverter.cs" />\r
+    <Compile Include="System.Configuration\ValidatorCallback.cs" />\r
+    <Compile Include="System.Configuration\WhiteSpaceTrimStringConverter.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-secxml-net_4_x.csproj">\r
+      <Project>{19954F80-065E-4D46-8FEF-62BA4D6CFDAD}</Project>\r
+      <Name>System-secxml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-bare-net_4_x.csproj">\r
+      <Project>{A5216031-11A3-44DD-B2FF-A14AE63BD0C3}</Project>\r
+      <Name>System.Xml-bare-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Security/System.Security-net_4_x.csproj">\r
+      <Project>{3ED36717-A9D1-4289-8949-9B7F39766DEB}</Project>\r
+      <Name>System.Security-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index a115311812cd160c83a987a8b57c666d9541b170..edf47481d5ff46343b04b63255248029fba2fdb6 100644 (file)
@@ -13,9 +13,6 @@ ifneq (2.1, $(FRAMEWORK_VERSION))
 LIB_MCS_FLAGS += -d:NET_3_5 -nowarn:1720
 endif
 
-MOBILE_DYNAMIC := $(filter monodroid xammac mobile, $(PROFILE))
-MOBILE_STATIC := $(filter mobile_static monotouch monotouch_runtime monotouch_watch, $(PROFILE))
-
 ifdef MOBILE_DYNAMIC
 LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT
 endif
diff --git a/mcs/class/System.Core/System.Core-net_4_x.csproj b/mcs/class/System.Core/System.Core-net_4_x.csproj
new file mode 100644 (file)
index 0000000..27c7975
--- /dev/null
@@ -0,0 +1,412 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{359142A1-D80F-401E-AA64-7167C9317649}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1720</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Core</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE;FEATURE_PAL;PFX_LEGACY_3_5;FEATURE_NETCORE;INSIDE_SYSCORE;LIBC;NET_3_5;FEATURE_CORE_DLR;FEATURE_REFEMIT;FEATURE_PDBEMIT</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,1720</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;FEATURE_PAL;PFX_LEGACY_3_5;FEATURE_NETCORE;INSIDE_SYSCORE;LIBC;NET_3_5;FEATURE_CORE_DLR;FEATURE_REFEMIT;FEATURE_PDBEMIT</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\Microsoft\Scripting\Ast\DynamicExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\Microsoft\Scripting\Ast\ExpressionVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\Microsoft\Scripting\Utils\Action.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\Microsoft\Scripting\Utils\Extension.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\Microsoft\Scripting\Utils\Function.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\Microsoft\Scripting\Utils\StrongBox.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Collections\Generic\BitHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Collections\Generic\HashSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Collections\Generic\HashSetDebugView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Collections\Generic\HashSetEqualityComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\FuncAndAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\InvalidTimeZoneException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\IO\Enums.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\IO\MemoryMappedFiles\Enums.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\IO\MemoryMappedFiles\MemoryMappedFileSecurity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\IO\MemoryMappedFiles\MemoryMappedViewAccessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\IO\MemoryMappedFiles\MemoryMappedViewStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Enumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Expressions\ExpressionVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\IQueryable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Channels\AsynchronousChannel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Channels\SynchronousChannel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\AggregationMinMaxHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\EmptyEnumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\EnumerableWrapperWeakToStrong.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\IParallelPartitionable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\OrderedParallelQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\ParallelEnumerableWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\ParallelQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\QueryAggregationOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\RangeEnumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\RepeatEnumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\ArrayMergeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\AsynchronousChannelMergeEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\DefaultMergeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\IMergeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\MergeEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\MergeExecutor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\OrderPreservingMergeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\OrderPreservingPipeliningMergeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\SynchronousChannelMergeEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\HashRepartitionEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\HashRepartitionStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\IPartitionedStreamRecipient.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\OrderedHashRepartitionEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\OrderedHashRepartitionStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\PartitionedDataSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\PartitionedStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\UnorderedHashRepartitionStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\AssociativeAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Binary\ExceptQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Binary\GroupJoinQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Binary\HashJoinQueryOperatorEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Binary\IntersectQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Binary\JoinQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Binary\UnionQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Binary\ZipQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\BinaryQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\CountAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\DecimalAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\DecimalMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\DecimalSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\DoubleAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\DoubleMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\DoubleSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\FloatAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\FloatMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\FloatSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\InlinedAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\InlinedAggregationOperatorEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\IntAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\IntMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\IntSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\LongAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\LongCountAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\LongMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\LongSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableDecimalAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableDecimalMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableDecimalSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableDoubleAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableDoubleMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableDoubleSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableFloatAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableFloatMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableFloatSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableIntAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableIntMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableIntSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableLongAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableLongMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableLongSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\ListQueryResults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Options\OrderingQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Options\QueryExecutionOption.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\OrdinalIndexState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\PartitionedStreamMerger.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\PartitionerQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\QueryOpeningEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\QueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\QueryOperatorEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\QueryResults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\QuerySettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\ScanQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\AnyAllSearchOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\ConcatQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\ContainsSearchOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\DefaultIfEmptyQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\DistinctQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\ElementAtQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\FirstQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\ForAllOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\GroupByQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\IndexedSelectQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\IndexedWhereQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\LastQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\ReverseQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\SelectManyQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\SelectQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\SingleQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\SortQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\TakeOrSkipQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\TakeOrSkipWhileQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\WhereQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\UnaryQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\CancellationState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\OrderPreservingPipeliningSpoolingTask.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\OrderPreservingSpoolingTask.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\QueryLifecycle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\QueryTask.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\QueryTaskGroupState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\Scheduling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\SpoolingTask.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\SpoolingTaskBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\CancellableEnumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\ExceptionAggregator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\ExchangeUtilities.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\FixedMaxHeap.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\GrowingArray.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\HashLookup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\IntValueEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\ListChunk.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\Lookup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\Pair.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\PairComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\ReverseComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\Shared.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\Sorting.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\TraceHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\Util.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\Wrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\WrapperEqualityComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\ParallelEnumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\ParallelExecutionMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\ParallelMergeOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\SequenceQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\TypeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Runtime\CompilerServices\DynamicAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Runtime\CompilerServices\ExecutionScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Security\Cryptography\Aes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Security\Cryptography\AesManaged.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Security\Cryptography\ECDiffieHellman.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Security\Cryptography\ECDiffieHellmanPublicKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Security\Cryptography\ECDsa.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Security\Cryptography\ECKeyXmlFormat.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\threading\ReaderWriterLockSlim\LockRecursionException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\threading\ReaderWriterLockSlim\ReaderWriterLockSlim.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\threading\Tasks\TaskExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\TimeZoneInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\TimeZoneNotFoundException.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\BinaryOperationBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\BindingRestrictions.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\CallInfo.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\CallSite.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\CallSiteBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\CallSiteHelpers.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\CallSiteOps.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\ConvertBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\CreateInstanceBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\DeleteIndexBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\DeleteMemberBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\DynamicMetaObject.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\DynamicMetaObjectBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\DynamicObject.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\ExpandoClass.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\ExpandoObject.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\GetIndexBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\GetMemberBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\IDynamicMetaObjectProvider.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\IInvokeOnGetBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\InvokeBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\InvokeMemberBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\RuleCache.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\SetIndexBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\SetMemberBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\UnaryOperationBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\UpdateDelegates.Generated.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\BinaryExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\BlockExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\CatchBlock.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ConditionalExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ConstantExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\DebugInfoExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\DebugViewWriter.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\DefaultExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ElementInit.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\Expression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\Expression.DebuggerProxy.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ExpressionStringBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ExpressionType.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\GotoExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\IArgumentProvider.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\IndexExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\InvocationExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\LabelExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\LabelTarget.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\LambdaExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ListArgumentProvider.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ListInitExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\LoopExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\MemberAssignment.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\MemberBinding.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\MemberExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\MemberInitExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\MemberListBinding.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\MemberMemberBinding.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\MethodCallExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\NewArrayExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\NewExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ParameterExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\RuntimeVariablesExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\SwitchCase.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\SwitchExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\SymbolDocumentInfo.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\TryExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\TypeBinaryExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\TypeUtils.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\UnaryExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\AnalyzedTree.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\AssemblyGen.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\BoundConstants.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\Closure.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\CompilerScope.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\CompilerScope.Storage.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\ConstantCheck.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\DebugInfoGenerator.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\DelegateHelpers.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\DelegateHelpers.Generated.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\ExpressionQuoter.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\HoistedLocals.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\ILGen.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\KeyedQueue.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LabelInfo.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Address.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Binary.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.ControlFlow.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Expressions.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Generated.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Lambda.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Logical.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Statements.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Unary.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\OffsetTrackingILGenerator.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\RuntimeVariableList.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\Set.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\StackSpiller.Bindings.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\StackSpiller.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\StackSpiller.Generated.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\StackSpiller.Temps.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\SymbolDocumentGenerator.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\SymbolGuids.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\VariableBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\CacheDict.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\CollectionExtensions.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\ContractUtils.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\ExceptionFactory.Generated.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\Helpers.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\IRuntimeVariables.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\ReadOnlyCollectionBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\ReadOnlyDictionary.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\ReferenceEqualityComparer.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\ReflectionUtils.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\TrueReadOnlyCollection.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\TypeExtensions.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Microsoft.Win32.SafeHandles\SafeMemoryMappedFileHandle.cs" />\r
+    <Compile Include="Microsoft.Win32.SafeHandles\SafeMemoryMappedViewHandle.cs" />\r
+    <Compile Include="Microsoft.Win32.SafeHandles\SafePipeHandle.cs" />\r
+    <Compile Include="ReferenceSources\Error.cs" />\r
+    <Compile Include="ReferenceSources\SR.cs" />\r
+    <Compile Include="ReferenceSources\Strings.cs" />\r
+    <Compile Include="System.IO.MemoryMappedFiles\MemoryMappedFile.cs" />\r
+    <Compile Include="System.IO.MemoryMappedFiles\MemoryMappedView.cs" />\r
+    <Compile Include="System.IO.Pipes\AnonymousPipeClientStream.cs" />\r
+    <Compile Include="System.IO.Pipes\AnonymousPipeServerStream.cs" />\r
+    <Compile Include="System.IO.Pipes\NamedPipeClientStream.cs" />\r
+    <Compile Include="System.IO.Pipes\NamedPipeServerStream.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeAccessRights.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeAccessRule.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeAuditRule.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeDirection.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeInterfaces.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeOptions.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeSecurity.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeStream.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeStreamImpersonationWorker.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeTransmissionMode.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeUnix.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeWin32.cs" />\r
+    <Compile Include="System.Security.Cryptography\AesCryptoServiceProvider.cs" />\r
+    <Compile Include="System.Security.Cryptography\AesTransform.cs" />\r
+    <Compile Include="System.Security.Cryptography\CngAlgorithm.cs" />\r
+    <Compile Include="System.Security.Cryptography\CngAlgorithmGroup.cs" />\r
+    <Compile Include="System.Security.Cryptography\MD5Cng.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA1Cng.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA256Cng.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA256CryptoServiceProvider.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA384Cng.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA384CryptoServiceProvider.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA512Cng.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA512CryptoServiceProvider.cs" />\r
+    <Compile Include="System\Util.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Posix/Mono.Posix-net_4_x.csproj">\r
+      <Project>{66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}</Project>\r
+      <Name>Mono.Posix-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Core/System.Core-plaincore-net_4_x.csproj b/mcs/class/System.Core/System.Core-plaincore-net_4_x.csproj
new file mode 100644 (file)
index 0000000..8e4141c
--- /dev/null
@@ -0,0 +1,412 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{1EC0EBC0-0B35-454C-89AE-3F8F0FDD9705}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1720</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x/plaincore</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Core</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE;FEATURE_PAL;PFX_LEGACY_3_5;FEATURE_NETCORE;INSIDE_SYSCORE;LIBC;NET_3_5;FEATURE_CORE_DLR;FEATURE_REFEMIT;FEATURE_PDBEMIT</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,1720</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;FEATURE_PAL;PFX_LEGACY_3_5;FEATURE_NETCORE;INSIDE_SYSCORE;LIBC;NET_3_5;FEATURE_CORE_DLR;FEATURE_REFEMIT;FEATURE_PDBEMIT</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\Microsoft\Scripting\Ast\DynamicExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\Microsoft\Scripting\Ast\ExpressionVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\Microsoft\Scripting\Utils\Action.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\Microsoft\Scripting\Utils\Extension.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\Microsoft\Scripting\Utils\Function.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\Microsoft\Scripting\Utils\StrongBox.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Collections\Generic\BitHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Collections\Generic\HashSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Collections\Generic\HashSetDebugView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Collections\Generic\HashSetEqualityComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\FuncAndAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\InvalidTimeZoneException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\IO\Enums.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\IO\MemoryMappedFiles\Enums.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\IO\MemoryMappedFiles\MemoryMappedFileSecurity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\IO\MemoryMappedFiles\MemoryMappedViewAccessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\IO\MemoryMappedFiles\MemoryMappedViewStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Enumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Expressions\ExpressionVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\IQueryable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Channels\AsynchronousChannel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Channels\SynchronousChannel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\AggregationMinMaxHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\EmptyEnumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\EnumerableWrapperWeakToStrong.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\IParallelPartitionable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\OrderedParallelQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\ParallelEnumerableWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\ParallelQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\QueryAggregationOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\RangeEnumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Enumerables\RepeatEnumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\ArrayMergeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\AsynchronousChannelMergeEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\DefaultMergeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\IMergeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\MergeEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\MergeExecutor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\OrderPreservingMergeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\OrderPreservingPipeliningMergeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Merging\SynchronousChannelMergeEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\HashRepartitionEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\HashRepartitionStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\IPartitionedStreamRecipient.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\OrderedHashRepartitionEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\OrderedHashRepartitionStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\PartitionedDataSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\PartitionedStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Partitioning\UnorderedHashRepartitionStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\AssociativeAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Binary\ExceptQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Binary\GroupJoinQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Binary\HashJoinQueryOperatorEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Binary\IntersectQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Binary\JoinQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Binary\UnionQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Binary\ZipQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\BinaryQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\CountAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\DecimalAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\DecimalMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\DecimalSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\DoubleAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\DoubleMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\DoubleSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\FloatAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\FloatMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\FloatSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\InlinedAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\InlinedAggregationOperatorEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\IntAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\IntMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\IntSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\LongAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\LongCountAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\LongMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\LongSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableDecimalAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableDecimalMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableDecimalSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableDoubleAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableDoubleMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableDoubleSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableFloatAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableFloatMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableFloatSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableIntAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableIntMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableIntSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableLongAverageAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableLongMinMaxAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Inlined\NullableLongSumAggregationOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\ListQueryResults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Options\OrderingQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Options\QueryExecutionOption.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\OrdinalIndexState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\PartitionedStreamMerger.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\PartitionerQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\QueryOpeningEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\QueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\QueryOperatorEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\QueryResults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\QuerySettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\ScanQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\AnyAllSearchOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\ConcatQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\ContainsSearchOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\DefaultIfEmptyQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\DistinctQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\ElementAtQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\FirstQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\ForAllOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\GroupByQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\IndexedSelectQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\IndexedWhereQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\LastQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\ReverseQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\SelectManyQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\SelectQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\SingleQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\SortQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\TakeOrSkipQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\TakeOrSkipWhileQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\Unary\WhereQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\QueryOperators\UnaryQueryOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\CancellationState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\OrderPreservingPipeliningSpoolingTask.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\OrderPreservingSpoolingTask.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\QueryLifecycle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\QueryTask.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\QueryTaskGroupState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\Scheduling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\SpoolingTask.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Scheduling\SpoolingTaskBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\CancellableEnumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\ExceptionAggregator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\ExchangeUtilities.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\FixedMaxHeap.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\GrowingArray.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\HashLookup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\IntValueEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\ListChunk.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\Lookup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\Pair.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\PairComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\ReverseComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\Shared.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\Sorting.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\TraceHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\Util.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\Wrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\Parallel\Utils\WrapperEqualityComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\ParallelEnumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\ParallelExecutionMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\ParallelMergeOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\SequenceQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Linq\TypeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Runtime\CompilerServices\DynamicAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Runtime\CompilerServices\ExecutionScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Security\Cryptography\Aes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Security\Cryptography\AesManaged.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Security\Cryptography\ECDiffieHellman.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Security\Cryptography\ECDiffieHellmanPublicKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Security\Cryptography\ECDsa.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\Security\Cryptography\ECKeyXmlFormat.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\threading\ReaderWriterLockSlim\LockRecursionException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\threading\ReaderWriterLockSlim\ReaderWriterLockSlim.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\threading\Tasks\TaskExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\TimeZoneInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Core\System\TimeZoneNotFoundException.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\BinaryOperationBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\BindingRestrictions.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\CallInfo.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\CallSite.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\CallSiteBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\CallSiteHelpers.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\CallSiteOps.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\ConvertBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\CreateInstanceBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\DeleteIndexBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\DeleteMemberBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\DynamicMetaObject.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\DynamicMetaObjectBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\DynamicObject.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\ExpandoClass.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\ExpandoObject.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\GetIndexBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\GetMemberBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\IDynamicMetaObjectProvider.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\IInvokeOnGetBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\InvokeBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\InvokeMemberBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\RuleCache.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\SetIndexBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\SetMemberBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\UnaryOperationBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Actions\UpdateDelegates.Generated.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\BinaryExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\BlockExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\CatchBlock.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ConditionalExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ConstantExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\DebugInfoExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\DebugViewWriter.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\DefaultExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ElementInit.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\Expression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\Expression.DebuggerProxy.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ExpressionStringBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ExpressionType.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\GotoExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\IArgumentProvider.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\IndexExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\InvocationExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\LabelExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\LabelTarget.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\LambdaExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ListArgumentProvider.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ListInitExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\LoopExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\MemberAssignment.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\MemberBinding.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\MemberExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\MemberInitExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\MemberListBinding.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\MemberMemberBinding.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\MethodCallExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\NewArrayExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\NewExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\ParameterExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\RuntimeVariablesExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\SwitchCase.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\SwitchExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\SymbolDocumentInfo.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\TryExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\TypeBinaryExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\TypeUtils.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Ast\UnaryExpression.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\AnalyzedTree.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\AssemblyGen.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\BoundConstants.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\Closure.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\CompilerScope.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\CompilerScope.Storage.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\ConstantCheck.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\DebugInfoGenerator.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\DelegateHelpers.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\DelegateHelpers.Generated.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\ExpressionQuoter.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\HoistedLocals.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\ILGen.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\KeyedQueue.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LabelInfo.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Address.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Binary.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.ControlFlow.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Expressions.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Generated.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Lambda.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Logical.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Statements.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\LambdaCompiler.Unary.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\OffsetTrackingILGenerator.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\RuntimeVariableList.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\Set.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\StackSpiller.Bindings.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\StackSpiller.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\StackSpiller.Generated.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\StackSpiller.Temps.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\SymbolDocumentGenerator.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\SymbolGuids.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Compiler\VariableBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\CacheDict.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\CollectionExtensions.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\ContractUtils.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\ExceptionFactory.Generated.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\Helpers.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\IRuntimeVariables.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\ReadOnlyCollectionBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\ReadOnlyDictionary.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\ReferenceEqualityComparer.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\ReflectionUtils.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\TrueReadOnlyCollection.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Scripting.Core\Utils\TypeExtensions.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Microsoft.Win32.SafeHandles\SafeMemoryMappedFileHandle.cs" />\r
+    <Compile Include="Microsoft.Win32.SafeHandles\SafeMemoryMappedViewHandle.cs" />\r
+    <Compile Include="Microsoft.Win32.SafeHandles\SafePipeHandle.cs" />\r
+    <Compile Include="ReferenceSources\Error.cs" />\r
+    <Compile Include="ReferenceSources\SR.cs" />\r
+    <Compile Include="ReferenceSources\Strings.cs" />\r
+    <Compile Include="System.IO.MemoryMappedFiles\MemoryMappedFile.cs" />\r
+    <Compile Include="System.IO.MemoryMappedFiles\MemoryMappedView.cs" />\r
+    <Compile Include="System.IO.Pipes\AnonymousPipeClientStream.cs" />\r
+    <Compile Include="System.IO.Pipes\AnonymousPipeServerStream.cs" />\r
+    <Compile Include="System.IO.Pipes\NamedPipeClientStream.cs" />\r
+    <Compile Include="System.IO.Pipes\NamedPipeServerStream.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeAccessRights.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeAccessRule.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeAuditRule.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeDirection.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeInterfaces.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeOptions.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeSecurity.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeStream.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeStreamImpersonationWorker.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeTransmissionMode.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeUnix.cs" />\r
+    <Compile Include="System.IO.Pipes\PipeWin32.cs" />\r
+    <Compile Include="System.Security.Cryptography\AesCryptoServiceProvider.cs" />\r
+    <Compile Include="System.Security.Cryptography\AesTransform.cs" />\r
+    <Compile Include="System.Security.Cryptography\CngAlgorithm.cs" />\r
+    <Compile Include="System.Security.Cryptography\CngAlgorithmGroup.cs" />\r
+    <Compile Include="System.Security.Cryptography\MD5Cng.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA1Cng.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA256Cng.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA256CryptoServiceProvider.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA384Cng.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA384CryptoServiceProvider.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA512Cng.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA512CryptoServiceProvider.cs" />\r
+    <Compile Include="System\Util.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Posix/Mono.Posix-net_4_x.csproj">\r
+      <Project>{66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}</Project>\r
+      <Name>Mono.Posix-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Core/monotouch_tv_System.Core.dll.sources b/mcs/class/System.Core/monotouch_tv_System.Core.dll.sources
new file mode 100644 (file)
index 0000000..7d32d44
--- /dev/null
@@ -0,0 +1,2 @@
+#include common_System.Core.dll.sources
+#include interpreter_System.Core.dll.sources
index 89d524cd1b9d50876d7b45209a97d904371e5bb3..e5681ff8ff5bf166c97dd42c23e421b8963c6445 100644 (file)
@@ -1 +1 @@
-#include net_4_5_System.Core.dll.sources
+#include net_4_x_System.Core.dll.sources
diff --git a/mcs/class/System.Data.DataSetExtensions/System.Data.DataSetExtensions-net_4_x.csproj b/mcs/class/System.Data.DataSetExtensions/System.Data.DataSetExtensions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ba4fe8a
--- /dev/null
@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{64D286EF-32EA-4494-9DD6-36609597A11A}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Data.DataSetExtensions</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.DataSetExtensions\System\Data\DataRowComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.DataSetExtensions\System\Data\DataRowExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.DataSetExtensions\System\Data\DataSetUtil.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.DataSetExtensions\System\Data\DataTableExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.DataSetExtensions\System\Data\EnumerableRowCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.DataSetExtensions\System\Data\EnumerableRowCollectionExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.DataSetExtensions\System\Data\LinqDataView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.DataSetExtensions\System\Data\OrderedEnumerableRowCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.DataSetExtensions\System\Data\SortExpressionBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.DataSetExtensions\System\Data\TypedTableBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.DataSetExtensions\System\Data\TypedTableBaseExtensions.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="ReferenceSources\Strings.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Data.Entity/System.Data.Entity-net_4_x.csproj b/mcs/class/System.Data.Entity/System.Data.Entity-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c78915c
--- /dev/null
@@ -0,0 +1,840 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A559EE60-2FE6-47DD-B4B8-0097BD242D86}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Data.Entity</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\misc\HResults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\AbstractExpressions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\Aggregates.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\BasicCommandTreeVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\BasicExpressionVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\DbCommandTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\DbDeleteCommandTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\DbExpressionVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\DbExpressionVisitor_TResultType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\DbFunctionCommandTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\DbInsertCommandTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\DbLambda.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\DbModificationClause.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\DbModificationCommandTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\DbQueryCommandTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\DbSetClause.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\DbUpdateCommandTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\DefaultExpressionVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\ExpressionBindings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\ExpressionBuilder\DbExpressionBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\ExpressionBuilder\EdmFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\ExpressionBuilder\Internal\ArgumentValidation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\ExpressionBuilder\Internal\EnumerableValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\ExpressionBuilder\Row.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\ExpressionBuilder\Spatial\SpatialEdmFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\Internal\DbExpressionRules.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\Internal\ExpressionCopier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\Internal\ExpressionDumper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\Internal\ExpressionKeyGen.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\Internal\ExpressionList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\Internal\ExpressionPrinter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\Internal\ParameterRetriever.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\Internal\PatternMatchRules.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\Internal\Validator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\Internal\ViewSimplifier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\Internal\XmlExpressionDumper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\OperatorExpressions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\RelationalExpressions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\CommandTrees\ValueExpressions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\DataRecord.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\DataRecordInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\DbCommandDefinition.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\DbProviderManifest.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\DbProviderServices.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\DbXmlEnabledProviderManifest.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntityRecordInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\AliasedExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\AstNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\BuiltInExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\CaseExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\Command.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\ConstructorExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\CreateRefExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\DotExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\FunctionDefinition.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\GroupAggregateExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\GroupPartitionExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\Identifier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\Literal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\MethodExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\NamespaceImport.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\NavigationExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\ParenExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\QueryExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\QueryParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\QueryStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\RefExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\AST\TypeDefinition.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\CqlErrorHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\CqlLexer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\CqlLexerHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\CqlParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\CqlParserHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\CqlQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\EntitySqlParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\FunctionOverloadResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\ParseResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\ParserOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\SemanticAnalyzer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\SemanticResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\StaticContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntitySql\TypeResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\EntityUtil.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\FieldMetadata.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\FieldNameLookup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Internal\DbTypeMap.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Internal\Materialization\ColumnMapKeyBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Internal\Materialization\CompensatingCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Internal\Materialization\Coordinator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Internal\Materialization\CoordinatorFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Internal\Materialization\CoordinatorScratchpad.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Internal\Materialization\RecordState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Internal\Materialization\RecordStateFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Internal\Materialization\RecordStateScratchpad.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Internal\Materialization\Shaper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Internal\Materialization\ShaperFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Internal\Materialization\Translator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Internal\Materialization\Util.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Internal\MultipartIdentifier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\QueryCache\CompiledQueryCacheEntry.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\QueryCache\CompiledQueryCacheKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\QueryCache\EntityClientCacheKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\QueryCache\EntitySqlQueryCacheKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\QueryCache\LinqQueryCacheKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\QueryCache\QueryCacheEntry.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\QueryCache\QueryCacheKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\QueryCache\QueryCacheManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\QueryCache\ShaperFactoryQueryCacheKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\AliasGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Boolean\BoolExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Boolean\Clause.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Boolean\ConversionContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Boolean\Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Boolean\DomainConstraint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Boolean\IdentifierService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Boolean\KnowledgeBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Boolean\Literal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Boolean\NegationPusher.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Boolean\Sentence.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Boolean\Simplifier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Boolean\Solver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Boolean\Vertex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Boolean\Visitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\ByValueEqualityComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\CommandHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\DisposableCollectionWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Helpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\InternalBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\KeyToListMap.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Memoizer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\MetadataHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\ModifiableIteratorCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Pair.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Set.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\Singleton.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\StringUtil.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\ThreadSafeList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\TrailingSpaceComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Common\Utils\TreePrinter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\DbConnectionOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\DbParameterCollectionHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\DbParameterHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\EntityAdapter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\EntityCommand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\EntityCommandDefinition.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\EntityConnection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\EntityConnectionStringBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\EntityDataReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\EntityParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\EntityParameterCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\EntityProviderFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\EntityProviderServices.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\EntityTransaction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityClient\NameValuePair.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityCommandCompilationException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityCommandExecutionException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\Action.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\BooleanFacetDescriptionElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ByteFacetDescriptionElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\CollectionKind.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\CollectionTypeElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ConcurrencyMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\Documentation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\EntityContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\EntityContainerAssociationSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\EntityContainerAssociationSetEnd.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\EntityContainerEntitySet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\EntityContainerEntitySetDefiningQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\EntityContainerRelationshipSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\EntityContainerRelationshipSetEnd.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\EntityKeyElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ErrorCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\FacetDescriptionElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\FacetEnabledSchemaElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\FilteredSchemaElementLookUpTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\Function.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\FunctionCommandText.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\FunctionImportElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\IntegerFacetDescriptionElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\IRelationship.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\IRelationshipEnd.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ISchemaElementLookUpTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ItemType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\KeyProperty.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ModelFunction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ModelFunctionTypeElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\NavigationProperty.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\OnOperation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\Operation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\Parameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\PrimitiveSchema.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\Property.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ReferenceSchema.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ReferenceTypeElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ReferentialConstraint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ReferentialConstraintRoleElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\Relationship.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\RelationshipEnd.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\RelationshipEndCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ReturnType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ReturnValue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\RowTypeElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\RowTypePropertyElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ScalarType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\Schema.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\SchemaComplexType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\SchemaDataModelOption.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\SchemaElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\SchemaElementLookUpTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\SchemaElementLookUpTableEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\SchemaEnumMember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\SchemaEnumType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\SchemaLookupTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\SchemaManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\SchemaType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\SridFacetDescriptionElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\StoreGeneratedPattern.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\StructuredProperty.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\StructuredType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\TextElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\TypeElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\TypeModifier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\TypeRefElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\TypeUsageBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\Utils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\ValidationHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityModel\SchemaObjectModel\XmlSchemaResource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntitySqlException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\EntityState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\IEntityAdapter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\IEntityStateEntry.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\IEntityStateManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\IExtendedDataRecord.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\InternalMappingException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\InvalidCommandTreeException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\BaseMetadataMappingVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\DefaultObjectMappingItemCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\EntityViewContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\EntityViewGenerationAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\FunctionImportMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\FunctionImportMapping.ReturnTypeRenameMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\FunctionImportMappingComposable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\FunctionImportMappingNonComposable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Mapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\MappingItemCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\MetadataMappingHasherVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\MetadataMappingHasherVisitor.HashSourceBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ObjectAssociationEndMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ObjectComplexPropertyMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ObjectMemberMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ObjectMslConstructs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ObjectNavigationPropertyMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ObjectPropertyMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ObjectTypeMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageAssociationSetMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageAssociationTypeMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageComplexPropertyMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageComplexTypeMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageConditionPropertyMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageEndPropertyMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageEntityContainerMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageEntitySetMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageEntityTypeMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageMappingErrorCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageMappingFragment.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageMappingItemCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageMappingItemCollection.ViewDictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageMappingItemLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageModificationFunctionMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageMslConstructs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StoragePropertyMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageScalarPropertyMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageSetMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\StorageTypeMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\AssociationSetMetadata.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\ChangeNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\CompositeKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\DynamicUpdateCommand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\ExtractedStateEntry.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\ExtractorMetadata.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\FunctionMappingTranslator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\FunctionUpdateCommand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\Graph.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\KeyManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\Propagator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\Propagator.Evaluator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\Propagator.ExtentPlaceholderCreator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\Propagator.JoinPropagator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\Propagator.JoinPropagator.JoinPredicateVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\Propagator.JoinPropagator.SubstitutingCloneVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\PropagatorFlags.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\PropagatorResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\RecordConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\RelationshipConstraintValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\SourceInterpreter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\TableChangeProcessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\UndirectedGraph.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\UpdateCommand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\UpdateCommandOrderer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\UpdateCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\UpdateExpressionVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\UpdateTranslator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\Update\Internal\ViewLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\BasicViewGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\CellCreator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\CellPartitioner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\CellTreeSimplifier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\ConfigViewGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\CqlGeneration\AliasedSlot.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\CqlGeneration\BooleanProjectedSlot.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\CqlGeneration\CaseCqlBlock.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\CqlGeneration\CqlBlock.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\CqlGeneration\CqlIdentifiers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\CqlGeneration\CqlWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\CqlGeneration\ExtentCqlBlock.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\CqlGeneration\JoinCqlBlock.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\CqlGeneration\SlotInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\CqlGeneration\UnionCqlBlock.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\CqlGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\DiscriminatorMap.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\GeneratedView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\QueryRewriting\FragmentQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\QueryRewriting\FragmentQueryKB.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\QueryRewriting\FragmentQueryProcessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\QueryRewriting\QueryRewriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\QueryRewriting\RewritingPass.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\QueryRewriting\RewritingProcessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\QueryRewriting\RewritingSimplifier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\QueryRewriting\RewritingValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\QueryRewriting\RoleBoolean.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\QueryRewriting\Tile.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\BoolExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\BoolExpressionVisitors.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\BoolLiteral.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\CaseStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\CaseStatementProjectedSlot.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\Cell.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\CellIdBoolean.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\CellLabel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\CellQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\CellTreeNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\CellTreeNodeVisitors.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\CellTreeOpType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\Constant.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\ConstantProjectedSlot.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\Domain.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\ErrorLog.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\LeafCellTreeNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\LeftCellWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\MemberDomainMap.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\MemberMaps.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\MemberPath.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\MemberProjectedSlot.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\MemberProjectionIndex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\MemberRestriction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\NegatedConstant.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\OpCellTreeNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\ProjectedSlot.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\QualifiedCellIdBoolean.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\ScalarConstant.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\ScalarRestriction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\TypeConstant.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\TypeRestriction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Structures\WithStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Utils\ExceptionHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Utils\ExternalCalls.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Utils\ViewGenErrorCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Validation\BasicCellRelation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Validation\BasicKeyConstraint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Validation\CellRelation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Validation\ConstraintBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Validation\ErrorPatternMatcher.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Validation\ExtentKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Validation\ForeignConstraint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Validation\KeyConstraint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Validation\SchemaConstraints.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Validation\ViewCellRelation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Validation\ViewCellSlot.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Validation\ViewKeyConstraint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\Validator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\ViewgenContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\ViewGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\ViewgenGatekeeper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewGeneration\ViewGenResults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Mapping\ViewValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\MappingException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\AspProxy.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\CacheForPrimitiveTypes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ClrPerspective.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\CustomAssemblyResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\DataSpace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\DefaultAssemblyResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\AssociationEndMember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\AssociationSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\AssociationSetEnd.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\AssociationType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\AttributeKind.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\BuiltInKind.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\CollectionType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\ComplexType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\Documentation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\EdmConstants.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\EdmFunction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\EdmMember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\EdmProperty.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\EdmType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\EntityContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\EntitySet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\EntitySetBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\EntitySetBaseCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\EntityType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\EntityTypeBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\EnumMember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\EnumType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\Facet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\FacetDescription.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\FacetValueContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\FacetValues.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\FilteredReadOnlyMetadataCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\FunctionParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\GlobalItem.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\ItemCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\LightweightCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\MemberCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\MetadataCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\MetadataItem.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\MetadataItem_Static.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\MetadataProperty.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\MetadataPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\MetadataPropertyCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\MetadataPropertyvalue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\NavigationProperty.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\NavigationPropertyAccessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\OperationAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\ParameterMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\PrimitiveType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\PrimitiveTypeKind.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\Provider\ClrProviderManifest.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\Provider\EdmProviderManifest.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\Provider\EdmProviderManifestFunctionBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\Provider\EdmProviderManifestSpatialFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\ReadOnlyMetadataCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\ReferentialConstraint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\RefType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\RelationshipEndMember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\RelationshipMultiplicity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\RelationshipSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\RelationshipType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\RowType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\SafeLink.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\SafeLinkCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\SimpleType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\StructuralType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\TypeUsage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Edm\util.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\EdmError.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\EdmItemCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\EdmItemCollection.OcAssemblyCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\EdmItemError.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\EdmSchemaError.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\EdmSchemaErrorSeverity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\EdmValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Helper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\MappingMetadataHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\MetadataArtifactAssemblyResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\MetadataArtifactLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\MetadataArtifactLoaderComposite.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\MetadataArtifactLoaderCompositeFile.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\MetadataArtifactLoaderCompositeResource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\MetadataArtifactLoaderFile.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\MetadataArtifactLoaderResource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\MetadataArtifactLoaderXmlReaderWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\MetadataCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\MetadataWorkspace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ModelPerspective.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectItemCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\AssemblyCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\AssemblyCacheEntry.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\ImmutableAssemblyCacheEntry.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\KnownAssembliesSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\KnownAssemblyEntry.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\LoadMessageLogger.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\LockedAssemblyCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\MetadataAssemblyHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\MutableAssemblyCacheEntry.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\ObjectItemAssemblyLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\ObjectItemAttributeAssemblyLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\ObjectItemCachedAssemblyLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\ObjectItemConventionAssemblyLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\ObjectItemLoadingSessionData.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ObjectLayer\ObjectItemNoOpAssemblyLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\ParameterTypeSemantics.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\Perspective.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\StoreItemCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\StoreItemCollection.Loader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\TargetPerspective.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\TypeHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\TypeSemantics.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Metadata\XmlConstants.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\MetadataException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\ObjectNotFoundException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\AdditionalEntityFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\CompiledQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\ComplexObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EdmComplexPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EdmComplexTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EdmEntityTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EdmEnumTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EdmFunctionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EdmPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EdmRelationshipNavigationPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EdmRelationshipRoleAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EdmScalarPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EdmSchemaAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EdmTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EntityCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EntityObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EntityReference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\EntityReference_TResultType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\IEntityChangeTracker.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\IEntityWithChangeTracker.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\IEntityWithKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\IEntityWithRelationships.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\IRelatedEnd.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\IRelationshipFixer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\RelatedEnd.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\RelationshipFixer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\RelationshipKind.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\RelationshipManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\RelationshipNavigation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataClasses\StructuralObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\DataRecordObjectView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\BindingContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\CompiledELinqQueryState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\ELinqQueryState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\EntityExpressionVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\ExpressionConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\ExpressionVisitorHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\Funcletizer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\InitializerFacet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\LinqExpressionNormalizer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\MethodCallTranslator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\ObjectQueryProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\OrderByLifter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\ReflectionUtil.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\SpatialMethodCallTranslator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\SpatialPropertyTranslator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\Translator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ELinq\TypeSystem.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\EntityEntry.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\EntityFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\FieldDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\BaseEntityWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\ComplexTypeMaterializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\EntityProxyFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\EntityProxyTypeInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\EntitySqlQueryBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\EntitySqlQueryState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\EntityWithChangeTrackerStrategy.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\EntityWithKeyStrategy.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\EntityWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\EntityWrapperFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\ForeignKeyFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\IChangeTrackingStrategy.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\IEntityKeyStrategy.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\IEntityWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\IPropertyAccessorStrategy.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\LazyLoadBehavior.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\LightweightEntityWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\NullEntityWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\ObjectFullSpanRewriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\ObjectQueryExecutionPlan.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\ObjectQueryState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\ObjectSpanRewriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\PocoEntityKeyStrategy.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\PocoPropertyAccessorStrategy.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\SnapshotChangeTrackingStrategy.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Internal\TransactionManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\IObjectSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\IObjectView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\IObjectViewData.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\MergeOption.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\NextResultGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectMaterializedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectParameterCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectQuery_EntitySqlExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectQuery_TResultType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectResult_TResultType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectStateEntry.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectStateEntryBaseUpdatableDataRecord.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectStateEntryDbDataRecord.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectStateEntryDbUpdatableDataRecord.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectStateEntryOriginalDbUpdatableDataRecord.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectStateManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectStateManagerMetadata.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectViewEntityCollectionData.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectViewFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectViewListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ObjectViewQueryResultData.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\ProxyDataContractResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\RefreshMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\RelationshipEntry.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\RelationshipWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\SaveOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\Span.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\SpanIndex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\SqlClient\SqlFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Objects\SqlClient\SqlSpatialFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\OptimisticConcurrencyException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\PropertyConstraintException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\ProviderIncompatibleException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\AncillaryOps.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\BasicValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\ColumnMap.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\ColumnMapCopier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\ColumnMapFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\ColumnMapVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\Command.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\Dump.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\ExplicitDiscriminatorMap.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\Metadata.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\NodeCounter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\NodeInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\Nodes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\OpCopier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\Ops.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\PhysicalOps.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\RelOps.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\RelPropertyHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\Rule.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\RulePatternOps.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\RuleProcessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\ScalarOps.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\Vars.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\InternalTrees\Visitors.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\AggregatePushdown.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\CodeGen.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\ColumnMapProcessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\ColumnMapTranslator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\CommandPlan.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\ConstraintManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\CTreeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\ITreeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\JoinElimination.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\JoinGraph.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\KeyPullup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\NestPullup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\NominalTypeEliminator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\Normalizer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\PlanCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\PlanCompilerUtil.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\Predicate.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\PreProcessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\ProjectionPruner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\PropertyPushdownHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\PropertyRef.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\ProviderCommandInfoUtils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\StructuredTypeInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\SubqueryTrackingVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\TransformationRules.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\TypeInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\TypeUtils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\Validator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\VarInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\VarRefManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\PlanCompiler\VarRemapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\ResultAssembly\BridgeDataReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Query\ResultAssembly\BridgeDataRecord.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Spatial\DbGeography.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Spatial\DbGeographyWellKnownValue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Spatial\DbGeometry.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Spatial\DbGeometryWellKnownValue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Spatial\DbSpatialDataReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Spatial\DbSpatialServices.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Spatial\DefaultSpatialServices.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Spatial\ExtensionMethods.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Spatial\Internal\SpatialExceptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\Spatial\SpatialHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\IDbSpatialValue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\DmlSqlGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\ISqlFragment.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\JoinSymbol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\OptionalColumn.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\Sql8ConformanceChecker.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\Sql8ExpressionRewriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\SqlBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\SqlFunctionCallHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\SqlGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\SqlSelectClauseBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\SqlSelectStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\SqlWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\Symbol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\SymbolPair.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\SymbolTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\SymbolUsageManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlGen\TopClause.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlProviderManifest.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlProviderServices.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlProviderUtilities.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlSpatialDataReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlSpatialServices.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlSpatialServices.Generated.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlTypesAssembly.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\SqlClient\SqlVersion.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\System\Data\UpdateException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.Entity\Util\AppSettings.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="EntityRes.cs" />\r
+    <Compile Include="EntityResCategoryAttribute.cs" />\r
+    <Compile Include="EntityResDescriptionAttribute.cs" />\r
+    <Compile Include="Error.cs" />\r
+    <Compile Include="Strings.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Xml.Linq/System.Xml.Linq-net_4_x.csproj">\r
+      <Project>{526286D5-38D9-4579-B001-471440D57752}</Project>\r
+      <Name>System.Xml.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Transactions/System.Transactions-net_4_x.csproj">\r
+      <Project>{3821C69F-220D-4231-992C-0FE05311A005}</Project>\r
+      <Name>System.Transactions-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_4_x.csproj">\r
+      <Project>{8F86C287-38A5-49F8-BE6D-1E0E3D74AF39}</Project>\r
+      <Name>System.ComponentModel.DataAnnotations-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Data.Linq/System.Data.Linq-net_4_x.csproj b/mcs/class/System.Data.Linq/System.Data.Linq-net_4_x.csproj
new file mode 100644 (file)
index 0000000..77f2f55
--- /dev/null
@@ -0,0 +1,429 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{E6EE9E9A-42BA-4202-8813-FCF40E9061BF}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Data.Linq</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;MONO_STRICT;MONO_DEPLOY</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;MONO_STRICT;MONO_DEPLOY</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="src\DbLinq.Firebird\FirebirdDataContext.cs" />\r
+    <Compile Include="src\DbLinq.Firebird\FirebirdExpressionTranslator.cs" />\r
+    <Compile Include="src\DbLinq.Firebird\FirebirdSchemaLoader.Columns.cs" />\r
+    <Compile Include="src\DbLinq.Firebird\FirebirdSchemaLoader.Constraints.cs" />\r
+    <Compile Include="src\DbLinq.Firebird\FirebirdSchemaLoader.cs" />\r
+    <Compile Include="src\DbLinq.Firebird\FirebirdSchemaLoader.StoredProcedures.cs" />\r
+    <Compile Include="src\DbLinq.Firebird\FirebirdSchemaLoader.Tables.cs" />\r
+    <Compile Include="src\DbLinq.Firebird\FirebirdSqlProvider.cs" />\r
+    <Compile Include="src\DbLinq.Firebird\FirebirdVendor.cs" />\r
+    <Compile Include="src\DbLinq.Ingres\IngresDataContext.cs" />\r
+    <Compile Include="src\DbLinq.Ingres\IngresSchemaLoader.Columns.cs" />\r
+    <Compile Include="src\DbLinq.Ingres\IngresSchemaLoader.Constraints.cs" />\r
+    <Compile Include="src\DbLinq.Ingres\IngresSchemaLoader.cs" />\r
+    <Compile Include="src\DbLinq.Ingres\IngresSchemaLoader.StoredProcedures.cs" />\r
+    <Compile Include="src\DbLinq.Ingres\IngresSchemaLoader.Tables.cs" />\r
+    <Compile Include="src\DbLinq.Ingres\IngresSqlProvider.cs" />\r
+    <Compile Include="src\DbLinq.Ingres\IngresVendor.cs" />\r
+    <Compile Include="src\DbLinq.MySql\MySqlDataContext.cs" />\r
+    <Compile Include="src\DbLinq.MySql\MySqlSchemaLoader.Columns.cs" />\r
+    <Compile Include="src\DbLinq.MySql\MySqlSchemaLoader.Constraints.cs" />\r
+    <Compile Include="src\DbLinq.MySql\MySqlSchemaLoader.cs" />\r
+    <Compile Include="src\DbLinq.MySql\MySqlSchemaLoader.StoredProcedures.cs" />\r
+    <Compile Include="src\DbLinq.MySql\MySqlSchemaLoader.Tables.cs" />\r
+    <Compile Include="src\DbLinq.MySql\MySqlSqlProvider.cs" />\r
+    <Compile Include="src\DbLinq.MySql\MySqlVendor.cs" />\r
+    <Compile Include="src\DbLinq.Oracle\OracleDataContext.cs" />\r
+    <Compile Include="src\DbLinq.Oracle\OracleSchemaLoader.Columns.cs" />\r
+    <Compile Include="src\DbLinq.Oracle\OracleSchemaLoader.Constraints.cs" />\r
+    <Compile Include="src\DbLinq.Oracle\OracleSchemaLoader.cs" />\r
+    <Compile Include="src\DbLinq.Oracle\OracleSchemaLoader.StoredProcedures.cs" />\r
+    <Compile Include="src\DbLinq.Oracle\OracleSchemaLoader.Tables.cs" />\r
+    <Compile Include="src\DbLinq.Oracle\OracleSqlProvider.cs" />\r
+    <Compile Include="src\DbLinq.Oracle\OracleVendor.cs" />\r
+    <Compile Include="src\DbLinq.PostgreSql\PgsqlDataContext.cs" />\r
+    <Compile Include="src\DbLinq.PostgreSql\PgsqlSchemaLoader.Columns.cs" />\r
+    <Compile Include="src\DbLinq.PostgreSql\PgsqlSchemaLoader.Constraints.cs" />\r
+    <Compile Include="src\DbLinq.PostgreSql\PgsqlSchemaLoader.cs" />\r
+    <Compile Include="src\DbLinq.PostgreSql\PgsqlSchemaLoader.StoredProcedures.cs" />\r
+    <Compile Include="src\DbLinq.PostgreSql\PgsqlSchemaLoader.Tables.cs" />\r
+    <Compile Include="src\DbLinq.PostgreSql\PgsqlSqlProvider.cs" />\r
+    <Compile Include="src\DbLinq.PostgreSql\PgsqlVendor.cs" />\r
+    <Compile Include="src\DbLinq.Sqlite\Schema\DataCommand.cs" />\r
+    <Compile Include="src\DbLinq.Sqlite\SqliteDataContext.cs" />\r
+    <Compile Include="src\DbLinq.Sqlite\SqliteSchemaLoader.Columns.cs" />\r
+    <Compile Include="src\DbLinq.Sqlite\SqliteSchemaLoader.Constraints.cs" />\r
+    <Compile Include="src\DbLinq.Sqlite\SqliteSchemaLoader.cs" />\r
+    <Compile Include="src\DbLinq.Sqlite\SqliteSchemaLoader.Tables.cs" />\r
+    <Compile Include="src\DbLinq.Sqlite\SqliteSqlProvider.cs" />\r
+    <Compile Include="src\DbLinq.Sqlite\SqliteVendor.cs" />\r
+    <Compile Include="src\DbLinq.SqlServer\SqlServerDataContext.cs" />\r
+    <Compile Include="src\DbLinq.SqlServer\SqlServerExpressionTranslator.cs" />\r
+    <Compile Include="src\DbLinq.SqlServer\SqlServerSchemaLoader.cs" />\r
+    <Compile Include="src\DbLinq.SqlServer\SqlServerSqlProvider.cs" />\r
+    <Compile Include="src\DbLinq.SqlServer\SqlServerTypeConversions.cs" />\r
+    <Compile Include="src\DbLinq.SqlServer\SqlServerVendor.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\ChangeAction.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\ChangeSet.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Database\IDatabaseContext.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Database\IDatabaseTransaction.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Database\Implementation\DatabaseConnection.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Database\Implementation\DatabaseContext.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Database\Implementation\DatabaseTransaction.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Database\Implementation\TransactionalCommand.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Database\ITransactionalCommand.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\DataContext.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\DataLoadOptions.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\DBLinqExtendedAttributte.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\EntityRef.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\EntitySet.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Identity\IdentityKey.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Identity\IIdentityProvider.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Identity\IIdentityReader.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Identity\IIdentityReaderFactory.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Identity\Implementation\IdentityProviderReader.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Identity\Implementation\IdentityReader.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Identity\Implementation\IdentityReaderFactory.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\IExecuteResult.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\IMemberModificationHandler.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Implementation\DisabledEntityTracker.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Implementation\EntityState.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Implementation\EntityTrack.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Implementation\EntityTracker.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Implementation\IEntityTracker.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Implementation\MemberModificationHandler.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Implementation\QueryProvider.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Implementation\VendorProvider.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\ITable.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\IVendorProvider.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedAbstractMetaDataMember.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedAssociationMetaDataMember.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedColumnMetaDataMember.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedMetaAssociation.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedMetaFunction.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedMetaModel.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedMetaTable.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributedMetaType.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Mapping\AttributeMappingSource.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Mapping\LambdaMetaAccessor.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Mapping\MappingContext.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Mapping\XmlMappingSource.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\RefreshMode.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sql\SqlLiteralPart.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sql\SqlParameterPart.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sql\SqlPart.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sql\SqlStatement.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sql\SqlStatementBuilder.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\SqlClient\FirebirdProvider.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\SqlClient\IngresProvider.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\SqlClient\MySqlProvider.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\SqlClient\OracleProvider.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\SqlClient\PostgreSqlProvider.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\SqlClient\Sql2000Provider.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\SqlClient\Sql2005Provider.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\SqlClient\Sql2008Provider.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\SqlClient\SqliteProvider.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\SqlClient\SqlServerProvider.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\AbstractQuery.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\BuilderContext.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\DeleteQuery.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\DirectQuery.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Error.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionChain.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\ExpressionMutatorExtensions.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\ExpressionMutatorFactory.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\BinaryExpressionMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\ConditionalExpressionMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\ConstantExpressionMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\IMemberBindingMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\InvocationExpressionMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\LambdaExpressionMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\ListInitExpressionMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\MemberAssignmentMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\MemberBindingMutatorFactory.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\MemberExpressionMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\MemberInitExpressionMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\MemberListBindingMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\MemberMemberBindingMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\MethodCallExpressionMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\NewArrayExpressionMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\NewExpressionMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\ParameterExpressionMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\TypeBinaryExpressionMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionMutator\Implementation\UnaryExpressionMutator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionPrecedence.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionQuery.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\ColumnExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\CustomExpressionType.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\EntitySetExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\ExpressionTranslator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\GroupExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\IExecutableExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\IMutableExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\InputParameterExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\MetaTableExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\MutableExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\ObjectInputParameterExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\ObjectOutputParameterExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\OperandsMutableExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\OrderByExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\SelectExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\SelectOperatorType.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\SpecialExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\SpecialExpressionType.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\StartIndexOffsetExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\SubSelectExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\TableExpression.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Expressions\TableJoinType.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ExpressionTier.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\IDataMapper.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\IDataRecordReader.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\IExpressionDispatcher.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\IExpressionLanguageParser.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\IExpressionOptimizer.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\IExpressionQualifier.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\DataMapper.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\DataRecordReader.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\ExpressionDispatcher.Analyzer.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\ExpressionDispatcher.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\ExpressionDispatcher.Registrar.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\ExpressionLanguageParser.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\ExpressionOptimizer.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\ExpressionQualifier.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\LineGrouping.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\PrequelAnalyzer.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\QueryBuilder.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\QueryBuilder.Upsert.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\QueryCache.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\QueryRunner.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\SpecialExpressionTranslator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\Implementation\SqlBuilder.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\IPrequelAnalyzer.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\IQueryBuilder.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\IQueryCache.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\IQueryRunner.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ISpecialExpressionTranslator.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ISqlBuilder.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\ParameterizedQuery.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\QueryContext.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\SelectQuery.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Sugar\UpsertQuery.cs" />\r
+    <Compile Include="src\DbLinq\Data\Linq\Table.cs" />\r
+    <Compile Include="src\DbLinq\DbLinqToDoAttribute.cs" />\r
+    <Compile Include="src\DbLinq\Factory\DbLinqAttribute.cs" />\r
+    <Compile Include="src\DbLinq\Factory\Implementation\ReflectionObjectFactory.cs" />\r
+    <Compile Include="src\DbLinq\Factory\IObjectFactory.cs" />\r
+    <Compile Include="src\DbLinq\Factory\ObjectFactory.cs" />\r
+    <Compile Include="src\DbLinq\Language\ILanguages.cs" />\r
+    <Compile Include="src\DbLinq\Language\ILanguageWords.cs" />\r
+    <Compile Include="src\DbLinq\Language\Implementation\AbstractEndPluralWords.cs" />\r
+    <Compile Include="src\DbLinq\Language\Implementation\AbstractWords.cs" />\r
+    <Compile Include="src\DbLinq\Language\Implementation\Languages.cs" />\r
+    <Compile Include="src\DbLinq\Language\Implementation\NoLanguageWords.cs" />\r
+    <Compile Include="src\DbLinq\Schema\AssociationName.cs" />\r
+    <Compile Include="src\DbLinq\Schema\Case.cs" />\r
+    <Compile Include="src\DbLinq\Schema\ColumnName.cs" />\r
+    <Compile Include="src\DbLinq\Schema\Dbml\Adapter\ArrayAdapter.cs" />\r
+    <Compile Include="src\DbLinq\Schema\Dbml\Adapter\CsvArrayAdapter.cs" />\r
+    <Compile Include="src\DbLinq\Schema\Dbml\Adapter\EnumType.cs" />\r
+    <Compile Include="src\DbLinq\Schema\Dbml\Adapter\INamedType.cs" />\r
+    <Compile Include="src\DbLinq\Schema\Dbml\Adapter\ISimpleList.cs" />\r
+    <Compile Include="src\DbLinq\Schema\Dbml\Adapter\SpecifiedPropertyUpdater.cs" />\r
+    <Compile Include="src\DbLinq\Schema\Dbml\DatabaseSerializer.cs" />\r
+    <Compile Include="src\DbLinq\Schema\Dbml\DbmlSchema.Adapter.cs" />\r
+    <Compile Include="src\DbLinq\Schema\Dbml\DbmlSchema.cs" />\r
+    <Compile Include="src\DbLinq\Schema\Dbml\DbmlSerializer.cs" />\r
+    <Compile Include="src\DbLinq\Schema\Implementation\NameFormatter.cs" />\r
+    <Compile Include="src\DbLinq\Schema\INameFormatter.cs" />\r
+    <Compile Include="src\DbLinq\Schema\Name.cs" />\r
+    <Compile Include="src\DbLinq\Schema\NameFormat.cs" />\r
+    <Compile Include="src\DbLinq\Schema\ParameterName.cs" />\r
+    <Compile Include="src\DbLinq\Schema\ProcedureName.cs" />\r
+    <Compile Include="src\DbLinq\Schema\SchemaName.cs" />\r
+    <Compile Include="src\DbLinq\Schema\TableName.cs" />\r
+    <Compile Include="src\DbLinq\Schema\WordsExtraction.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\Binary.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\ChangeConflictCollection.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\ChangeConflictException.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\CompiledQuery.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\ConflictMode.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\DBConvert.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\DuplicateKeyException.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\ForeignKeyReferenceAlreadyHasValueException.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\IFunctionResult.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\IMultipleResults.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\ISingleResult.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\Link.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\MemberChangeConflict.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\ModifiedMemberInfo.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\ObjectChangeConflict.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\AssociationAttribute.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\AutoSync.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\ColumnAttribute.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\DataAttribute.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\DatabaseAttribute.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\FunctionAttribute.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\InheritanceMappingAttribute.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MappingSource.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaAccessor.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaAccessor_2.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaAssociation.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaDataMember.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaFunction.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaModel.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaParameter.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaTable.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\MetaType.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\ParameterAttribute.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\ProviderAttribute.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\ResultTypeAttribute.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\TableAttribute.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.Mapping\UpdateCheck.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.SqlClient.Implementation\ObjectMaterializer.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.SqlClient\SqlHelpers.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.SqlClient\SqlMethods.cs" />\r
+    <Compile Include="src\DbLinq\System.Data.Linq\System.Data.Linq.SqlClient\SqlProvider.cs" />\r
+    <Compile Include="src\DbLinq\Util\DataCommand.cs" />\r
+    <Compile Include="src\DbLinq\Util\DbmlExtensions.cs" />\r
+    <Compile Include="src\DbLinq\Util\ExpressionChainEqualityComparer.cs" />\r
+    <Compile Include="src\DbLinq\Util\ExpressionEqualityComparer.cs" />\r
+    <Compile Include="src\DbLinq\Util\IDataRecordExtensions.cs" />\r
+    <Compile Include="src\DbLinq\Util\IDataTypeExtensions.cs" />\r
+    <Compile Include="src\DbLinq\Util\IDbDataParameterExtensions.cs" />\r
+    <Compile Include="src\DbLinq\Util\IThreadSafeDictionary.cs" />\r
+    <Compile Include="src\DbLinq\Util\LambdaComparer.cs" />\r
+    <Compile Include="src\DbLinq\Util\MemberInfoExtensions.cs" />\r
+    <Compile Include="src\DbLinq\Util\Output.cs" />\r
+    <Compile Include="src\DbLinq\Util\OutputLevel.cs" />\r
+    <Compile Include="src\DbLinq\Util\Page.cs" />\r
+    <Compile Include="src\DbLinq\Util\Profiler.cs" />\r
+    <Compile Include="src\DbLinq\Util\QuotesHelper.cs" />\r
+    <Compile Include="src\DbLinq\Util\ReferenceEqualityComparer.cs" />\r
+    <Compile Include="src\DbLinq\Util\ReflectionExtensions.cs" />\r
+    <Compile Include="src\DbLinq\Util\ReflectionUtility.cs" />\r
+    <Compile Include="src\DbLinq\Util\StringExtensions.cs" />\r
+    <Compile Include="src\DbLinq\Util\TextWriterExtension.cs" />\r
+    <Compile Include="src\DbLinq\Util\ThreadSafeDictionary.cs" />\r
+    <Compile Include="src\DbLinq\Util\TypeConvert.cs" />\r
+    <Compile Include="src\DbLinq\Util\TypeExtensions.cs" />\r
+    <Compile Include="src\DbLinq\Util\TypeLoader.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\DbSchemaLoader.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\IDataName.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\IDataTableColumn.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\IDataType.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.Columns.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.DataName.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.DataTableColumn.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.ForeignKey.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.Name.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.StoredProcedures.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.Tables.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\Implementation\SchemaLoader.TypeMapping.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\Implementation\SqlProvider.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\Implementation\Vendor.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\Implementation\Vendor.ProcedureResult.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\INameAliases.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\ISchemaLoader.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\ISqlProvider.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\IVendor.cs" />\r
+    <Compile Include="src\DbLinq\Vendor\VendorAttribute.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="./src/DbLinq/Schema/Dbml/DbmlSchema.xsd">\r
+      <LogicalName>DbLinq.Schema.Dbml.DbmlSchema.xsd</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Data.OracleClient/System.Data.OracleClient-net_4_x.csproj b/mcs/class/System.Data.OracleClient/System.Data.OracleClient-net_4_x.csproj
new file mode 100644 (file)
index 0000000..6216502
--- /dev/null
@@ -0,0 +1,170 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{0029417C-ED54-4162-8D8C-D935C760D89D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Data.OracleClient</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciAttributeType.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciBindHandle.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciCalls.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciColumnInfo.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciCredentialType.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciDataType.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciDateTimeDescriptor.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciDefineHandle.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciDescriptorHandle.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciEnvironmentHandle.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciEnvironmentMode.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciErrorHandle.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciErrorInfo.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciExecuteMode.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciHandle.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciHandleType.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciIntervalDescriptor.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciLobLocator.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciLobType.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciNlsServiceType.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciParameterDescriptor.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciPointerType.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciRowIdDescriptor.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciServerHandle.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciServiceHandle.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciSessionHandle.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciSessionMode.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciStatementHandle.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciStatementLanguage.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciStatementMode.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciStatementType.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciTransactionFlags.cs" />\r
+    <Compile Include="System.Data.OracleClient.Oci\OciTransactionHandle.cs" />\r
+    <Compile Include="System.Data.OracleClient\OciGlue.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleBFile.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleBinary.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleBoolean.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleClientFactory.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleCommand.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleCommandBuilder.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleConnection.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleConnectionPool.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleConnectionPoolManager.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleConnectionStringBuilder.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleDataAdapter.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleDataReader.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleDateTime.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleException.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleInfoMessageEventArgs.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleInfoMessageEventHandler.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleLob.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleLobOpenMode.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleMonthSpan.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleNumber.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleParameter.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleParameterCollection.cs" />\r
+    <Compile Include="System.Data.OracleClient\OraclePermission.cs" />\r
+    <Compile Include="System.Data.OracleClient\OraclePermissionAttribute.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleRowUpdatedEventArgs.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleRowUpdatedEventHandler.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleRowUpdatingEventArgs.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleRowUpdatingEventHandler.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleString.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleTimeSpan.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleTransaction.cs" />\r
+    <Compile Include="System.Data.OracleClient\OracleType.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.EnterpriseServices/System.EnterpriseServices-net_4_x.csproj">\r
+      <Project>{61E3D008-E273-4E12-860A-8ADA031098C2}</Project>\r
+      <Name>System.EnterpriseServices-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Drawing/System.Drawing-net_4_x.csproj">\r
+      <Project>{584A5E46-2958-4CB2-8DF9-188B420D0BB0}</Project>\r
+      <Name>System.Drawing-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Data.Services.Client/System.Data.Services.Client-net_4_x.csproj b/mcs/class/System.Data.Services.Client/System.Data.Services.Client-net_4_x.csproj
new file mode 100644 (file)
index 0000000..8202745
--- /dev/null
@@ -0,0 +1,225 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2FFB9A8F-DB7B-41FF-9398-15DF81AE1BC8}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Data.Services.Client</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include=".\Client\Parameterized.System.Data.Services.Client.cs" />\r
+    <Compile Include=".\Client\System.Data.Services.Client.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\DataServiceExpressionVisitor.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\DataServiceQueryProvider.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\Evaluator.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ExpressionNormalizer.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ExpressionVisitor.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ExpressionWriter.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\FilterQueryOptionExpression.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\InputBinder.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\InputReferenceExpression.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\NavigationPropertySingletonExpression.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\OrderByQueryOptionExpression.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ParameterReplacerVisitor.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\PathBox.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ProjectionAnalyzer.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ProjectionQueryOptionExpression.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ProjectionRewriter.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\QueryComponents.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\QueryOptionExpression.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ReflectionUtil.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ResourceBinder.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ResourceExpression.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ResourceExpressionType.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\ResourceSetExpression.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\SkipQueryOptionExpression.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\TakeQueryOptionExpression.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\TypeSystem.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\UriHelper.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ALinq\UriWriter.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ArraySet.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\AtomContentProperty.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\AtomDataKind.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\AtomEntry.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\AtomFeed.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\AtomMaterializer.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\AtomMaterializerLog.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\AtomParser.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\BaseAsyncResult.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\BatchStream.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\BatchStreamState.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Binding\BindingEntityInfo.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Binding\BindingGraph.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Binding\BindingObserver.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Binding\BindingUtils.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Binding\DataServiceCollectionOfT.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Binding\DataServiceEntityAttribute.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Binding\DataServiceSaveChangesEventArgs.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Binding\EntityChangedParams.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Binding\EntityCollectionChangedParams.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Binding\LoadCompletedEventArgs.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ChangesetResponse.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ClientConvert.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ClientType.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceClientException.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceContext.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceEntityAttribute.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceKeyAttribute.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceProtocolVersion.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceQuery.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceQueryContinuation.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceQueryException.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceQueryOfT.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceRequest.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceRequestArgs.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceRequestException.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceRequestOfT.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceResponse.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\DataServiceStreamResponse.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Descriptor.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\EntityDescriptor.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\EntityPropertyMappingAttribute.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\EntityStates.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Epm\EpmSyndicationContentSerializer.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Error.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\GetReadStreamResult.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\HasStreamAttribute.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\LinkDescriptor.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\MaterializeFromAtom.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\MediaEntryAttribute.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\MemberAssignmentAnalysis.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\MergeOption.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\MimeTypePropertyAttribute.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\OpenObject.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\OpenObjectAttribute.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\OperationResponse.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ProjectionPath.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ProjectionPathBuilder.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ProjectionPathSegment.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ProjectionPlan.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ProjectionPlanCompiler.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\QueryOperationResponseOfT.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\QueryResponse.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\QueryResult.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ReadingWritingEntityEventArgs.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\ReferenceEqualityComparer.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\SaveChangesOptions.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\SendingRequestEventArgs.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Util.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\WebUtil.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Xml\XmlAtomErrorReader.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\Xml\XmlWrappingReader.cs" />\r
+    <Compile Include=".\Client\System\Data\Services\Client\XmlUtil.cs" />\r
+    <Compile Include=".\Server\System\Data\Services\Epm\EpmContentSerializerBase.cs" />\r
+    <Compile Include=".\Server\System\Data\Services\Epm\EpmCustomContentSerializer.cs" />\r
+    <Compile Include=".\Server\System\Data\Services\Epm\EpmCustomContentWriterNodeData.cs" />\r
+    <Compile Include=".\Server\System\Data\Services\Epm\EpmSourcePathSegment.cs" />\r
+    <Compile Include=".\Server\System\Data\Services\Epm\EpmSourceTree.cs" />\r
+    <Compile Include=".\Server\System\Data\Services\Epm\EpmTargetPathSegment.cs" />\r
+    <Compile Include=".\Server\System\Data\Services\Epm\EpmTargetTree.cs" />\r
+    <Compile Include=".\Server\System\Data\Services\HttpProcessUtility.cs" />\r
+    <Compile Include=".\Server\System\Data\Services\Parsing\WebConvert.cs" />\r
+    <Compile Include=".\Server\System\Data\Services\Providers\EntityPropertyMappingInfo.cs" />\r
+    <Compile Include=".\Server\System\Data\Services\XmlConstants.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Xml.Linq/System.Xml.Linq-net_4_x.csproj">\r
+      <Project>{526286D5-38D9-4579-B001-471440D57752}</Project>\r
+      <Name>System.Xml.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../WindowsBase/WindowsBase-net_4_x.csproj">\r
+      <Project>{A8F39368-ECD9-41A5-A562-CC7C82B3CC86}</Project>\r
+      <Name>WindowsBase-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="Client/System.Data.Services.Client.resources">\r
+      <LogicalName>System.Data.Services.Client.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Data.Services/System.Data.Services-net_4_x.csproj b/mcs/class/System.Data.Services/System.Data.Services-net_4_x.csproj
new file mode 100644 (file)
index 0000000..37e35dd
--- /dev/null
@@ -0,0 +1,179 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{5A287CAF-8FA4-42F7-976D-EE16D76CF2F1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Data.Services</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include=".\System.Data.Services\ChangeInterceptorAttribute.cs" />\r
+    <Compile Include=".\System.Data.Services\DataService.cs" />\r
+    <Compile Include=".\System.Data.Services\DataServiceException.cs" />\r
+    <Compile Include=".\System.Data.Services\DataServiceHost.cs" />\r
+    <Compile Include=".\System.Data.Services\DataServiceHostFactory.cs" />\r
+    <Compile Include=".\System.Data.Services\EntitySetRights.cs" />\r
+    <Compile Include=".\System.Data.Services\ETagAttribute.cs" />\r
+    <Compile Include=".\System.Data.Services\ExpandSegment.cs" />\r
+    <Compile Include=".\System.Data.Services\ExpandSegmentCollection.cs" />\r
+    <Compile Include=".\System.Data.Services\HandleExceptionArgs.cs" />\r
+    <Compile Include=".\System.Data.Services\IDataServiceConfiguration.cs" />\r
+    <Compile Include=".\System.Data.Services\IDataServiceHost.cs" />\r
+    <Compile Include=".\System.Data.Services\IExpandedResult.cs" />\r
+    <Compile Include=".\System.Data.Services\IExpandProvider.cs" />\r
+    <Compile Include=".\System.Data.Services\IgnorePropertiesAttribute.cs" />\r
+    <Compile Include=".\System.Data.Services\IRequestHandler.cs" />\r
+    <Compile Include=".\System.Data.Services\IUpdatable.cs" />\r
+    <Compile Include=".\System.Data.Services\MimeTypeAttribute.cs" />\r
+    <Compile Include=".\System.Data.Services\ProcessRequestArgs.cs" />\r
+    <Compile Include=".\System.Data.Services\QueryInterceptorAttribute.cs" />\r
+    <Compile Include=".\System.Data.Services\ServiceOperationRights.cs" />\r
+    <Compile Include=".\System.Data.Services\SingleResultAttribute.cs" />\r
+    <Compile Include=".\System.Data.Services\UpdateOperations.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ExpandedWrapper`1.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ExpandedWrapper`10.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ExpandedWrapper`11.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ExpandedWrapper`12.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ExpandedWrapper`13.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ExpandedWrapper`2.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ExpandedWrapper`3.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ExpandedWrapper`4.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ExpandedWrapper`5.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ExpandedWrapper`6.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ExpandedWrapper`7.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ExpandedWrapper`8.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ExpandedWrapper`9.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ProjectedWrapper.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ProjectedWrapper0.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ProjectedWrapper1.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ProjectedWrapper2.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ProjectedWrapper3.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ProjectedWrapper4.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ProjectedWrapper5.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ProjectedWrapper6.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ProjectedWrapper7.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ProjectedWrapper8.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ProjectedWrapperMany.cs" />\r
+    <Compile Include="System.Data.Services.Internal\ProjectedWrapperManyEnd.cs" />\r
+    <Compile Include="System.Data.Services.Providers\DataServiceProviderMethods.cs" />\r
+    <Compile Include="System.Data.Services.Providers\IDataServiceMetadataProvider.cs" />\r
+    <Compile Include="System.Data.Services.Providers\IDataServicePagingProvider.cs" />\r
+    <Compile Include="System.Data.Services.Providers\IDataServiceQueryProvider.cs" />\r
+    <Compile Include="System.Data.Services.Providers\IDataServiceStreamProvider.cs" />\r
+    <Compile Include="System.Data.Services.Providers\IDataServiceUpdateProvider.cs" />\r
+    <Compile Include="System.Data.Services.Providers\OpenTypeMethods.cs" />\r
+    <Compile Include="System.Data.Services.Providers\ResourceAssociationSet.cs" />\r
+    <Compile Include="System.Data.Services.Providers\ResourceAssociationSetEnd.cs" />\r
+    <Compile Include="System.Data.Services.Providers\ResourceProperty.cs" />\r
+    <Compile Include="System.Data.Services.Providers\ResourcePropertyKind.cs" />\r
+    <Compile Include="System.Data.Services.Providers\ResourceSet.cs" />\r
+    <Compile Include="System.Data.Services.Providers\ResourceType.cs" />\r
+    <Compile Include="System.Data.Services.Providers\ResourceTypeKind.cs" />\r
+    <Compile Include="System.Data.Services.Providers\ServiceOperation.cs" />\r
+    <Compile Include="System.Data.Services.Providers\ServiceOperationParameter.cs" />\r
+    <Compile Include="System.Data.Services.Providers\ServiceOperationResultKind.cs" />\r
+    <Compile Include="System.Data.Services\DataServiceBehavior.cs" />\r
+    <Compile Include="System.Data.Services\DataServiceConfiguration.cs" />\r
+    <Compile Include="System.Data.Services\DataServiceOperationContext.cs" />\r
+    <Compile Include="System.Data.Services\DataServiceProcessingPipeline.cs" />\r
+    <Compile Include="System.Data.Services\DataServiceProcessingPipelineEventArgs.cs" />\r
+    <Compile Include="System.Data.Services\IDataServiceHost2.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel/System.ServiceModel-net_4_x.csproj">\r
+      <Project>{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}</Project>\r
+      <Name>System.ServiceModel-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel.Web/System.ServiceModel.Web-net_4_x.csproj">\r
+      <Project>{54F4FA23-5AF3-4312-9294-3DB109F644CC}</Project>\r
+      <Name>System.ServiceModel.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data.Services.Client/System.Data.Services.Client-net_4_x.csproj">\r
+      <Project>{2FFB9A8F-DB7B-41FF-9398-15DF81AE1BC8}</Project>\r
+      <Name>System.Data.Services.Client-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel.Activation/System.ServiceModel.Activation-net_4_x.csproj">\r
+      <Project>{7A23227C-591B-4F80-9D62-4D0271073D82}</Project>\r
+      <Name>System.ServiceModel.Activation-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 780efc5b59ee02cdc31852380b17617685a33080..7bc9ed64a03a70819f0dbde97eacaf5a5324dfce 100644 (file)
@@ -12,8 +12,7 @@ LIB_MCS_FLAGS = \
        -d:MONO_PARTIAL_DATA_IMPORT \
        -unsafe
 
-MOBILE := $(filter monotouch monotouch_watch monodroid xammac mobile mobile_static, $(PROFILE))
-ifdef MOBILE
+ifdef MOBILE_PROFILE
 LIB_REFS += Mono.Data.Tds System.Transactions
 LIB_MCS_FLAGS += -d:NO_CODEDOM -d:NO_OLEDB -d:NO_ODBC -d:NO_CONFIGURATION
 else
diff --git a/mcs/class/System.Data/System.Data-net_4_x.csproj b/mcs/class/System.Data/System.Data-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a0f8a93
--- /dev/null
@@ -0,0 +1,556 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,169,219,414,649</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Data</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,169,219,414,649</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;PLATFORM_UNIX;USEOFFSET;MONO_PARTIAL_DATA_IMPORT</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,169,219,414,649</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;PLATFORM_UNIX;USEOFFSET;MONO_PARTIAL_DATA_IMPORT</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\bid\inc\cs\bidPrivateBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\Microsoft\SqlServer\Server\SqlTriggerContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\Misc\ExternDll.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\Misc\HResults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\Misc\PrivilegedConfigurationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\AcceptRejectRule.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\AggregateType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\BaseCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\CatalogLocation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\CodeGen\datacache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\CodeGen\StrongTypingException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ColumnTypeConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\CommandBehavior.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\CommandType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\ActivityCorrelator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\AdapterSwitches.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\AdapterUtil.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\BigIntegerStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\BooleanStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\ByteStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\CharStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DataAdapter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DataColumnMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DataColumnMappingCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DataRecordInternal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DataStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DataTableMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DataTableMappingCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DateTimeOffsetStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DateTimeStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DBCommand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DBCommandBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DBConnection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbConnectionOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbConnectionPoolKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DBConnectionString.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbConnectionStringBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbConnectionStringCommon.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbDataAdapter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DBDataPermission.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DBDataPermissionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbDataReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\dbdatarecord.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbDataSourceEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\dbenumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DBParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbParameterCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbProviderConfigurationHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbProviderFactories.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbProviderFactoriesConfigurationHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbProviderFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbProviderSpecificTypePropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DBSchemaRow.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DBSchemaTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DbTransaction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DecimalStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\DoubleStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\FieldNameLookup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\GreenMethods.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\Groupbybehavior.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\HandlerBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\identifiercase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\Int16Storage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\Int32Storage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\Int64Storage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\MultipartIdentifier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\NameValuePair.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\NameValuePermission.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\NativeMethods.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\ObjectStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\RowUpdatedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\RowUpdatingEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SafeNativeMethods.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SByteStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SchemaTableColumn.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SchemaTableOptionalColumn.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SingleStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLConvert.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQLBinaryStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQlBooleanStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQLBytesStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQLByteStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQLCharsStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQLDateTimeStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQLDecimalStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQLDoubleStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQLGuidStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQLInt16Storage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQLInt32Storage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQLInt64Storage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQLMoneyStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQLSingleStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SQLStringStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SqlUDTStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SQLTypes\SqlXmlStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\StringStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\SupportedJoinOperators.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\System.Data_BID.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\TimeSpanStorage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\UInt16Storage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\UInt32Storage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\UInt64Storage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Common\UnsafeNativeMethods.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ConflictOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ConnectionState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Constraint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ConstraintCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ConstraintConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ConstraintEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataColumn.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataColumnChangeEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataColumnChangeEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataColumnCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataColumnPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataError.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataRelation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataRelationCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataRelationPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataRow.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataRowAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataRowChangeEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataRowChangeEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataRowCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataRowCreatedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataRowState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataRowVersion.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataRowView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataSerializationFormat.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataSetDateTime.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataSysAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataTableClearEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataTableClearEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataTableCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataTableNewRowEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataTableNewRowEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataTablePropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataTableReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataTableReaderListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataTableTypeConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataViewListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataViewManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataViewManagerListItemTypeDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataViewRowState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataViewSetting.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DataViewSettingCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DBConcurrencyException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\dbtype.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\DefaultValueTypeConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\FillErrorEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\FillErrorEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Filter\AggregateNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Filter\BinaryNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Filter\ConstNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Filter\DataExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Filter\ExpressionNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Filter\ExpressionParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Filter\FilterException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Filter\FunctionNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Filter\IFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Filter\LookupNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Filter\NameNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Filter\Operators.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Filter\UnaryNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Filter\ZeroOpNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ForeignKeyConstraint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\IColumnMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\IColumnMappingCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\IDataAdapter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\IDataParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\IDataParameterCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\IDataReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\IDataRecord.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\IDbCommand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\IDbConnection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\IDbDataAdapter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\IDbDataParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\IDbTransaction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\IsolationLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ITableMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ITableMappingCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\LoadOption.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\MappingType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\MergeFailedEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\MergeFailedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Merger.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\MissingMappingAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\MissingSchemaAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\DbDataRecord.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\Odbc32.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcCommand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcCommandBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcConnection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcConnectionFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcConnectionHandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcConnectionOpen.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcConnectionPoolProviderInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcConnectionString.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcConnectionStringbuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcDataAdapter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcDataReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcEnvironment.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcEnvironmentHandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcError.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcErrorCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcHandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcInfoMessageEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\odbcmetadatacollectionnames.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\odbcmetadatacolumnnames.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\odbcmetadatafactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcParameterCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcPermission.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcReferenceCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcRowUpdatingEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcStatementHandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcTransaction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Odbc\OdbcUtils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\ColumnBinding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\DBBindings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\DBPropSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OLEDB_Enum.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OLEDB_Util.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbCommand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbCommandBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbConnection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbConnectionFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbConnectionInternal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbConnectionPoolGroupProviderInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\oledbconnectionstring.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OledbConnectionStringbuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbDataAdapter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbDataReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbError.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbErrorCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbHResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbInfoMessageEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbInfoMessageEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbLiteral.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\oledbmetadatacollectionnames.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\oledbmetadatacolumnnames.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbMetaDataFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbParameterCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbPermission.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbPropertySetGuid.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbPropertyStatus.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbReferenceCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbRowUpdatedEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbRowUpdatedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbRowUpdatingEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbRowUpdatingEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbSchemaGuid.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbStruct.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbTransaction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\OleDbWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\PropertyAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\PropertyIDSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\PropertyInfoSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\RowBinding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OleDb\SafeHandles.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\OperationAbortedException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ParameterDirection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\PrimaryKeyTypeConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\PropertyCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DataReaderContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbBuffer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbConnectionClosed.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbConnectionFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbConnectionInternal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbConnectionPool.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbConnectionPoolCounters.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbConnectionPoolGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbConnectionPoolGroupProviderInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbConnectionPoolIdentity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbConnectionPoolOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbConnectionPoolProviderInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbMetaDataCollectionNames.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbMetaDataColumnNames.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbMetaDataFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\DbReferenceCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\SchemaMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\TimeoutTimer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\ProviderBase\WrappedIUnknown.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Range.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\RbTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\RecordManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\RecordsAffectedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\RecordsAffectedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\RelatedView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\RelationshipConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Rule.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SchemaSerializationMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SchemaType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Select.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Selection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SimpleType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Sql\IBinarySerialize.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Sql\invalidudtexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Sql\SqlDataSourceEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Sql\SqlFacetAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Sql\SqlFunctionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Sql\SqlGenericUtil.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Sql\SqlMethodAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Sql\SqlNotificationRequest.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Sql\SqlProcedureAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Sql\SqlTriggerAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Sql\SqlUserDefinedAggregateAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Sql\SqlUserDefinedTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\Sql\TriggerAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SqlClient\ApplicationIntent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SqlClient\LocalDBAPI.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SqlClient\SqlClientPermission.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SqlClient\SqlConnectionString.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SqlClient\SqlConnectionStringBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SqlClient\SqlError.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SqlClient\SqlErrorCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SqlClient\SqlInfoMessageEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SqlClient\SqlUtil.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SqlClient\TdsEnums.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SqlClient\TdsParserStaticMethods.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SqlDbType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\INullable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLBinary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLBoolean.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLByte.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLBytes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLChars.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SqlCharStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLDateTime.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLDecimal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLDouble.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLGuid.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLInt16.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLInt32.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLInt64.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLMoney.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLResource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLSingle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLString.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SqlTypesSchemaImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SQLUtility.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\SQLTypes\SqlXml.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\StateChangeEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\StateChangeEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\StatementType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\UniqueConstraint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\UpdateRowSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\updatestatus.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\XDRSchema.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\XmlContent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\XmlDataLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\XMLDiffLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\XmlKeywords.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\XmlReadMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\xmlsaver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\XMLSchema.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\XmlToDatasetMap.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\Data\XmlWriteMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\NewXml\BaseTreeIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\NewXml\DataDocumentXPathNavigator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\NewXml\DataPointer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\NewXml\DataSetMappper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\NewXml\IXmlDataVirtualNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\NewXml\RegionIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\NewXml\TreeIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\NewXml\XmlBoundElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\NewXml\XmlDataDocument.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\NewXml\XmlDataImplementation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data\System\NewXml\XPathNodePointer.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Microsoft.SqlServer.Server\SqlDataRecord.cs" />\r
+    <Compile Include="Microsoft.SqlServer.Server\SqlMetaData.cs" />\r
+    <Compile Include="ReferenceSources\NativeOledbWrapper.cs" />\r
+    <Compile Include="ReferenceSources\Res.cs" />\r
+    <Compile Include="ReferenceSources\ResCategoryAttribute.cs" />\r
+    <Compile Include="ReferenceSources\ResDescriptionAttribute.cs" />\r
+    <Compile Include="ReferenceSources\SqlInternalConnectionTds.cs" />\r
+    <Compile Include="ReferenceSources\ThisAssembly.cs" />\r
+    <Compile Include="ReferenceSources\Win32NativeMethods.cs" />\r
+    <Compile Include="System.Data.Common\DbConnectionStringBuilderHelper.cs" />\r
+    <Compile Include="System.Data.Common\DbTypes.cs" />\r
+    <Compile Include="System.Data.Common\ExceptionHelper.cs" />\r
+    <Compile Include="System.Data.SqlClient\NetworkLibraryConverter.cs" />\r
+    <Compile Include="System.Data.SqlClient\OnChangeEventHandler.cs" />\r
+    <Compile Include="System.Data.SqlClient\SortOrder.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlAsyncResult.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlAsyncState.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlBulkCopy.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlBulkCopyColumnMapping.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlBulkCopyColumnMappingCollection.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlBulkCopyOptions.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlClientFactory.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlClientMetaDataCollectionNames.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlCommand.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlCommandBuilder.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlConnection.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlCredential.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlDataAdapter.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlDataReader.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlDataSourceConverter.cs" />\r
+    <Compile Include="System.Data.SqlClient\SQLDebugging.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlDecimalExtensions.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlDependency.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlException.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlInfoMessageEventHandler.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlInitialCatalogConverter.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlNotificationEventArgs.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlNotificationInfo.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlNotificationSource.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlNotificationType.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlParameter.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlParameterCollection.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlParameterConverter.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlRowsCopiedEventArgs.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlRowsCopiedEventHandler.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlRowUpdatedEventArgs.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlRowUpdatedEventHandler.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlRowUpdatingEventArgs.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlRowUpdatingEventHandler.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlTransaction.cs" />\r
+    <Compile Include="System.Data.SqlClient\SqlXmlTextReader.cs" />\r
+    <Compile Include="gen_OdbcConnection.cs" />\r
+    <Compile Include="gen_OdbcParameter.cs" />\r
+    <Compile Include="gen_OdbcParameterCollection.cs" />\r
+    <Compile Include="gen_OleDbConnection.cs" />\r
+    <Compile Include="gen_OleDbParameter.cs" />\r
+    <Compile Include="gen_OleDbParameterCollection.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Numerics/System.Numerics-net_4_x.csproj">\r
+      <Project>{BD2FFDDC-BD89-4041-82F5-A696C941C7BE}</Project>\r
+      <Name>System.Numerics-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.EnterpriseServices/System.EnterpriseServices-net_4_x.csproj">\r
+      <Project>{61E3D008-E273-4E12-860A-8ADA031098C2}</Project>\r
+      <Name>System.EnterpriseServices-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Data.Tds/Mono.Data.Tds-net_4_x.csproj">\r
+      <Project>{39F59AE4-1381-4275-B14E-16D786F40B93}</Project>\r
+      <Name>Mono.Data.Tds-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Transactions/System.Transactions-net_4_x.csproj">\r
+      <Project>{3821C69F-220D-4231-992C-0FE05311A005}</Project>\r
+      <Name>System.Transactions-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 1b7d3e867c132397acc62d5dddfaefa931eda8ff..7410c36c2a1c1829f16c27403512cf8b23c5758f 100644 (file)
@@ -1406,10 +1406,9 @@ namespace System.Data.SqlClient
                        return (sb);
                }
 
-               [MonoTODO]
                public override T GetFieldValue<T> (int i)
                {
-                       throw new NotImplementedException ();
+                       return (T)GetValue(i);
                }
 
                [MonoTODO]
diff --git a/mcs/class/System.Data/monotouch_tv_System.Data.dll.sources b/mcs/class/System.Data/monotouch_tv_System.Data.dll.sources
new file mode 100644 (file)
index 0000000..bbc860b
--- /dev/null
@@ -0,0 +1 @@
+#include mobile_System.Data.dll.sources
index 597245c0e81ec04b7fae28f07db60c8d491e8c7b..652c5631202c4c0583ffed3754dae61ac4e60c1d 100644 (file)
@@ -1 +1 @@
-#include net_4_5_System.Data.dll.sources
+#include net_4_x_System.Data.dll.sources
diff --git a/mcs/class/System.Design/System.Design-net_4_x.csproj b/mcs/class/System.Design/System.Design-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9431cc1
--- /dev/null
@@ -0,0 +1,438 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{EFEDC380-2CB0-4B40-9566-D2302867A4D9}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Design</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\DataSourceDescriptor.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\DataSourceDescriptorCollection.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\DataSourceGroup.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\DataSourceGroupCollection.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\DataSourceProviderService.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\DesignerDataColumn.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\DesignerDataConnection.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\DesignerDataParameter.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\DesignerDataRelationship.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\DesignerDataSchemaClass.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\DesignerDataStoredProcedure.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\DesignerDataTable.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\DesignerDataTableBase.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\DesignerDataView.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\IDataEnvironment.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\IDesignerDataSchema.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Data\QueryBuilderMode.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\BasicDesignerLoader.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomComponentSerializationService.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomDesignerLoader.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomLocalizationModel.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomLocalizationProvider.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomSerializationProvider.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomSerializer.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomSerializerBase.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\CodeDomSerializerException.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\CollectionCodeDomSerializer.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\ComponentCodeDomSerializer.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\DesignerSerializationManager.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\EnumCodeDomSerializer.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\EventCodeDomSerializer.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\ExpressionContext.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\ICodeDomDesignerReload.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\MemberCodeDomSerializer.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\ObjectStatementCollection.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\PrimitiveCodeDomSerializer.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\PropertyCodeDomSerializer.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\RootCodeDomSerializer.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\RootContext.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\SerializeAbsoluteContext.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\StatementContext.cs" />\r
+    <Compile Include="System.ComponentModel.Design.Serialization\TypeCodeDomSerializer.cs" />\r
+    <Compile Include="System.ComponentModel.Design\ActiveDesignSurfaceChangedEventArgs.cs" />\r
+    <Compile Include="System.ComponentModel.Design\ActiveDesignSurfaceChangedEventHandler.cs" />\r
+    <Compile Include="System.ComponentModel.Design\ArrayEditor.cs" />\r
+    <Compile Include="System.ComponentModel.Design\BinaryEditor.cs" />\r
+    <Compile Include="System.ComponentModel.Design\ByteViewer.cs" />\r
+    <Compile Include="System.ComponentModel.Design\CollectionEditor.cs" />\r
+    <Compile Include="System.ComponentModel.Design\ComponentActionsType.cs" />\r
+    <Compile Include="System.ComponentModel.Design\ComponentDesigner.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DateTimeEditor.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionHeaderItem.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionItem.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionItemCollection.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionList.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionListCollection.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionListsChangedEventArgs.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionListsChangedEventHandler.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionListsChangedType.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionMethodItem.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionPropertyItem.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionService.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionTextItem.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionUIService.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionUIStateChangeEventArgs.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionUIStateChangeEventHandler.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerActionUIStateChangeType.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerCommandSet.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerEventService.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignerHost.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignModeNestedContainer.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignModeSite.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignSurface.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignSurfaceCollection.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignSurfaceEventArgs.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignSurfaceEventHandler.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignSurfaceManager.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DesignSurfaceServiceContainer.cs" />\r
+    <Compile Include="System.ComponentModel.Design\DisplayMode.cs" />\r
+    <Compile Include="System.ComponentModel.Design\EventBindingService.cs" />\r
+    <Compile Include="System.ComponentModel.Design\ExceptionCollection.cs" />\r
+    <Compile Include="System.ComponentModel.Design\ExtenderService.cs" />\r
+    <Compile Include="System.ComponentModel.Design\IComponentDesignerDebugService.cs" />\r
+    <Compile Include="System.ComponentModel.Design\IComponentDesignerStateService.cs" />\r
+    <Compile Include="System.ComponentModel.Design\InheritanceService.cs" />\r
+    <Compile Include="System.ComponentModel.Design\LoadedEventArgs.cs" />\r
+    <Compile Include="System.ComponentModel.Design\LoadedEventHandler.cs" />\r
+    <Compile Include="System.ComponentModel.Design\LocalizationExtenderProvider.cs" />\r
+    <Compile Include="System.ComponentModel.Design\MenuCommandsChangedEventArgs.cs" />\r
+    <Compile Include="System.ComponentModel.Design\MenuCommandsChangedEventHandler.cs" />\r
+    <Compile Include="System.ComponentModel.Design\MenuCommandsChangedType.cs" />\r
+    <Compile Include="System.ComponentModel.Design\MenuCommandService.cs" />\r
+    <Compile Include="System.ComponentModel.Design\MultilineStringEditor.cs" />\r
+    <Compile Include="System.ComponentModel.Design\ObjectSelectorEditor.cs" />\r
+    <Compile Include="System.ComponentModel.Design\ReferenceService.cs" />\r
+    <Compile Include="System.ComponentModel.Design\SelectionService.cs" />\r
+    <Compile Include="System.ComponentModel.Design\TypeDescriptorFilterService.cs" />\r
+    <Compile Include="System.ComponentModel.Design\UndoEngine.cs" />\r
+    <Compile Include="System.Data.Design\MethodSignatureGenerator.cs" />\r
+    <Compile Include="System.Data.Design\ParameterGenerationOption.cs" />\r
+    <Compile Include="System.Data.Design\TypedDataSetGenerator.cs" />\r
+    <Compile Include="System.Data.Design\TypedDataSetGeneratorException.cs" />\r
+    <Compile Include="System.Data.Design\TypedDataSetSchemaImporterExtension.cs" />\r
+    <Compile Include="System.Design\DummyClass.cs" />\r
+    <Compile Include="System.Diagnostics.Design\LogConverter.cs" />\r
+    <Compile Include="System.Diagnostics.Design\ProcessDesigner.cs" />\r
+    <Compile Include="System.Diagnostics.Design\ProcessModuleDesigner.cs" />\r
+    <Compile Include="System.Diagnostics.Design\ProcessThreadDesigner.cs" />\r
+    <Compile Include="System.Diagnostics.Design\StringValueConverter.cs" />\r
+    <Compile Include="System.Messaging.Design\MessageDesigner.cs" />\r
+    <Compile Include="System.Resources.Tools\StronglyTypedResourceBuilder.cs" />\r
+    <Compile Include="System.ServiceProcess.Design\ServiceControllerDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.Util\DummyClass.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\AdRotatorDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\BaseDataBoundControlDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\BaseDataListComponentEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\BaseDataListDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\BaseValidatorDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\ButtonDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\CalendarAutoFormatDialog.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\CalendarDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\CheckBoxDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\CompositeControlDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\DataBoundControlDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\DataListComponentEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\DataProviderNameConverter.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\DataSourceIDConverter.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\HierarchicalDataBoundControlDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\HyperLinkDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\LabelDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\LinkButtonDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\ListControlDataBindingHandler.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\ListControlDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\PanelDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\RegexEditorDialog.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\RegexTypeEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\RepeaterDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\TableCellsCollectionEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\TableDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\TableRowsCollectionEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design.WebControls\XmlDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design\AppSettingsExpressionEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\CalendarDataBindingHandler.cs" />\r
+    <Compile Include="System.Web.UI.Design\ClientScriptItem.cs" />\r
+    <Compile Include="System.Web.UI.Design\ClientScriptItemCollection.cs" />\r
+    <Compile Include="System.Web.UI.Design\ColorBuilder.cs" />\r
+    <Compile Include="System.Web.UI.Design\ConnectionStringEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\ConnectionStringsExpressionEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\ContainerControlDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design\ContentDefinition.cs" />\r
+    <Compile Include="System.Web.UI.Design\ContentDesignerState.cs" />\r
+    <Compile Include="System.Web.UI.Design\ControlDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design\ControlDesignerState.cs" />\r
+    <Compile Include="System.Web.UI.Design\ControlLocation.cs" />\r
+    <Compile Include="System.Web.UI.Design\ControlParser.cs" />\r
+    <Compile Include="System.Web.UI.Design\ControlPersister.cs" />\r
+    <Compile Include="System.Web.UI.Design\DataBindingCollectionConverter.cs" />\r
+    <Compile Include="System.Web.UI.Design\DataBindingCollectionEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\DataBindingHandler.cs" />\r
+    <Compile Include="System.Web.UI.Design\DataBindingValueUIHandler.cs" />\r
+    <Compile Include="System.Web.UI.Design\DataColumnSelectionConverter.cs" />\r
+    <Compile Include="System.Web.UI.Design\DataFieldConverter.cs" />\r
+    <Compile Include="System.Web.UI.Design\DataMemberConverter.cs" />\r
+    <Compile Include="System.Web.UI.Design\DataSetFieldSchema.cs" />\r
+    <Compile Include="System.Web.UI.Design\DataSetSchema.cs" />\r
+    <Compile Include="System.Web.UI.Design\DataSetViewSchema.cs" />\r
+    <Compile Include="System.Web.UI.Design\DataSourceBooleanViewSchemaConverter.cs" />\r
+    <Compile Include="System.Web.UI.Design\DataSourceConverter.cs" />\r
+    <Compile Include="System.Web.UI.Design\DataSourceDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design\DataSourceViewSchemaConverter.cs" />\r
+    <Compile Include="System.Web.UI.Design\DesignerAutoFormat.cs" />\r
+    <Compile Include="System.Web.UI.Design\DesignerAutoFormatCollection.cs" />\r
+    <Compile Include="System.Web.UI.Design\DesignerAutoFormatStyle.cs" />\r
+    <Compile Include="System.Web.UI.Design\DesignerDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.Design\DesignerHierarchicalDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.Design\DesignerObject.cs" />\r
+    <Compile Include="System.Web.UI.Design\DesignerRegion.cs" />\r
+    <Compile Include="System.Web.UI.Design\DesignerRegionCollection.cs" />\r
+    <Compile Include="System.Web.UI.Design\DesignerRegionMouseEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.Design\DesignTimeData.cs" />\r
+    <Compile Include="System.Web.UI.Design\DesignTimeResourceProviderFactory.cs" />\r
+    <Compile Include="System.Web.UI.Design\EditableDesignerRegion.cs" />\r
+    <Compile Include="System.Web.UI.Design\ExpressionEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\ExpressionEditorSheet.cs" />\r
+    <Compile Include="System.Web.UI.Design\ExpressionsCollectionConverter.cs" />\r
+    <Compile Include="System.Web.UI.Design\ExpressionsCollectionEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\HierarchicalDataSourceConverter.cs" />\r
+    <Compile Include="System.Web.UI.Design\HierarchicalDataSourceDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design\HtmlControlDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design\HtmlIntrinsicControlDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design\HyperLinkDataBindingHandler.cs" />\r
+    <Compile Include="System.Web.UI.Design\IContentResolutionService.cs" />\r
+    <Compile Include="System.Web.UI.Design\IControlDesignerBehaviour.cs" />\r
+    <Compile Include="System.Web.UI.Design\IControlDesignerTag.cs" />\r
+    <Compile Include="System.Web.UI.Design\IControlDesignerView.cs" />\r
+    <Compile Include="System.Web.UI.Design\IDataBindingSchemaProvider.cs" />\r
+    <Compile Include="System.Web.UI.Design\IDataSourceDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design\IDataSourceFieldSchema.cs" />\r
+    <Compile Include="System.Web.UI.Design\IDataSourceProvider.cs" />\r
+    <Compile Include="System.Web.UI.Design\IDataSourceSchema.cs" />\r
+    <Compile Include="System.Web.UI.Design\IDataSourceViewSchema.cs" />\r
+    <Compile Include="System.Web.UI.Design\IDesignTimeResourceProviderFactoryService.cs" />\r
+    <Compile Include="System.Web.UI.Design\IDesignTimeResourceWriter.cs" />\r
+    <Compile Include="System.Web.UI.Design\IDocumentProjectItem.cs" />\r
+    <Compile Include="System.Web.UI.Design\IFolderProjectItem.cs" />\r
+    <Compile Include="System.Web.UI.Design\IHierarchicalDataSourceDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design\IHtmlControlDesignerBehavior.cs" />\r
+    <Compile Include="System.Web.UI.Design\ImageUrlEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\IProjectItem.cs" />\r
+    <Compile Include="System.Web.UI.Design\ITemplateEditingFrame.cs" />\r
+    <Compile Include="System.Web.UI.Design\ITemplateEditingService.cs" />\r
+    <Compile Include="System.Web.UI.Design\IWebAdministrationService.cs" />\r
+    <Compile Include="System.Web.UI.Design\IWebApplication.cs" />\r
+    <Compile Include="System.Web.UI.Design\IWebFormReferenceManager.cs" />\r
+    <Compile Include="System.Web.UI.Design\IWebFormsBuilderUIService.cs" />\r
+    <Compile Include="System.Web.UI.Design\IWebFormsDocumentService.cs" />\r
+    <Compile Include="System.Web.UI.Design\MailFileEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\MdbDataFileEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\ReadWriteControlDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design\ResourceExpressionEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\ResourceExpressionEditorSheet.cs" />\r
+    <Compile Include="System.Web.UI.Design\SkinIDTypeConverter.cs" />\r
+    <Compile Include="System.Web.UI.Design\SupportsPreviewControlAttribute.cs" />\r
+    <Compile Include="System.Web.UI.Design\TemplatedControlDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design\TemplatedEditableDesignerRegion.cs" />\r
+    <Compile Include="System.Web.UI.Design\TemplateDefinition.cs" />\r
+    <Compile Include="System.Web.UI.Design\TemplateEditingService.cs" />\r
+    <Compile Include="System.Web.UI.Design\TemplateEditingVerb.cs" />\r
+    <Compile Include="System.Web.UI.Design\TemplateGroup.cs" />\r
+    <Compile Include="System.Web.UI.Design\TemplateGroupCollection.cs" />\r
+    <Compile Include="System.Web.UI.Design\TemplateModeChangedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.Design\TextControlDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design\TextDataBindingHandler.cs" />\r
+    <Compile Include="System.Web.UI.Design\TransactedChangeCallback.cs" />\r
+    <Compile Include="System.Web.UI.Design\TypeSchema.cs" />\r
+    <Compile Include="System.Web.UI.Design\UrlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.Design\UrlBuilderOptions.cs" />\r
+    <Compile Include="System.Web.UI.Design\UrlEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\UserControlDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design\UserControlFileEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\ViewEvent.cs" />\r
+    <Compile Include="System.Web.UI.Design\ViewEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.Design\ViewEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.Design\ViewFlags.cs" />\r
+    <Compile Include="System.Web.UI.Design\ViewRendering.cs" />\r
+    <Compile Include="System.Web.UI.Design\WebControlToolboxItem.cs" />\r
+    <Compile Include="System.Web.UI.Design\WebFormsDesignerActionService.cs" />\r
+    <Compile Include="System.Web.UI.Design\WebFormsReferenceManager.cs" />\r
+    <Compile Include="System.Web.UI.Design\WebFormsRootDesigner.cs" />\r
+    <Compile Include="System.Web.UI.Design\XmlDataFileEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\XmlDocumentSchema.cs" />\r
+    <Compile Include="System.Web.UI.Design\XmlFileEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\XmlUrlEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\XsdSchemaFileEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\XslTransformFileEditor.cs" />\r
+    <Compile Include="System.Web.UI.Design\XslUrlEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\Adorner.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\Behavior.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\BehaviorDragDropEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\BehaviorDragDropEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\BehaviorService.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\BehaviorServiceAdornerCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\BehaviorServiceAdornerCollectionEnumerator.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\ComponentGlyph.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\ControlBodyGlyph.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\Glyph.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\GlyphCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\GlyphSelectionType.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\SnapLine.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\SnapLinePriority.cs" />\r
+    <Compile Include="System.Windows.Forms.Design.Behavior\SnapLineType.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\AnchorEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\AxImporter.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\AxParameterData.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\AxWrapperGen.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\BorderSidesEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ComponentDocumentDesigner.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ComponentTray.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ControlBindingsConverter.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ControlCodeDomSerializer.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ControlCollectionCodeDomSerializer.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ControlDataObject.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ControlDesigner.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\DataMemberFieldConverter.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\DataMemberFieldEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\DataMemberListEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\DataSourceConverter.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\DefaultMenuCommands.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\DesignerOptions.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\DockEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\DocumentDesigner.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\EventHandlerService.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\FileNameEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\FolderNameEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\FormatStringEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\FormDocumentDesigner.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ImageCollectionEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ImageIndexEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ImageListCodeDomSerializer.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ImageListImageEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\IMenuEditorService.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\IMessageReceiver.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\IOleDragClient.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ISelectionUIHandler.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\IUISelectionService.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ListControlStringCollectionEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\MaskDescriptor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\MenuCommands.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\Native.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\PanelDesigner.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ParentControlDesigner.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ScrollableControlDesigner.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\SelectionFrame.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\SelectionRules.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ShortcutKeysEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\SplitContainerDesigner.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\StringArrayEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\StringCollectionEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\TabPageCollectionEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\UISelectionService.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\WindowsFormsDesignerOptionService.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\WndProcRouter.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-plainweb-net_4_x.csproj">\r
+      <Project>{DE51B021-D51C-4F26-99EE-B0729D97631E}</Project>\r
+      <Name>System.Web-plainweb-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Windows.Forms/System.Windows.Forms-net_4_x.csproj">\r
+      <Project>{108227C7-8ED9-4483-949D-07BF0DA1A201}</Project>\r
+      <Name>System.Windows.Forms-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Drawing/System.Drawing-net_4_x.csproj">\r
+      <Project>{584A5E46-2958-4CB2-8DF9-188B420D0BB0}</Project>\r
+      <Name>System.Drawing-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Accessibility/Accessibility-net_4_x.csproj">\r
+      <Project>{E51283DC-7090-479E-B723-01C0953F18EA}</Project>\r
+      <Name>Accessibility-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.DirectoryServices.Protocols/System.DirectoryServices.Protocols-net_4_x.csproj b/mcs/class/System.DirectoryServices.Protocols/System.DirectoryServices.Protocols-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5190562
--- /dev/null
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{EF08F249-31A1-4E62-8391-ECBA5227B686}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.DirectoryServices.Protocols</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\AddRequest.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\AddResponse.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\AsqRequestControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\AsqResponseControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\AuthType.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\BerConversionException.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\BerConverter.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\CompareRequest.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\CompareResponse.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\CrossDomainMoveControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DeleteRequest.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DeleteResponse.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DereferenceAlias.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DereferenceConnectionCallback.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryAttribute.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryAttributeCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryAttributeModification.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryAttributeModificationCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryAttributeOperation.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryConnection.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryControlCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryException.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryIdentifier.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryNotificationControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryOperation.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryOperationException.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryRequest.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectoryResponse.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirectorySynchronizationOptions.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirSyncRequestControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DirSyncResponseControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DomainScopeControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DsmlAuthRequest.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DsmlAuthResponse.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DsmlDirectoryIdentifier.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DsmlDocument.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DsmlDocumentProcessing.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DsmlErrorProcessing.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DsmlErrorResponse.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DsmlInvalidDocumentException.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DsmlRequestDocument.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DsmlResponseDocument.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DsmlResponseOrder.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DsmlSoapConnection.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\DsmlSoapHttpConnection.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\ErrorResponseCategory.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\ErrorResponseException.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\ExtendedDNControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\ExtendedDNFlag.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\ExtendedRequest.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\ExtendedResponse.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\LazyCommitControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\LdapConnection.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\LdapDirectoryIdentifier.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\LdapException.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\LdapSessionOptions.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\LocatorFlags.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\ModifyDNRequest.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\ModifyDNResponse.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\ModifyRequest.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\ModifyResponse.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\NotifyOfNewConnectionCallback.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\PageResultRequestControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\PageResultResponseControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\PartialResultProcessing.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\PartialResultsCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\PermissiveModifyControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\QueryClientCertificateCallback.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\QueryForConnectionCallback.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\QuotaControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\ReferralCallback.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\ReferralChasingOptions.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\ResultCode.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SearchOption.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SearchOptionsControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SearchRequest.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SearchResponse.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SearchResultAttributeCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SearchResultEntry.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SearchResultEntryCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SearchResultReference.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SearchResultReferenceCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SearchScope.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SecurityDescriptorFlagControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SecurityMasks.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SecurityPackageContextConnectionInformation.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SecurityProtocol.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\ShowDeletedControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SortKey.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SortRequestControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\SortResponseControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\TlsOperationException.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\TreeDeleteControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\VerifyNameControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\VerifyServerCertificateCallback.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\VlvRequestControl.cs" />\r
+    <Compile Include="System.DirectoryServices.Protocols\VlvResponseControl.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.DirectoryServices/System.DirectoryServices-net_4_x.csproj">\r
+      <Project>{CC4F3F73-E0A6-49EE-8F7D-BD8B9F293A72}</Project>\r
+      <Name>System.DirectoryServices-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.DirectoryServices/System.DirectoryServices-net_4_x.csproj b/mcs/class/System.DirectoryServices/System.DirectoryServices-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7a37d13
--- /dev/null
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{CC4F3F73-E0A6-49EE-8F7D-BD8B9F293A72}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.DirectoryServices</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs.in" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectoryOperationException.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectoryPartition.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectoryReplicationMetadata.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectoryRole.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectoryRoleCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySchedule.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySchema.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySchemaClass.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySchemaClassCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySchemaProperty.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySchemaPropertyCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySecurity.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectoryServerDownException.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySite.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySiteCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySiteLink.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySiteLinkBridge.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySiteLinkCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySiteOptions.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySubnet.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySubnetCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectorySyntax.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ActiveDirectoryTransportType.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ApplicationPartition.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ApplicationPartitionCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\AttributeMetadata.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\AttributeMetadataCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\DirectoryContext.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\DirectoryContextType.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\DirectoryEntryConfiguration.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\DirectoryServer.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\DirectoryServerCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\Domain.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\DomainCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\DomainCollisionOptions.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\DomainController.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\DomainControllerCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\DomainMode.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\Forest.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestMode.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustCollisionException.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustCollisionType.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustDomainInfoCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustDomainInformation.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustDomainStatus.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustRelationshipCollision.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustRelationshipCollisionCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ForestTrustRelationshipInformation.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\GlobalCatalog.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\GlobalCatalogCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\HourOfDay.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\LocatorOptions.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\MinuteOfHour.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\NotificationStatus.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\PropertyTypes.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReadOnlyActiveDirectorySchemaClassCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReadOnlyActiveDirectorySchemaPropertyCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReadOnlyDirectoryServerCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReadOnlySiteCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReadOnlySiteLinkBridgeCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReadOnlySiteLinkCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReadOnlyStringCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationConnection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationConnectionCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationCursor.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationCursorCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationFailure.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationFailureCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationNeighbor.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationNeighborCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationOperation.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationOperationCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationOperationInformation.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationOperationType.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationSecurityLevel.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\ReplicationSpan.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\SchemaClassType.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\SecurityMasks.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\SyncFromAllServersErrorCategory.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\SyncFromAllServersErrorInformation.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\SyncFromAllServersEvent.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\SyncFromAllServersOperationException.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\SyncFromAllServersOptions.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\SyncUpdateCallback.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\TopLevelName.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\TopLevelNameCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\TopLevelNameCollisionOptions.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\TopLevelNameStatus.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\TrustDirection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\TrustRelationshipInformation.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\TrustRelationshipInformationCollection.cs" />\r
+    <Compile Include="System.DirectoryServices.ActiveDirectory\TrustType.cs" />\r
+    <Compile Include="System.DirectoryServices.Design\DirectoryEntryConverter.cs" />\r
+    <Compile Include="System.DirectoryServices\ActiveDirectoryAccessRule.cs" />\r
+    <Compile Include="System.DirectoryServices\ActiveDirectoryAuditRule.cs" />\r
+    <Compile Include="System.DirectoryServices\ActiveDirectoryRights.cs" />\r
+    <Compile Include="System.DirectoryServices\ActiveDirectorySecurityInheritance.cs" />\r
+    <Compile Include="System.DirectoryServices\AuthenticationTypes.cs" />\r
+    <Compile Include="System.DirectoryServices\DirectoryEntries.cs" />\r
+    <Compile Include="System.DirectoryServices\DirectoryEntry.cs" />\r
+    <Compile Include="System.DirectoryServices\DirectorySearcher.cs" />\r
+    <Compile Include="System.DirectoryServices\DirectoryServicesCOMException.cs" />\r
+    <Compile Include="System.DirectoryServices\DirectoryServicesPermission.cs" />\r
+    <Compile Include="System.DirectoryServices\DirectoryServicesPermissionAccess.cs" />\r
+    <Compile Include="System.DirectoryServices\DirectoryServicesPermissionAttribute.cs" />\r
+    <Compile Include="System.DirectoryServices\DirectoryServicesPermissionEntry.cs" />\r
+    <Compile Include="System.DirectoryServices\DirectoryServicesPermissionEntryCollection.cs" />\r
+    <Compile Include="System.DirectoryServices\DirectorySynchronization.cs" />\r
+    <Compile Include="System.DirectoryServices\DirectorySynchronizationOptions.cs" />\r
+    <Compile Include="System.DirectoryServices\DirectoryVirtualListView.cs" />\r
+    <Compile Include="System.DirectoryServices\DirectoryVirtualListViewContext.cs" />\r
+    <Compile Include="System.DirectoryServices\DSDescriptionAttribute.cs" />\r
+    <Compile Include="System.DirectoryServices\ExtendedDN.cs" />\r
+    <Compile Include="System.DirectoryServices\ExtendedRightAccessRule.cs" />\r
+    <Compile Include="System.DirectoryServices\ListChildrenAccessRule.cs" />\r
+    <Compile Include="System.DirectoryServices\PasswordEncodingMethod.cs" />\r
+    <Compile Include="System.DirectoryServices\PropertyAccess.cs" />\r
+    <Compile Include="System.DirectoryServices\PropertyAccessRule.cs" />\r
+    <Compile Include="System.DirectoryServices\PropertyCollection.cs" />\r
+    <Compile Include="System.DirectoryServices\PropertySetAccessRule.cs" />\r
+    <Compile Include="System.DirectoryServices\PropertyValueCollection.cs" />\r
+    <Compile Include="System.DirectoryServices\ReferralChasingOption.cs" />\r
+    <Compile Include="System.DirectoryServices\ResultPropertyCollection.cs" />\r
+    <Compile Include="System.DirectoryServices\ResultPropertyValueCollection.cs" />\r
+    <Compile Include="System.DirectoryServices\SchemaNameCollection.cs" />\r
+    <Compile Include="System.DirectoryServices\SearchResult.cs" />\r
+    <Compile Include="System.DirectoryServices\SearchResultCollection.cs" />\r
+    <Compile Include="System.DirectoryServices\SearchScope.cs" />\r
+    <Compile Include="System.DirectoryServices\SortDirection.cs" />\r
+    <Compile Include="System.DirectoryServices\SortOption.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Novell.Directory.Ldap/Novell.Directory.Ldap-net_4_x.csproj">\r
+      <Project>{B424FF7F-8F49-45F5-BFD5-6319F818816F}</Project>\r
+      <Name>Novell.Directory.Ldap-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 290608710b0c0340b916ea90a76786605670e034..c5cf0942b1b4adbeddb1123b77e3f00598c48b82 100644 (file)
@@ -391,6 +391,26 @@ namespace System.DirectoryServices
                        }
                }
 
+               /// <summary>
+               /// Gets or sets the security descriptor for this entry.
+               /// </summary>
+               /// <remarks>
+               /// Not implemented yet
+               [DSDescription ("An ActiveDirectorySecurity object that represents the security descriptor for this directory entry.")]
+               [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
+               [Browsable (false)]
+               public ActiveDirectorySecurity ObjectSecurity 
+               {
+                       [MonoTODO]
+                       get                     {
+                               throw new NotImplementedException();
+                       }
+                       [MonoTODO]
+                       set                     {
+                               throw new NotImplementedException();
+                       }
+               }
+
                /// <summary>
                /// Determines if a cache should be used.
                /// </summary>
diff --git a/mcs/class/System.Drawing.Design/System.Drawing.Design-net_4_x.csproj b/mcs/class/System.Drawing.Design/System.Drawing.Design-net_4_x.csproj
new file mode 100644 (file)
index 0000000..989a4fb
--- /dev/null
@@ -0,0 +1,108 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{BAC9BBAE-661E-4B6E-97BC-4045D34E887E}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Drawing.Design</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Drawing.Design\BitmapEditor.cs" />\r
+    <Compile Include="System.Drawing.Design\ColorEditor.cs" />\r
+    <Compile Include="System.Drawing.Design\ContentAlignmentEditor.cs" />\r
+    <Compile Include="System.Drawing.Design\CursorEditor.cs" />\r
+    <Compile Include="System.Drawing.Design\FontEditor.cs" />\r
+    <Compile Include="System.Drawing.Design\FontNameEditor.cs" />\r
+    <Compile Include="System.Drawing.Design\IconEditor.cs" />\r
+    <Compile Include="System.Drawing.Design\ImageEditor.cs" />\r
+    <Compile Include="System.Drawing.Design\MetafileEditor.cs" />\r
+    <Compile Include="System.Drawing.Design\ToolboxItemContainer.cs" />\r
+    <Compile Include="System.Drawing.Design\ToolboxItemCreator.cs" />\r
+    <Compile Include="System.Drawing.Design\ToolboxService.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Drawing/System.Drawing-net_4_x.csproj">\r
+      <Project>{584A5E46-2958-4CB2-8DF9-188B420D0BB0}</Project>\r
+      <Name>System.Drawing-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Windows.Forms/System.Windows.Forms-net_4_x.csproj">\r
+      <Project>{108227C7-8ED9-4483-949D-07BF0DA1A201}</Project>\r
+      <Name>System.Windows.Forms-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index f60e6deafca02f318fc2cef00b2c2302e7e32be0..8827cb4f826929dbba8d2605da6f3972a634df93 100644 (file)
@@ -12,7 +12,7 @@ LIB_MCS_FLAGS = /unsafe /r:$(corlib) \
 
 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -define:TEST -resource:Test/resources/indexed.png,indexed.png \
         -r:System.Drawing.dll -r:System.Runtime.Serialization.Formatters.Soap.dll -r:System.Xml.dll \
-       -nowarn:0618 -nowarn:219 -nowarn:169 -nowarn:1595
+       -nowarn:0618 -nowarn:219 -nowarn:169
 
 include ../../build/library.make
 
diff --git a/mcs/class/System.Drawing/System.Drawing-net_4_x.csproj b/mcs/class/System.Drawing/System.Drawing-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5eb38ab
--- /dev/null
@@ -0,0 +1,296 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{584A5E46-2958-4CB2-8DF9-188B420D0BB0}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Drawing</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Drawing.Design\CategoryNameCollection.cs" />\r
+    <Compile Include="System.Drawing.Design\IPropertyValueUIService.cs" />\r
+    <Compile Include="System.Drawing.Design\IToolboxItemProvider.cs" />\r
+    <Compile Include="System.Drawing.Design\IToolboxService.cs" />\r
+    <Compile Include="System.Drawing.Design\IToolboxUser.cs" />\r
+    <Compile Include="System.Drawing.Design\PaintValueEventArgs.cs" />\r
+    <Compile Include="System.Drawing.Design\PropertyValueItem.cs" />\r
+    <Compile Include="System.Drawing.Design\PropertyValueUIHandler.cs" />\r
+    <Compile Include="System.Drawing.Design\PropertyValueUIItemInvokeHandler.cs" />\r
+    <Compile Include="System.Drawing.Design\ToolboxComponentsCreatedEventArgs.cs" />\r
+    <Compile Include="System.Drawing.Design\ToolboxComponentsCreatedEventHandler.cs" />\r
+    <Compile Include="System.Drawing.Design\ToolboxComponentsCreatingEventArgs.cs" />\r
+    <Compile Include="System.Drawing.Design\ToolboxComponentsCreatingEventHandler.cs" />\r
+    <Compile Include="System.Drawing.Design\ToolboxItem.cs" />\r
+    <Compile Include="System.Drawing.Design\ToolboxItemCollection.cs" />\r
+    <Compile Include="System.Drawing.Design\ToolboxItemCreatorCallback.cs" />\r
+    <Compile Include="System.Drawing.Design\UITypeEditor.cs" />\r
+    <Compile Include="System.Drawing.Design\UITypeEditorEditStyle.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\AdjustableArrowCap.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\Blend.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\ColorBlend.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\CombineMode.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\CompostingMode.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\CompostingQuality.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\CoordinateSpace.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\CustomLineCap.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\DashCap.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\DashStyle.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\FillMode.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\FlushIntention.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\GraphicsContainer.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\GraphicsPath.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\GraphicsPathIterator.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\GraphicsState.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\HatchBrush.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\HatchStyle.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\InterpolationMode.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\LinearGradientBrush.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\LinearGradientMode.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\LineCap.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\LineJoin.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\Matrix.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\MatrixOrder.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\PathData.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\PathGradientBrush.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\PathPointType.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\PenAlignment.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\PenType.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\PixelOffsetMode.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\QualityMode.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\RegionData.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\SmoothingMode.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\WarpMode.cs" />\r
+    <Compile Include="System.Drawing.Drawing2D\WrapMode.cs" />\r
+    <Compile Include="System.Drawing.Imaging\BitmapData.cs" />\r
+    <Compile Include="System.Drawing.Imaging\ColorAdjustType.cs" />\r
+    <Compile Include="System.Drawing.Imaging\ColorChannelFlag.cs" />\r
+    <Compile Include="System.Drawing.Imaging\ColorMap.cs" />\r
+    <Compile Include="System.Drawing.Imaging\ColorMapType.cs" />\r
+    <Compile Include="System.Drawing.Imaging\ColorMatrix.cs" />\r
+    <Compile Include="System.Drawing.Imaging\ColorMatrixFlag.cs" />\r
+    <Compile Include="System.Drawing.Imaging\ColorMode.cs" />\r
+    <Compile Include="System.Drawing.Imaging\ColorPalette.cs" />\r
+    <Compile Include="System.Drawing.Imaging\EmfPlusRecordType.cs" />\r
+    <Compile Include="System.Drawing.Imaging\EmfType.cs" />\r
+    <Compile Include="System.Drawing.Imaging\Encoder.cs" />\r
+    <Compile Include="System.Drawing.Imaging\EncoderParameter.cs" />\r
+    <Compile Include="System.Drawing.Imaging\EncoderParameters.cs" />\r
+    <Compile Include="System.Drawing.Imaging\EncoderParameterValueType.cs" />\r
+    <Compile Include="System.Drawing.Imaging\EncoderValue.cs" />\r
+    <Compile Include="System.Drawing.Imaging\FrameDimension.cs" />\r
+    <Compile Include="System.Drawing.Imaging\ImageAttributes.cs" />\r
+    <Compile Include="System.Drawing.Imaging\ImageCodecFlags.cs" />\r
+    <Compile Include="System.Drawing.Imaging\ImageCodecInfo.cs" />\r
+    <Compile Include="System.Drawing.Imaging\ImageFlags.cs" />\r
+    <Compile Include="System.Drawing.Imaging\ImageFormat.cs" />\r
+    <Compile Include="System.Drawing.Imaging\ImageLockMode.cs" />\r
+    <Compile Include="System.Drawing.Imaging\Metafile.cs" />\r
+    <Compile Include="System.Drawing.Imaging\MetafileFrameUnit.cs" />\r
+    <Compile Include="System.Drawing.Imaging\MetafileHeader.cs" />\r
+    <Compile Include="System.Drawing.Imaging\MetafileType.cs" />\r
+    <Compile Include="System.Drawing.Imaging\MetaHeader.cs" />\r
+    <Compile Include="System.Drawing.Imaging\PaletteFlags.cs" />\r
+    <Compile Include="System.Drawing.Imaging\PixelFormat.cs" />\r
+    <Compile Include="System.Drawing.Imaging\PlayRecordCallback.cs" />\r
+    <Compile Include="System.Drawing.Imaging\PropertyItem.cs" />\r
+    <Compile Include="System.Drawing.Imaging\WmfPlaceableFileHeader.cs" />\r
+    <Compile Include="System.Drawing.Printing\Duplex.cs" />\r
+    <Compile Include="System.Drawing.Printing\InvalidPrinterException.cs" />\r
+    <Compile Include="System.Drawing.Printing\Margins.cs" />\r
+    <Compile Include="System.Drawing.Printing\MarginsConverter.cs" />\r
+    <Compile Include="System.Drawing.Printing\PageSettings.cs" />\r
+    <Compile Include="System.Drawing.Printing\PaperKind.cs" />\r
+    <Compile Include="System.Drawing.Printing\PaperSize.cs" />\r
+    <Compile Include="System.Drawing.Printing\PaperSource.cs" />\r
+    <Compile Include="System.Drawing.Printing\PaperSourceKind.cs" />\r
+    <Compile Include="System.Drawing.Printing\PreviewPageInfo.cs" />\r
+    <Compile Include="System.Drawing.Printing\PreviewPrintController.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrintAction.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrintController.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrintDocument.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrinterResolution.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrinterResolutionKind.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrinterSettings.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrinterUnit.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrinterUnitConvert.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrintEventArgs.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrintEventHandler.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrintingPermission.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrintingPermissionAttribute.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrintingPermissionLevel.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrintingServices.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrintingServicesUnix.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrintingServicesWin32.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrintPageEventArgs.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrintPageEventHandler.cs" />\r
+    <Compile Include="System.Drawing.Printing\PrintRange.cs" />\r
+    <Compile Include="System.Drawing.Printing\QueryPageSettingsEventArgs.cs" />\r
+    <Compile Include="System.Drawing.Printing\QueryPageSettingsEventHandler.cs" />\r
+    <Compile Include="System.Drawing.Printing\StandardPrintController.cs" />\r
+    <Compile Include="System.Drawing.Text\FontCollection.cs" />\r
+    <Compile Include="System.Drawing.Text\GenericFontFamilies.cs" />\r
+    <Compile Include="System.Drawing.Text\HotkeyPrefix.cs" />\r
+    <Compile Include="System.Drawing.Text\InstalledFontCollection.cs" />\r
+    <Compile Include="System.Drawing.Text\PrivateFontCollection.cs" />\r
+    <Compile Include="System.Drawing.Text\TextRenderingHint.cs" />\r
+    <Compile Include="System.Drawing\Bitmap.cs" />\r
+    <Compile Include="System.Drawing\Brush.cs" />\r
+    <Compile Include="System.Drawing\Brushes.cs" />\r
+    <Compile Include="System.Drawing\BufferedGraphics.cs" />\r
+    <Compile Include="System.Drawing\BufferedGraphicsContext.cs" />\r
+    <Compile Include="System.Drawing\BufferedGraphicsManager.cs" />\r
+    <Compile Include="System.Drawing\CharacterRange.cs" />\r
+    <Compile Include="System.Drawing\Color.cs" />\r
+    <Compile Include="System.Drawing\ColorConverter.cs" />\r
+    <Compile Include="System.Drawing\ColorTranslator.cs" />\r
+    <Compile Include="System.Drawing\ComIStreamMarshaler.cs" />\r
+    <Compile Include="System.Drawing\ComIStreamWrapper.cs" />\r
+    <Compile Include="System.Drawing\ContentAlignment.cs" />\r
+    <Compile Include="System.Drawing\CopyPixelOperation.cs" />\r
+    <Compile Include="System.Drawing\Font.cs" />\r
+    <Compile Include="System.Drawing\FontConverter.cs" />\r
+    <Compile Include="System.Drawing\FontFamily.cs" />\r
+    <Compile Include="System.Drawing\FontStyle.cs" />\r
+    <Compile Include="System.Drawing\gdipEnums.cs" />\r
+    <Compile Include="System.Drawing\gdipFunctions.cs" />\r
+    <Compile Include="System.Drawing\gdipStructs.cs" />\r
+    <Compile Include="System.Drawing\Graphics.cs" />\r
+    <Compile Include="System.Drawing\GraphicsUnit.cs" />\r
+    <Compile Include="System.Drawing\Icon.cs" />\r
+    <Compile Include="System.Drawing\IconConverter.cs" />\r
+    <Compile Include="System.Drawing\IDeviceContext.cs" />\r
+    <Compile Include="System.Drawing\Image.cs" />\r
+    <Compile Include="System.Drawing\ImageAnimator.cs" />\r
+    <Compile Include="System.Drawing\ImageConverter.cs" />\r
+    <Compile Include="System.Drawing\ImageFormatConverter.cs" />\r
+    <Compile Include="System.Drawing\KnownColor.cs" />\r
+    <Compile Include="System.Drawing\KnownColors.cs" />\r
+    <Compile Include="System.Drawing\macFunctions.cs" />\r
+    <Compile Include="System.Drawing\Pen.cs" />\r
+    <Compile Include="System.Drawing\Pens.cs" />\r
+    <Compile Include="System.Drawing\Point.cs" />\r
+    <Compile Include="System.Drawing\PointConverter.cs" />\r
+    <Compile Include="System.Drawing\PointF.cs" />\r
+    <Compile Include="System.Drawing\Rectangle.cs" />\r
+    <Compile Include="System.Drawing\RectangleConverter.cs" />\r
+    <Compile Include="System.Drawing\RectangleF.cs" />\r
+    <Compile Include="System.Drawing\Region.cs" />\r
+    <Compile Include="System.Drawing\RotateFlipType.cs" />\r
+    <Compile Include="System.Drawing\Size.cs" />\r
+    <Compile Include="System.Drawing\SizeConverter.cs" />\r
+    <Compile Include="System.Drawing\SizeF.cs" />\r
+    <Compile Include="System.Drawing\SizeFConverter.cs" />\r
+    <Compile Include="System.Drawing\SolidBrush.cs" />\r
+    <Compile Include="System.Drawing\SRDescriptionAttribute.cs" />\r
+    <Compile Include="System.Drawing\StringAligment.cs" />\r
+    <Compile Include="System.Drawing\StringDigitSubstitute.cs" />\r
+    <Compile Include="System.Drawing\StringFormat.cs" />\r
+    <Compile Include="System.Drawing\StringFormatFlags.cs" />\r
+    <Compile Include="System.Drawing\StringTrimming.cs" />\r
+    <Compile Include="System.Drawing\StringUnit.cs" />\r
+    <Compile Include="System.Drawing\SystemBrushes.cs" />\r
+    <Compile Include="System.Drawing\SystemColors.cs" />\r
+    <Compile Include="System.Drawing\SystemFonts.cs" />\r
+    <Compile Include="System.Drawing\SystemIcons.cs" />\r
+    <Compile Include="System.Drawing\SystemPens.cs" />\r
+    <Compile Include="System.Drawing\TextureBrush.cs" />\r
+    <Compile Include="System.Drawing\ToolboxBitmapAttribute.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="Assembly/Mono.ico">\r
+      <LogicalName>Mono.ico</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Assembly/Information.ico">\r
+      <LogicalName>Information.ico</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Assembly/Error.ico">\r
+      <LogicalName>Error.ico</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Assembly/Warning.ico">\r
+      <LogicalName>Warning.ico</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Assembly/Question.ico">\r
+      <LogicalName>Question.ico</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Assembly/Shield.ico">\r
+      <LogicalName>Shield.ico</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
index 5adb549bb9b749509323df148fceb608c4799245..8e172ad3a4d57b404fd04d6528d289f3c0ccdf57 100644 (file)
@@ -843,7 +843,7 @@ namespace System.Drawing.Printing
                        if (!settings.PrintToFile) {
                                StringBuilder sb = new StringBuilder (1024);
                                int length = sb.Capacity;
-                               cupsTempFile (sb, length);
+                               cupsTempFd (sb, length);
                                name = sb.ToString ();
                                tmpfile = name;
                        }
@@ -889,7 +889,7 @@ namespace System.Drawing.Printing
                static extern void cupsFreeDests (int num_dests, IntPtr dests);
 
                [DllImport("libcups", CharSet=CharSet.Ansi)]
-               static extern IntPtr cupsTempFile (StringBuilder sb, int len);
+               static extern IntPtr cupsTempFd (StringBuilder sb, int len);
 
                [DllImport("libcups", CharSet=CharSet.Ansi)]
                static extern IntPtr cupsGetDefault ();
index 643d82c7ef8804ec80c6859f6e5c54ba3618d823..4737c4f1d455d97c26b28ffa11dc82468b0de1c4 100644 (file)
@@ -226,7 +226,7 @@ namespace System.Drawing
                public Point (int dw)
                {
                        y = dw >> 16;
-                       x = dw & 0xffff;
+                       x = unchecked ((short) (dw & 0xffff));
                }
 
                /// <summary>
index 71bb2abec8baec2a81ab03ac491173456914a45d..346ae6f1d509e20445a1db4fc8c384d4229e860f 100644 (file)
@@ -155,6 +155,15 @@ namespace MonoTests.System.Drawing{
                        Assert.AreEqual (pt_i, pt1_1, "#2");
                        Assert.AreEqual (pt_sz, pt1_1, "#3");
                }
+
+               [Test]
+               public void ConstructorNegativeLocationTest ()
+               {
+                       var pt = new Point (unchecked ((int) 0xffe0fc00));
+
+                       Assert.AreEqual (-32, pt.Y, "#1"); // (short) 0xffe0
+                       Assert.AreEqual (-1024, pt.X, "#2"); // (short) 0xfc00
+               }
                
                [Test]
                public void PropertyTest () 
diff --git a/mcs/class/System.Dynamic/System.Dynamic-net_4_x.csproj b/mcs/class/System.Dynamic/System.Dynamic-net_4_x.csproj
new file mode 100644 (file)
index 0000000..66e4a83
--- /dev/null
@@ -0,0 +1,143 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{5428F1E0-B0ED-46D6-B429-27D1A1C175C0}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,414,169</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Dynamic</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE;CODEPLEX_40</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE;CODEPLEX_40</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ArgBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\Assert.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\BoolArgBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\BoundDispEvent.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\CollectionExtensions.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComBinderHelpers.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComDispIds.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComEventDesc.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComEventSink.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComEventSinkProxy.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComEventSinksContainer.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComFallbackMetaObject.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComHresults.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComInterop.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComInvokeAction.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComInvokeBinder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComMetaObject.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComMethodDesc.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComObject.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComRuntimeHelpers.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComTypeClassDesc.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComTypeDesc.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComTypeEnumDesc.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ComTypeLibDesc.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ContractUtils.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ConversionArgBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ConvertArgBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ConvertibleArgBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\CurrencyArgBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\DateTimeArgBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\DispatchArgBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\DispCallable.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\DispCallableMetaObject.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ErrorArgBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\Errors.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\ExcepInfo.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\Helpers.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\IDispatchComObject.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\IDispatchMetaObject.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\NullArgBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\SimpleArgBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\SplatCallSite.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\StringArgBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\TypeUtils.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\UnknownArgBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\VarEnumSelector.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\Variant.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\VariantArgBuilder.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\VariantArray.cs" />\r
+    <Compile Include="..\dlr\Runtime\Microsoft.Dynamic\VariantBuilder.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.EnterpriseServices/System.EnterpriseServices-net_4_x.csproj b/mcs/class/System.EnterpriseServices/System.EnterpriseServices-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ad85676
--- /dev/null
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{61E3D008-E273-4E12-860A-8ADA031098C2}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,168,162</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.EnterpriseServices</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\ApplicationCrmEnabledAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\Clerk.cs" />\r
+    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\ClerkInfo.cs" />\r
+    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\ClerkMonitor.cs" />\r
+    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\Compensator.cs" />\r
+    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\CompensatorOptions.cs" />\r
+    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\LogRecord.cs" />\r
+    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\LogRecordFlags.cs" />\r
+    <Compile Include="System.EnterpriseServices.CompensatingResourceManager\TransactionState.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\AppDomainHelper.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\AssemblyLocator.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\ClientRemotingConfig.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\ClrObjectFactory.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\ComManagedImportUtil.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\ComSoapPublishError.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\GenerateMetadata.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\IClrObjectFactory.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\IComManagedImportUtil.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\IComSoapIISVRoot.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\IComSoapMetadata.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\IComSoapPublisher.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\IISVirtualRoot.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\IServerWebConfig.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\ISoapClientImport.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\ISoapServerTlb.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\ISoapServerVRoot.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\ISoapUtility.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\Publish.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\ServerWebConfig.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\SoapClientImport.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\SoapServerTlb.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\SoapServerVRoot.cs" />\r
+    <Compile Include="System.EnterpriseServices.Internal\SoapUtility.cs" />\r
+    <Compile Include="System.EnterpriseServices\AccessChecksLevelOption.cs" />\r
+    <Compile Include="System.EnterpriseServices\ActivationOption.cs" />\r
+    <Compile Include="System.EnterpriseServices\Activity.cs" />\r
+    <Compile Include="System.EnterpriseServices\ApplicationAccessControlAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\ApplicationActivationAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\ApplicationIDAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\ApplicationNameAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\ApplicationQueuingAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\AuthenticationOption.cs" />\r
+    <Compile Include="System.EnterpriseServices\AutoCompleteAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\BindingOption.cs" />\r
+    <Compile Include="System.EnterpriseServices\BOID.cs" />\r
+    <Compile Include="System.EnterpriseServices\BYOT.cs" />\r
+    <Compile Include="System.EnterpriseServices\ComponentAccessControlAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\COMTIIntrinsicsAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\ConstructionEnabledAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\ContextUtil.cs" />\r
+    <Compile Include="System.EnterpriseServices\DescriptionAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\EventClassAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\EventTrackingEnabledAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\ExceptionClassAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\IAsyncErrorNotify.cs" />\r
+    <Compile Include="System.EnterpriseServices\IConfigurationAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\IISIntrinsicsAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\ImpersonationLevelOption.cs" />\r
+    <Compile Include="System.EnterpriseServices\InheritanceOption.cs" />\r
+    <Compile Include="System.EnterpriseServices\InstallationFlags.cs" />\r
+    <Compile Include="System.EnterpriseServices\InterfaceQueuingAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\IPlaybackControl.cs" />\r
+    <Compile Include="System.EnterpriseServices\IProcessInitControl.cs" />\r
+    <Compile Include="System.EnterpriseServices\IProcessInitializer.cs" />\r
+    <Compile Include="System.EnterpriseServices\IRegistrationHelper.cs" />\r
+    <Compile Include="System.EnterpriseServices\IRemoteDispatch.cs" />\r
+    <Compile Include="System.EnterpriseServices\ISecurityCallContext.cs" />\r
+    <Compile Include="System.EnterpriseServices\ISecurityCallersColl.cs" />\r
+    <Compile Include="System.EnterpriseServices\ISecurityIdentityColl.cs" />\r
+    <Compile Include="System.EnterpriseServices\IServiceCall.cs" />\r
+    <Compile Include="System.EnterpriseServices\IServicedComponentInfo.cs" />\r
+    <Compile Include="System.EnterpriseServices\ISharedProperty.cs" />\r
+    <Compile Include="System.EnterpriseServices\ISharedPropertyGroup.cs" />\r
+    <Compile Include="System.EnterpriseServices\ITransaction.cs" />\r
+    <Compile Include="System.EnterpriseServices\JustInTimeActivationAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\LoadBalancingSupportedAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\MustRunInClientContextAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\ObjectPoolingAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\PartitionOption.cs" />\r
+    <Compile Include="System.EnterpriseServices\PrivateComponentAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\PropertyLockMode.cs" />\r
+    <Compile Include="System.EnterpriseServices\PropertyReleaseMode.cs" />\r
+    <Compile Include="System.EnterpriseServices\RegistrationConfig.cs" />\r
+    <Compile Include="System.EnterpriseServices\RegistrationErrorInfo.cs" />\r
+    <Compile Include="System.EnterpriseServices\RegistrationException.cs" />\r
+    <Compile Include="System.EnterpriseServices\RegistrationHelper.cs" />\r
+    <Compile Include="System.EnterpriseServices\RegistrationHelperTx.cs" />\r
+    <Compile Include="System.EnterpriseServices\ResourcePool.cs" />\r
+    <Compile Include="System.EnterpriseServices\SecureMethodAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\SecurityCallContext.cs" />\r
+    <Compile Include="System.EnterpriseServices\SecurityCallers.cs" />\r
+    <Compile Include="System.EnterpriseServices\SecurityIdentity.cs" />\r
+    <Compile Include="System.EnterpriseServices\SecurityRoleAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\ServiceConfig.cs" />\r
+    <Compile Include="System.EnterpriseServices\ServicedComponent.cs" />\r
+    <Compile Include="System.EnterpriseServices\ServicedComponentException.cs" />\r
+    <Compile Include="System.EnterpriseServices\ServiceDomain.cs" />\r
+    <Compile Include="System.EnterpriseServices\SharedProperty.cs" />\r
+    <Compile Include="System.EnterpriseServices\SharedPropertyGroup.cs" />\r
+    <Compile Include="System.EnterpriseServices\SharedPropertyGroupManager.cs" />\r
+    <Compile Include="System.EnterpriseServices\SxsOption.cs" />\r
+    <Compile Include="System.EnterpriseServices\SynchronizationAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\SynchronizationOption.cs" />\r
+    <Compile Include="System.EnterpriseServices\ThreadPoolOption.cs" />\r
+    <Compile Include="System.EnterpriseServices\TransactionAttribute.cs" />\r
+    <Compile Include="System.EnterpriseServices\TransactionIsolationLevel.cs" />\r
+    <Compile Include="System.EnterpriseServices\TransactionOption.cs" />\r
+    <Compile Include="System.EnterpriseServices\TransactionStatus.cs" />\r
+    <Compile Include="System.EnterpriseServices\TransactionVote.cs" />\r
+    <Compile Include="System.EnterpriseServices\XACTTRANSINFO.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Transactions/System.Transactions-net_4_x.csproj">\r
+      <Project>{3821C69F-220D-4231-992C-0FE05311A005}</Project>\r
+      <Name>System.Transactions-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.IO.Compression.FileSystem/System.IO.Compression.FileSystem-net_4_x.csproj b/mcs/class/System.IO.Compression.FileSystem/System.IO.Compression.FileSystem-net_4_x.csproj
new file mode 100644 (file)
index 0000000..12081f0
--- /dev/null
@@ -0,0 +1,93 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{9E61FF2E-493E-4CA0-BBDA-2EF96A4CB058}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IO.Compression.FileSystem</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="ZipFile.cs" />\r
+    <Compile Include="ZipFileExtensions.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.IO.Compression/System.IO.Compression-net_4_x.csproj">\r
+      <Project>{6187D26C-54C8-4298-829E-A99B0E6036B1}</Project>\r
+      <Name>System.IO.Compression-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.IO.Compression/System.IO.Compression-net_4_x.csproj b/mcs/class/System.IO.Compression/System.IO.Compression-net_4_x.csproj
new file mode 100644 (file)
index 0000000..8b0dc94
--- /dev/null
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{6187D26C-54C8-4298-829E-A99B0E6036B1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IO.Compression</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="SharpCompress\Archive\AbstractArchive.cs" />\r
+    <Compile Include="SharpCompress\Archive\AbstractWritableArchive.cs" />\r
+    <Compile Include="SharpCompress\Archive\AbstractWritableArchive.Extensions.cs" />\r
+    <Compile Include="SharpCompress\Archive\ArchiveFactory.cs" />\r
+    <Compile Include="SharpCompress\Archive\IArchive.cs" />\r
+    <Compile Include="SharpCompress\Archive\IArchive.Extensions.cs" />\r
+    <Compile Include="SharpCompress\Archive\IArchiveEntry.cs" />\r
+    <Compile Include="SharpCompress\Archive\IArchiveEntry.Extensions.cs" />\r
+    <Compile Include="SharpCompress\Archive\IArchiveExtractionListener.cs" />\r
+    <Compile Include="SharpCompress\Archive\IWritableArchiveEntry.cs" />\r
+    <Compile Include="SharpCompress\Archive\Zip\ZipArchive.cs" />\r
+    <Compile Include="SharpCompress\Archive\Zip\ZipArchiveEntry.cs" />\r
+    <Compile Include="SharpCompress\Archive\Zip\ZipWritableArchiveEntry.cs" />\r
+    <Compile Include="SharpCompress\Common\ArchiveEncoding.cs" />\r
+    <Compile Include="SharpCompress\Common\ArchiveException.cs" />\r
+    <Compile Include="SharpCompress\Common\ArchiveExtractionEventArgs.cs" />\r
+    <Compile Include="SharpCompress\Common\ArchiveType.cs" />\r
+    <Compile Include="SharpCompress\Common\CompressedBytesReadEventArgs.cs" />\r
+    <Compile Include="SharpCompress\Common\CompressionInfo.cs" />\r
+    <Compile Include="SharpCompress\Common\CompressionType.cs" />\r
+    <Compile Include="SharpCompress\Common\CryptographicException.cs" />\r
+    <Compile Include="SharpCompress\Common\Entry.cs" />\r
+    <Compile Include="SharpCompress\Common\EntryStream.cs" />\r
+    <Compile Include="SharpCompress\Common\ExtractionException.cs" />\r
+    <Compile Include="SharpCompress\Common\ExtractOptions.cs" />\r
+    <Compile Include="SharpCompress\Common\FilePart.cs" />\r
+    <Compile Include="SharpCompress\Common\FilePartExtractionBeginEventArgs.cs" />\r
+    <Compile Include="SharpCompress\Common\FlagUtility.cs" />\r
+    <Compile Include="SharpCompress\Common\IEntry.cs" />\r
+    <Compile Include="SharpCompress\Common\IExtractionListener.cs" />\r
+    <Compile Include="SharpCompress\Common\IncompleteArchiveException.cs" />\r
+    <Compile Include="SharpCompress\Common\InvalidFormatException.cs" />\r
+    <Compile Include="SharpCompress\Common\IVolume.cs" />\r
+    <Compile Include="SharpCompress\Common\MultipartStreamRequiredException.cs" />\r
+    <Compile Include="SharpCompress\Common\MultiVolumeExtractionException.cs" />\r
+    <Compile Include="SharpCompress\Common\Options.cs" />\r
+    <Compile Include="SharpCompress\Common\PasswordProtectedException.cs" />\r
+    <Compile Include="SharpCompress\Common\Volume.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\Headers\DirectoryEndHeader.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\Headers\DirectoryEntryHeader.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\Headers\HeaderFlags.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\Headers\IgnoreHeader.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\Headers\LocalEntryHeader.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\Headers\SplitHeader.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\Headers\ZipFileEntry..cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\Headers\ZipHeader.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\Headers\ZipHeaderType.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\PkwareTraditionalCryptoStream.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\PkwareTraditionalEncryptionData.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\SeekableZipFilePart.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\SeekableZipHeaderFactory.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\StreamingZipFilePart.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\StreamingZipHeaderFactory.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\WinzipAesCryptoStream.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\WinzipAesEncryptionData.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\WinzipAesKeySize.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\ZipCompressionMethod.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\ZipEntry.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\ZipFilePart.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\ZipHeaderFactory.cs" />\r
+    <Compile Include="SharpCompress\Common\Zip\ZipVolume.cs" />\r
+    <Compile Include="SharpCompress\Compressor\CompressionMode.cs" />\r
+    <Compile Include="SharpCompress\Compressor\Deflate\CRC32.cs" />\r
+    <Compile Include="SharpCompress\Compressor\Deflate\ZlibBase.cs" />\r
+    <Compile Include="SharpCompress\EnumExtensions.cs" />\r
+    <Compile Include="SharpCompress\IO\AppendingStream.cs" />\r
+    <Compile Include="SharpCompress\IO\CountingWritableSubStream.cs" />\r
+    <Compile Include="SharpCompress\IO\ListeningStream.cs" />\r
+    <Compile Include="SharpCompress\IO\MarkingBinaryReader.cs" />\r
+    <Compile Include="SharpCompress\IO\NonDisposingStream.cs" />\r
+    <Compile Include="SharpCompress\IO\ReadOnlySubStream.cs" />\r
+    <Compile Include="SharpCompress\IO\RewindableStream.cs" />\r
+    <Compile Include="SharpCompress\IO\StreamingMode.cs" />\r
+    <Compile Include="SharpCompress\LazyReadOnlyCollection.cs" />\r
+    <Compile Include="SharpCompress\Reader\AbstractReader.cs" />\r
+    <Compile Include="SharpCompress\Reader\IReader.cs" />\r
+    <Compile Include="SharpCompress\Reader\IReader.Extensions.cs" />\r
+    <Compile Include="SharpCompress\Reader\ReaderFactory.cs" />\r
+    <Compile Include="SharpCompress\Reader\Zip\ZipReader.cs" />\r
+    <Compile Include="SharpCompress\ReadOnlyCollection.cs" />\r
+    <Compile Include="SharpCompress\Utility.cs" />\r
+    <Compile Include="SharpCompress\Writer\AbstractWriter.cs" />\r
+    <Compile Include="SharpCompress\Writer\IWriter.cs" />\r
+    <Compile Include="SharpCompress\Writer\IWriter.Extensions.cs" />\r
+    <Compile Include="SharpCompress\Writer\WriterFactory.cs" />\r
+    <Compile Include="SharpCompress\Writer\Zip\ZipCentralDirectoryEntry.cs" />\r
+    <Compile Include="SharpCompress\Writer\Zip\ZipWriter.cs" />\r
+    <Compile Include="TypeForwarders.cs" />\r
+    <Compile Include="ZipArchive.cs" />\r
+    <Compile Include="ZipArchiveEntry.cs" />\r
+    <Compile Include="ZipArchiveMode.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 478af95dbeb59cf208390b702ff373c9facda9de..eacf2f6b3dda7072ae5ae8d495dc2e19c5f3895c 100644 (file)
@@ -251,5 +251,16 @@ namespace MonoTests.System.IO.Compression
 
                        File.Delete ("test.zip");
                }
+
+               [Test]
+               public void ZipUpdateEmptyArchive()
+               {
+                       File.WriteAllText("empty.zip", string.Empty);
+                       using (var archive = new ZipArchive(File.Open("empty.zip", FileMode.Open),
+                               ZipArchiveMode.Update))
+                       {
+                       }
+                       File.Delete ("empty.zip");
+               }
        }
 }
index 411aadc930f86c2c424f981fc12d0437a01862ca..b2d6e2f4bfe0e32851ad9e043ac5d666a4f71e9e 100644 (file)
@@ -103,9 +103,9 @@ namespace System.IO.Compression
                                throw new ArgumentException("Stream must support reading, writing and seeking for Update archive mode");
 
                        try {
-                               zipFile = mode == ZipArchiveMode.Create ? 
-                                       SharpCompress.Archive.Zip.ZipArchive.Create() :
-                                       SharpCompress.Archive.Zip.ZipArchive.Open(stream);
+                               zipFile = mode != ZipArchiveMode.Create && stream.Length != 0
+                                       ? SharpCompress.Archive.Zip.ZipArchive.Open(stream)
+                                       : SharpCompress.Archive.Zip.ZipArchive.Create();
                        } catch (Exception e) {
                                throw new InvalidDataException("The contents of the stream are not in the zip archive format.", e);
                        }
diff --git a/mcs/class/System.IdentityModel.Selectors/System.IdentityModel.Selectors-net_4_x.csproj b/mcs/class/System.IdentityModel.Selectors/System.IdentityModel.Selectors-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a7f6026
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{BBA32980-B28C-476D-AEB0-892F1B1DFB5E}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IdentityModel.Selectors</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\CardSpaceException.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\CardSpacePolicyElement.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\CardSpaceSelector.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\IdentityValidationException.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\PolicyValidationException.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\ServiceBusyException.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\ServiceNotStartedException.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\StsCommunicationException.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\UnsupportedPolicyOptionsException.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\UntrustedRecipientException.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\UserCancellationException.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Security/System.Security-net_4_x.csproj">\r
+      <Project>{3ED36717-A9D1-4289-8949-9B7F39766DEB}</Project>\r
+      <Name>System.Security-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.IdentityModel/System.IdentityModel-net_4_x.csproj">\r
+      <Project>{FA718FA9-32C2-4BAC-BAAB-DB3A7A326D4C}</Project>\r
+      <Name>System.IdentityModel-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.IdentityModel/System.IdentityModel-net_4_x.csproj b/mcs/class/System.IdentityModel/System.IdentityModel-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5a0a057
--- /dev/null
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{FA718FA9-32C2-4BAC-BAAB-DB3A7A326D4C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.IdentityModel</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.IdentityModel.Claims\Claim.cs" />\r
+    <Compile Include="System.IdentityModel.Claims\ClaimSet.cs" />\r
+    <Compile Include="System.IdentityModel.Claims\ClaimTypes.cs" />\r
+    <Compile Include="System.IdentityModel.Claims\DefaultClaimSet.cs" />\r
+    <Compile Include="System.IdentityModel.Claims\Rights.cs" />\r
+    <Compile Include="System.IdentityModel.Claims\WindowsClaimSet.cs" />\r
+    <Compile Include="System.IdentityModel.Claims\X509CertificateClaimSet.cs" />\r
+    <Compile Include="System.IdentityModel.Configuration\ICustomIdentityConfiguration.cs" />\r
+    <Compile Include="System.IdentityModel.Configuration\IdentityModelCaches.cs" />\r
+    <Compile Include="System.IdentityModel.Policy\AuthorizationContext.cs" />\r
+    <Compile Include="System.IdentityModel.Policy\EvaluationContext.cs" />\r
+    <Compile Include="System.IdentityModel.Policy\IAuthorizationComponent.cs" />\r
+    <Compile Include="System.IdentityModel.Policy\IAuthorizationPolicy.cs" />\r
+    <Compile Include="System.IdentityModel.Protocols\WSTrust\BinaryExchange.cs" />\r
+    <Compile Include="System.IdentityModel.Protocols\WSTrust\EndpointReference.cs" />\r
+    <Compile Include="System.IdentityModel.Protocols\WSTrust\Entropy.cs" />\r
+    <Compile Include="System.IdentityModel.Protocols\WSTrust\Lifetime.cs" />\r
+    <Compile Include="System.IdentityModel.Protocols\WSTrust\ProtectedKey.cs" />\r
+    <Compile Include="System.IdentityModel.Protocols\WSTrust\RequestedProofToken.cs" />\r
+    <Compile Include="System.IdentityModel.Protocols\WSTrust\RequestedSecurityToken.cs" />\r
+    <Compile Include="System.IdentityModel.Protocols\WSTrust\RequestSecurityTokenResponse.cs" />\r
+    <Compile Include="System.IdentityModel.Protocols\WSTrust\Status.cs" />\r
+    <Compile Include="System.IdentityModel.Protocols\WSTrust\UseKey.cs" />\r
+    <Compile Include="System.IdentityModel.Protocols\WSTrust\WSTrustMessage.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\AudienceUriMode.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\CustomUserNameSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\KerberosSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\KerberosSecurityTokenProvider.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\RsaSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\SamlSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\SecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\SecurityTokenManager.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\SecurityTokenProvider.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\SecurityTokenRequirement.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\SecurityTokenResolver.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\SecurityTokenSerializer.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\SecurityTokenVersion.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\SystemIdentityAuthorizationPolicy.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\UserNamePasswordValidator.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\UserNameSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\UserNameSecurityTokenProvider.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\WindowsSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\WindowsUserNameSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\X509CertificateValidator.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\X509SecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.IdentityModel.Selectors\X509SecurityTokenProvider.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\AsymmetricSecurityKey.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\AudienceRestriction.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\AuthenticationContext.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\AuthenticationInformation.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\BinaryKeyIdentifierClause.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\BootstrapContext.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\EncryptedKeyIdentifierClause.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\EncryptingCredentials.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\GenericXmlSecurityToken.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\InMemorySymmetricSecurityKey.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\IssuerNameRegistry.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\KerberosReceiverSecurityToken.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\KerberosRequestorSecurityToken.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\LocalIdKeyIdentifierClause.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\ProofDescriptor.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\RsaKeyIdentifierClause.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\RsaSecurityKey.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\RsaSecurityToken.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlAccessDecision.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlAction.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlAdvice.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlAssertion.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlAssertionKeyIdentifierClause.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlAttribute.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlAttributeStatement.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlAudienceRestrictionCondition.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlAuthenticationClaimResource.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlAuthenticationStatement.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlAuthorityBinding.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlAuthorizationDecisionClaimResource.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlAuthorizationDecisionStatement.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlCondition.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlConditions.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlConstants.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlDoNotCacheCondition.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlEvidence.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlNameIdentifierClaimResource.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlSecurityToken.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlSerializer.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlStatement.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlSubject.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SamlSubjectStatement.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityAlgorithms.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityKey.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityKeyIdentifier.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityKeyIdentifierClause.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityKeyType.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityKeyUsage.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityToken.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityTokenDescriptor.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityTokenException.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityTokenExpiredException.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityTokenHandler.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityTokenHandlerCollection.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityTokenHandlerConfiguration.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityTokenNotYetValidException.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityTokenReplayDetectedException.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityTokenTypes.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SecurityTokenValidationException.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SessionSecurityToken.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SessionSecurityTokenCache.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SessionSecurityTokenCacheKey.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SessionSecurityTokenHandler.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SigningCredentials.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\SymmetricSecurityKey.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\TlsHMAC.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\TokenReplayCache.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\UserNameSecurityToken.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\WindowsSecurityToken.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\X509AsymmetricSecurityKey.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\X509IssuerSerialKeyIdentifierClause.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\X509RawDataKeyIdentifierClause.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\X509SecurityToken.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\X509SigningCredentials.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\X509SubjectKeyIdentifierClause.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\X509ThumbprintKeyIdentifierClause.cs" />\r
+    <Compile Include="System.IdentityModel.Tokens\X509WindowsSecurityToken.cs" />\r
+    <Compile Include="System.IdentityModel\CookieTransform.cs" />\r
+    <Compile Include="System.IdentityModel\OpenObject.cs" />\r
+    <Compile Include="System.IdentityModel\SignatureVerificationFailedException.cs" />\r
+    <Compile Include="System.Security.Claims\AuthenticationTypes.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509CertificateValidationMode.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.ApplicationServices/System.Web.ApplicationServices-net_4_x.csproj">\r
+      <Project>{928432BE-3518-4103-97F6-48B9658588A6}</Project>\r
+      <Name>System.Web.ApplicationServices-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Security/System.Security-net_4_x.csproj">\r
+      <Project>{3ED36717-A9D1-4289-8949-9B7F39766DEB}</Project>\r
+      <Name>System.Security-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Security/Mono.Security-net_4_x.csproj">\r
+      <Project>{42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}</Project>\r
+      <Name>Mono.Security-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index b313957a2c3343c7428c8904669a0ae700aafe39..4c2329392d3a0be91b5336bd1b71053d9293942f 100644 (file)
@@ -17,11 +17,7 @@ LIB_REFS += Microsoft.CSharp
 LIB_MCS_FLAGS += -d:FEATURE_DYNAMIC
 endif
 
-ifeq (monodroid, $(PROFILE))
-LIB_MCS_FLAGS += -d:FEATURE_DYNAMIC
-endif
-
-ifeq (xammac, $(PROFILE))
+ifdef MOBILE_DYNAMIC
 LIB_MCS_FLAGS += -d:FEATURE_DYNAMIC
 endif
 
diff --git a/mcs/class/System.Json.Microsoft/System.Json.Microsoft-net_4_x.csproj b/mcs/class/System.Json.Microsoft/System.Json.Microsoft-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a44cb7d
--- /dev/null
@@ -0,0 +1,131 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{E6A6B9F7-BD0C-4F8D-8AFE-2EF76A2FB3AD}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Json.Microsoft</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../winfx.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETMVC;FEATURE_DYNAMIC</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETMVC;FEATURE_DYNAMIC</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\CommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\RS.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\TransparentCommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Json\Extensions\JsonValueExtensions.cs" />\r
+    <Compile Include="System.Json\GlobalSuppressions.cs" />\r
+    <Compile Include="System.Json\JsonArray.cs" />\r
+    <Compile Include="System.Json\JsonObject.cs" />\r
+    <Compile Include="System.Json\JsonPrimitive.cs" />\r
+    <Compile Include="System.Json\JsonType.cs" />\r
+    <Compile Include="System.Json\JsonValue.cs" />\r
+    <Compile Include="System.Json\JsonValueChange.cs" />\r
+    <Compile Include="System.Json\JsonValueChangeEventArgs.cs" />\r
+    <Compile Include="System.Json\JsonValueDynamicMetaObject.cs" />\r
+    <Compile Include="System.Json\JsonValueLinqExtensions.cs" />\r
+    <Compile Include="System.Json\JXmlToJsonValueConverter.cs" />\r
+    <Compile Include="System.Json\NGenWrapper.cs" />\r
+    <Compile Include="System.Json\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="System.Json\Properties\Resources.Designer.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Microsoft.CSharp/Microsoft.CSharp-net_4_x.csproj">\r
+      <Project>{DABF9F75-63AD-4991-9D2B-9234E7032B32}</Project>\r
+      <Name>Microsoft.CSharp-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="System.Json.Properties.Resources.resources">\r
+      <LogicalName>System.Json.Properties.Resources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Json/System.Json-net_4_x.csproj b/mcs/class/System.Json/System.Json-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a9259ac
--- /dev/null
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D315DFE8-0E95-45D9-9EDB-9DCF70E5152F}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Json</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Json\JavaScriptReader.cs" />\r
+    <Compile Include="System.Json\JsonArray.cs" />\r
+    <Compile Include="System.Json\JsonObject.cs" />\r
+    <Compile Include="System.Json\JsonPrimitive.cs" />\r
+    <Compile Include="System.Json\JsonType.cs" />\r
+    <Compile Include="System.Json\JsonValue.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Management/System.Management-net_4_x.csproj b/mcs/class/System.Management/System.Management-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3972200
--- /dev/null
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A81C8BB6-5799-49BC-849A-CB422D3F8DB9}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Management</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Management.Instrumentation\BaseEvent.cs" />\r
+    <Compile Include="System.Management.Instrumentation\DefaultManagementProjectInstaller.cs" />\r
+    <Compile Include="System.Management.Instrumentation\IEvent.cs" />\r
+    <Compile Include="System.Management.Instrumentation\IgnoreMemberAttribute.cs" />\r
+    <Compile Include="System.Management.Instrumentation\IInstance.cs" />\r
+    <Compile Include="System.Management.Instrumentation\Instance.cs" />\r
+    <Compile Include="System.Management.Instrumentation\Instrumentation.cs" />\r
+    <Compile Include="System.Management.Instrumentation\InstrumentationClassAttribute.cs" />\r
+    <Compile Include="System.Management.Instrumentation\InstrumentationType.cs" />\r
+    <Compile Include="System.Management.Instrumentation\InstrumentedAttribute.cs" />\r
+    <Compile Include="System.Management.Instrumentation\ManagedNameAttribute.cs" />\r
+    <Compile Include="System.Management.Instrumentation\ManagementInstaller.cs" />\r
+    <Compile Include="System.Management\AuthenticationLevel.cs" />\r
+    <Compile Include="System.Management\CimType.cs" />\r
+    <Compile Include="System.Management\CodeLanguage.cs" />\r
+    <Compile Include="System.Management\ComparisonSettings.cs" />\r
+    <Compile Include="System.Management\CompletedEventArgs.cs" />\r
+    <Compile Include="System.Management\CompletedEventHandler.cs" />\r
+    <Compile Include="System.Management\ConnectionOptions.cs" />\r
+    <Compile Include="System.Management\DeleteOptions.cs" />\r
+    <Compile Include="System.Management\EnumerationOptions.cs" />\r
+    <Compile Include="System.Management\EventArrivedEventArgs.cs" />\r
+    <Compile Include="System.Management\EventArrivedEventHandler.cs" />\r
+    <Compile Include="System.Management\EventQuery.cs" />\r
+    <Compile Include="System.Management\EventWatcherOptions.cs" />\r
+    <Compile Include="System.Management\ImpersonationLevel.cs" />\r
+    <Compile Include="System.Management\InvokeMethodOptions.cs" />\r
+    <Compile Include="System.Management\ManagementBaseObject.cs" />\r
+    <Compile Include="System.Management\ManagementClass.cs" />\r
+    <Compile Include="System.Management\ManagementDateTimeConverter.cs" />\r
+    <Compile Include="System.Management\ManagementEventArgs.cs" />\r
+    <Compile Include="System.Management\ManagementEventWatcher.cs" />\r
+    <Compile Include="System.Management\ManagementException.cs" />\r
+    <Compile Include="System.Management\ManagementNamedValueCollection.cs" />\r
+    <Compile Include="System.Management\ManagementObject.cs" />\r
+    <Compile Include="System.Management\ManagementObjectCollection.cs" />\r
+    <Compile Include="System.Management\ManagementObjectSearcher.cs" />\r
+    <Compile Include="System.Management\ManagementOperationObserver.cs" />\r
+    <Compile Include="System.Management\ManagementOptions.cs" />\r
+    <Compile Include="System.Management\ManagementPath.cs" />\r
+    <Compile Include="System.Management\ManagementQuery.cs" />\r
+    <Compile Include="System.Management\ManagementScope.cs" />\r
+    <Compile Include="System.Management\ManagementStatus.cs" />\r
+    <Compile Include="System.Management\MethodData.cs" />\r
+    <Compile Include="System.Management\MethodDataCollection.cs" />\r
+    <Compile Include="System.Management\ObjectGetOptions.cs" />\r
+    <Compile Include="System.Management\ObjectPutEventArgs.cs" />\r
+    <Compile Include="System.Management\ObjectPutEventHandler.cs" />\r
+    <Compile Include="System.Management\ObjectQuery.cs" />\r
+    <Compile Include="System.Management\ObjectReadyEventArgs.cs" />\r
+    <Compile Include="System.Management\ObjectReadyEventHandler.cs" />\r
+    <Compile Include="System.Management\ProgressEventArgs.cs" />\r
+    <Compile Include="System.Management\ProgressEventHandler.cs" />\r
+    <Compile Include="System.Management\PropertyData.cs" />\r
+    <Compile Include="System.Management\PropertyDataCollection.cs" />\r
+    <Compile Include="System.Management\PutOptions.cs" />\r
+    <Compile Include="System.Management\PutType.cs" />\r
+    <Compile Include="System.Management\QualifierData.cs" />\r
+    <Compile Include="System.Management\QualifierDataCollection.cs" />\r
+    <Compile Include="System.Management\RelatedObjectQuery.cs" />\r
+    <Compile Include="System.Management\RelationshipQuery.cs" />\r
+    <Compile Include="System.Management\SelectQuery.cs" />\r
+    <Compile Include="System.Management\StoppedEventArgs.cs" />\r
+    <Compile Include="System.Management\StoppedEventHandler.cs" />\r
+    <Compile Include="System.Management\TextFormat.cs" />\r
+    <Compile Include="System.Management\WqlEventQuery.cs" />\r
+    <Compile Include="System.Management\WqlObjectQuery.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration.Install/System.Configuration.Install-net_4_x.csproj">\r
+      <Project>{B144ACD4-089D-4769-8605-583FBEDB5B7C}</Project>\r
+      <Name>System.Configuration.Install-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Messaging/System.Messaging-net_4_x.csproj b/mcs/class/System.Messaging/System.Messaging-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d0bfd99
--- /dev/null
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{4AC19C4C-5998-4F55-9C65-55ACB8D71AB2}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Messaging</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Messaging.Design\MessageFormatterConverter.cs" />\r
+    <Compile Include="System.Messaging.Design\MessageQueueConverter.cs" />\r
+    <Compile Include="System.Messaging.Design\QueuePathDialog.cs" />\r
+    <Compile Include="System.Messaging.Design\QueuePathEditor.cs" />\r
+    <Compile Include="System.Messaging.Design\TimeoutConverter.cs" />\r
+    <Compile Include="System.Messaging\AccessControlEntry.cs" />\r
+    <Compile Include="System.Messaging\AccessControlEntryType.cs" />\r
+    <Compile Include="System.Messaging\AccessControlList.cs" />\r
+    <Compile Include="System.Messaging\AcknowledgeTypes.cs" />\r
+    <Compile Include="System.Messaging\Acknowledgment.cs" />\r
+    <Compile Include="System.Messaging\ActiveXMessageFormatter.cs" />\r
+    <Compile Include="System.Messaging\BinaryMessageFormatter.cs" />\r
+    <Compile Include="System.Messaging\CryptographicProviderType.cs" />\r
+    <Compile Include="System.Messaging\DefaultPropertiesToSend.cs" />\r
+    <Compile Include="System.Messaging\EncryptionAlgorithm.cs" />\r
+    <Compile Include="System.Messaging\EncryptionRequired.cs" />\r
+    <Compile Include="System.Messaging\GenericAccessRights.cs" />\r
+    <Compile Include="System.Messaging\HashAlgorithm.cs" />\r
+    <Compile Include="System.Messaging\IMessageFormatter.cs" />\r
+    <Compile Include="System.Messaging\Message.cs" />\r
+    <Compile Include="System.Messaging\MessageEnumerator.cs" />\r
+    <Compile Include="System.Messaging\MessagePriority.cs" />\r
+    <Compile Include="System.Messaging\MessagePropertyFilter.cs" />\r
+    <Compile Include="System.Messaging\MessageQueue.cs" />\r
+    <Compile Include="System.Messaging\MessageQueueAccessControlEntry.cs" />\r
+    <Compile Include="System.Messaging\MessageQueueAccessRights.cs" />\r
+    <Compile Include="System.Messaging\MessageQueueCriteria.cs" />\r
+    <Compile Include="System.Messaging\MessageQueueEnumerator.cs" />\r
+    <Compile Include="System.Messaging\MessageQueueErrorCode.cs" />\r
+    <Compile Include="System.Messaging\MessageQueueException.cs" />\r
+    <Compile Include="System.Messaging\MessageQueueInstaller.cs" />\r
+    <Compile Include="System.Messaging\MessageQueuePermission.cs" />\r
+    <Compile Include="System.Messaging\MessageQueuePermissionAccess.cs" />\r
+    <Compile Include="System.Messaging\MessageQueuePermissionAttribute.cs" />\r
+    <Compile Include="System.Messaging\MessageQueuePermissionEntry.cs" />\r
+    <Compile Include="System.Messaging\MessageQueuePermissionEntryCollection.cs" />\r
+    <Compile Include="System.Messaging\MessageQueueTransaction.cs" />\r
+    <Compile Include="System.Messaging\MessageQueueTransactionStatus.cs" />\r
+    <Compile Include="System.Messaging\MessageQueueTransactionType.cs" />\r
+    <Compile Include="System.Messaging\MessageType.cs" />\r
+    <Compile Include="System.Messaging\MessagingDescriptionAttribute.cs" />\r
+    <Compile Include="System.Messaging\PeekCompletedEventArgs.cs" />\r
+    <Compile Include="System.Messaging\PeekCompletedEventHandler.cs" />\r
+    <Compile Include="System.Messaging\QueueAccessMode.cs" />\r
+    <Compile Include="System.Messaging\ReceiveCompletedEventArgs.cs" />\r
+    <Compile Include="System.Messaging\ReceiveCompletedEventHandler.cs" />\r
+    <Compile Include="System.Messaging\StandardAccessRights.cs" />\r
+    <Compile Include="System.Messaging\Trustee.cs" />\r
+    <Compile Include="System.Messaging\TrusteeType.cs" />\r
+    <Compile Include="System.Messaging\XmlMessageFormatter.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Messaging/Mono.Messaging-net_4_x.csproj">\r
+      <Project>{F89761CF-5915-45E5-8C9C-E4F883EC5FA5}</Project>\r
+      <Name>Mono.Messaging-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration.Install/System.Configuration.Install-net_4_x.csproj">\r
+      <Project>{B144ACD4-089D-4769-8605-583FBEDB5B7C}</Project>\r
+      <Name>System.Configuration.Install-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Drawing/System.Drawing-net_4_x.csproj">\r
+      <Project>{584A5E46-2958-4CB2-8DF9-188B420D0BB0}</Project>\r
+      <Name>System.Drawing-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Windows.Forms/System.Windows.Forms-net_4_x.csproj">\r
+      <Project>{108227C7-8ED9-4483-949D-07BF0DA1A201}</Project>\r
+      <Name>System.Windows.Forms-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="System.Messaging/MessageQueue.resx">\r
+      <LogicalName>MessageQueue.resx</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Net.Http.Formatting/System.Net.Http.Formatting-net_4_x.csproj b/mcs/class/System.Net.Http.Formatting/System.Net.Http.Formatting-net_4_x.csproj
new file mode 100644 (file)
index 0000000..528b66c
--- /dev/null
@@ -0,0 +1,362 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{5883D056-B748-4D13-A7E3-2D2756CDC6BC}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.Http.Formatting</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../winfx.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETMVC</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETMVC</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\CommonWebApiResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\DictionaryExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\Error.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\TaskHelpers.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\TaskHelpersExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\CommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\RS.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\CloneableExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\BufferedMediaTypeFormatter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\ContentNegotiationResult.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\DefaultContentNegotiator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\DelegatingEnumerable.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\FormDataCollection.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\FormUrlEncodedJson.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\FormUrlEncodedMediaTypeFormatter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\IContentNegotiator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\IFormatterLogger.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\IRequiredMemberSelector.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\JsonContractResolver.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\JsonMediaTypeFormatter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\JsonReaderQuotaException.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\MediaRangeMapping.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\MediaTypeConstants.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\MediaTypeFormatter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\MediaTypeFormatterCollection.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\MediaTypeFormatterExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\MediaTypeHeaderValueExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\MediaTypeMapping.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\MediaTypeMatch.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\MediaTypeWithQualityHeaderValueComparer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\ParsedMediaTypeHeaderValue.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\Parsers\FormUrlEncodedParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\Parsers\HttpRequestHeaderParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\Parsers\HttpRequestLineParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\Parsers\HttpResponseHeaderParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\Parsers\HttpStatusLineParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\Parsers\InternetMessageFormatHeaderParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\Parsers\MimeMultipartBodyPartParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\Parsers\MimeMultipartParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\Parsers\ParserState.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\QueryStringMapping.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\RequestHeaderMapping.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\ResponseFormatterSelectionResult.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\ResponseMediaTypeMatch.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\SecureJsonTextReader.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\StringComparisonHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\StringWithQualityHeaderValueComparer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\XHRRequestHeaderMapping.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Formatting\XmlMediaTypeFormatter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\FormattingUtilities.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Headers\CookieHeaderValue.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Headers\CookieState.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\HttpClientExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\HttpContentCollectionExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\HttpContentExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\HttpContentMessageExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\HttpContentMultipartExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\HttpHeaderExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\HttpMessageContent.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\HttpRequestHeadersExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\HttpRequestMessageExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\HttpResponseHeadersExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\HttpUnsortedHeaders.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\HttpUnsortedRequest.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\HttpUnsortedResponse.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\IMultipartStreamProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Internal\AsyncResultWithExtraData.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Internal\DelegatingStream.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Internal\HttpValueCollection.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Internal\NonClosingDelegatingStream.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Internal\UriQueryUtility.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\MimeBodyPart.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\MultipartFileStreamProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\MultipartFormDataStreamProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\MultipartMemoryStreamProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\ObjectContent.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\Properties\Resources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Net.Http.Formatting\UriExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\TransparentCommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Bson\BsonBinaryType.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Bson\BsonBinaryWriter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Bson\BsonObjectId.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Bson\BsonReader.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Bson\BsonToken.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Bson\BsonType.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Bson\BsonWriter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\ConstructorHandling.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\BinaryConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\BsonObjectIdConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\CustomCreationConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\DataSetConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\DataTableConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\DateTimeConverterBase.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\EntityKeyMemberConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\ExpandoObjectConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\IsoDateTimeConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\JavaScriptDateTimeConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\KeyValuePairConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\RegexConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\StringEnumConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\VersionConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Converters\XmlNodeConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\DateFormatHandling.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\DateTimeZoneHandling.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\DefaultValueHandling.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Formatting.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\IJsonLineInfo.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonArrayAttribute.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonConstructorAttribute.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonContainerAttribute.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonConvert.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonConverterAttribute.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonConverterCollection.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonIgnoreAttribute.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonObjectAttribute.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonPosition.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonReader.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonReaderException.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonSerializationException.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonSerializer.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonSerializerSettings.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonTextReader.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonToken.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonValidatingReader.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonWriter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\JsonWriterException.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\Extensions.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\IJEnumerable.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JArray.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JConstructor.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JContainer.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JEnumerable.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JObject.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JPath.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JProperty.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JPropertyKeyedCollection.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JRaw.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JToken.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JTokenEqualityComparer.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JTokenReader.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JTokenType.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JTokenWriter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Linq\JValue.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\MemberSerialization.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\MissingMemberHandling.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\NullValueHandling.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\ObjectCreationHandling.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\PreserveReferencesHandling.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\ReferenceLoopHandling.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Required.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\Extensions.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\JsonSchema.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\JsonSchemaBuilder.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\JsonSchemaConstants.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\JsonSchemaException.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\JsonSchemaGenerator.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\JsonSchemaModel.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\JsonSchemaModelBuilder.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\JsonSchemaNode.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\JsonSchemaNodeCollection.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\JsonSchemaResolver.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\JsonSchemaType.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\JsonSchemaWriter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\UndefinedSchemaIdHandling.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\ValidationEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Schema\ValidationEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\CachedAttributeGetter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\CamelCasePropertyNamesContractResolver.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\DefaultContractResolver.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\DefaultReferenceResolver.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\DefaultSerializationBinder.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\DynamicValueProvider.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\ErrorContext.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\ErrorEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\IContractResolver.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\IReferenceResolver.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\IValueProvider.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonArrayContract.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonContract.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonDictionaryContract.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonDynamicContract.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonFormatterConverter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonISerializableContract.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonLinqContract.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonObjectContract.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonPrimitiveContract.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonProperty.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonPropertyCollection.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalBase.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalReader.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonSerializerInternalWriter.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonSerializerProxy.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonStringContract.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\JsonTypeReflector.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\LateBoundMetadataTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\ObjectConstructor.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\OnErrorAttribute.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Serialization\ReflectionValueProvider.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\TypeNameHandling.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\Base64Encoder.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\BidirectionalDictionary.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\CollectionUtils.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\CollectionWrapper.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\ConvertUtils.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\DateTimeUtils.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\DictionaryWrapper.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\DynamicProxy.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\DynamicProxyMetaObject.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\DynamicReflectionDelegateFactory.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\DynamicUtils.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\DynamicWrapper.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\EnumUtils.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\EnumValue.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\EnumValues.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\ILGeneratorExtensions.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\JavaScriptUtils.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\LateBoundReflectionDelegateFactory.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\ListWrapper.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\MathUtils.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\MethodCall.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\MiscellaneousUtils.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\ReflectionDelegateFactory.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\ReflectionUtils.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\StringBuffer.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\StringReference.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\StringUtils.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\ThreadSafeStore.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\TypeExtensions.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\Utilities\ValidationUtils.cs" />\r
+    <Compile Include="..\..\..\external\Newtonsoft.Json\Src\Newtonsoft.Json\WriteState.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Net.Http/System.Net.Http-net_4_x.csproj">\r
+      <Project>{F1636C0A-FC68-4362-918F-9CCC789FED13}</Project>\r
+      <Name>System.Net.Http-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Xml.Linq/System.Xml.Linq-net_4_x.csproj">\r
+      <Project>{526286D5-38D9-4579-B001-471440D57752}</Project>\r
+      <Name>System.Xml.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="System.Net.Http.Properties.CommonWebApiResources.resources">\r
+      <LogicalName>System.Net.Http.Properties.CommonWebApiResources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Net.Http.Properties.Resources.resources">\r
+      <LogicalName>System.Net.Http.Properties.Resources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Net.Http.WebRequest/System.Net.Http.WebRequest-net_4_x.csproj b/mcs/class/System.Net.Http.WebRequest/System.Net.Http.WebRequest-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9b7f6d8
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A98B5CC3-EAFC-4EFD-ABC6-2F2A65BE98F5}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.Http.WebRequest</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Net.Http.WebRequest\WebRequestHandler.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Net.Http/System.Net.Http-net_4_x.csproj">\r
+      <Project>{F1636C0A-FC68-4362-918F-9CCC789FED13}</Project>\r
+      <Name>System.Net.Http-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Net.Http/System.Net.Http-net_4_x.csproj b/mcs/class/System.Net.Http/System.Net.Http-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c27b6d1
--- /dev/null
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{F1636C0A-FC68-4362-918F-9CCC789FED13}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net.Http</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Net.Http.Headers\AuthenticationHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\CacheControlHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\CollectionExtensions.cs" />\r
+    <Compile Include="System.Net.Http.Headers\CollectionParser.cs" />\r
+    <Compile Include="System.Net.Http.Headers\ContentDispositionHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\ContentRangeHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\EntityTagHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\HashCodeCalculator.cs" />\r
+    <Compile Include="System.Net.Http.Headers\HeaderInfo.cs" />\r
+    <Compile Include="System.Net.Http.Headers\HttpContentHeaders.cs" />\r
+    <Compile Include="System.Net.Http.Headers\HttpHeaderKind.cs" />\r
+    <Compile Include="System.Net.Http.Headers\HttpHeaders.cs" />\r
+    <Compile Include="System.Net.Http.Headers\HttpHeaderValueCollection.cs" />\r
+    <Compile Include="System.Net.Http.Headers\HttpRequestHeaders.cs" />\r
+    <Compile Include="System.Net.Http.Headers\HttpResponseHeaders.cs" />\r
+    <Compile Include="System.Net.Http.Headers\Lexer.cs" />\r
+    <Compile Include="System.Net.Http.Headers\MediaTypeHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\MediaTypeWithQualityHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\NameValueHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\NameValueWithParametersHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\Parser.cs" />\r
+    <Compile Include="System.Net.Http.Headers\ProductHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\ProductInfoHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\QualityValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\RangeConditionHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\RangeHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\RangeItemHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\RetryConditionHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\StringWithQualityHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\TransferCodingHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\TransferCodingWithQualityHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\ViaHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http.Headers\WarningHeaderValue.cs" />\r
+    <Compile Include="System.Net.Http\ByteArrayContent.cs" />\r
+    <Compile Include="System.Net.Http\ClientCertificateOption.cs" />\r
+    <Compile Include="System.Net.Http\DelegatingHandler.cs" />\r
+    <Compile Include="System.Net.Http\FormUrlEncodedContent.cs" />\r
+    <Compile Include="System.Net.Http\HttpClient.cs" />\r
+    <Compile Include="System.Net.Http\HttpClientHandler.cs" />\r
+    <Compile Include="System.Net.Http\HttpCompletionOption.cs" />\r
+    <Compile Include="System.Net.Http\HttpContent.cs" />\r
+    <Compile Include="System.Net.Http\HttpMessageHandler.cs" />\r
+    <Compile Include="System.Net.Http\HttpMessageInvoker.cs" />\r
+    <Compile Include="System.Net.Http\HttpMethod.cs" />\r
+    <Compile Include="System.Net.Http\HttpRequestException.cs" />\r
+    <Compile Include="System.Net.Http\HttpRequestMessage.cs" />\r
+    <Compile Include="System.Net.Http\HttpResponseMessage.cs" />\r
+    <Compile Include="System.Net.Http\MessageProcessingHandler.cs" />\r
+    <Compile Include="System.Net.Http\MultipartContent.cs" />\r
+    <Compile Include="System.Net.Http\MultipartFormDataContent.cs" />\r
+    <Compile Include="System.Net.Http\StreamContent.cs" />\r
+    <Compile Include="System.Net.Http\StringContent.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index abb05921042ee5a72d4f5c36457a64208cde3aa2..05b5fe62681f3f981b067777d1cb7a7f9f32a03b 100644 (file)
@@ -363,6 +363,10 @@ namespace System.Net.Http.Headers
                                first = false;
                        }
 
+                       // Return null for empty values list
+                       if (first)
+                               return null;
+
                        return sb.ToString ();
                }
 
index ccf9a808c25b9e005b32d1d846c0efa98ef9f8ca..0a9d60fb98ec8bfc9c445982b5622ce200126493 100644 (file)
@@ -30,6 +30,7 @@ using System.Threading;
 using System.Threading.Tasks;
 using System.Collections.Specialized;
 using System.Net.Http.Headers;
+using System.Linq;
 
 namespace System.Net.Http
 {
@@ -274,7 +275,26 @@ namespace System.Net.Http
                        // Add request headers
                        var headers = wr.Headers;
                        foreach (var header in request.Headers) {
-                               headers.AddValue (header.Key, HttpRequestHeaders.GetSingleHeaderString (header.Key, header.Value));
+                               var values = header.Value;
+                               if (header.Key == "Host") {
+                                       //
+                                       // Host must be explicitly set for HttpWebRequest
+                                       //
+                                       wr.Host = request.Headers.Host;
+                                       continue;
+                               }
+
+                               if (header.Key == "Transfer-Encoding") {
+                                       // Chunked Transfer-Encoding is never set for HttpWebRequest. It's detected
+                                       // from ContentLength by HttpWebRequest
+                                       values = values.Where (l => l != "chunked");
+                               }
+
+                               var values_formated = HttpRequestHeaders.GetSingleHeaderString (header.Key, values);
+                               if (values_formated == null)
+                                       continue;
+
+                               headers.AddValue (header.Key, values_formated);
                        }
                        
                        return wr;
index a6c69de2bb99e96640a181ab26b8ddef1712a130..510a2d63d45122db80bf3d145cbcc953051b807f 100644 (file)
@@ -606,6 +606,95 @@ namespace MonoTests.System.Net.Http
                        }
                }
 
+               [Test]
+               public void Send_Complete_CustomHeaders_Host ()
+               {
+                       bool? failed = null;
+                       var listener = CreateListener (l => {
+                               var request = l.Request;
+
+                               try {
+                                       Assert.AreEqual ("customhost", request.Headers["Host"], "#1");
+                                       failed = false;
+                               } catch {
+                                       failed = true;
+                               }
+                       });
+
+                       try {
+                               var client = new HttpClient ();
+
+                               client.DefaultRequestHeaders.Add("Host", "customhost");
+
+                               var request = new HttpRequestMessage (HttpMethod.Get, LocalServer);
+
+                               var response = client.SendAsync (request, HttpCompletionOption.ResponseHeadersRead).Result;
+
+                               Assert.AreEqual ("", response.Content.ReadAsStringAsync ().Result, "#100");
+                               Assert.AreEqual (HttpStatusCode.OK, response.StatusCode, "#101");
+                               Assert.AreEqual (false, failed, "#102");
+                       } finally {
+                               listener.Abort ();
+                               listener.Close ();
+                       }
+               }
+
+               [Test]
+               public void Send_Transfer_Encoding_Chunked ()
+               {
+                       bool? failed = null;
+
+                       var listener = CreateListener (l => {
+                               var request = l.Request;
+
+                               try {
+                                       Assert.AreEqual (1, request.Headers.Count, "#1");
+                                       failed = false;
+                               } catch {
+                                       failed = true;
+                               }
+                       });
+
+                       try {
+                               var client = new HttpClient ();
+                               client.DefaultRequestHeaders.TransferEncodingChunked = true;
+
+                               client.GetAsync (LocalServer).Wait ();
+
+                               Assert.AreEqual (false, failed, "#102");
+                       } finally {
+                               listener.Abort ();
+                               listener.Close ();
+                       }
+               }
+
+               [Test]
+               public void Send_Transfer_Encoding_Custom ()
+               {
+                       bool? failed = null;
+
+                       var listener = CreateListener (l => {
+                               failed = true;
+                       });
+
+                       try {
+                               var client = new HttpClient ();
+                               client.DefaultRequestHeaders.TransferEncoding.Add (new TransferCodingHeaderValue ("chunked2"));
+
+                               var request = new HttpRequestMessage (HttpMethod.Get, LocalServer);
+
+                               try {
+                                       client.SendAsync (request, HttpCompletionOption.ResponseHeadersRead).Wait ();
+                                       Assert.Fail ("#1");
+                               } catch (AggregateException e) {
+                                       Assert.AreEqual (typeof (ProtocolViolationException), e.InnerException.GetType (), "#2");
+                               }
+                               Assert.IsNull (failed, "#102");
+                       } finally {
+                               listener.Abort ();
+                               listener.Close ();
+                       }
+               }
 
                [Test]
                public void Send_Complete_Content ()
diff --git a/mcs/class/System.Net.Http/monotouch_System.Net.Http.dll.sources b/mcs/class/System.Net.Http/monotouch_System.Net.Http.dll.sources
deleted file mode 100644 (file)
index b40b2a1..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-../../build/common/Consts.cs
-Assembly/AssemblyInfo.cs
-System.Net.Http/ByteArrayContent.cs
-System.Net.Http/ClientCertificateOption.cs
-System.Net.Http/DelegatingHandler.cs
-System.Net.Http/FormUrlEncodedContent.cs
-System.Net.Http/HttpClient.cs
-System.Net.Http/HttpClientHandler.cs
-System.Net.Http/HttpCompletionOption.cs
-System.Net.Http/HttpContent.cs
-System.Net.Http/HttpMessageHandler.cs
-System.Net.Http/HttpMessageInvoker.cs
-System.Net.Http/HttpMethod.cs
-System.Net.Http/HttpRequestException.cs
-System.Net.Http/HttpRequestMessage.cs
-System.Net.Http/HttpResponseMessage.cs
-System.Net.Http/MessageProcessingHandler.cs
-System.Net.Http/MultipartContent.cs
-System.Net.Http/MultipartFormDataContent.cs
-System.Net.Http/StreamContent.cs
-System.Net.Http/StringContent.cs
-System.Net.Http.Headers/AuthenticationHeaderValue.cs
-System.Net.Http.Headers/CacheControlHeaderValue.cs
-System.Net.Http.Headers/CollectionExtensions.cs
-System.Net.Http.Headers/CollectionParser.cs
-System.Net.Http.Headers/ContentDispositionHeaderValue.cs
-System.Net.Http.Headers/ContentRangeHeaderValue.cs
-System.Net.Http.Headers/EntityTagHeaderValue.cs
-System.Net.Http.Headers/HashCodeCalculator.cs
-System.Net.Http.Headers/HeaderInfo.cs
-System.Net.Http.Headers/HttpContentHeaders.cs
-System.Net.Http.Headers/HttpHeaderKind.cs
-System.Net.Http.Headers/HttpHeaders.cs
-System.Net.Http.Headers/HttpHeaderValueCollection.cs
-System.Net.Http.Headers/HttpRequestHeaders.cs
-System.Net.Http.Headers/HttpResponseHeaders.cs
-System.Net.Http.Headers/Lexer.cs
-System.Net.Http.Headers/MediaTypeHeaderValue.cs
-System.Net.Http.Headers/MediaTypeWithQualityHeaderValue.cs
-System.Net.Http.Headers/NameValueHeaderValue.cs
-System.Net.Http.Headers/NameValueWithParametersHeaderValue.cs
-System.Net.Http.Headers/Parser.cs
-System.Net.Http.Headers/ProductHeaderValue.cs
-System.Net.Http.Headers/ProductInfoHeaderValue.cs
-System.Net.Http.Headers/QualityValue.cs
-System.Net.Http.Headers/RangeConditionHeaderValue.cs
-System.Net.Http.Headers/RangeHeaderValue.cs
-System.Net.Http.Headers/RangeItemHeaderValue.cs
-System.Net.Http.Headers/RetryConditionHeaderValue.cs
-System.Net.Http.Headers/StringWithQualityHeaderValue.cs
-System.Net.Http.Headers/TransferCodingHeaderValue.cs
-System.Net.Http.Headers/TransferCodingWithQualityHeaderValue.cs
-System.Net.Http.Headers/ViaHeaderValue.cs
-System.Net.Http.Headers/WarningHeaderValue.cs
\ No newline at end of file
diff --git a/mcs/class/System.Net.Http/monotouch_watch_System.Net.Http.dll.sources b/mcs/class/System.Net.Http/monotouch_watch_System.Net.Http.dll.sources
deleted file mode 100644 (file)
index 685ab03..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include monotouch_System.Net.Http.dll.sources
\ No newline at end of file
diff --git a/mcs/class/System.Net/System.Net-net_4_x.csproj b/mcs/class/System.Net/System.Net-net_4_x.csproj
new file mode 100644 (file)
index 0000000..560915d
--- /dev/null
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A455F1BB-6273-4BAE-985C-563BED11D529}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1720</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Net</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE;NET_3_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,1720</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Assembly\TypeForwarders.cs" />\r
+    <Compile Include="System.Net\IPEndPointCollection.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Numerics.Vectors/System.Numerics.Vectors-net_4_x.csproj b/mcs/class/System.Numerics.Vectors/System.Numerics.Vectors-net_4_x.csproj
new file mode 100644 (file)
index 0000000..4d1c89c
--- /dev/null
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{B05362C2-C85F-43A5-93D7-49A45892438D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Numerics.Vectors</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\SR.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Numerics/System.Numerics-net_4_x.csproj b/mcs/class/System.Numerics/System.Numerics-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ce687f7
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{BD2FFDDC-BD89-4041-82F5-A696C941C7BE}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Numerics</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;MONO</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;MONO</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Numerics\System\Numerics\BigInteger.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Numerics\System\Numerics\BigIntegerBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Numerics\System\Numerics\BigNumber.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Numerics\System\Numerics\Complex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Numerics\System\Numerics\NumericsHelpers.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="ReferenceSources\Environment.cs" />\r
+    <Compile Include="ReferenceSources\SR.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Reactive.Core/System.Reactive.Core-net_4_x.csproj b/mcs/class/System.Reactive.Core/System.Reactive.Core-net_4_x.csproj
new file mode 100644 (file)
index 0000000..0667fe1
--- /dev/null
@@ -0,0 +1,186 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{52F7F1BD-9D67-494E-A53A-C291FF5424B4}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reactive.Core</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../reactive.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\InternalsVisibleTo.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\NamespaceDocs.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Observable.Extensions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Observer.Extensions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\AnonymousObservable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\AnonymousObserver.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\AnonymousSafeObserver.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\AsyncLock.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\CatchScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\ConcurrencyAbstractionLayer.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\ConcurrencyAbstractionLayer.Default.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\CurrentThreadScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\DefaultScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\DisableOptimizationsScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\ImmediateScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\LocalScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\LocalScheduler.TimerQueue.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\ScheduledItem.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\Scheduler.Async.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\Scheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\Scheduler.Recursive.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\Scheduler.Services.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\Scheduler.Services.Emulation.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\Scheduler.Simple.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\Scheduler.Wrappers.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\SchedulerDefaults.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\SchedulerOperation.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\SchedulerQueue.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\SchedulerWrapper.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\Stopwatch.Default.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\Synchronization.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\Synchronization.ObserveOn.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\Synchronization.Synchronize.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Concurrency\SynchronizationContextScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Disposables\AnonymousDisposable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Disposables\BooleanDisposable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Disposables\CancellationDisposable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Disposables\CompositeDisposable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Disposables\ContextDisposable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Disposables\DefaultDisposable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Disposables\Disposable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Disposables\MultipleAssignmentDisposable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Disposables\RefCountDisposable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Disposables\ScheduledDisposable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Disposables\SerialDisposable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Disposables\SingleAssignmentDisposable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\AsyncLockObserver.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\AutoDetachObserver.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\CheckedObserver.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\ConcurrentDictionary.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\ConcurrentQueue.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\Constants.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\ExceptionServices.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\ExceptionServices.Default.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\HostLifecycleService.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\ImmutableList.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\Lazy.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\Observers.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\PlatformEnlightenmentProvider.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\PriorityQueue.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\Producer.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\SafeObserver.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\ScheduledObserver.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\Semaphore.Silverlight.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\Semaphore.Xna.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\Sink.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\Stubs.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\SynchronizationContextExtensions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\SynchronizedObserver.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\SystemClock.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Internal\SystemClock.Default.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Notification.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\ObservableBase.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\ObserverBase.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Reactive\Unit.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Core\Strings_Core.Generated.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj">\r
+      <Project>{0DA7868F-C598-4E45-B33C-86FBB482DB76}</Project>\r
+      <Name>System.Reactive.Interfaces-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj">\r
+      <Project>{0DA7868F-C598-4E45-B33C-86FBB482DB76}</Project>\r
+      <Name>System.Reactive.Interfaces-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="Strings_Core.resources">\r
+      <LogicalName>System.Reactive.Strings_Core.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Reactive.Debugger/System.Reactive.Debugger-net_4_x.csproj b/mcs/class/System.Reactive.Debugger/System.Reactive.Debugger-net_4_x.csproj
new file mode 100644 (file)
index 0000000..67062ad
--- /dev/null
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{8EB36024-5DB5-4854-8425-8D95A8059F2D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reactive.Debugger</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../reactive.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Debugger\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Debugger\Reactive\Linq\QueryDebugger.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj">\r
+      <Project>{0DA7868F-C598-4E45-B33C-86FBB482DB76}</Project>\r
+      <Name>System.Reactive.Interfaces-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Core/System.Reactive.Core-net_4_x.csproj">\r
+      <Project>{52F7F1BD-9D67-494E-A53A-C291FF5424B4}</Project>\r
+      <Name>System.Reactive.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj">\r
+      <Project>{EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}</Project>\r
+      <Name>System.Reactive.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Reactive.Experimental/System.Reactive.Experimental-net_4_x.csproj b/mcs/class/System.Reactive.Experimental/System.Reactive.Experimental-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3c232a8
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{20E6619C-E88D-442C-AFA8-2216A73CF8D2}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reactive.Experimental</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../reactive.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Experimental\ExperimentalAttribute.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Experimental\InternalsVisibleTo.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Experimental\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Experimental\Reactive\Internal\BinaryObserver.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Experimental\Reactive\Linq\IQueryLanguageEx.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Experimental\Reactive\Linq\ObservableEx.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Experimental\Reactive\Linq\QbservableEx.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Experimental\Reactive\Linq\QbservableEx.Generated.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Experimental\Reactive\Linq\QueryLanguageEx.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Experimental\Reactive\ListObservable.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj">\r
+      <Project>{0DA7868F-C598-4E45-B33C-86FBB482DB76}</Project>\r
+      <Name>System.Reactive.Interfaces-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Core/System.Reactive.Core-net_4_x.csproj">\r
+      <Project>{52F7F1BD-9D67-494E-A53A-C291FF5424B4}</Project>\r
+      <Name>System.Reactive.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj">\r
+      <Project>{EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}</Project>\r
+      <Name>System.Reactive.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj b/mcs/class/System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj
new file mode 100644 (file)
index 0000000..dac48b4
--- /dev/null
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{0DA7868F-C598-4E45-B33C-86FBB482DB76}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reactive.Interfaces</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../reactive.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\AssemblyFileVersionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\DateTimeOffset.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\IObservable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\IObserver.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\NamespaceDocs.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\Concurrency\IScheduledItem.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\Concurrency\IScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\Concurrency\ISchedulerLongRunning.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\Concurrency\ISchedulerPeriodic.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\Concurrency\IStopwatch.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\Concurrency\IStopwatchProvider.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\Disposables\ICancelable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\IEventPattern.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\IEventPatternSource.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\IEventSource.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\IObserver.Result.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\Linq\IGroupedObservable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\Linq\IQbservable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\Linq\IQbservableProvider.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\Subjects\IConnectableObservable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\Subjects\ISubject.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Interfaces\Reactive\Subjects\ISubject.Multi.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj b/mcs/class/System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj
new file mode 100644 (file)
index 0000000..42bc7b4
--- /dev/null
@@ -0,0 +1,283 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reactive.Linq</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../reactive.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\InternalsVisibleTo.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\NamespaceDocs.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Concurrency\HistoricalScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Concurrency\VirtualTimeScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Concurrency\VirtualTimeScheduler.Extensions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\EventPattern.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\EventPatternSource.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\EventPatternSourceBase.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\EventSource.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Internal\AnonymousEnumerable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Internal\BinaryObserver.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Internal\ConcatSink.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Internal\Constants.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Internal\Either.Generic.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Internal\HashSet.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Internal\Helpers.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Internal\IConcatenatable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Internal\IEvaluatableObservable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Internal\Lookup.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Internal\PushPullAdapter.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Internal\QueryServices.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Internal\ReflectionUtils.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Internal\TailRecursiveSink.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Joins\ActivePlan.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Joins\JoinObserver.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Joins\Pattern.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Joins\Plan.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\GroupedObservable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\IQueryLanguage.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\LocalQueryMethodImplementationTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.Aggregates.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.Async.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.Awaiter.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.Binding.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.Blocking.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.Concurrency.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.Conversions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.Creation.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.Events.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.Imperative.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.Joins.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.Multiple.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.Single.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.StandardSequenceOperators.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable.Time.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\_.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\AddRef.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Aggregate.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\All.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Amb.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Any.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\AsObservable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Average.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Buffer.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Case.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Cast.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Catch.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Collect.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\CombineLatest.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Concat.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Contains.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Count.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\DefaultIfEmpty.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Defer.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Delay.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\DelaySubscription.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Dematerialize.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Distinct.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\DistinctUntilChanged.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Do.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\DoWhile.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\ElementAt.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Empty.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Finally.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\FirstAsync.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\For.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\ForEach.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\FromEvent.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\FromEventPattern.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Generate.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\GetEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\GroupBy.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\GroupByUntil.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\GroupJoin.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\If.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\IgnoreElements.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\IsEmpty.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Join.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\LastAsync.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Latest.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\LongCount.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Materialize.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Max.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\MaxBy.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Merge.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Min.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\MinBy.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\MostRecent.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Multicast.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Never.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Next.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\OfType.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\OnErrorResumeNext.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\PushToPullAdapter.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Range.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\RefCount.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Repeat.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Return.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Sample.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Scan.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Select.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\SelectMany.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\SequenceEqual.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\SingleAsync.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Skip.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\SkipLast.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\SkipUntil.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\SkipWhile.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Sum.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Switch.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Take.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\TakeLast.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\TakeLastBuffer.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\TakeUntil.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\TakeWhile.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Throttle.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Throw.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\TimeInterval.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Timeout.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Timer.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Timestamp.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\ToArray.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\ToDictionary.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\ToList.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\ToLookup.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\ToObservable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Using.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Where.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\While.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Window.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable\Zip.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\Observable_.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.Aggregates.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.Async.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.Awaiter.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.Binding.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.Blocking.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.Concurrency.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.Conversions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.Creation.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.Events.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.Imperative.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.Joins.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.Multiple.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.Single.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.StandardSequenceOperators.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage.Time.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Linq\QueryLanguage_.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Subjects\AsyncSubject.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Subjects\BehaviorSubject.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Subjects\ConnectableObservable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Subjects\ReplaySubject.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Subjects\Subject.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Subjects\Subject.Extensions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Threading\Tasks\NamespaceDoc.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Threading\Tasks\TaskObservableExtensions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\TimeInterval.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Reactive\Timestamped.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Linq\Strings_Linq.Generated.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Core/System.Reactive.Core-net_4_x.csproj">\r
+      <Project>{52F7F1BD-9D67-494E-A53A-C291FF5424B4}</Project>\r
+      <Name>System.Reactive.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj">\r
+      <Project>{0DA7868F-C598-4E45-B33C-86FBB482DB76}</Project>\r
+      <Name>System.Reactive.Interfaces-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Core/System.Reactive.Core-net_4_x.csproj">\r
+      <Project>{52F7F1BD-9D67-494E-A53A-C291FF5424B4}</Project>\r
+      <Name>System.Reactive.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="Strings_Linq.resources">\r
+      <LogicalName>System.Reactive.Strings_Linq.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Reactive.Observable.Aliases/System.Reactive.Observable.Aliases-net_4_x.csproj b/mcs/class/System.Reactive.Observable.Aliases/System.Reactive.Observable.Aliases-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5d0d156
--- /dev/null
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{7D16E76F-3B1D-415E-AD93-5D4D86B451A0}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reactive.Observable.Aliases</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../reactive.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Observable.Aliases\Observable.Aliases.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Observable.Aliases\Qbservable.Aliases.Generated.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Providers/System.Reactive.Providers-net_4_x.csproj">\r
+      <Project>{22187CB5-7451-45B4-B21B-337D956FF05D}</Project>\r
+      <Name>System.Reactive.Providers-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj">\r
+      <Project>{0DA7868F-C598-4E45-B33C-86FBB482DB76}</Project>\r
+      <Name>System.Reactive.Interfaces-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Core/System.Reactive.Core-net_4_x.csproj">\r
+      <Project>{52F7F1BD-9D67-494E-A53A-C291FF5424B4}</Project>\r
+      <Name>System.Reactive.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj">\r
+      <Project>{EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}</Project>\r
+      <Name>System.Reactive.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Providers/System.Reactive.Providers-net_4_x.csproj">\r
+      <Project>{22187CB5-7451-45B4-B21B-337D956FF05D}</Project>\r
+      <Name>System.Reactive.Providers-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Reactive.PlatformServices/System.Reactive.PlatformServices-net_4_x.csproj b/mcs/class/System.Reactive.PlatformServices/System.Reactive.PlatformServices-net_4_x.csproj
new file mode 100644 (file)
index 0000000..bbc57d1
--- /dev/null
@@ -0,0 +1,135 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{00CF93F7-B48C-4AF7-B8D5-58DFFAD22845}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reactive.PlatformServices</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../reactive.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Concurrency\ConcurrencyAbstractionLayerImpl.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Concurrency\ConcurrencyAbstractionLayerImpl.Windows.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Concurrency\EventLoopScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Concurrency\NewThreadScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Concurrency\TaskPoolScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Concurrency\Thread.Stub.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Concurrency\ThreadPoolScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Concurrency\ThreadPoolScheduler.Windows.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\EnlightenmentProvider.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Internal\ExceptionServicesImpl.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Internal\HostLifecycleNotifications.Windows.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Internal\HostLifecycleNotifications.WindowsPhone.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Internal\PhoneShellThunks.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Internal\PlatformEnlightenmentProvider.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Internal\StopwatchImpl.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Reactive\Internal\Stubs.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.PlatformServices\Strings_PlatformServices.Generated.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj">\r
+      <Project>{EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}</Project>\r
+      <Name>System.Reactive.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj">\r
+      <Project>{0DA7868F-C598-4E45-B33C-86FBB482DB76}</Project>\r
+      <Name>System.Reactive.Interfaces-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Core/System.Reactive.Core-net_4_x.csproj">\r
+      <Project>{52F7F1BD-9D67-494E-A53A-C291FF5424B4}</Project>\r
+      <Name>System.Reactive.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj">\r
+      <Project>{EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}</Project>\r
+      <Name>System.Reactive.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="Strings_PlatformServices.resources">\r
+      <LogicalName>System.Reactive.Strings_PlatformServices.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Reactive.Providers/System.Reactive.Providers-net_4_x.csproj b/mcs/class/System.Reactive.Providers/System.Reactive.Providers-net_4_x.csproj
new file mode 100644 (file)
index 0000000..cec12f1
--- /dev/null
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{22187CB5-7451-45B4-B21B-337D956FF05D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reactive.Providers</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../reactive.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Providers\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Providers\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Providers\Reactive\Internal\Constants.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Providers\Reactive\Joins\QueryablePattern.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Providers\Reactive\Joins\QueryablePlan.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Providers\Reactive\Linq\ExpressionVisitor.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Providers\Reactive\Linq\Observable.Queryable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Providers\Reactive\Linq\Qbservable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Providers\Reactive\Linq\Qbservable.Generated.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Providers\Reactive\Linq\Qbservable.Joins.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Providers\Reactive\ObservableQuery.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Providers\Strings_Providers.Generated.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj">\r
+      <Project>{EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}</Project>\r
+      <Name>System.Reactive.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj">\r
+      <Project>{0DA7868F-C598-4E45-B33C-86FBB482DB76}</Project>\r
+      <Name>System.Reactive.Interfaces-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Core/System.Reactive.Core-net_4_x.csproj">\r
+      <Project>{52F7F1BD-9D67-494E-A53A-C291FF5424B4}</Project>\r
+      <Name>System.Reactive.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj">\r
+      <Project>{EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}</Project>\r
+      <Name>System.Reactive.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="Strings_Providers.resources">\r
+      <LogicalName>System.Reactive.Strings_Providers.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Reactive.Runtime.Remoting/System.Reactive.Runtime.Remoting-net_4_x.csproj b/mcs/class/System.Reactive.Runtime.Remoting/System.Reactive.Runtime.Remoting-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c33479a
--- /dev/null
@@ -0,0 +1,115 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{7675D4A6-F017-4D20-BFE3-295B86F166CD}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reactive.Runtime.Remoting</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../reactive.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Runtime.Remoting\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Runtime.Remoting\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Runtime.Remoting\Reactive\Linq\Observable.Remoting.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Runtime.Remoting\Reactive\Linq\QueryLanguage.Remoting.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj">\r
+      <Project>{EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}</Project>\r
+      <Name>System.Reactive.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj">\r
+      <Project>{0DA7868F-C598-4E45-B33C-86FBB482DB76}</Project>\r
+      <Name>System.Reactive.Interfaces-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Core/System.Reactive.Core-net_4_x.csproj">\r
+      <Project>{52F7F1BD-9D67-494E-A53A-C291FF5424B4}</Project>\r
+      <Name>System.Reactive.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj">\r
+      <Project>{EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}</Project>\r
+      <Name>System.Reactive.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Reactive.Windows.Forms/System.Reactive.Windows.Forms-net_4_x.csproj b/mcs/class/System.Reactive.Windows.Forms/System.Reactive.Windows.Forms-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c3d0ff0
--- /dev/null
@@ -0,0 +1,119 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{9DA5F2F9-AF47-4D48-BA58-2FAFD12538C7}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reactive.Windows.Forms</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../reactive.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Windows.Forms\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Windows.Forms\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Windows.Forms\Reactive\Concurrency\ControlScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Windows.Forms\Reactive\Linq\ControlObservable.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Windows.Forms/System.Windows.Forms-net_4_x.csproj">\r
+      <Project>{108227C7-8ED9-4483-949D-07BF0DA1A201}</Project>\r
+      <Name>System.Windows.Forms-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj">\r
+      <Project>{0DA7868F-C598-4E45-B33C-86FBB482DB76}</Project>\r
+      <Name>System.Reactive.Interfaces-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Core/System.Reactive.Core-net_4_x.csproj">\r
+      <Project>{52F7F1BD-9D67-494E-A53A-C291FF5424B4}</Project>\r
+      <Name>System.Reactive.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj">\r
+      <Project>{EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}</Project>\r
+      <Name>System.Reactive.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Windows.Forms/System.Windows.Forms-net_4_x.csproj">\r
+      <Project>{108227C7-8ED9-4483-949D-07BF0DA1A201}</Project>\r
+      <Name>System.Windows.Forms-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Reactive.Windows.Threading/System.Reactive.Windows.Threading-net_4_x.csproj b/mcs/class/System.Reactive.Windows.Threading/System.Reactive.Windows.Threading-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2922af8
--- /dev/null
@@ -0,0 +1,128 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{52C2AE83-A947-42CC-ADEF-9F54042D85D5}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Reactive.Windows.Threading</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../reactive.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;HAS_EDI;PREFERASYNC;PREFER_ASYNC;HAS_AWAIT;SIGNED</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Windows.Threading\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Windows.Threading\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Windows.Threading\Reactive\Concurrency\CoreDispatcherScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Windows.Threading\Reactive\Concurrency\DispatcherScheduler.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Windows.Threading\Reactive\Internal\Constants.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Windows.Threading\Reactive\Linq\CoreDispatcherObservable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Windows.Threading\Reactive\Linq\DispatcherObservable.cs" />\r
+    <Compile Include="..\..\..\external\rx\Rx\NET\Source\System.Reactive.Windows.Threading\Strings_WindowsThreading.Generated.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../WindowsBase/WindowsBase-net_4_x.csproj">\r
+      <Project>{A8F39368-ECD9-41A5-A562-CC7C82B3CC86}</Project>\r
+      <Name>WindowsBase-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj">\r
+      <Project>{0DA7868F-C598-4E45-B33C-86FBB482DB76}</Project>\r
+      <Name>System.Reactive.Interfaces-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Core/System.Reactive.Core-net_4_x.csproj">\r
+      <Project>{52F7F1BD-9D67-494E-A53A-C291FF5424B4}</Project>\r
+      <Name>System.Reactive.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj">\r
+      <Project>{EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}</Project>\r
+      <Name>System.Reactive.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../WindowsBase/WindowsBase-net_4_x.csproj">\r
+      <Project>{A8F39368-ECD9-41A5-A562-CC7C82B3CC86}</Project>\r
+      <Name>WindowsBase-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="Strings_WindowsThreading.resources">\r
+      <LogicalName>System.Reactive.Strings_WindowsThreading.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Runtime.Caching/System.Runtime.Caching-net_4_x.csproj b/mcs/class/System.Runtime.Caching/System.Runtime.Caching-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9f23ad6
--- /dev/null
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2FE2D8C6-B7B8-4067-A2C0-9D1DEA020FD8}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,414</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.Caching</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,414</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\Resources\RH.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\CacheEntryChangeMonitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\CacheEntryRemovedArguments.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\CacheEntryRemovedCallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\CacheEntryRemovedReason.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\CacheEntryUpdateArguments.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\CacheEntryUpdateCallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\CacheItem.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\CacheItemPolicy.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\CacheItemPriority.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\CacheMemoryMonitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\ChangeMonitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\Configuration\CachingSectionGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\Configuration\ConfigUtil.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\Configuration\MemoryCacheElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\Configuration\MemoryCacheSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\Configuration\MemoryCacheSettingsCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\Dbg.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\DefaultCacheCapabilities.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\EntryState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\FileChangeMonitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\FileChangeNotificationSystem.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\HostFileChangeMonitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\Hosting\IApplicationIdentifier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\Hosting\IFileChangeNotificationSystem.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\Hosting\IMemoryCacheManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\MemoryCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\MemoryCacheEntry.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\MemoryCacheEntryChangeMonitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\MemoryCacheKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\MemoryCacheKeyEqualityComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\MemoryCacheStatistics.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\MemoryCacheStore.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\MemoryMonitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\ObjectCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\OnChangedCallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\PerfCounterName.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\PerfCounters.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\PhysicalMemoryMonitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\SafeBitVector32.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\SafeRegistryHandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Caching\System\Caching\SqlChangeMonitor.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\System.Web\System.Web.Configuration_2.0\NullableStringValidator.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="ReferenceSources\CacheEntryCollection.cs" />\r
+    <Compile Include="ReferenceSources\CacheExpires.cs" />\r
+    <Compile Include="ReferenceSources\CacheUsage.cs" />\r
+    <Compile Include="ReferenceSources\R.Designer.cs" />\r
+    <Compile Include="ReferenceSources\SRef.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Runtime.DurableInstancing/System.Runtime.DurableInstancing-net_4_x.csproj b/mcs/class/System.Runtime.DurableInstancing/System.Runtime.DurableInstancing-net_4_x.csproj
new file mode 100644 (file)
index 0000000..49893fe
--- /dev/null
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{67822258-3D1E-449F-ACDD-BE1918B44458}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.DurableInstancing</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\DisassociateInstanceKeysExtension.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\IDurableInstancingOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceCollisionException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceCompleteException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceHandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceHandleConflictException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceHandleReference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceKeyCollisionException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceKeyCompleteException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceKeyNotReadyException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceKeyState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceKeyView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceLockedException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceLockLostException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceLockQueryResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceNormalEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceNotReadyException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceOwner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceOwnerException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceOwnerQueryResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstancePersistence.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstancePersistenceCommand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstancePersistenceCommandException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstancePersistenceContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstancePersistenceEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstancePersistenceException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceStore.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceStoreQueryResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceValue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceValueConsistency.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceValueOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\DurableInstancing\InstanceView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\ICancelable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\IPersistencePipelineModule.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\PersistenceMetadataNamespace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\PersistencePipeline.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\TransactedAsyncResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\TransactionHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\Workflow45Namespace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\WorkflowNamespace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.DurableInstancing\System\Runtime\WorkflowServiceNamespace.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="SRCore.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Xml.Linq/System.Xml.Linq-net_4_x.csproj">\r
+      <Project>{526286D5-38D9-4579-B001-471440D57752}</Project>\r
+      <Name>System.Xml.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Transactions/System.Transactions-net_4_x.csproj">\r
+      <Project>{3821C69F-220D-4231-992C-0FE05311A005}</Project>\r
+      <Name>System.Transactions-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel.Internals/System.ServiceModel.Internals-net_4_x.csproj">\r
+      <Project>{5769B536-7E8E-4C2A-8671-6B256D0F620B}</Project>\r
+      <Name>System.ServiceModel.Internals-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Runtime.Remoting/System.Runtime.Remoting-net_4_x.csproj b/mcs/class/System.Runtime.Remoting/System.Runtime.Remoting-net_4_x.csproj
new file mode 100644 (file)
index 0000000..8dccbd5
--- /dev/null
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{F19F77AE-1A81-4676-BAB8-6C1DA243A961}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.Remoting</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Http\AggregateDictionary.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpClientChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpClientTransportSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpClientTransportSinkProvider.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpRemotingHandler.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpRemotingHandlerFactory.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpServerChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Http\HttpServerTransportSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Http\RemotingHttpListener.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Unix\IpcChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Unix\IpcClientChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Unix\IpcServerChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Unix\UnixChannelLoader.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\IpcChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\IpcChannelHelper.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\IpcClientChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\IpcServerChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\IpcTransport.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\NamedPipeClient.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\NamedPipeException.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\NamedPipeHelper.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\NamedPipeListener.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\NamedPipeSocket.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc.Win32\NamedPipeStream.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc\IpcChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc\IpcClientChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Ipc\IpcServerChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpClientChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpClientTransportSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpClientTransportSinkProvider.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpConnectionPool.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpMessageIO.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpServerChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels.Tcp\TcpServerTransportSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\BinaryClientFormatterSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\BinaryClientFormatterSinkProvider.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\BinaryCore.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\BinaryServerFormatterSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\BinaryServerFormatterSinkProvider.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\ChannelCore.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\CommonTransportKeys.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IAuthorizeRemotingConnection.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\RemotingThreadPool.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\SoapClientFormatterSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\SoapClientFormatterSinkProvider.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\SoapCore.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\SoapMessageFormatter.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\SoapServerFormatterSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\SoapServerFormatterSinkProvider.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\SocketCachePolicy.cs" />\r
+    <Compile Include="System.Runtime.Remoting.MetadataServices\MetaData.cs" />\r
+    <Compile Include="System.Runtime.Remoting.MetadataServices\MetaDataCodeGenerator.cs" />\r
+    <Compile Include="System.Runtime.Remoting.MetadataServices\MetaDataExporter.cs" />\r
+    <Compile Include="System.Runtime.Remoting.MetadataServices\SdlChannelSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.MetadataServices\SdlChannelSinkProvider.cs" />\r
+    <Compile Include="System.Runtime.Remoting.MetadataServices\SdlType.cs" />\r
+    <Compile Include="System.Runtime.Remoting.MetadataServices\ServiceType.cs" />\r
+    <Compile Include="System.Runtime.Remoting.MetadataServices\SUDSGeneratorException.cs" />\r
+    <Compile Include="System.Runtime.Remoting.MetadataServices\SUDSParserException.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Services\RemotingClientProxy.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Services\RemotingService.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-net_4_x.csproj">\r
+      <Project>{A157AD69-59D4-49DE-94B3-DB883B2BEAA5}</Project>\r
+      <Name>System.Runtime.Serialization.Formatters.Soap-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index e15a51bfe02a2bc522134f66a43ee6786b8881b5..a34e32c78a41be95ad6f4bab3773c9296c0b10f9 100644 (file)
@@ -94,7 +94,7 @@ namespace MonoTests.Remoting {
                };
                
                [Test] // HttpChannel.Parse ()
-               [Ignore ("Fails on MS")]
+               [Category ("NotWorking")] // Fails on MS
                public void ParseURL ()
                {
                        HttpChannel channel;
diff --git a/mcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-net_4_x.csproj b/mcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-net_4_x.csproj
new file mode 100644 (file)
index 0000000..6a3669b
--- /dev/null
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A157AD69-59D4-49DE-94B3-DB883B2BEAA5}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.Serialization.Formatters.Soap</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Runtime.Serialization.Formatters.Soap\SoapFormatter.cs" />\r
+    <Compile Include="System.Runtime.Serialization.Formatters.Soap\SoapReader.cs" />\r
+    <Compile Include="System.Runtime.Serialization.Formatters.Soap\SoapTypeMapper.cs" />\r
+    <Compile Include="System.Runtime.Serialization.Formatters.Soap\SoapWriter.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj b/mcs/class/System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj
new file mode 100644 (file)
index 0000000..702e3ea
--- /dev/null
@@ -0,0 +1,272 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D845AD9D-3CCB-49CB-9543-028678E94938}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,168,169,219,414</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Runtime.Serialization</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,168,169,219,414</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NO_DYNAMIC_CODEGEN;NET_3_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,168,169,219,414</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NO_DYNAMIC_CODEGEN;NET_3_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\AppSettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Attributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\ClassDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\CodeExporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\CollectionDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\CollectionDataContractAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Configuration\ConfigurationStrings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Configuration\DataContractSerializerSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Configuration\DeclaredTypeElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Configuration\DeclaredTypeElementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Configuration\DeclaredTypeValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Configuration\DeclaredTypeValidatorAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Configuration\NetDataContractSerializerSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Configuration\ParameterElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Configuration\ParameterElementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Configuration\Properties.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Configuration\SerializationSectionGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Configuration\TypeElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Configuration\TypeElementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\ContractCodeDomInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\ContractNamespaceAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\DataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\DataContractAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\DataContractResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\DataContractSerializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\DataContractSerializerSettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\DataContractSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\DataMember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\DataMemberAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\DateTimeFormat.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\DateTimeOffsetAdapter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Diagnostics\TraceCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Diagnostics\TraceUtility.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\DictionaryGlobals.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\EmitTypeInformation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\EnumDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\EnumMemberAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\ExportOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\ExtensionDataObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\ExtensionDataReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\GenericParameterDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Globals.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\HybridObjectCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\IDataContractSurrogate.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\IExtensibleDataObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\IgnoreDataMemberAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\ImportOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\InvalidDataContractException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\ByteArrayHelperWithString.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\DataContractJsonSerializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\DataContractJsonSerializerSettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\IXmlJsonReaderInitializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\IXmlJsonWriterInitializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonByteArrayDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonClassDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonCollectionDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonEncodingStreamWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonEnumDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonFormatGeneratorStatics.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonFormatReaderGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonFormatWriterGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonGlobals.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonNodeType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonObjectDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonQNameDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonReaderDelegator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonReaderWriterFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonStringDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonUriDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonWriterDelegator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\JsonXmlDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\XmlJsonReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\XmlJsonWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\XmlObjectSerializerReadContextComplexJson.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\Json\XmlObjectSerializerWriteContextComplexJson.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\KnownTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\KnownTypeDataContractResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\NetDataContractSerializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\ObjectReferenceStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\ObjectToIdCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\PrimitiveDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\SchemaExporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\SchemaHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\SchemaImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\ScopedKnownTypes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\SerializationMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\SerializationPermissionNotRequiredAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\SerializationTrace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\SpecialTypeDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\SurrogateDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\TypeInformation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlDataContract.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlFormatGeneratorStatics.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlFormatReaderGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlFormatWriterGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlObjectSerializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlObjectSerializerContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlObjectSerializerReadContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlObjectSerializerReadContextComplex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlObjectSerializerWriteContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlObjectSerializerWriteContextComplex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlReaderDelegator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlSerializableReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlSerializableServices.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlSerializableWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XmlWriterDelegator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XPathQueryGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XsdDataContractExporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Runtime\Serialization\XsdDataContractImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Text\Base64Encoding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Text\BinHexEncoding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Text\SurrogateChar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\ArrayHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\EncodingStreamWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\IFragmentCapableXmlDictionaryWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\IStreamProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\IXmlDictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\PrefixHandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\StringHandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\UniqueID.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\ValueHandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlBaseReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlBaseWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlBinaryNodeType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlBinaryReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlBinaryReaderSession.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlBinaryWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlBinaryWriterSession.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlBufferReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlC14NWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlDelegatedReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlDelegatedWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlDictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlDictionaryReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlDictionaryReaderQuotas.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlDictionaryString.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlDictionaryWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlMtomReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlMtomWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlNodeWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlNodeWriterWriteBase64TextArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlSigningNodeWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlStreamNodeWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlUTF8TextReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlUTF8TextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\System\Xml\XmlWriteBase64AsyncArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Runtime.Serialization\TD.Designer.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="ReferenceSources\BitFlagsGenerator.cs" />\r
+    <Compile Include="ReferenceSources\CodeInterpreter.cs" />\r
+    <Compile Include="ReferenceSources\DiagnosticUtility.cs" />\r
+    <Compile Include="ReferenceSources\FxTrace.cs" />\r
+    <Compile Include="ReferenceSources\JsonFormatReaderGenerator_static.cs" />\r
+    <Compile Include="ReferenceSources\JsonFormatWriterGenerator_static.cs" />\r
+    <Compile Include="ReferenceSources\SR.cs" />\r
+    <Compile Include="ReferenceSources\SR_missing.cs" />\r
+    <Compile Include="ReferenceSources\XmlDataContract_static.cs" />\r
+    <Compile Include="ReferenceSources\XmlExceptionHelper.cs" />\r
+    <Compile Include="ReferenceSources\XmlFormatReaderGenerator_static.cs" />\r
+    <Compile Include="ReferenceSources\XmlFormatWriterGenerator_static.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel.Internals/System.ServiceModel.Internals-net_4_x.csproj">\r
+      <Project>{5769B536-7E8E-4C2A-8671-6B256D0F620B}</Project>\r
+      <Name>System.ServiceModel.Internals-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../SMDiagnostics/SMDiagnostics-net_4_x.csproj">\r
+      <Project>{8B8C3ED9-96F9-49B3-B355-9FD3D29DD3AD}</Project>\r
+      <Name>SMDiagnostics-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Runtime.Serialization/monotouch_tv_System.Runtime.Serialization.dll.sources b/mcs/class/System.Runtime.Serialization/monotouch_tv_System.Runtime.Serialization.dll.sources
new file mode 100644 (file)
index 0000000..6caafd4
--- /dev/null
@@ -0,0 +1 @@
+#include mobile_System.Runtime.Serialization.dll.sources
index 17c4f437aab4073bd9b97ac7197b17746eaa7c4a..5feabf388ccf8582d9abe59f5918ed1358682ae3 100644 (file)
@@ -1 +1 @@
-#include net_4_5_System.Runtime.Serialization.dll.sources
+#include net_4_x_System.Runtime.Serialization.dll.sources
index 6fdf6aa94881aa0fff555dfb0bee8afea64ce26b..03e2493cc2606e41cabdaa5cabc0fbfb26db05f0 100644 (file)
@@ -11,7 +11,7 @@ LIB_MCS_FLAGS = -nowarn:618 \
 
 LOCAL_MCS_FLAGS = -lib:$(secxml_libdir) -lib:$(bare_libdir)
 
-TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:168,169,183,219,414,1595
+TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:168,169,183,219,414
 
 EXTRA_DISTFILES = \
        Test/System.Security.Cryptography.Xml/sample.pfx \
diff --git a/mcs/class/System.Security/System.Security-net_4_x.csproj b/mcs/class/System.Security/System.Security-net_4_x.csproj
new file mode 100644 (file)
index 0000000..4c40f53
--- /dev/null
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{3ED36717-A9D1-4289-8949-9B7F39766DEB}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,618,414</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Security</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE;SECURITY_DEP</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE;SECURITY_DEP</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\ManagedProtection.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\NativeDapiProtection.cs" />\r
+    <Compile Include="Mono.Xml\XmlCanonicalizer.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\AlgorithmIdentifier.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\CmsRecipient.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\CmsRecipientCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\CmsRecipientEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\CmsSigner.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\ContentInfo.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\EnvelopedCms.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\KeyAgreeKeyChoice.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\KeyAgreeRecipientInfo.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\KeyTransRecipientInfo.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\Pkcs9Attribute.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\Pkcs9ContentType.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\Pkcs9DocumentDescription.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\Pkcs9DocumentName.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\Pkcs9MessageDigest.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\Pkcs9SigningTime.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\PublicKeyInfo.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\RecipientInfo.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\RecipientInfoCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\RecipientInfoEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\RecipientInfoType.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\SignedCms.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\SignerInfo.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\SignerInfoCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\SignerInfoEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\SubjectIdentifier.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\SubjectIdentifierOrKey.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\SubjectIdentifierOrKeyType.cs" />\r
+    <Compile Include="System.Security.Cryptography.Pkcs\SubjectIdentifierType.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2UI.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509SelectionFlag.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\CipherData.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\CipherReference.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\DataObject.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\DataReference.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\DSAKeyValue.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\EncryptedData.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\EncryptedKey.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\EncryptedReference.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\EncryptedType.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\EncryptedXml.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\EncryptionMethod.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\EncryptionProperties.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\EncryptionProperty.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\IRelDecryptor.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\KeyInfo.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\KeyInfoClause.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\KeyInfoEncryptedKey.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\KeyInfoName.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\KeyInfoNode.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\KeyInfoRetrievalMethod.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\KeyInfoX509Data.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\KeyReference.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\Manifest.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\Reference.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\ReferenceList.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\RSAKeyValue.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\Signature.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\SignedInfo.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\SignedXml.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\SymmetricKeyWrap.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\Transform.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\TransformChain.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\X509IssuerSerial.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\XmlDecryptionTransform.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\XmlDsigBase64Transform.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\XmlDsigC14NTransform.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\XmlDsigC14NWithCommentsTransform.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\XmlDsigEnvelopedSignatureTransform.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\XmlDsigExcC14NTransform.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\XmlDsigExcC14NWithCommentsTransform.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\XmlDsigNodeList.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\XmlDsigXPathTransform.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\XmlDsigXsltTransform.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\XmlEncryption.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\XmlLicenseTransform.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\XmlSignature.cs" />\r
+    <Compile Include="System.Security.Cryptography.Xml\XmlSignatureStreamReader.cs" />\r
+    <Compile Include="System.Security.Cryptography\CryptographicAttribute.cs" />\r
+    <Compile Include="System.Security.Cryptography\CryptographicAttributeCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography\CryptographicAttributeEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography\DataProtectionScope.cs" />\r
+    <Compile Include="System.Security.Cryptography\MemoryProtectionScope.cs" />\r
+    <Compile Include="System.Security.Cryptography\ProtectedData.cs" />\r
+    <Compile Include="System.Security.Cryptography\ProtectedMemory.cs" />\r
+    <Compile Include="System.Security.Permissions\DataProtectionPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\DataProtectionPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\DataProtectionPermissionFlags.cs" />\r
+    <Compile Include="System.Security.Permissions\PermissionHelper.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-secxml-net_4_x.csproj">\r
+      <Project>{19954F80-065E-4D46-8FEF-62BA4D6CFDAD}</Project>\r
+      <Name>System-secxml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-bare-net_4_x.csproj">\r
+      <Project>{A5216031-11A3-44DD-B2FF-A14AE63BD0C3}</Project>\r
+      <Name>System.Xml-bare-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Security/Mono.Security-net_4_x.csproj">\r
+      <Project>{42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}</Project>\r
+      <Name>Mono.Security-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 8293e1d4f99168dd43fc2bbbb86548d640dedb99..05c2b091d98b229262f43bc1c25577656f0009a2 100644 (file)
@@ -691,6 +691,12 @@ namespace System.Security.Cryptography.Xml {
                        if (xel == null) {
                                // search an "undefined" ID
                                xel = (XmlElement) document.SelectSingleNode ("//*[@Id='" + idValue + "']");
+                               if (xel == null) {
+                                       xel = (XmlElement) document.SelectSingleNode ("//*[@ID='" + idValue + "']");
+                                       if (xel == null) {
+                                               xel = (XmlElement) document.SelectSingleNode ("//*[@id='" + idValue + "']");
+                                       }
+                               }
                        }
                        return xel;
                }
diff --git a/mcs/class/System.ServiceModel.Activation/System.ServiceModel.Activation-net_4_x.csproj b/mcs/class/System.ServiceModel.Activation/System.ServiceModel.Activation-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c6b8ff0
--- /dev/null
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{7A23227C-591B-4F80-9D62-4D0271073D82}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ServiceModel.Activation</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\System.ServiceModel\System.ServiceModel.Activation\ServiceHostFactory.cs" />\r
+    <Compile Include="..\System.ServiceModel\System.ServiceModel\ServiceHostingEnvironment.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel/System.ServiceModel-plainservice-net_4_x.csproj">\r
+      <Project>{88C258E1-F0AF-47DA-96C8-7FA6421067CD}</Project>\r
+      <Name>System.ServiceModel-plainservice-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.ServiceModel.Discovery/System.ServiceModel.Discovery-net_4_x.csproj b/mcs/class/System.ServiceModel.Discovery/System.ServiceModel.Discovery-net_4_x.csproj
new file mode 100644 (file)
index 0000000..cf98e7b
--- /dev/null
@@ -0,0 +1,210 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2D03C898-0B45-4CAA-A333-B2463B81C37B}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ServiceModel.Discovery</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5;NET_3_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5;NET_3_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\DiscoveryChannelBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\RequestChannelBase.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\AnnouncementChannelEndpointElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\AnnouncementEndpointCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\AnnouncementEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\ContractTypeNameElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\ContractTypeNameElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\DiscoveryClientElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\DiscoveryClientSettingsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\DiscoveryEndpointCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\DiscoveryEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\DiscoveryVersionConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\DynamicEndpointCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\DynamicEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\EndpointDiscoveryElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\FindCriteriaElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\ScopeElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\ScopeElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\ServiceDiscoveryElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\UdpAnnouncementEndpointCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\UdpAnnouncementEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\UdpDiscoveryEndpointCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\UdpDiscoveryEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Configuration\UdpTransportSettingsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Udp\UdpChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Udp\UdpChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Udp\UdpDuplexChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Udp\UdpTransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Version11\AnnouncementClient11.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Version11\DiscoveryMessageSequence11.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Version11\DiscoveryProxyClient11.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Version11\DiscoveryTargetClient11.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Version11\EndpointDiscoveryMetadata11.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Version11\FindCriteria11.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Version11\IAnnouncementContract11.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Version11\IDiscoveryProxyContract11.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Version11\IDiscoveryTargetContract11.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Version11\MessageContracts11.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.Version11\ResolveCriteria11.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionApril2005\AnnouncementClientApril2005.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionApril2005\DiscoveryMessageSequenceApril2005.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionApril2005\DiscoveryProxyClientApril2005.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionApril2005\DiscoveryTargetClientApril2005.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionApril2005\EndpointDiscoveryMetadataApril2005.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionApril2005\FindCriteriaApril2005.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionApril2005\IAnnouncementContractApril2005.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionApril2005\IDiscoveryProxyContractApril2005.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionApril2005\IDiscoveryTargetContractApril2005.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionApril2005\MessageContractsApril2005.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionApril2005\ResolveCriteriaApril2005.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionCD1\AnnouncementClientCD1.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionCD1\DiscoveryMessageSequenceCD1.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionCD1\DiscoveryProxyClientCD1.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionCD1\DiscoveryTargetClientCD1.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionCD1\EndpointDiscoveryMetadataCD1.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionCD1\FindCriteriaCD1.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionCD1\IAnnouncementContractCD1.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionCD1\IDiscoveryProxyContractCD1.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionCD1\IDiscoveryTargetContractCD1.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionCD1\MessageContractsCD1.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery.VersionCD1\ResolveCriteriaCD1.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\AnnouncementClient.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\AnnouncementEndpoint.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\AnnouncementEventArgs.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\AnnouncementService.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryChannelDispatcher.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryClient.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryClientBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryEndpoint.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryEndpointProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryEndpointPublisherBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryMessageSequence.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryMessageSequenceGenerator.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryOperationContextExtension.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryProxy.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryRequestChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryService.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryServiceExtension.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DiscoveryViaUriBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\DynamicEndpoint.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\EndpointDiscoveryBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\EndpointDiscoveryMetadata.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\FindCompletedEventArgs.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\FindCriteria.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\FindProgressChangedEventArgs.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\FindRequestContext.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\FindResponse.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\ResolveCompletedEventArgs.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\ResolveCriteria.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\ResolveResponse.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\ServiceDiscoveryBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\ServiceDiscoveryMode.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\UdpAnnouncementEndpoint.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\UdpDiscoveryEndpoint.cs" />\r
+    <Compile Include="System.ServiceModel.Discovery\UdpTransportSettings.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel/System.ServiceModel-net_4_x.csproj">\r
+      <Project>{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}</Project>\r
+      <Name>System.ServiceModel-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Xml.Linq/System.Xml.Linq-net_4_x.csproj">\r
+      <Project>{526286D5-38D9-4579-B001-471440D57752}</Project>\r
+      <Name>System.Xml.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.ServiceModel.Internals/System.ServiceModel.Internals-net_4_x.csproj b/mcs/class/System.ServiceModel.Internals/System.ServiceModel.Internals-net_4_x.csproj
new file mode 100644 (file)
index 0000000..61cec7e
--- /dev/null
@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{5769B536-7E8E-4C2A-8671-6B256D0F620B}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ServiceModel.Internals</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\ActionItem.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\AssertHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\AsyncCompletionResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\AsyncEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\AsyncEventArgsCallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\AsyncResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\AsyncWaitHandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\BackoffTimeoutHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\BufferedOutputStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\CallbackException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Collections\HopperCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Collections\NullableKeyDictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Collections\ObjectCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Collections\ObjectCacheItem.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Collections\ObjectCacheSettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Collections\OrderedDictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Collections\ValidatingCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\CompletedAsyncResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\ComputerNameFormat.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\ActivityControl.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\DiagnosticEventProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\DiagnosticTraceBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\DiagnosticTraceSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\DictionaryTraceRecord.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\EtwDiagnosticTrace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\EtwProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\EventDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\EventLogCategory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\EventLogEventId.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\EventLogger.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\EventTraceActivity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\ITraceSourceStringProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\PerformanceCounterNameAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\StringTraceRecord.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Diagnostics\TraceRecord.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\DiagnosticStrings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\DuplicateDetector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\ExceptionTrace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\FastAsyncCallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\FatalException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Fx.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\FxCop.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\HashHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\IAsyncEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\InputQueue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\InternalBufferManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Interop\SafeEventLogWriteHandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Interop\UnsafeNativeMethods.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\IOThreadCancellationTokenSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\IOThreadScheduler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\IOThreadTimer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\MruCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\NameGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\PartialTrustHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\ReadOnlyDictionaryInternal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\ReadOnlyKeyedCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\ScheduleActionItemAsyncResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\SignalGate.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\SynchronizedPool.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\TaskExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\ThreadNeutralSemaphore.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\Ticks.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\TimeoutHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\TraceChannel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\TraceEventLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\TraceEventOpcode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\TraceLevelHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\TracePayload.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\TypedAsyncResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\TypeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\UrlUtility.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\System\Runtime\WaitCallbackActionItem.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.ServiceModel.Internals\TraceCore.Designer.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="EventLogEntryType.cs" />\r
+    <Compile Include="InternalSR.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.ServiceModel.Routing/System.ServiceModel.Routing-net_4_x.csproj b/mcs/class/System.ServiceModel.Routing/System.ServiceModel.Routing-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2e2dbae
--- /dev/null
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{55BBC4F8-6DA2-4B3D-8714-F45A255F8BCC}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ServiceModel.Routing</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5;NET_3_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5;NET_3_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\EndpointNameMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\StrictAndMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Routing.Configuration\BackupEndpointCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Routing.Configuration\BackupEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Routing.Configuration\BackupListCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Routing.Configuration\FilterElement.cs" />\r
+    <Compile Include="System.ServiceModel.Routing.Configuration\FilterElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Routing.Configuration\FilterTableCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Routing.Configuration\FilterTableEntryCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Routing.Configuration\FilterTableEntryElement.cs" />\r
+    <Compile Include="System.ServiceModel.Routing.Configuration\FilterType.cs" />\r
+    <Compile Include="System.ServiceModel.Routing.Configuration\NamespaceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Routing.Configuration\NamespaceElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Routing.Configuration\RoutingExtensionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Routing.Configuration\RoutingSection.cs" />\r
+    <Compile Include="System.ServiceModel.Routing.Configuration\SoapProcessingExtensionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Routing\IDuplexSessionRouter.cs" />\r
+    <Compile Include="System.ServiceModel.Routing\IRequestReplyRouter.cs" />\r
+    <Compile Include="System.ServiceModel.Routing\ISimplexDatagramRouter.cs" />\r
+    <Compile Include="System.ServiceModel.Routing\ISimplexSessionRouter.cs" />\r
+    <Compile Include="System.ServiceModel.Routing\RoutingBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Routing\RoutingConfiguration.cs" />\r
+    <Compile Include="System.ServiceModel.Routing\RoutingExtension.cs" />\r
+    <Compile Include="System.ServiceModel.Routing\RoutingService.cs" />\r
+    <Compile Include="System.ServiceModel.Routing\SoapProcessingBehavior.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel/System.ServiceModel-net_4_x.csproj">\r
+      <Project>{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}</Project>\r
+      <Name>System.ServiceModel-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.ServiceModel.Web/System.ServiceModel.Web-net_4_x.csproj b/mcs/class/System.ServiceModel.Web/System.ServiceModel.Web-net_4_x.csproj
new file mode 100644 (file)
index 0000000..706ee0d
--- /dev/null
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{54F4FA23-5AF3-4312-9294-3DB109F644CC}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ServiceModel.Web</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5;NET_3_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5;NET_3_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Assembly\TypeForwarders.cs" />\r
+    <Compile Include="System.ServiceModel.Activation\WebScriptServiceHostFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Activation\WebServiceHostFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\WebBodyFormatMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\WebContentFormat.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\WebContentTypeMapper.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\WebMessageEncoder.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\WebMessageEncoderFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\WebMessageEncodingBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WebHttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WebHttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WebHttpElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WebHttpEndpointCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WebHttpEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WebHttpSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WebMessageEncodingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WebScriptEnablingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WebScriptEndpointCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WebScriptEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WebHttpBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WebHttpEndpoint.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WebScriptEnablingBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WebScriptEndpoint.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WebServiceEndpoint.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\JsonQueryStringConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\QueryStringConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\WebHttpDispatchOperationSelector.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\WebMessageFormatter.cs" />\r
+    <Compile Include="System.ServiceModel.Web\IncomingWebRequestContext.cs" />\r
+    <Compile Include="System.ServiceModel.Web\IncomingWebResponseContext.cs" />\r
+    <Compile Include="System.ServiceModel.Web\OutgoingWebRequestContext.cs" />\r
+    <Compile Include="System.ServiceModel.Web\OutgoingWebResponseContext.cs" />\r
+    <Compile Include="System.ServiceModel.Web\WebAttributeInfo.cs" />\r
+    <Compile Include="System.ServiceModel.Web\WebChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Web\WebGetAttribute.cs" />\r
+    <Compile Include="System.ServiceModel.Web\WebInvokeAttribute.cs" />\r
+    <Compile Include="System.ServiceModel.Web\WebMessageBodyStyle.cs" />\r
+    <Compile Include="System.ServiceModel.Web\WebMessageFormat.cs" />\r
+    <Compile Include="System.ServiceModel.Web\WebOperationContext.cs" />\r
+    <Compile Include="System.ServiceModel.Web\WebServiceHost.cs" />\r
+    <Compile Include="System.ServiceModel\WebHttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\WebHttpSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\WebHttpSecurityMode.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel/System.ServiceModel-net_4_x.csproj">\r
+      <Project>{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}</Project>\r
+      <Name>System.ServiceModel-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Extensions/System.Web.Extensions-net_4_x.csproj">\r
+      <Project>{EE582CE1-A692-47AC-B838-3A78955898BE}</Project>\r
+      <Name>System.Web.Extensions-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel.Activation/System.ServiceModel.Activation-net_4_x.csproj">\r
+      <Project>{7A23227C-591B-4F80-9D62-4D0271073D82}</Project>\r
+      <Name>System.ServiceModel.Activation-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index bede256b8c947ef6598f1906468e823fff50d072..1e32b6fcdbf9810ed8c00f329635c3836f70ab1f 100644 (file)
@@ -1920,8 +1920,57 @@ namespace MonoTests.System.Runtime.Serialization.Json
                                serializer.WriteObject (ms, person2);
                        }
                }
+
+               [Test]
+               public void Bug15028()
+               {
+                       DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Bug15028));
+                       using (MemoryStream memoryStream = new MemoryStream())
+                       {
+                               ser.WriteObject(memoryStream, new Bug15028());
+                               string output = Encoding.Default.GetString(memoryStream.ToArray());
+                               Assert.AreEqual(@"{""Int0"":1,""Int1"":1,""IntZero1"":0,""Str0"":"""",""Str1"":"""",""StrNull1"":null}", output);
+                       }
+               }
        }
        
+
+       [DataContract]
+       public class Bug15028
+       {
+               [DataMember(EmitDefaultValue = false)]
+               public string StrNull0 { get; private set; }
+
+               [DataMember(EmitDefaultValue = false)]
+               public string Str0 { get; private set; }
+
+               [DataMember(EmitDefaultValue = true)]
+               public string StrNull1 { get; private set; }
+
+               [DataMember(EmitDefaultValue = true)]
+               public string Str1 { get; private set; }
+
+               [DataMember(EmitDefaultValue = false)]
+               public int IntZero0 { get; private set; }
+
+               [DataMember(EmitDefaultValue = false)]
+               public int Int0 { get; private set; }
+
+               [DataMember(EmitDefaultValue = true)]
+               public int IntZero1 { get; private set; }
+
+               [DataMember(EmitDefaultValue = true)]
+               public int Int1 { get; private set; }
+
+               public Bug15028()
+               {
+                       Str0 = string.Empty;
+                       Str1 = string.Empty;
+                       Int0 = 1;
+                       Int1 = 1;
+               }
+       }
+
        public class CharTest
        {
                public char Foo;
diff --git a/mcs/class/System.ServiceModel.Web/monotouch_tv_System.ServiceModel.Web.dll.sources b/mcs/class/System.ServiceModel.Web/monotouch_tv_System.ServiceModel.Web.dll.sources
new file mode 100644 (file)
index 0000000..cbea0fa
--- /dev/null
@@ -0,0 +1 @@
+#include mobile_System.ServiceModel.Web.dll.sources
index ff9a2b8f75bc07985e826b09d32aef569f2a2d4a..39d102a9e054f94cbf803334ff0bfc458ee75604 100644 (file)
@@ -147,14 +147,15 @@ namespace System.Collections.Generic
                        InsertItem (index, item);
                }
 
-               [MonoTODO ("should we lock and remove item without invoking RemoveItem() instead?")]
                public bool Remove (T item)
                {
-                       int index = IndexOf (item);
-                       if (index < 0)
-                               return false;
-                       RemoveAt (index);
-                       return true;
+                       lock (root) {
+                               int index = IndexOf (item);
+                               if (index < 0)
+                                       return false;
+                               RemoveAt (index);
+                               return true;
+                       }
                }
 
                public void RemoveAt (int index)
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel-net_4_x.csproj b/mcs/class/System.ServiceModel/System.ServiceModel-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ef3d1d3
--- /dev/null
@@ -0,0 +1,1164 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ServiceModel</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE;TRACE;NET_3_0;HAS_ACTIVATION</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE;TRACE;NET_3_0;HAS_ACTIVATION</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Atom10FeedFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Atom10FeedFormatter_1.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Atom10ItemFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Atom10ItemFormatter_1.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\AtomPub10CategoriesDocumentFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\AtomPub10ServiceDocumentFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\AtomPub10ServiceDocumentFormatter_1.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\CategoriesDocument.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\CategoriesDocumentFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\InlineCategoriesDocument.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\ISyndicationElement.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\ReferencedCategoriesDocument.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\ResourceCollectionInfo.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Rss20FeedFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Rss20FeedFormatter_1.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Rss20ItemFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Rss20ItemFormatter_1.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\ServiceDocument.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\ServiceDocumentFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationCategory.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationContent.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationElementExtension.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationElementExtensionCollection.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationExtensions.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationFeed.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationFeedFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationItem.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationItemFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationLink.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationPerson.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationVersions.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\TextSyndicationContent.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\TextSyndicationContentKind.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\UrlSyndicationContent.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Workspace.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\XmlSyndicationContent.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System\UriTemplate.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System\UriTemplateEquivalenceComparer.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System\UriTemplateMatch.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System\UriTemplateMatchException.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System\UriTemplateTable.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeAdd.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeAnd.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeArgument.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeArgumentReference.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeArithmeticOperation.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeArrayItem.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeArrayLength.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeAssignment.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeBinaryComparison.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeBinaryOperation.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeBlock.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeBuilder.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeCast.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeClass.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeCustomAttribute.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeDecrement.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeEquals.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeExpression.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeFieldReference.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeFor.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeForeach.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeGenerationHelper.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeIf.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeIncrement.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeIs.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeItem.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeLiteral.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeMethod.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeMethodCall.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeModule.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeNew.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeNewArray.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeNotEquals.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeOr.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeProperty.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodePropertyReference.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeReturn.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeSelect.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeSelfIncrement.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeTryBlock.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeUnaryOperation.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeValueReference.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeVariableDeclaration.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeVariableReference.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeWhen.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeWhile.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeWriter.cs" />\r
+    <Compile Include="Mono.CodeGeneration\Exp.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\MD5SHA1.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\TlsHMAC.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\BitConverterLE.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\ChallengeResponse.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\MessageBase.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\NtlmFlags.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\NtlmTargetInformation.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\NtlmVersion.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\Type1Message.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\Type2Message.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\Type3Message.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientCertificate.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientCertificateVerify.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientFinished.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientHello.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientKeyExchange.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerCertificate.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerCertificateRequest.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerFinished.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerHello.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerHelloDone.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerKeyExchange.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientCertificate.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientCertificateVerify.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientFinished.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientHello.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientKeyExchange.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerCertificate.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerCertificateRequest.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerFinished.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerHello.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerHelloDone.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerKeyExchange.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake\ClientCertificateType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake\HandshakeMessage.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake\HandshakeType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\Alert.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\CipherAlgorithmType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\CipherSuite.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\CipherSuiteCollection.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\CipherSuiteFactory.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\ClientContext.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\ClientRecordProtocol.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\ClientSessionCache.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\ContentType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\Context.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\DebugHelper.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\ExchangeAlgorithmType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\HandshakeState.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\HashAlgorithmType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\HttpsClientStream.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\RecordProtocol.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\RSASslSignatureDeformatter.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\RSASslSignatureFormatter.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SecurityCompressionType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SecurityParameters.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SecurityProtocolType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\ServerContext.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\ServerRecordProtocol.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SslCipherSuite.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SslClientStream.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SslHandshakeHash.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SslServerStream.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SslStreamBase.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\TlsCipherSuite.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\TlsClientSettings.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\TlsException.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\TlsServerSettings.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\TlsStream.cs" />\r
+    <Compile Include="Mono.Xml.XPath\DTMXPathDocument2.cs" />\r
+    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentBuilder2.cs" />\r
+    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentWriter2.cs" />\r
+    <Compile Include="Mono.Xml.XPath\DTMXPathNavigator2.cs" />\r
+    <Compile Include="Mono.Xml.XPath\DTMXPathNode2.cs" />\r
+    <Compile Include="System.Collections.Generic\KeyedByTypeCollection.cs" />\r
+    <Compile Include="System.Collections.Generic\SynchronizedCollection.cs" />\r
+    <Compile Include="System.Collections.Generic\SynchronizedKeyedCollection.cs" />\r
+    <Compile Include="System.Collections.Generic\SynchronizedReadOnlyCollection.cs" />\r
+    <Compile Include="System.IO\PipeException.cs" />\r
+    <Compile Include="System.ServiceModel.Activation\AspNetIntegrationRequirementsAttribute.cs" />\r
+    <Compile Include="System.ServiceModel.Activation\ServiceHostFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Activation\ServiceHostFactoryBase.cs" />\r
+    <Compile Include="System.ServiceModel.Activation\VirtualPathExtension.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Http\HttpChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Http\HttpChannelListenerEntry.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Http\HttpContextInfo.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Http\HttpListenerManager.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Http\HttpListenerManagerTable.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Http\HttpReplyChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Http\HttpRequestContext.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.NetTcp\PeerDuplexChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpBinaryFrameManager.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpDuplexSessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpReplyChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpRequestChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\MessageSecurityBindingSupport.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecureMessageDecryptor.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecureMessageGenerator.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityCapabilities.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityDuplexSessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityOutputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityReplyChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityRequestChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityRequestContext.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SupportingTokenInfo.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\WSEncryptedXml.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\WSSecurityMessageHeader.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\WSSignedXml.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\AddressHeader.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\AddressHeaderCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\AddressingVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\AsymmetricSecurityBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BinaryMessageEncoder.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BinaryMessageEncoderFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BinaryMessageEncodingBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\Binding.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BindingContext.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BindingElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BindingParameterCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BodyWriter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BufferManager.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\CachingCompiler.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ChannelBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ChannelFactoryBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ChannelListenerBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ChannelListenerBase_1.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ChannelManagerBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ChannelParameterCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ChannelPoolSettings.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\CommunicationObject.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\CompilationException.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\CompositeDuplexBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\CompositeDuplexBindingElementImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\CompressionFormat.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ConnectionOrientedTransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ContentType.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\CustomBinding.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\DeliveryFailure.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\DeliveryStatus.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\DuplexChannelBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\DuplexSessionBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\FaultConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HostedTransportConfiguration.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HtmlizedException.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HttpChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HttpCookieContainerBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HttpRequestChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HttpRequestMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HttpResponseMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HttpsTransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HttpTransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IBindingDeliveryCapabilities.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IBindingMulticastCapabilities.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IBindingRuntimePreferences.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IDuplexChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IDuplexSession.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IDuplexSessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IHttpCookieContainer.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IInputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IInputSession.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IInputSessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\InputChannelBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\InvalidChannelBindingException.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IOutputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IOutputSession.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IOutputSessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IReplyChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IReplySessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IRequestChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IRequestSessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ISecurityCapabilities.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ISession.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ISessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ITransactedBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ITransportTokenAssertionProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\LayeredCommunicationObject.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\LayeredOutputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\LayeredReplyChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\LayeredRequestChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\LocalClientSecuritySettings.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\Message.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageBuffer.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageBufferImpl.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageEncoder.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageEncoderFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageEncodingBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageEncodingBindingElementImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageFault.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageFaultBodyWriter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageHeader.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageHeaderInfo.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageHeaders.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageImpl.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageProperties.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MsmqBindingElementBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MsmqChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MsmqChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MsmqInputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MsmqMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MsmqOutputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MsmqTransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MtomMessageEncoder.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MtomMessageEncoderFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MtomMessageEncodingBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\NamedPipeChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\NamedPipeChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\NamedPipeConnectionPoolSettings.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\NamedPipeReplyChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\NamedPipeRequestChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\NamedPipetransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\OneWayBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\OneWayBindingElementImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\OutputChannelBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PeerChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PeerChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PeerCustomResolverBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PeerInputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PeerOutputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PeerResolverBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PeerTransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PnrpPeerResolverBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PolicyImportHelper.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PrivacyNoticeBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ReliableSessionBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ReliableSessionBindingElementImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\RemoteEndpointMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ReplyChannelBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\RequestChannelBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\RequestContext.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SecurityBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SecurityBindingElementImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ServiceHostParser.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SslStreamSecurityBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SslStreamSecurityUpgradeAcceptor.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SslStreamSecurityUpgradeProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StandardBindingImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StreamSecurityUpgradeAcceptor.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StreamSecurityUpgradeInitiator.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StreamSecurityUpgradeProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StreamUpgradeAcceptor.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StreamUpgradeBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StreamUpgradeInitiator.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StreamUpgradeProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SvcHttpHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SvcHttpHandlerFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SymmetricSecurityBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TcpConnectionPoolSettings.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TcpTransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TextMessageEncoder.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TextMessageEncoderFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TextMessageEncodingBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TransactionFlowBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TransactionFlowBindingElementImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TransactionMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TransportBindingElementImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TransportSecurityBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\UnderstoodHeaders.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\UseManagedPresentationBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\WebSocketTransportSettings.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\WebSocketTransportUsage.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\WindowsStreamSecurityBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\XmlObjectSerializerBodyWriter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\XmlReaderBodyWriter.cs" />\r
+    <Compile Include="System.ServiceModel.ComIntegration\Dummy.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\AddressHeaderCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\AllowedAudienceUriElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\AllowedAudienceUriElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\AuthenticationMode.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\AuthorizationPolicyTypeElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\AuthorizationPolicyTypeElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BaseAddressElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BaseAddressElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BaseAddressPrefixFilterElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BaseAddressPrefixFilterElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpBindingElement_4_5.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpMessageSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpsBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpsBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpsSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BehaviorExtensionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BehaviorsSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BinaryMessageEncodingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BindingElementExtensionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BindingsSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CallbackDebugElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CallbackTimeoutsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CertificateElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CertificateReferenceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ChannelEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ChannelEndpointElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ChannelPoolSettingsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ClaimTypeElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ClaimTypeElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ClientCredentialsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ClientSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ClientViaElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComContractElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComContractElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComContractsSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComMethodElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComMethodElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CommonBehaviorsSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CommonEndpointBehaviorElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CommonServiceBehaviorElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComPersistableTypeElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComPersistableTypeElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CompositeDuplexElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComUdtElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComUdtElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ConfigUtil.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ConnectionOrientedTransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CustomBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CustomBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CustomBindingElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\DataContractSerializerElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\DiagnosticSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\DnsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\EncodingConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\EndpointAddressElementBase.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\EndpointBehaviorElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\EndpointBehaviorElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\EndpointCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\EndToEndTracingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ExtensionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ExtensionElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ExtensionsSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\FederatedMessageSecurityOverHttpElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\HostElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\HostTimeoutsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\HttpBindingBaseElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\HttpDigestClientElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\HttpsTransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\HttpTransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\HttpTransportSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IBindingConfigurationElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IdentityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IPAddressConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IssuedTokenClientBehaviorsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IssuedTokenClientBehaviorsElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IssuedTokenClientElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IssuedTokenParametersElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IssuedTokenParametersEndpointAddressElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IssuedTokenServiceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\LocalClientSecuritySettingsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\LocalServiceSecuritySettingsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MessageLoggingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MessageSecurityOverHttpElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MessageSecurityOverMsmqElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MessageSecurityOverTcpElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MessageSecurityVersionConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MessageVersionConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MetadataElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MethodStubs.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexBindingBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexHttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexHttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexHttpsBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexHttpsBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexNamedPipeBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexNamedPipeBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexTcpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexTcpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqBindingElementBase.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqElementBase.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqTransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqTransportSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MtomMessageEncodingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NamedPipeConnectionPoolSettingsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NamedPipeTransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NamedPipeTransportSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NamedServiceModelExtensionCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetMsmqBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetMsmqBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetMsmqSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetNamedPipeBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetNamedPipeBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetNamedPipeSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetPeerTcpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetPeerTcpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetTcpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetTcpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetTcpSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NonDualMessageSecurityOverHttpElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\OneWayElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PeerCredentialElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PeerCustomResolverElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PeerResolverElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PeerSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PeerTransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PeerTransportSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PnrpPeerResolverElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PolicyImporterElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PolicyImporterElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PolicyVersionConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PrivacyNoticeElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ProtocolMappingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ProtocolMappingElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ProtocolMappingSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ReliableMessagingVersionConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ReliableSessionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\RsaElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\SecureConversationServiceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\SecurityAlgorithmSuiteConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\SecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\SecurityElementBase.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceAuthorizationElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceBehaviorElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceBehaviorElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceCredentialsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceDebugElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceEndpointElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceHostingEnvironmentSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceMetadataEndpointCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceMetadataEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceMetadataPublishingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceModelConfigurationElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceModelEnhancedConfigurationElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceModelExtensionCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceModelExtensionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceModelSectionGroup.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServicePrincipalNameElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceSecurityAuditElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServicesSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceThrottlingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceTimeoutsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\SslStreamSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardBindingElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardBindingOptionalReliableSessionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardBindingReliableSessionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardEndpointCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardEndpointElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardEndpointsSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\SynchronousReceiveElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TcpConnectionPoolSettingsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TcpTransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TcpTransportSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TextMessageEncodingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TransactedBatchingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TransactionFlowElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TransactionProtocolConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TransportConfigurationTypeElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TransportConfigurationTypeElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\UseManagedPresentationElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\UserNameServiceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\UserPrincipalNameElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WindowsClientElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WindowsServiceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WindowsStreamSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WS2007FederationHttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WS2007FederationHttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WS2007HttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WS2007HttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WsdlImporterElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WsdlImporterElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSDualHttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSDualHttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSDualHttpSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSFederationHttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSFederationHttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSFederationHttpSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSHttpBindingBaseElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSHttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSHttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSHttpSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSHttpTransportSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509CertificateTrustedIssuerElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509CertificateTrustedIssuerElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509ClientCertificateAuthenticationElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509ClientCertificateCredentialsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509DefaultServiceCertificateElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509InitiatorCertificateClientElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509InitiatorCertificateServiceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509PeerCertificateAuthenticationElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509PeerCertificateElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509RecipientCertificateClientElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509RecipientCertificateServiceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509ScopedServiceCertificateElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509ScopedServiceCertificateElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509ServiceCertificateAuthenticationElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\XmlDictionaryReaderQuotasElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\XmlElementElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\XmlElementElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\XPathMessageFilterElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\XPathMessageFilterElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\XPathMessageFilterElementComparer.cs" />\r
+    <Compile Include="System.ServiceModel.Description\CallbackDebugBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\CallbackTimeoutsBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ClientCredentials.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ClientViaBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ContractDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ContractDescriptionGenerator.cs" />\r
+    <Compile Include="System.ServiceModel.Description\CustomPolicyConversionContext.cs" />\r
+    <Compile Include="System.ServiceModel.Description\DataContractSerializerMessageContractImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\DataContractSerializerOperationBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\FaultDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\FaultDescriptionCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IContractBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IContractBehaviorAttribute.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IEndpointBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IMetadataExchange.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IOperationBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IOperationContractGenerationExtension.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IpolicyExporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IPolicyImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IServiceBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IServiceContractGenerationExtension.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IWsdlExporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IWsdlImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\LocalServiceSecuritySettings.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessageBodyDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessageDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessageDescriptionCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessageHeaderDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessageHeaderDescriptionCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessagePartDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessagePartDescriptionCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessagePropertyDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessagePropertyDescriptionCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataConversionError.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataExchangeBindings.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataExchangeClient.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataExporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataLocation.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataReference.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataResolver.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataSection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataSectionSerializerBase.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataSet.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MustUnderstandBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\OperationContractGenerationContext.cs" />\r
+    <Compile Include="System.ServiceModel.Description\OperationDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\OperationDescriptionCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\PolicyAssertionCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\PolicyConversionContext.cs" />\r
+    <Compile Include="System.ServiceModel.Description\PolicyVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceAuthorizationBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceContractGenerationContext.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceContractGenerator.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceCredentials.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceDebugBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceEndpoint.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceEndpointCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceMetadataBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceMetadataEndpoint.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceMetadataExtension.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceSecurityAuditBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceThrottlingBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceTimeoutsBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\SynchronousReceiveBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\TransactedBatchingBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\TypedMessageConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WsdlContractConversionContext.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WsdlEndpointConversionContext.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WsdlExporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WsdlImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WSTrustMessageConverters.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WSTrustSTSContract.cs" />\r
+    <Compile Include="System.ServiceModel.Description\XmlName.cs" />\r
+    <Compile Include="System.ServiceModel.Description\XmlSerializerMessageContractImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\XmlSerializerOperationBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Diagnostics\MessageLoggingSettings.cs" />\r
+    <Compile Include="System.ServiceModel.Diagnostics\MessageLogTraceRecord.cs" />\r
+    <Compile Include="System.ServiceModel.Diagnostics\PerformanceCounterScope.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ActionMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ActionMessageFilterTable.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\BaseMessagesFormatter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\BaseRequestProcessor.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\BaseRequestProcessorHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\CallbackInstanceContextProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ChannelDispatcher.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ChannelDispatcherBase.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ChannelDispatcherCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ClientOperation.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ClientRuntime.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\DataContractSerializerServiceBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\DefaultInstanceContextProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\DefaultOperationInvoker.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\DispatchOperation.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\DispatchRuntime.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\EndpointAddressMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\EndpointAddressMessageFilterTable.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\EndpointDispatcher.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ErrorProcessingHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ExceptionHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\FaultContractInfo.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\FilterInvalidBodyAccessException.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\FinalizeProcessingHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ICallContextInitializer.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IChannelDispatcherBoundListener.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IChannelInitializer.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IClientMessageFormatter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IClientMessageInspector.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IClientOperationSelector.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IDispatchMessageFormatter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IDispatchMessageInspector.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IDispatchOperationSelector.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IErrorHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IInputSessionShutdown.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IInstanceContextInitializer.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IInstanceContextProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IInstanceProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IInteractiveChannelInitializer.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IMessageFilterTable.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\InitializingHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\InputOrReplyRequestProcessor.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\InstanceContextIdleCallback.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\InstanceManager.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\InvalidBodyAccessException.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IOperationInvoker.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IParameterInspector.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MatchAllMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MatchNoneMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MessageFilterNodeQuotaExceededException.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MessageFilterTable.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MessageProcessingContext.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MexInstanceContextProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MultipleMessageFilterMatchesException.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\NavigatorInvalidBodyAccessException.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\OperationInvokerHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\PostReceiveRequestHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\PrefixEndpointAddressMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ReplyHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\SeekableXPathNavigator.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ServiceThrottle.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\SessionInstanceContextProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\SingletonInstanceContextProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\XmlMessagesFormatter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\XPathMessageContext.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\XPathMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\XPathMessageFilterTable.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\XPathNavigatorException.cs" />\r
+    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationBinding.cs" />\r
+    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationSecurity.cs" />\r
+    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqMessage.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\CustomPeerResolverService.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\ICustomPeerResolverContract.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\IPeerConnectorContract.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\IPeerResolverContract.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\LocalPeerResolverService.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\PeerCustomResolverSettings.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\PeerReferralPolicy.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\PeerResolverMode.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\PeerResolverSettings.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\RefreshInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\RefreshResponseInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\RefreshResult.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\RegisterInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\RegisterResponseInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\ResolveInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\ResolveResponseInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\ServiceSettingsResponseInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\UnregisterInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\UpdateInfo.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\AuthenticatorCommunicationObject.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\BinarySecretSecurityToken.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\ClaimTypeRequirement.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\CommunicationSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\CommunicationSecurityTokenProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\DerivedKeySecurityToken.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\IIssuanceSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\InitiatorServiceModelSecurityTokenRequirement.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\InternalEncryptedKeyIdentifierClause.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\ISecurityContextSecurityTokenCache.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\IssuedSecurityTokenHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\IssuedSecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\IssuedSecurityTokenProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\IssuedTokenCommunicationObject.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\KerberosSecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\ProviderCommunicationObject.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\RecipientServiceModelSecurityTokenRequirement.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\RenewedSecurityTokenHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\RsaSecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SecureConversationSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SecureConversationSecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SecurityContextSecurityToken.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SecurityContextSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SecurityContextSecurityTokenResolver.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SecurityTokenReferenceStyle.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\ServiceModelSecurityTokenRequirement.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\ServiceModelSecurityTokenTypes.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SpnegoSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SpnegoSecurityTokenProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SslnegoCookieResolver.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SslSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SslSecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SslSecurityTokenProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SspiClientSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SspiSecurityToken.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SspiSecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SspiSession.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SupportingTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\TlsClientSession.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\TlsServerSession.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\UserNameSecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\WrappedKeySecurityToken.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\X509SecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security\BasicSecurityProfileVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Security\BinarySecretKeyIdentifierClause.cs" />\r
+    <Compile Include="System.ServiceModel.Security\ChannelProtectionRequirements.cs" />\r
+    <Compile Include="System.ServiceModel.Security\DataProtectionSecurityStateEncoder.cs" />\r
+    <Compile Include="System.ServiceModel.Security\ExpiredSecurityTokenException.cs" />\r
+    <Compile Include="System.ServiceModel.Security\HttpDigestClientCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\IdentityVerifier.cs" />\r
+    <Compile Include="System.ServiceModel.Security\IEndpointIdentityProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Security\InfocardInteractiveChannelInitializer.cs" />\r
+    <Compile Include="System.ServiceModel.Security\ISecureConversationSession.cs" />\r
+    <Compile Include="System.ServiceModel.Security\ISecuritySession.cs" />\r
+    <Compile Include="System.ServiceModel.Security\IssuedTokenClientCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\IssuedTokenServiceCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\KeyEntropyMode.cs" />\r
+    <Compile Include="System.ServiceModel.Security\KeyNameIdentifierClause.cs" />\r
+    <Compile Include="System.ServiceModel.Security\MessagePartSpecification.cs" />\r
+    <Compile Include="System.ServiceModel.Security\MessageProtectionOrder.cs" />\r
+    <Compile Include="System.ServiceModel.Security\MessageSecurityException.cs" />\r
+    <Compile Include="System.ServiceModel.Security\PeerCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\ScopedMessagePartSpecification.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecureConversationServiceCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecureConversationVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityAccessDeniedException.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityAlgorithmSuite.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityContextKeyIdentifierClause.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityCredentialsManager.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityNegotiationException.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityPolicyVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityStateEncoder.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityTokenAttachmentMode.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityTokenSpecification.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Security\ServiceCredentialsSecurityTokenManager.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SspiSecurityTokenProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SupportingTokenSpecification.cs" />\r
+    <Compile Include="System.ServiceModel.Security\TrustVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Security\UnionSecurityTokenResolver.cs" />\r
+    <Compile Include="System.ServiceModel.Security\UserNamePasswordClientCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\UserNamePasswordServiceCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\WindowsClientCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\WindowsServiceCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\WSSecurityTokenSerializer.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509CertificateInitiatorClientCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509CertificateInitiatorServiceCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509CertificateRecipientClientCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509CertificateRecipientServiceCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509ClientCertificateAuthentication.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509PeerCertificateAuthentication.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509ServiceCertificateAuthentication.cs" />\r
+    <Compile Include="System.ServiceModel\ActionNotSupportedException.cs" />\r
+    <Compile Include="System.ServiceModel\AddressAccessDeniedException.cs" />\r
+    <Compile Include="System.ServiceModel\AddressAlreadyInUseException.cs" />\r
+    <Compile Include="System.ServiceModel\AllEnums.cs" />\r
+    <Compile Include="System.ServiceModel\BasicHttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\BasicHttpBinding_4_5.cs" />\r
+    <Compile Include="System.ServiceModel\BasicHttpMessageSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\BasicHttpsBinding.cs" />\r
+    <Compile Include="System.ServiceModel\BasicHttpSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\BasicHttpsSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\CallbackBehaviorAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\ChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel\ChannelFactory_1.cs" />\r
+    <Compile Include="System.ServiceModel\ChannelTerminatedException.cs" />\r
+    <Compile Include="System.ServiceModel\ClientBase.cs" />\r
+    <Compile Include="System.ServiceModel\ClientCredentialsSecurityTokenManager.cs" />\r
+    <Compile Include="System.ServiceModel\ClientProxyGenerator.cs" />\r
+    <Compile Include="System.ServiceModel\ClientRealProxy.cs" />\r
+    <Compile Include="System.ServiceModel\ClientRuntimeChannel.cs" />\r
+    <Compile Include="System.ServiceModel\CommunicationException.cs" />\r
+    <Compile Include="System.ServiceModel\CommunicationObjectAbortedException.cs" />\r
+    <Compile Include="System.ServiceModel\CommunicationObjectFaultedException.cs" />\r
+    <Compile Include="System.ServiceModel\Constants.cs" />\r
+    <Compile Include="System.ServiceModel\DataContractFormatAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\DefaultCommunicationTimeouts.cs" />\r
+    <Compile Include="System.ServiceModel\DeliveryRequirementsAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\DnsEndpointIdentity.cs" />\r
+    <Compile Include="System.ServiceModel\Dummy.cs" />\r
+    <Compile Include="System.ServiceModel\DuplexChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel\DuplexClientBase.cs" />\r
+    <Compile Include="System.ServiceModel\DuplexClientRuntimeChannel.cs" />\r
+    <Compile Include="System.ServiceModel\EndpointAddress.cs" />\r
+    <Compile Include="System.ServiceModel\EndpointAddress10.cs" />\r
+    <Compile Include="System.ServiceModel\EndpointAddressAugust2004.cs" />\r
+    <Compile Include="System.ServiceModel\EndpointAddressBuilder.cs" />\r
+    <Compile Include="System.ServiceModel\EndpointIdentity.cs" />\r
+    <Compile Include="System.ServiceModel\EndpointNotFoundException.cs" />\r
+    <Compile Include="System.ServiceModel\EnvelopeVersion.cs" />\r
+    <Compile Include="System.ServiceModel\ExceptionDetail.cs" />\r
+    <Compile Include="System.ServiceModel\ExtensionCollection.cs" />\r
+    <Compile Include="System.ServiceModel\FaultCode.cs" />\r
+    <Compile Include="System.ServiceModel\FaultContractAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\FaultException.cs" />\r
+    <Compile Include="System.ServiceModel\FaultException_1.cs" />\r
+    <Compile Include="System.ServiceModel\FaultReason.cs" />\r
+    <Compile Include="System.ServiceModel\FaultReasonText.cs" />\r
+    <Compile Include="System.ServiceModel\FederatedMessageSecurityOverHttp.cs" />\r
+    <Compile Include="System.ServiceModel\HttpBindingBase.cs" />\r
+    <Compile Include="System.ServiceModel\HttpTransportSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\IClientChannel.cs" />\r
+    <Compile Include="System.ServiceModel\ICommunicationObject.cs" />\r
+    <Compile Include="System.ServiceModel\IContextChannel.cs" />\r
+    <Compile Include="System.ServiceModel\IDefaultCommunicationTimeouts.cs" />\r
+    <Compile Include="System.ServiceModel\IDuplexClientChannel.cs" />\r
+    <Compile Include="System.ServiceModel\IExtensibleObject.cs" />\r
+    <Compile Include="System.ServiceModel\IExtension.cs" />\r
+    <Compile Include="System.ServiceModel\IExtensionCollection.cs" />\r
+    <Compile Include="System.ServiceModel\InstanceContext.cs" />\r
+    <Compile Include="System.ServiceModel\InvalidMessageContractException.cs" />\r
+    <Compile Include="System.ServiceModel\IOnlineStatus.cs" />\r
+    <Compile Include="System.ServiceModel\IServiceChannel.cs" />\r
+    <Compile Include="System.ServiceModel\Logger.cs" />\r
+    <Compile Include="System.ServiceModel\MessageBodyAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\MessageContractAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\MessageContractMemberAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\MessageHeader_1.cs" />\r
+    <Compile Include="System.ServiceModel\MessageHeaderArrayAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\MessageHeaderAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\MessageHeaderException.cs" />\r
+    <Compile Include="System.ServiceModel\MessageParameterAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\MessagePropertyAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\MessageSecurityOverHttp.cs" />\r
+    <Compile Include="System.ServiceModel\MessageSecurityOverMsmq.cs" />\r
+    <Compile Include="System.ServiceModel\MessageSecurityOverTcp.cs" />\r
+    <Compile Include="System.ServiceModel\MessageSecurityVersion.cs" />\r
+    <Compile Include="System.ServiceModel\MsmqBindingBase.cs" />\r
+    <Compile Include="System.ServiceModel\MsmqException.cs" />\r
+    <Compile Include="System.ServiceModel\MsmqPoisonMessageException.cs" />\r
+    <Compile Include="System.ServiceModel\MsmqTransportSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\NamedPipeTransportSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\NetHttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\NetHttpMessageEncoding.cs" />\r
+    <Compile Include="System.ServiceModel\NetMsmqBinding.cs" />\r
+    <Compile Include="System.ServiceModel\NetMsmqSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\NetNamedPipeBinding.cs" />\r
+    <Compile Include="System.ServiceModel\NetNamedPipeSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\NetPeerTcpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\NetTcpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\NetTcpSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\NonDualMessageSecurityOverHttp.cs" />\r
+    <Compile Include="System.ServiceModel\OperationBehaviorAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\OperationContext.cs" />\r
+    <Compile Include="System.ServiceModel\OperationContextScope.cs" />\r
+    <Compile Include="System.ServiceModel\OperationContractAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\OptionalReliableSession.cs" />\r
+    <Compile Include="System.ServiceModel\PeerMessagePropagationMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel\PeerNode.cs" />\r
+    <Compile Include="System.ServiceModel\PeerNodeAddress.cs" />\r
+    <Compile Include="System.ServiceModel\PeerResolver.cs" />\r
+    <Compile Include="System.ServiceModel\PeerResolverImpl.cs" />\r
+    <Compile Include="System.ServiceModel\PeerSecuritySettings.cs" />\r
+    <Compile Include="System.ServiceModel\PeerTransportSecuritySettings.cs" />\r
+    <Compile Include="System.ServiceModel\PoisonMessageException.cs" />\r
+    <Compile Include="System.ServiceModel\ProtocolException.cs" />\r
+    <Compile Include="System.ServiceModel\QuotaExceededException.cs" />\r
+    <Compile Include="System.ServiceModel\ReliableMessagingVersion.cs" />\r
+    <Compile Include="System.ServiceModel\ReliableSession.cs" />\r
+    <Compile Include="System.ServiceModel\RsaEndpointIdentity.cs" />\r
+    <Compile Include="System.ServiceModel\ServerTooBusyException.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceActivationException.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceAuthorizationManager.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceBehaviorAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceContractAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceHost.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceHostBase.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceHostingEnvironment.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceKnownTypeAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceProxyGenerator.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceRuntimeChannel.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceSecurityContext.cs" />\r
+    <Compile Include="System.ServiceModel\SilverlightClientConfigLoader.cs" />\r
+    <Compile Include="System.ServiceModel\SpnEndpointIdentity.cs" />\r
+    <Compile Include="System.ServiceModel\TcpTransportSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\TransactionFlowAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\TransactionProtocol.cs" />\r
+    <Compile Include="System.ServiceModel\TransferMode.cs" />\r
+    <Compile Include="System.ServiceModel\UnknownMessageReceivedEventArgs.cs" />\r
+    <Compile Include="System.ServiceModel\UpnEndpointIdentity.cs" />\r
+    <Compile Include="System.ServiceModel\UriSchemeKeyedCollection.cs" />\r
+    <Compile Include="System.ServiceModel\WS2007FederationHttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\WS2007HttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\WSDualHttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\WSDualHttpSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\WSFederationHttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\WSFederationHttpSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\WSHttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\WSHttpBindingBase.cs" />\r
+    <Compile Include="System.ServiceModel\WSHttpSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\X509CertificateEndpointIdentity.cs" />\r
+    <Compile Include="System.ServiceModel\XmlSerializerFormatAttribute.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel.Activation/System.ServiceModel.Activation-net_4_x.csproj">\r
+      <Project>{7A23227C-591B-4F80-9D62-4D0271073D82}</Project>\r
+      <Name>System.ServiceModel.Activation-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Security/System.Security-net_4_x.csproj">\r
+      <Project>{3ED36717-A9D1-4289-8949-9B7F39766DEB}</Project>\r
+      <Name>System.Security-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.IdentityModel/System.IdentityModel-net_4_x.csproj">\r
+      <Project>{FA718FA9-32C2-4BAC-BAAB-DB3A7A326D4C}</Project>\r
+      <Name>System.IdentityModel-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.IdentityModel.Selectors/System.IdentityModel.Selectors-net_4_x.csproj">\r
+      <Project>{BBA32980-B28C-476D-AEB0-892F1B1DFB5E}</Project>\r
+      <Name>System.IdentityModel.Selectors-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Transactions/System.Transactions-net_4_x.csproj">\r
+      <Project>{3821C69F-220D-4231-992C-0FE05311A005}</Project>\r
+      <Name>System.Transactions-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Messaging/System.Messaging-net_4_x.csproj">\r
+      <Project>{4AC19C4C-5998-4F55-9C65-55ACB8D71AB2}</Project>\r
+      <Name>System.Messaging-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Services/System.Web.Services-net_4_x.csproj">\r
+      <Project>{E43ADBA7-5DB9-466B-90C6-FFFDA520848D}</Project>\r
+      <Name>System.Web.Services-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Security/Mono.Security-net_4_x.csproj">\r
+      <Project>{42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}</Project>\r
+      <Name>Mono.Security-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.ApplicationServices/System.Web.ApplicationServices-net_4_x.csproj">\r
+      <Project>{928432BE-3518-4103-97F6-48B9658588A6}</Project>\r
+      <Name>System.Web.ApplicationServices-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="resources/WS-Addressing.schema">\r
+      <LogicalName>WS-Addressing.schema</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/ws-addr.xsd">\r
+      <LogicalName>ws-addr.xsd</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.ServiceModel/System.ServiceModel-plainservice-net_4_x.csproj b/mcs/class/System.ServiceModel/System.ServiceModel-plainservice-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a6594d4
--- /dev/null
@@ -0,0 +1,1160 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{88C258E1-F0AF-47DA-96C8-7FA6421067CD}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x/plainservice</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ServiceModel</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE;TRACE;NET_3_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE;TRACE;NET_3_0</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Atom10FeedFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Atom10FeedFormatter_1.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Atom10ItemFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Atom10ItemFormatter_1.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\AtomPub10CategoriesDocumentFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\AtomPub10ServiceDocumentFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\AtomPub10ServiceDocumentFormatter_1.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\CategoriesDocument.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\CategoriesDocumentFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\InlineCategoriesDocument.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\ISyndicationElement.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\ReferencedCategoriesDocument.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\ResourceCollectionInfo.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Rss20FeedFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Rss20FeedFormatter_1.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Rss20ItemFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Rss20ItemFormatter_1.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\ServiceDocument.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\ServiceDocumentFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationCategory.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationContent.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationElementExtension.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationElementExtensionCollection.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationExtensions.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationFeed.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationFeedFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationItem.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationItemFormatter.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationLink.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationPerson.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\SyndicationVersions.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\TextSyndicationContent.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\TextSyndicationContentKind.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\UrlSyndicationContent.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\Workspace.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System.ServiceModel.Syndication\XmlSyndicationContent.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System\UriTemplate.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System\UriTemplateEquivalenceComparer.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System\UriTemplateMatch.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System\UriTemplateMatchException.cs" />\r
+    <Compile Include="..\System.ServiceModel.Web\System\UriTemplateTable.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeAdd.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeAnd.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeArgument.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeArgumentReference.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeArithmeticOperation.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeArrayItem.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeArrayLength.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeAssignment.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeBinaryComparison.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeBinaryOperation.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeBlock.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeBuilder.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeCast.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeClass.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeCustomAttribute.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeDecrement.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeEquals.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeExpression.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeFieldReference.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeFor.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeForeach.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeGenerationHelper.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeIf.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeIncrement.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeIs.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeItem.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeLiteral.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeMethod.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeMethodCall.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeModule.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeNew.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeNewArray.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeNotEquals.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeOr.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeProperty.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodePropertyReference.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeReturn.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeSelect.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeSelfIncrement.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeTryBlock.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeUnaryOperation.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeValueReference.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeVariableDeclaration.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeVariableReference.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeWhen.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeWhile.cs" />\r
+    <Compile Include="Mono.CodeGeneration\CodeWriter.cs" />\r
+    <Compile Include="Mono.CodeGeneration\Exp.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\MD5SHA1.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\TlsHMAC.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\BitConverterLE.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\ChallengeResponse.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\MessageBase.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\NtlmFlags.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\NtlmTargetInformation.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\NtlmVersion.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\Type1Message.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\Type2Message.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Ntlm\Type3Message.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientCertificate.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientCertificateVerify.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientFinished.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientHello.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsClientKeyExchange.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerCertificate.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerCertificateRequest.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerFinished.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerHello.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerHelloDone.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Client\TlsServerKeyExchange.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientCertificate.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientCertificateVerify.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientFinished.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientHello.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsClientKeyExchange.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerCertificate.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerCertificateRequest.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerFinished.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerHello.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerHelloDone.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake.Server\TlsServerKeyExchange.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake\ClientCertificateType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake\HandshakeMessage.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls.Handshake\HandshakeType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\Alert.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\CipherAlgorithmType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\CipherSuite.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\CipherSuiteCollection.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\CipherSuiteFactory.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\ClientContext.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\ClientRecordProtocol.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\ClientSessionCache.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\ContentType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\Context.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\DebugHelper.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\ExchangeAlgorithmType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\HandshakeState.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\HashAlgorithmType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\HttpsClientStream.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\RecordProtocol.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\RSASslSignatureDeformatter.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\RSASslSignatureFormatter.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SecurityCompressionType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SecurityParameters.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SecurityProtocolType.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\ServerContext.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\ServerRecordProtocol.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SslCipherSuite.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SslClientStream.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SslHandshakeHash.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SslServerStream.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\SslStreamBase.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\TlsCipherSuite.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\TlsClientSettings.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\TlsException.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\TlsServerSettings.cs" />\r
+    <Compile Include="Mono.Security.Protocol.Tls\TlsStream.cs" />\r
+    <Compile Include="Mono.Xml.XPath\DTMXPathDocument2.cs" />\r
+    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentBuilder2.cs" />\r
+    <Compile Include="Mono.Xml.XPath\DTMXPathDocumentWriter2.cs" />\r
+    <Compile Include="Mono.Xml.XPath\DTMXPathNavigator2.cs" />\r
+    <Compile Include="Mono.Xml.XPath\DTMXPathNode2.cs" />\r
+    <Compile Include="System.Collections.Generic\KeyedByTypeCollection.cs" />\r
+    <Compile Include="System.Collections.Generic\SynchronizedCollection.cs" />\r
+    <Compile Include="System.Collections.Generic\SynchronizedKeyedCollection.cs" />\r
+    <Compile Include="System.Collections.Generic\SynchronizedReadOnlyCollection.cs" />\r
+    <Compile Include="System.IO\PipeException.cs" />\r
+    <Compile Include="System.ServiceModel.Activation\AspNetIntegrationRequirementsAttribute.cs" />\r
+    <Compile Include="System.ServiceModel.Activation\ServiceHostFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Activation\ServiceHostFactoryBase.cs" />\r
+    <Compile Include="System.ServiceModel.Activation\VirtualPathExtension.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Http\HttpChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Http\HttpChannelListenerEntry.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Http\HttpContextInfo.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Http\HttpListenerManager.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Http\HttpListenerManagerTable.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Http\HttpReplyChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Http\HttpRequestContext.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.NetTcp\PeerDuplexChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpBinaryFrameManager.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpDuplexSessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpReplyChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.NetTcp\TcpRequestChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\MessageSecurityBindingSupport.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecureMessageDecryptor.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecureMessageGenerator.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityCapabilities.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityDuplexSessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityOutputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityReplyChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityRequestChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SecurityRequestContext.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\SupportingTokenInfo.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\WSEncryptedXml.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\WSSecurityMessageHeader.cs" />\r
+    <Compile Include="System.ServiceModel.Channels.Security\WSSignedXml.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\AddressHeader.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\AddressHeaderCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\AddressingVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\AsymmetricSecurityBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BinaryMessageEncoder.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BinaryMessageEncoderFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BinaryMessageEncodingBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\Binding.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BindingContext.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BindingElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BindingParameterCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BodyWriter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\BufferManager.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\CachingCompiler.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ChannelBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ChannelFactoryBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ChannelListenerBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ChannelListenerBase_1.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ChannelManagerBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ChannelParameterCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ChannelPoolSettings.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\CommunicationObject.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\CompilationException.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\CompositeDuplexBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\CompositeDuplexBindingElementImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\CompressionFormat.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ConnectionOrientedTransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ContentType.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\CustomBinding.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\DeliveryFailure.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\DeliveryStatus.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\DuplexChannelBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\DuplexSessionBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\FaultConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HostedTransportConfiguration.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HtmlizedException.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HttpChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HttpCookieContainerBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HttpRequestChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HttpRequestMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HttpResponseMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HttpsTransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\HttpTransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IBindingDeliveryCapabilities.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IBindingMulticastCapabilities.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IBindingRuntimePreferences.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IDuplexChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IDuplexSession.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IDuplexSessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IHttpCookieContainer.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IInputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IInputSession.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IInputSessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\InputChannelBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\InvalidChannelBindingException.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IOutputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IOutputSession.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IOutputSessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IReplyChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IReplySessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IRequestChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\IRequestSessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ISecurityCapabilities.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ISession.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ISessionChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ITransactedBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ITransportTokenAssertionProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\LayeredCommunicationObject.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\LayeredOutputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\LayeredReplyChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\LayeredRequestChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\LocalClientSecuritySettings.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\Message.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageBuffer.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageBufferImpl.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageEncoder.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageEncoderFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageEncodingBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageEncodingBindingElementImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageFault.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageFaultBodyWriter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageHeader.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageHeaderInfo.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageHeaders.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageImpl.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageProperties.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MessageVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MsmqBindingElementBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MsmqChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MsmqChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MsmqInputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MsmqMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MsmqOutputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MsmqTransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MtomMessageEncoder.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MtomMessageEncoderFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\MtomMessageEncodingBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\NamedPipeChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\NamedPipeChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\NamedPipeConnectionPoolSettings.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\NamedPipeReplyChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\NamedPipeRequestChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\NamedPipetransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\OneWayBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\OneWayBindingElementImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\OutputChannelBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PeerChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PeerChannelListener.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PeerCustomResolverBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PeerInputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PeerOutputChannel.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PeerResolverBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PeerTransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PnrpPeerResolverBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PolicyImportHelper.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\PrivacyNoticeBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ReliableSessionBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ReliableSessionBindingElementImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\RemoteEndpointMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ReplyChannelBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\RequestChannelBase.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\RequestContext.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SecurityBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SecurityBindingElementImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\ServiceHostParser.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SslStreamSecurityBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SslStreamSecurityUpgradeAcceptor.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SslStreamSecurityUpgradeProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StandardBindingImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StreamSecurityUpgradeAcceptor.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StreamSecurityUpgradeInitiator.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StreamSecurityUpgradeProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StreamUpgradeAcceptor.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StreamUpgradeBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StreamUpgradeInitiator.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\StreamUpgradeProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SvcHttpHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SvcHttpHandlerFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\SymmetricSecurityBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TcpConnectionPoolSettings.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TcpTransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TextMessageEncoder.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TextMessageEncoderFactory.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TextMessageEncodingBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TransactionFlowBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TransactionFlowBindingElementImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TransactionMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TransportBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TransportBindingElementImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\TransportSecurityBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\UnderstoodHeaders.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\UseManagedPresentationBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\WebSocketTransportSettings.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\WebSocketTransportUsage.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\WindowsStreamSecurityBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\XmlObjectSerializerBodyWriter.cs" />\r
+    <Compile Include="System.ServiceModel.Channels\XmlReaderBodyWriter.cs" />\r
+    <Compile Include="System.ServiceModel.ComIntegration\Dummy.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\AddressHeaderCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\AllowedAudienceUriElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\AllowedAudienceUriElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\AuthenticationMode.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\AuthorizationPolicyTypeElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\AuthorizationPolicyTypeElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BaseAddressElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BaseAddressElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BaseAddressPrefixFilterElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BaseAddressPrefixFilterElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpBindingElement_4_5.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpMessageSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpsBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpsBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BasicHttpsSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BehaviorExtensionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BehaviorsSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BinaryMessageEncodingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BindingElementExtensionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\BindingsSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CallbackDebugElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CallbackTimeoutsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CertificateElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CertificateReferenceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ChannelEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ChannelEndpointElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ChannelPoolSettingsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ClaimTypeElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ClaimTypeElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ClientCredentialsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ClientSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ClientViaElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComContractElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComContractElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComContractsSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComMethodElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComMethodElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CommonBehaviorsSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CommonEndpointBehaviorElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CommonServiceBehaviorElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComPersistableTypeElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComPersistableTypeElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CompositeDuplexElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComUdtElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ComUdtElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ConfigUtil.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ConnectionOrientedTransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CustomBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CustomBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\CustomBindingElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\DataContractSerializerElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\DiagnosticSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\DnsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\EncodingConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\EndpointAddressElementBase.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\EndpointBehaviorElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\EndpointBehaviorElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\EndpointCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\EndToEndTracingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ExtensionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ExtensionElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ExtensionsSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\FederatedMessageSecurityOverHttpElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\HostElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\HostTimeoutsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\HttpBindingBaseElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\HttpDigestClientElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\HttpsTransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\HttpTransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\HttpTransportSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IBindingConfigurationElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IdentityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IPAddressConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IssuedTokenClientBehaviorsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IssuedTokenClientBehaviorsElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IssuedTokenClientElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IssuedTokenParametersElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IssuedTokenParametersEndpointAddressElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\IssuedTokenServiceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\LocalClientSecuritySettingsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\LocalServiceSecuritySettingsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MessageLoggingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MessageSecurityOverHttpElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MessageSecurityOverMsmqElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MessageSecurityOverTcpElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MessageSecurityVersionConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MessageVersionConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MetadataElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MethodStubs.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexBindingBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexHttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexHttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexHttpsBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexHttpsBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexNamedPipeBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexNamedPipeBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexTcpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MexTcpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqBindingElementBase.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqElementBase.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqIntegrationSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqTransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MsmqTransportSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\MtomMessageEncodingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NamedPipeConnectionPoolSettingsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NamedPipeTransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NamedPipeTransportSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NamedServiceModelExtensionCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetMsmqBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetMsmqBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetMsmqSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetNamedPipeBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetNamedPipeBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetNamedPipeSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetPeerTcpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetPeerTcpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetTcpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetTcpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NetTcpSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\NonDualMessageSecurityOverHttpElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\OneWayElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PeerCredentialElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PeerCustomResolverElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PeerResolverElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PeerSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PeerTransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PeerTransportSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PnrpPeerResolverElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PolicyImporterElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PolicyImporterElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PolicyVersionConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\PrivacyNoticeElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ProtocolMappingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ProtocolMappingElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ProtocolMappingSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ReliableMessagingVersionConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ReliableSessionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\RsaElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\SecureConversationServiceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\SecurityAlgorithmSuiteConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\SecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\SecurityElementBase.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceAuthorizationElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceBehaviorElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceBehaviorElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceCredentialsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceDebugElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceEndpointElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceHostingEnvironmentSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceMetadataEndpointCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceMetadataEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceMetadataPublishingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceModelConfigurationElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceModelEnhancedConfigurationElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceModelExtensionCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceModelExtensionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceModelSectionGroup.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServicePrincipalNameElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceSecurityAuditElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServicesSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceThrottlingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\ServiceTimeoutsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\SslStreamSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardBindingElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardBindingOptionalReliableSessionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardBindingReliableSessionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardEndpointCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardEndpointElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardEndpointElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\StandardEndpointsSection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\SynchronousReceiveElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TcpConnectionPoolSettingsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TcpTransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TcpTransportSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TextMessageEncodingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TransactedBatchingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TransactionFlowElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TransactionProtocolConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TransportConfigurationTypeElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TransportConfigurationTypeElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\TransportElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\UseManagedPresentationElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\UserNameServiceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\UserPrincipalNameElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WindowsClientElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WindowsServiceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WindowsStreamSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WS2007FederationHttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WS2007FederationHttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WS2007HttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WS2007HttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WsdlImporterElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WsdlImporterElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSDualHttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSDualHttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSDualHttpSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSFederationHttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSFederationHttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSFederationHttpSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSHttpBindingBaseElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSHttpBindingCollectionElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSHttpBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSHttpSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\WSHttpTransportSecurityElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509CertificateTrustedIssuerElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509CertificateTrustedIssuerElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509ClientCertificateAuthenticationElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509ClientCertificateCredentialsElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509DefaultServiceCertificateElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509InitiatorCertificateClientElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509InitiatorCertificateServiceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509PeerCertificateAuthenticationElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509PeerCertificateElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509RecipientCertificateClientElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509RecipientCertificateServiceElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509ScopedServiceCertificateElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509ScopedServiceCertificateElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\X509ServiceCertificateAuthenticationElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\XmlDictionaryReaderQuotasElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\XmlElementElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\XmlElementElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\XPathMessageFilterElement.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\XPathMessageFilterElementCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Configuration\XPathMessageFilterElementComparer.cs" />\r
+    <Compile Include="System.ServiceModel.Description\CallbackDebugBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\CallbackTimeoutsBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ClientCredentials.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ClientViaBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ContractDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ContractDescriptionGenerator.cs" />\r
+    <Compile Include="System.ServiceModel.Description\CustomPolicyConversionContext.cs" />\r
+    <Compile Include="System.ServiceModel.Description\DataContractSerializerMessageContractImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\DataContractSerializerOperationBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\FaultDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\FaultDescriptionCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IContractBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IContractBehaviorAttribute.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IEndpointBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IMetadataExchange.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IOperationBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IOperationContractGenerationExtension.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IpolicyExporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IPolicyImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IServiceBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IServiceContractGenerationExtension.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IWsdlExporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\IWsdlImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\LocalServiceSecuritySettings.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessageBodyDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessageDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessageDescriptionCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessageHeaderDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessageHeaderDescriptionCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessagePartDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessagePartDescriptionCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessagePropertyDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MessagePropertyDescriptionCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataConversionError.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataExchangeBindings.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataExchangeClient.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataExporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataLocation.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataReference.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataResolver.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataSection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataSectionSerializerBase.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MetadataSet.cs" />\r
+    <Compile Include="System.ServiceModel.Description\MustUnderstandBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\OperationContractGenerationContext.cs" />\r
+    <Compile Include="System.ServiceModel.Description\OperationDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\OperationDescriptionCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\PolicyAssertionCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\PolicyConversionContext.cs" />\r
+    <Compile Include="System.ServiceModel.Description\PolicyVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceAuthorizationBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceContractGenerationContext.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceContractGenerator.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceCredentials.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceDebugBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceDescription.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceEndpoint.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceEndpointCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceMetadataBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceMetadataEndpoint.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceMetadataExtension.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceSecurityAuditBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceThrottlingBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\ServiceTimeoutsBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\SynchronousReceiveBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\TransactedBatchingBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Description\TypedMessageConverter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WsdlContractConversionContext.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WsdlEndpointConversionContext.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WsdlExporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WsdlImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WSTrustMessageConverters.cs" />\r
+    <Compile Include="System.ServiceModel.Description\WSTrustSTSContract.cs" />\r
+    <Compile Include="System.ServiceModel.Description\XmlName.cs" />\r
+    <Compile Include="System.ServiceModel.Description\XmlSerializerMessageContractImporter.cs" />\r
+    <Compile Include="System.ServiceModel.Description\XmlSerializerOperationBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Diagnostics\MessageLoggingSettings.cs" />\r
+    <Compile Include="System.ServiceModel.Diagnostics\MessageLogTraceRecord.cs" />\r
+    <Compile Include="System.ServiceModel.Diagnostics\PerformanceCounterScope.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ActionMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ActionMessageFilterTable.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\BaseMessagesFormatter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\BaseRequestProcessor.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\BaseRequestProcessorHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\CallbackInstanceContextProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ChannelDispatcher.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ChannelDispatcherBase.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ChannelDispatcherCollection.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ClientOperation.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ClientRuntime.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\DataContractSerializerServiceBehavior.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\DefaultInstanceContextProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\DefaultOperationInvoker.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\DispatchOperation.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\DispatchRuntime.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\EndpointAddressMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\EndpointAddressMessageFilterTable.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\EndpointDispatcher.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ErrorProcessingHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ExceptionHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\FaultContractInfo.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\FilterInvalidBodyAccessException.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\FinalizeProcessingHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ICallContextInitializer.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IChannelDispatcherBoundListener.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IChannelInitializer.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IClientMessageFormatter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IClientMessageInspector.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IClientOperationSelector.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IDispatchMessageFormatter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IDispatchMessageInspector.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IDispatchOperationSelector.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IErrorHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IInputSessionShutdown.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IInstanceContextInitializer.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IInstanceContextProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IInstanceProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IInteractiveChannelInitializer.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IMessageFilterTable.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\InitializingHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\InputOrReplyRequestProcessor.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\InstanceContextIdleCallback.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\InstanceManager.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\InvalidBodyAccessException.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IOperationInvoker.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\IParameterInspector.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MatchAllMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MatchNoneMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MessageFilterNodeQuotaExceededException.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MessageFilterTable.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MessageProcessingContext.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MexInstanceContextProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\MultipleMessageFilterMatchesException.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\NavigatorInvalidBodyAccessException.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\OperationInvokerHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\PostReceiveRequestHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\PrefixEndpointAddressMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ReplyHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\SeekableXPathNavigator.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\ServiceThrottle.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\SessionInstanceContextProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\SingletonInstanceContextProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\XmlMessagesFormatter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\XPathMessageContext.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\XPathMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\XPathMessageFilterTable.cs" />\r
+    <Compile Include="System.ServiceModel.Dispatcher\XPathNavigatorException.cs" />\r
+    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationBinding.cs" />\r
+    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationBindingElement.cs" />\r
+    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqIntegrationSecurity.cs" />\r
+    <Compile Include="System.ServiceModel.MsmqIntegration\MsmqMessage.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\CustomPeerResolverService.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\ICustomPeerResolverContract.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\IPeerConnectorContract.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\IPeerResolverContract.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\LocalPeerResolverService.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\PeerCustomResolverSettings.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\PeerReferralPolicy.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\PeerResolverMode.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\PeerResolverSettings.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\RefreshInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\RefreshResponseInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\RefreshResult.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\RegisterInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\RegisterResponseInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\ResolveInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\ResolveResponseInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\ServiceSettingsResponseInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\UnregisterInfo.cs" />\r
+    <Compile Include="System.ServiceModel.PeerResolvers\UpdateInfo.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\AuthenticatorCommunicationObject.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\BinarySecretSecurityToken.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\ClaimTypeRequirement.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\CommunicationSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\CommunicationSecurityTokenProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\DerivedKeySecurityToken.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\IIssuanceSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\InitiatorServiceModelSecurityTokenRequirement.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\InternalEncryptedKeyIdentifierClause.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\ISecurityContextSecurityTokenCache.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\IssuedSecurityTokenHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\IssuedSecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\IssuedSecurityTokenProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\IssuedTokenCommunicationObject.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\KerberosSecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\ProviderCommunicationObject.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\RecipientServiceModelSecurityTokenRequirement.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\RenewedSecurityTokenHandler.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\RsaSecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SecureConversationSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SecureConversationSecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SecurityContextSecurityToken.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SecurityContextSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SecurityContextSecurityTokenResolver.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SecurityTokenReferenceStyle.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\ServiceModelSecurityTokenRequirement.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\ServiceModelSecurityTokenTypes.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SpnegoSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SpnegoSecurityTokenProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SslnegoCookieResolver.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SslSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SslSecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SslSecurityTokenProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SspiClientSecurityTokenAuthenticator.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SspiSecurityToken.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SspiSecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SspiSession.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\SupportingTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\TlsClientSession.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\TlsServerSession.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\UserNameSecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\WrappedKeySecurityToken.cs" />\r
+    <Compile Include="System.ServiceModel.Security.Tokens\X509SecurityTokenParameters.cs" />\r
+    <Compile Include="System.ServiceModel.Security\BasicSecurityProfileVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Security\BinarySecretKeyIdentifierClause.cs" />\r
+    <Compile Include="System.ServiceModel.Security\ChannelProtectionRequirements.cs" />\r
+    <Compile Include="System.ServiceModel.Security\DataProtectionSecurityStateEncoder.cs" />\r
+    <Compile Include="System.ServiceModel.Security\ExpiredSecurityTokenException.cs" />\r
+    <Compile Include="System.ServiceModel.Security\HttpDigestClientCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\IdentityVerifier.cs" />\r
+    <Compile Include="System.ServiceModel.Security\IEndpointIdentityProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Security\InfocardInteractiveChannelInitializer.cs" />\r
+    <Compile Include="System.ServiceModel.Security\ISecureConversationSession.cs" />\r
+    <Compile Include="System.ServiceModel.Security\ISecuritySession.cs" />\r
+    <Compile Include="System.ServiceModel.Security\IssuedTokenClientCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\IssuedTokenServiceCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\KeyEntropyMode.cs" />\r
+    <Compile Include="System.ServiceModel.Security\KeyNameIdentifierClause.cs" />\r
+    <Compile Include="System.ServiceModel.Security\MessagePartSpecification.cs" />\r
+    <Compile Include="System.ServiceModel.Security\MessageProtectionOrder.cs" />\r
+    <Compile Include="System.ServiceModel.Security\MessageSecurityException.cs" />\r
+    <Compile Include="System.ServiceModel.Security\PeerCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\ScopedMessagePartSpecification.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecureConversationServiceCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecureConversationVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityAccessDeniedException.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityAlgorithmSuite.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityContextKeyIdentifierClause.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityCredentialsManager.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityMessageProperty.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityNegotiationException.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityPolicyVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityStateEncoder.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityTokenAttachmentMode.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityTokenSpecification.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SecurityVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Security\ServiceCredentialsSecurityTokenManager.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SspiSecurityTokenProvider.cs" />\r
+    <Compile Include="System.ServiceModel.Security\SupportingTokenSpecification.cs" />\r
+    <Compile Include="System.ServiceModel.Security\TrustVersion.cs" />\r
+    <Compile Include="System.ServiceModel.Security\UnionSecurityTokenResolver.cs" />\r
+    <Compile Include="System.ServiceModel.Security\UserNamePasswordClientCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\UserNamePasswordServiceCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\WindowsClientCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\WindowsServiceCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\WSSecurityTokenSerializer.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509CertificateInitiatorClientCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509CertificateInitiatorServiceCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509CertificateRecipientClientCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509CertificateRecipientServiceCredential.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509ClientCertificateAuthentication.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509PeerCertificateAuthentication.cs" />\r
+    <Compile Include="System.ServiceModel.Security\X509ServiceCertificateAuthentication.cs" />\r
+    <Compile Include="System.ServiceModel\ActionNotSupportedException.cs" />\r
+    <Compile Include="System.ServiceModel\AddressAccessDeniedException.cs" />\r
+    <Compile Include="System.ServiceModel\AddressAlreadyInUseException.cs" />\r
+    <Compile Include="System.ServiceModel\AllEnums.cs" />\r
+    <Compile Include="System.ServiceModel\BasicHttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\BasicHttpBinding_4_5.cs" />\r
+    <Compile Include="System.ServiceModel\BasicHttpMessageSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\BasicHttpsBinding.cs" />\r
+    <Compile Include="System.ServiceModel\BasicHttpSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\BasicHttpsSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\CallbackBehaviorAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\ChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel\ChannelFactory_1.cs" />\r
+    <Compile Include="System.ServiceModel\ChannelTerminatedException.cs" />\r
+    <Compile Include="System.ServiceModel\ClientBase.cs" />\r
+    <Compile Include="System.ServiceModel\ClientCredentialsSecurityTokenManager.cs" />\r
+    <Compile Include="System.ServiceModel\ClientProxyGenerator.cs" />\r
+    <Compile Include="System.ServiceModel\ClientRealProxy.cs" />\r
+    <Compile Include="System.ServiceModel\ClientRuntimeChannel.cs" />\r
+    <Compile Include="System.ServiceModel\CommunicationException.cs" />\r
+    <Compile Include="System.ServiceModel\CommunicationObjectAbortedException.cs" />\r
+    <Compile Include="System.ServiceModel\CommunicationObjectFaultedException.cs" />\r
+    <Compile Include="System.ServiceModel\Constants.cs" />\r
+    <Compile Include="System.ServiceModel\DataContractFormatAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\DefaultCommunicationTimeouts.cs" />\r
+    <Compile Include="System.ServiceModel\DeliveryRequirementsAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\DnsEndpointIdentity.cs" />\r
+    <Compile Include="System.ServiceModel\Dummy.cs" />\r
+    <Compile Include="System.ServiceModel\DuplexChannelFactory.cs" />\r
+    <Compile Include="System.ServiceModel\DuplexClientBase.cs" />\r
+    <Compile Include="System.ServiceModel\DuplexClientRuntimeChannel.cs" />\r
+    <Compile Include="System.ServiceModel\EndpointAddress.cs" />\r
+    <Compile Include="System.ServiceModel\EndpointAddress10.cs" />\r
+    <Compile Include="System.ServiceModel\EndpointAddressAugust2004.cs" />\r
+    <Compile Include="System.ServiceModel\EndpointAddressBuilder.cs" />\r
+    <Compile Include="System.ServiceModel\EndpointIdentity.cs" />\r
+    <Compile Include="System.ServiceModel\EndpointNotFoundException.cs" />\r
+    <Compile Include="System.ServiceModel\EnvelopeVersion.cs" />\r
+    <Compile Include="System.ServiceModel\ExceptionDetail.cs" />\r
+    <Compile Include="System.ServiceModel\ExtensionCollection.cs" />\r
+    <Compile Include="System.ServiceModel\FaultCode.cs" />\r
+    <Compile Include="System.ServiceModel\FaultContractAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\FaultException.cs" />\r
+    <Compile Include="System.ServiceModel\FaultException_1.cs" />\r
+    <Compile Include="System.ServiceModel\FaultReason.cs" />\r
+    <Compile Include="System.ServiceModel\FaultReasonText.cs" />\r
+    <Compile Include="System.ServiceModel\FederatedMessageSecurityOverHttp.cs" />\r
+    <Compile Include="System.ServiceModel\HttpBindingBase.cs" />\r
+    <Compile Include="System.ServiceModel\HttpTransportSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\IClientChannel.cs" />\r
+    <Compile Include="System.ServiceModel\ICommunicationObject.cs" />\r
+    <Compile Include="System.ServiceModel\IContextChannel.cs" />\r
+    <Compile Include="System.ServiceModel\IDefaultCommunicationTimeouts.cs" />\r
+    <Compile Include="System.ServiceModel\IDuplexClientChannel.cs" />\r
+    <Compile Include="System.ServiceModel\IExtensibleObject.cs" />\r
+    <Compile Include="System.ServiceModel\IExtension.cs" />\r
+    <Compile Include="System.ServiceModel\IExtensionCollection.cs" />\r
+    <Compile Include="System.ServiceModel\InstanceContext.cs" />\r
+    <Compile Include="System.ServiceModel\InvalidMessageContractException.cs" />\r
+    <Compile Include="System.ServiceModel\IOnlineStatus.cs" />\r
+    <Compile Include="System.ServiceModel\IServiceChannel.cs" />\r
+    <Compile Include="System.ServiceModel\Logger.cs" />\r
+    <Compile Include="System.ServiceModel\MessageBodyAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\MessageContractAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\MessageContractMemberAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\MessageHeader_1.cs" />\r
+    <Compile Include="System.ServiceModel\MessageHeaderArrayAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\MessageHeaderAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\MessageHeaderException.cs" />\r
+    <Compile Include="System.ServiceModel\MessageParameterAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\MessagePropertyAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\MessageSecurityOverHttp.cs" />\r
+    <Compile Include="System.ServiceModel\MessageSecurityOverMsmq.cs" />\r
+    <Compile Include="System.ServiceModel\MessageSecurityOverTcp.cs" />\r
+    <Compile Include="System.ServiceModel\MessageSecurityVersion.cs" />\r
+    <Compile Include="System.ServiceModel\MsmqBindingBase.cs" />\r
+    <Compile Include="System.ServiceModel\MsmqException.cs" />\r
+    <Compile Include="System.ServiceModel\MsmqPoisonMessageException.cs" />\r
+    <Compile Include="System.ServiceModel\MsmqTransportSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\NamedPipeTransportSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\NetHttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\NetHttpMessageEncoding.cs" />\r
+    <Compile Include="System.ServiceModel\NetMsmqBinding.cs" />\r
+    <Compile Include="System.ServiceModel\NetMsmqSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\NetNamedPipeBinding.cs" />\r
+    <Compile Include="System.ServiceModel\NetNamedPipeSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\NetPeerTcpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\NetTcpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\NetTcpSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\NonDualMessageSecurityOverHttp.cs" />\r
+    <Compile Include="System.ServiceModel\OperationBehaviorAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\OperationContext.cs" />\r
+    <Compile Include="System.ServiceModel\OperationContextScope.cs" />\r
+    <Compile Include="System.ServiceModel\OperationContractAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\OptionalReliableSession.cs" />\r
+    <Compile Include="System.ServiceModel\PeerMessagePropagationMessageFilter.cs" />\r
+    <Compile Include="System.ServiceModel\PeerNode.cs" />\r
+    <Compile Include="System.ServiceModel\PeerNodeAddress.cs" />\r
+    <Compile Include="System.ServiceModel\PeerResolver.cs" />\r
+    <Compile Include="System.ServiceModel\PeerResolverImpl.cs" />\r
+    <Compile Include="System.ServiceModel\PeerSecuritySettings.cs" />\r
+    <Compile Include="System.ServiceModel\PeerTransportSecuritySettings.cs" />\r
+    <Compile Include="System.ServiceModel\PoisonMessageException.cs" />\r
+    <Compile Include="System.ServiceModel\ProtocolException.cs" />\r
+    <Compile Include="System.ServiceModel\QuotaExceededException.cs" />\r
+    <Compile Include="System.ServiceModel\ReliableMessagingVersion.cs" />\r
+    <Compile Include="System.ServiceModel\ReliableSession.cs" />\r
+    <Compile Include="System.ServiceModel\RsaEndpointIdentity.cs" />\r
+    <Compile Include="System.ServiceModel\ServerTooBusyException.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceActivationException.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceAuthorizationManager.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceBehaviorAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceContractAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceHost.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceHostBase.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceHostingEnvironment.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceKnownTypeAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceProxyGenerator.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceRuntimeChannel.cs" />\r
+    <Compile Include="System.ServiceModel\ServiceSecurityContext.cs" />\r
+    <Compile Include="System.ServiceModel\SilverlightClientConfigLoader.cs" />\r
+    <Compile Include="System.ServiceModel\SpnEndpointIdentity.cs" />\r
+    <Compile Include="System.ServiceModel\TcpTransportSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\TransactionFlowAttribute.cs" />\r
+    <Compile Include="System.ServiceModel\TransactionProtocol.cs" />\r
+    <Compile Include="System.ServiceModel\TransferMode.cs" />\r
+    <Compile Include="System.ServiceModel\UnknownMessageReceivedEventArgs.cs" />\r
+    <Compile Include="System.ServiceModel\UpnEndpointIdentity.cs" />\r
+    <Compile Include="System.ServiceModel\UriSchemeKeyedCollection.cs" />\r
+    <Compile Include="System.ServiceModel\WS2007FederationHttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\WS2007HttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\WSDualHttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\WSDualHttpSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\WSFederationHttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\WSFederationHttpSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\WSHttpBinding.cs" />\r
+    <Compile Include="System.ServiceModel\WSHttpBindingBase.cs" />\r
+    <Compile Include="System.ServiceModel\WSHttpSecurity.cs" />\r
+    <Compile Include="System.ServiceModel\X509CertificateEndpointIdentity.cs" />\r
+    <Compile Include="System.ServiceModel\XmlSerializerFormatAttribute.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Security/System.Security-net_4_x.csproj">\r
+      <Project>{3ED36717-A9D1-4289-8949-9B7F39766DEB}</Project>\r
+      <Name>System.Security-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.IdentityModel/System.IdentityModel-net_4_x.csproj">\r
+      <Project>{FA718FA9-32C2-4BAC-BAAB-DB3A7A326D4C}</Project>\r
+      <Name>System.IdentityModel-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.IdentityModel.Selectors/System.IdentityModel.Selectors-net_4_x.csproj">\r
+      <Project>{BBA32980-B28C-476D-AEB0-892F1B1DFB5E}</Project>\r
+      <Name>System.IdentityModel.Selectors-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Transactions/System.Transactions-net_4_x.csproj">\r
+      <Project>{3821C69F-220D-4231-992C-0FE05311A005}</Project>\r
+      <Name>System.Transactions-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Messaging/System.Messaging-net_4_x.csproj">\r
+      <Project>{4AC19C4C-5998-4F55-9C65-55ACB8D71AB2}</Project>\r
+      <Name>System.Messaging-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Services/System.Web.Services-net_4_x.csproj">\r
+      <Project>{E43ADBA7-5DB9-466B-90C6-FFFDA520848D}</Project>\r
+      <Name>System.Web.Services-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Security/Mono.Security-net_4_x.csproj">\r
+      <Project>{42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}</Project>\r
+      <Name>Mono.Security-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.ApplicationServices/System.Web.ApplicationServices-net_4_x.csproj">\r
+      <Project>{928432BE-3518-4103-97F6-48B9658588A6}</Project>\r
+      <Name>System.Web.ApplicationServices-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="resources/WS-Addressing.schema">\r
+      <LogicalName>WS-Addressing.schema</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/ws-addr.xsd">\r
+      <LogicalName>ws-addr.xsd</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
index 16c38c77932c39409c4349ee2ea501d67051c820..03e7cad1f1c4f7eff0afaab6e7c41ebd1801f848 100644 (file)
@@ -92,8 +92,8 @@ namespace System.ServiceModel.Channels.Http
                        AbortConnections (timeout);
                        // FIXME: this wait is sort of hack (because it should not be required), but without it some tests are blocked.
                        // This hack even had better be moved to base.CancelAsync().
-                       if (CurrentAsyncResult != null)
-                               CurrentAsyncResult.AsyncWaitHandle.WaitOne (TimeSpan.FromMilliseconds (300));
+//                     if (CurrentAsyncResult != null)
+//                             CurrentAsyncResult.AsyncWaitHandle.WaitOne (TimeSpan.FromMilliseconds (300));
                        return base.CancelAsync (timeout);
                }
 
index d73b0866495cf0a32fe3ef8b2796ea619e8a36f2..4e47ecf0035d8fda5470806c3f5ad8686b0c21f7 100644 (file)
@@ -87,15 +87,16 @@ namespace System.ServiceModel.Channels
 
                protected override void OnClose (TimeSpan timeout)
                {
-                       if (CurrentAsyncThread != null)
+                       if (currentAsyncThreads.Count > 0)
                                if (!CancelAsync (timeout))
-                                       CurrentAsyncThread.Abort ();
+                                       foreach (Thread asyncThread in currentAsyncThreads)
+                                               asyncThread.Abort ();
                }
 
                public virtual bool CancelAsync (TimeSpan timeout)
                {
                        // FIXME: It should wait for the actual completion.
-                       return CurrentAsyncResult == null;
+                       return currentAsyncResults.Count > 0;
                        //return CurrentAsyncResult == null || CurrentAsyncResult.AsyncWaitHandle.WaitOne (timeout);
                }
 
@@ -111,18 +112,18 @@ namespace System.ServiceModel.Channels
                TryReceiveDelegate try_recv_delegate;
 
                object async_result_lock = new object ();
-               protected Thread CurrentAsyncThread { get; private set; }
-               protected IAsyncResult CurrentAsyncResult { get; private set; }
+               HashSet<Thread> currentAsyncThreads = new HashSet<Thread>();
+               HashSet<IAsyncResult> currentAsyncResults = new HashSet<IAsyncResult>();
 
                public virtual IAsyncResult BeginTryReceiveRequest (TimeSpan timeout, AsyncCallback callback, object state)
                {
-                       if (CurrentAsyncResult != null)
-                               throw new InvalidOperationException ("Another async TryReceiveRequest operation is in progress");
+                       IAsyncResult result = null;
+
                        if (try_recv_delegate == null)
                                try_recv_delegate = new TryReceiveDelegate (delegate (TimeSpan tout, out RequestContext ctx) {
                                        lock (async_result_lock) {
-                                               if (CurrentAsyncResult != null)
-                                                       CurrentAsyncThread = Thread.CurrentThread;
+                                               if (currentAsyncResults.Contains (result))
+                                                       currentAsyncThreads.Add (Thread.CurrentThread);
                                        }
                                        try {
                                                return TryReceiveRequest (tout, out ctx);
@@ -143,19 +144,19 @@ namespace System.ServiceModel.Channels
                                                //the whole app.  Ignore for now
                                        } finally {
                                                lock (async_result_lock) {
-                                                       CurrentAsyncResult = null;
-                                                       CurrentAsyncThread = null;
+                                                       currentAsyncResults.Remove (result);
+                                                       currentAsyncThreads.Remove (Thread.CurrentThread);
                                                }
                                        }
                                        ctx = null;
                                        return false;
                                        });
                        RequestContext dummy;
-                       IAsyncResult result;
                        lock (async_result_lock) {
-                               result = CurrentAsyncResult = try_recv_delegate.BeginInvoke (timeout, out dummy, callback, state);
+                               result = try_recv_delegate.BeginInvoke (timeout, out dummy, callback, state);
+                               currentAsyncResults.Add (result);
                        }
-                       // Note that at this point CurrentAsyncResult can be null here if delegate has run to completion
+                       // Note that at this point result can be missing from currentAsyncResults here if delegate has run to completion
                        return result;
                }
 
index a7665b8cab6daa0a6a334a3cf3561d08c3bfdbd5..80238d41ff89bf3ee89270260cc6cbfb82a4f12d 100644 (file)
@@ -139,6 +139,45 @@ namespace System.ServiceModel.Description
                        return ret;
                }
 
+               internal static Type GetContractAssignableToInterfaces(Type given, Type [] givenInterfaces)
+               {
+                       if ((given != null) && (givenInterfaces.Count() < 1))
+                               return null;
+                       Dictionary<Type,int> interfaceGraph = new Dictionary<Type,int> ();
+                       foreach (var smaller in givenInterfaces) {
+                               interfaceGraph [smaller] = 0;
+                               foreach (var bigger in givenInterfaces) {
+                                       if (smaller.IsAssignableFrom (bigger)) {
+                                               interfaceGraph [smaller]++;
+                                       }
+                               }
+                       }
+
+                       List<Type> possibleInterfaces = new List<Type> ();
+                       foreach (var node in interfaceGraph) {
+                               if (node.Value == 1) {
+                                       possibleInterfaces.Add(node.Key);
+                               }
+                       }
+                       // For this purpose a contract is a set of interfaces. it is necessary to find the interface representative of rest of the set. It will be assignable to all of 
+                       // the others but can only be assigned to by itself. This will give it  count of ! in its slot in the interfaceGraph. To be a valid set there can be only one with a count of one
+                       // in its slot.  More results in InvalidOperation exceptioni with ambigours error message, less means that the interface we want is the one passed in by the parameter given
+                       // and by returning null we give the callign method permission to use it..
+                       switch (possibleInterfaces.Count()) 
+                       {
+                               case 0:
+                               break;
+                               case 1:
+                               return possibleInterfaces [0];
+                               break;
+                               default:
+                               if (!given.IsInterface) 
+                                       throw new InvalidOperationException ("The contract type of " + given + " is ambiguous: can be either " + possibleInterfaces[0] + " or " + possibleInterfaces[1]);
+                               break;
+                       }
+                       return null;
+               }
+
                internal static ContractDescription GetContractInternal (Type givenContractType, Type givenServiceType, Type serviceTypeForCallback)
                {
                        if (givenContractType == null)
@@ -153,16 +192,12 @@ namespace System.ServiceModel.Description
                                exactContractType = givenContractType;
                                sca = contracts [givenContractType];
                        } else {
-                               foreach (Type t in contracts.Keys)
-                                       if (t.IsAssignableFrom(givenContractType)) {
-                                               if (t.IsAssignableFrom (exactContractType)) // exact = IDerived, t = IBase
-                                                       continue;
-                                               if (sca != null && (exactContractType == null || !exactContractType.IsAssignableFrom (t))) // t = IDerived, exact = IBase
-                                                       throw new InvalidOperationException ("The contract type of " + givenContractType + " is ambiguous: can be either " + exactContractType + " or " + t);
-                                               exactContractType = t;
-                                               sca = contracts [t];
-                                       }
+                               Type[] contractTypes = contracts.Keys.ToArray() as Type [];
+                               exactContractType = GetContractAssignableToInterfaces(givenContractType, contractTypes);
+                               if (exactContractType != null)
+                                       sca = contracts[exactContractType];
                        }
+
                        if (exactContractType == null)
                                exactContractType = givenContractType;
                        if (sca == null) {
@@ -171,6 +206,7 @@ namespace System.ServiceModel.Description
                                else
                                        return null; // no contract
                        }
+
                        string name = sca.Name ?? exactContractType.Name;
                        string ns = sca.Namespace ?? "http://tempuri.org/";
 
@@ -197,17 +233,18 @@ namespace System.ServiceModel.Description
                         */
 
                        var inherited = new Collection<ContractDescription> ();
-                       foreach (var it in cd.ContractType.GetInterfaces ()) {
+               var interfaces = cd.ContractType.GetInterfaces ();
+                       foreach (var it in interfaces ) {
                                var icd = GetContractInternal (it, givenServiceType, null);
                                if (icd != null)
                                        inherited.Add (icd);
                        }
 
                        foreach (var icd in inherited) {
-                               foreach (var od in icd.Operations)
-                                       if (!cd.Operations.Any(o => o.Name == od.Name && o.SyncMethod == od.SyncMethod && 
-                                                              o.BeginMethod == od.BeginMethod && o.InCallbackContract == od.InCallbackContract))
+                               foreach (var od in icd.Operations) {
+                                       if (!cd.Operations.Any (o => o.Name == od.Name && o.SyncMethod == od.SyncMethod && o.BeginMethod == od.BeginMethod && o.InCallbackContract == od.InCallbackContract))
                                                cd.Operations.Add (od);
+                               }
                        }
 
                        FillOperationsForInterface (cd, cd.ContractType, givenServiceType, false);
index ca5e2e34c81bbd40723ec97a1865f59a52b58207..65b5c8cf38ae6913b2482b54609ecc8ee45064e4 100644 (file)
@@ -455,8 +455,11 @@ namespace System.ServiceModel.Dispatcher
                        public void CloseInput ()
                        {
                                foreach (var ch in channels.ToArray ()) {
-                                       if (ch.State == CommunicationState.Closed)
-                                               RemoveChannel (ch);
+                                       if (ch.State == CommunicationState.Closed) {
+                                               lock (channels) {
+                                                       RemoveChannel (ch);
+                                               }
+                                       }
                                        else {
                                                try {
                                                        ch.Close (close_timeout - (DateTime.Now - close_started));
@@ -584,10 +587,14 @@ namespace System.ServiceModel.Dispatcher
                        {
                                Message msg;
                                var input = (IInputChannel) result.AsyncState;
-                               if (input.EndTryReceive (result, out msg))
-                                       ProcessInput (input, msg);
-                               else
+                               try {
+                                       if (input.EndTryReceive (result, out msg))
+                                               ProcessInput (input, msg);
+                                       else
+                                               input.Close ();
+                               } catch (ObjectDisposedException) {
                                        input.Close ();
+                               }
                        }
 
                        void ProcessRequest (IReplyChannel reply, RequestContext rc)
index 354d4c8b410809c434d8f2f7966383578f56c29d..36ea57b5b9fd7b6170cc447d46b2da4cc1f19b26 100644 (file)
@@ -461,8 +461,6 @@ namespace System.ServiceModel.MonoInternal
                        if (p == parameters)
                                return retval;
 
-                       if (p.Length != parameters.Length)
-                               throw new InvalidOperationException ();
                        Array.Copy (p, parameters, p.Length);
                        return retval;
                }
index 19236d062c9681c9f91effe9d65222360fa7eaee..2fed9fb3cdb9ff644e3bc27dddc450c3aa99d8a0 100644 (file)
@@ -101,7 +101,9 @@ namespace System.ServiceModel
                        ContractDescription cd = GetExistingContract (implementedContract);
                        if (cd == null) {
                                cd = ContractDescription.GetContract (implementedContract);
-                               contracts.Add (cd.ContractType.FullName, cd);
+                               if (!contracts.ContainsKey (cd.ContractType.FullName)) {
+                                       contracts.Add (cd.ContractType.FullName, cd);
+                               }
                        }
 
                        return AddServiceEndpointCore (cd, binding, ea, listenUri);
@@ -121,7 +123,8 @@ namespace System.ServiceModel
                        contracts = new Dictionary<string,ContractDescription> ();
                        implementedContracts = contracts;
                        ServiceDescription sd;
-                       foreach (ContractDescription cd in GetServiceContractDescriptions())
+                       IEnumerable<ContractDescription>  contractDescriptions = GetServiceContractDescriptions ();
+                       foreach (ContractDescription cd in contractDescriptions)
                                contracts.Add (cd.ContractType.FullName, cd);
 
                        if (SingletonInstance != null) {
index deb325709e5eb9cb1235044bf952f85994b148c6..0cde2c9bdec8b0b276078978bc3ed79db1fe8434 100644 (file)
@@ -128,6 +128,7 @@ System.ServiceModel.Description/WsdlImporterTest.cs
 System.ServiceModel.Dispatcher/ActionFilterTest.cs
 System.ServiceModel.Dispatcher/Bug652331Test.cs
 System.ServiceModel.Dispatcher/Bug652331_2Test.cs
+System.ServiceModel.Dispatcher/Bug32886Test.cs
 System.ServiceModel.Dispatcher/ChannelDispatcherTest.cs
 System.ServiceModel.Dispatcher/DispatchOperationTest.cs
 System.ServiceModel.Dispatcher/DispatchRuntimeTest.cs
index f6c297d3c9ba9f6cdefa62f67511f99c33bd4b49..77430e87481bf6eadd81b3beda8756b3a0bccc29 100644 (file)
@@ -1009,5 +1009,82 @@ namespace MonoTests.System.ServiceModel.Description
                        [MyWebGet]
                        string Get ();
                }
+
+               public interface IA1 : IB1, IB2 
+               {
+                       void MethodA1 ();
+               }
+
+               public interface IA2 : IB1, IB2 
+               {
+                       void MethodA2 ();
+               }
+
+               [ServiceContract]
+               public interface IB1 : IC1, IC2 
+               {
+                       [OperationContract]                             
+                       void MethodB1 ();
+               }
+
+               [ServiceContract]
+               public interface IB2 : IC1, IC2 
+               {
+                       [OperationContract]                             
+                       void MethodB2 ();
+               }
+
+               public interface IC1 {}
+               public interface IC2 {}
+
+               [ServiceContract]
+               public interface IS : IA1, IA2 
+               {
+                       [OperationContract]                             
+                       void MethodS()  ;       
+               }
+
+               public class S : IS
+               {
+                       #region IS implementation
+                       public void MethodS ()
+                       {
+                               throw new NotImplementedException ();
+                       }
+                       #endregion
+                       #region IA2 implementation
+                       public void MethodA2 ()
+                       {
+                               throw new NotImplementedException ();
+                       }
+                       #endregion
+                       #region IA1 implementation
+                       public void MethodA1 ()
+                       {
+                               throw new NotImplementedException ();
+                       }
+                       #endregion
+                       #region IB2 implementation
+                       public void MethodB2 ()
+                       {
+                               throw new NotImplementedException ();
+                       }
+                       #endregion
+                       #region IB1 implementation
+                       public void MethodB1 ()
+                       {
+                               throw new NotImplementedException ();
+                       }
+                       #endregion
+
+               }
+               [Test]
+               public void DualSpreadingInheritanceTest()
+               {
+                       var cd = ContractDescription.GetContract (typeof(S));
+                       Assert.IsNotNull(cd);
+                       Assert.IsTrue (cd.Name == "IS");
+               }
+
        }
 }
diff --git a/mcs/class/System.ServiceModel/Test/System.ServiceModel.Dispatcher/Bug32886Test.cs b/mcs/class/System.ServiceModel/Test/System.ServiceModel.Dispatcher/Bug32886Test.cs
new file mode 100644 (file)
index 0000000..1562ba1
--- /dev/null
@@ -0,0 +1,706 @@
+//
+// Author:
+//       Martin Baulig <martin.baulig@xamarin.com>
+//
+// Copyright (c) 2015 Xamarin, 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.Linq;
+using System.Runtime.Serialization;
+using System.ServiceModel;
+using System.ServiceModel.Description;
+using System.Threading;
+using NUnit.Framework;
+
+using WebServiceMoonlightTest.ServiceReference1;
+
+using MonoTests.Helpers;
+
+namespace MonoTests.System.ServiceModel.Dispatcher
+{
+       [TestFixture]
+       public class Bug32886
+       {
+               [Test]
+               public void Bug32886_Test () // test in one of the comment
+               {
+                       // Init service
+                       int port = NetworkHelpers.FindFreePort ();
+                       ServiceHost serviceHost = new ServiceHost (typeof (TempConvertSoapImpl), new Uri ("http://localhost:" + port + "/TempConvertSoap"));
+                       serviceHost.AddServiceEndpoint (typeof (TempConvertSoap), new BasicHttpBinding (), string.Empty);
+
+                       // Enable metadata exchange (WSDL publishing)
+                       var mexBehavior = new ServiceMetadataBehavior ();
+                       mexBehavior.HttpGetEnabled = true;
+                       serviceHost.Description.Behaviors.Add (mexBehavior);
+                       serviceHost.AddServiceEndpoint (typeof (IMetadataExchange), MetadataExchangeBindings.CreateMexHttpBinding (), "mex");
+
+                       serviceHost.Open ();
+
+                       try {
+                               // client
+                               var binding = new BasicHttpBinding ();
+                               var remoteAddress = new EndpointAddress ("http://localhost:" + port + "/TempConvertSoap");
+                               var client = new TempConvertSoapClient (binding, remoteAddress);
+
+                               var wait = new ManualResetEvent (false);
+                               client.CelsiusToFahrenheitCompleted += delegate (object o, CelsiusToFahrenheitCompletedEventArgs e) {
+                                       if (e.Error != null)
+                                               throw e.Error;
+                                       Assert.AreEqual ("76.1", e.Result, "#1");
+                                       wait.Set ();
+                               };
+
+                               client.CelsiusToFahrenheitAsync ("24.5");
+                               if (!wait.WaitOne (TimeSpan.FromSeconds (20)))
+                                       Assert.Fail ("timeout");
+                       } finally {
+                               serviceHost.Close ();
+                       }
+               }
+
+               class TempConvertSoapImpl : TempConvertSoap
+               {
+                       public FahrenheitToCelsiusResponse FarenheitToCelsius (FahrenheitToCelsiusRequest request)
+                       {
+                               var farenheit = double.Parse (request.Body.Fahrenheit);
+                               var celsius = ((farenheit - 32) / 9) * 5;
+                               return new FahrenheitToCelsiusResponse (new FahrenheitToCelsiusResponseBody (celsius.ToString ()));
+                       }
+
+                       public CelsiusToFahrenheitResponse CelsiusToFarenheit (CelsiusToFahrenheitRequest request)
+                       {
+                               var celsius = double.Parse (request.Body.Celsius);
+                               var farenheit = ((celsius * 9) / 5) + 32;
+                               return new CelsiusToFahrenheitResponse (new CelsiusToFahrenheitResponseBody (farenheit.ToString ()));
+                       }
+
+                       Func<FahrenheitToCelsiusRequest,FahrenheitToCelsiusResponse> farenheitToCelsius;
+                       Func<CelsiusToFahrenheitRequest,CelsiusToFahrenheitResponse> celsiusToFarenheit;
+
+                       public IAsyncResult BeginFahrenheitToCelsius (FahrenheitToCelsiusRequest request, AsyncCallback callback, object asyncState)
+                       {
+                               if (farenheitToCelsius == null)
+                                       farenheitToCelsius = new Func<FahrenheitToCelsiusRequest,FahrenheitToCelsiusResponse> (FarenheitToCelsius);
+                               return farenheitToCelsius.BeginInvoke (request, callback, asyncState);
+                       }
+
+                       public FahrenheitToCelsiusResponse EndFahrenheitToCelsius (IAsyncResult result)
+                       {
+                               return farenheitToCelsius.EndInvoke (result);
+                       }
+
+                       public IAsyncResult BeginCelsiusToFahrenheit (CelsiusToFahrenheitRequest request, AsyncCallback callback, object asyncState)
+                       {
+                               if (celsiusToFarenheit == null)
+                                       celsiusToFarenheit = new Func<CelsiusToFahrenheitRequest,CelsiusToFahrenheitResponse> (CelsiusToFarenheit);
+                               return celsiusToFarenheit.BeginInvoke (request, callback, asyncState);
+                       }
+
+                       public CelsiusToFahrenheitResponse EndCelsiusToFahrenheit (IAsyncResult result)
+                       {
+                               return celsiusToFarenheit.EndInvoke (result);
+                       }
+               }
+       }
+}
+
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     This code was generated by a tool.
+//     Runtime Version:4.0.30319.34003
+//
+//     Changes to this file may cause incorrect behavior and will be lost if
+//     the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+// 
+// This code was auto-generated by SlSvcUtil, version 5.0.61118.0
+// 
+
+
+[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")]
+[System.ServiceModel.ServiceContractAttribute (Namespace = "http://www.w3schools.com/webservices/", ConfigurationName = "TempConvertSoap")]
+public interface TempConvertSoap
+{
+
+       [System.ServiceModel.OperationContractAttribute (AsyncPattern = true, Action = "http://www.w3schools.com/webservices/FahrenheitToCelsius", ReplyAction = "*")]
+       System.IAsyncResult BeginFahrenheitToCelsius (FahrenheitToCelsiusRequest request, System.AsyncCallback callback, object asyncState);
+
+       FahrenheitToCelsiusResponse EndFahrenheitToCelsius (System.IAsyncResult result);
+
+       [System.ServiceModel.OperationContractAttribute (AsyncPattern = true, Action = "http://www.w3schools.com/webservices/CelsiusToFahrenheit", ReplyAction = "*")]
+       System.IAsyncResult BeginCelsiusToFahrenheit (CelsiusToFahrenheitRequest request, System.AsyncCallback callback, object asyncState);
+
+       CelsiusToFahrenheitResponse EndCelsiusToFahrenheit (System.IAsyncResult result);
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute ()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")]
+[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+[System.ServiceModel.MessageContractAttribute (IsWrapped = false)]
+public partial class FahrenheitToCelsiusRequest
+{
+
+       [System.ServiceModel.MessageBodyMemberAttribute (Name = "FahrenheitToCelsius", Namespace = "http://www.w3schools.com/webservices/", Order = 0)]
+       public FahrenheitToCelsiusRequestBody Body;
+
+       public FahrenheitToCelsiusRequest ()
+       {
+       }
+
+       public FahrenheitToCelsiusRequest (FahrenheitToCelsiusRequestBody Body)
+       {
+               this.Body = Body;
+       }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute ()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")]
+[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+[System.Runtime.Serialization.DataContractAttribute (Namespace = "http://www.w3schools.com/webservices/")]
+public partial class FahrenheitToCelsiusRequestBody
+{
+
+       [System.Runtime.Serialization.DataMemberAttribute (EmitDefaultValue = false, Order = 0)]
+       public string Fahrenheit;
+
+       public FahrenheitToCelsiusRequestBody ()
+       {
+       }
+
+       public FahrenheitToCelsiusRequestBody (string Fahrenheit)
+       {
+               this.Fahrenheit = Fahrenheit;
+       }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute ()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")]
+[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+[System.ServiceModel.MessageContractAttribute (IsWrapped = false)]
+public partial class FahrenheitToCelsiusResponse
+{
+
+       [System.ServiceModel.MessageBodyMemberAttribute (Name = "FahrenheitToCelsiusResponse", Namespace = "http://www.w3schools.com/webservices/", Order = 0)]
+       public FahrenheitToCelsiusResponseBody Body;
+
+       public FahrenheitToCelsiusResponse ()
+       {
+       }
+
+       public FahrenheitToCelsiusResponse (FahrenheitToCelsiusResponseBody Body)
+       {
+               this.Body = Body;
+       }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute ()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")]
+[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+[System.Runtime.Serialization.DataContractAttribute (Namespace = "http://www.w3schools.com/webservices/")]
+public partial class FahrenheitToCelsiusResponseBody
+{
+
+       [System.Runtime.Serialization.DataMemberAttribute (EmitDefaultValue = false, Order = 0)]
+       public string FahrenheitToCelsiusResult;
+
+       public FahrenheitToCelsiusResponseBody ()
+       {
+       }
+
+       public FahrenheitToCelsiusResponseBody (string FahrenheitToCelsiusResult)
+       {
+               this.FahrenheitToCelsiusResult = FahrenheitToCelsiusResult;
+       }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute ()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")]
+[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+[System.ServiceModel.MessageContractAttribute (IsWrapped = false)]
+public partial class CelsiusToFahrenheitRequest
+{
+
+       [System.ServiceModel.MessageBodyMemberAttribute (Name = "CelsiusToFahrenheit", Namespace = "http://www.w3schools.com/webservices/", Order = 0)]
+       public CelsiusToFahrenheitRequestBody Body;
+
+       public CelsiusToFahrenheitRequest ()
+       {
+       }
+
+       public CelsiusToFahrenheitRequest (CelsiusToFahrenheitRequestBody Body)
+       {
+               this.Body = Body;
+       }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute ()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")]
+[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+[System.Runtime.Serialization.DataContractAttribute (Namespace = "http://www.w3schools.com/webservices/")]
+public partial class CelsiusToFahrenheitRequestBody
+{
+
+       [System.Runtime.Serialization.DataMemberAttribute (EmitDefaultValue = false, Order = 0)]
+       public string Celsius;
+
+       public CelsiusToFahrenheitRequestBody ()
+       {
+       }
+
+       public CelsiusToFahrenheitRequestBody (string Celsius)
+       {
+               this.Celsius = Celsius;
+       }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute ()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")]
+[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+[System.ServiceModel.MessageContractAttribute (IsWrapped = false)]
+public partial class CelsiusToFahrenheitResponse
+{
+
+       [System.ServiceModel.MessageBodyMemberAttribute (Name = "CelsiusToFahrenheitResponse", Namespace = "http://www.w3schools.com/webservices/", Order = 0)]
+       public CelsiusToFahrenheitResponseBody Body;
+
+       public CelsiusToFahrenheitResponse ()
+       {
+       }
+
+       public CelsiusToFahrenheitResponse (CelsiusToFahrenheitResponseBody Body)
+       {
+               this.Body = Body;
+       }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute ()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")]
+[System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+[System.Runtime.Serialization.DataContractAttribute (Namespace = "http://www.w3schools.com/webservices/")]
+public partial class CelsiusToFahrenheitResponseBody
+{
+
+       [System.Runtime.Serialization.DataMemberAttribute (EmitDefaultValue = false, Order = 0)]
+       public string CelsiusToFahrenheitResult;
+
+       public CelsiusToFahrenheitResponseBody ()
+       {
+       }
+
+       public CelsiusToFahrenheitResponseBody (string CelsiusToFahrenheitResult)
+       {
+               this.CelsiusToFahrenheitResult = CelsiusToFahrenheitResult;
+       }
+}
+
+[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")]
+public interface TempConvertSoapChannel : TempConvertSoap, System.ServiceModel.IClientChannel
+{
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute ()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")]
+public partial class FahrenheitToCelsiusCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
+{
+
+       private object[] results;
+
+       public FahrenheitToCelsiusCompletedEventArgs (object[] results, System.Exception exception, bool cancelled, object userState) :
+       base (exception, cancelled, userState)
+       {
+               this.results = results;
+       }
+
+       public string Result {
+               get {
+                       base.RaiseExceptionIfNecessary ();
+                       return ((string)(this.results [0]));
+               }
+       }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute ()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")]
+public partial class CelsiusToFahrenheitCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
+{
+
+       private object[] results;
+
+       public CelsiusToFahrenheitCompletedEventArgs (object[] results, System.Exception exception, bool cancelled, object userState) :
+       base (exception, cancelled, userState)
+       {
+               this.results = results;
+       }
+
+       public string Result {
+               get {
+                       base.RaiseExceptionIfNecessary ();
+                       return ((string)(this.results [0]));
+               }
+       }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute ()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute ("System.ServiceModel", "4.0.0.0")]
+public partial class TempConvertSoapClient : System.ServiceModel.ClientBase<TempConvertSoap>, TempConvertSoap
+{
+
+       private BeginOperationDelegate onBeginFahrenheitToCelsiusDelegate;
+
+       private EndOperationDelegate onEndFahrenheitToCelsiusDelegate;
+
+       private System.Threading.SendOrPostCallback onFahrenheitToCelsiusCompletedDelegate;
+
+       private BeginOperationDelegate onBeginCelsiusToFahrenheitDelegate;
+
+       private EndOperationDelegate onEndCelsiusToFahrenheitDelegate;
+
+       private System.Threading.SendOrPostCallback onCelsiusToFahrenheitCompletedDelegate;
+
+       private BeginOperationDelegate onBeginOpenDelegate;
+
+       private EndOperationDelegate onEndOpenDelegate;
+
+       private System.Threading.SendOrPostCallback onOpenCompletedDelegate;
+
+       private BeginOperationDelegate onBeginCloseDelegate;
+
+       private EndOperationDelegate onEndCloseDelegate;
+
+       private System.Threading.SendOrPostCallback onCloseCompletedDelegate;
+
+       public TempConvertSoapClient ()
+       {
+       }
+
+       public TempConvertSoapClient (string endpointConfigurationName) :
+       base (endpointConfigurationName)
+       {
+       }
+
+       public TempConvertSoapClient (string endpointConfigurationName, string remoteAddress) :
+       base (endpointConfigurationName, remoteAddress)
+       {
+       }
+
+       public TempConvertSoapClient (string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
+       base (endpointConfigurationName, remoteAddress)
+       {
+       }
+
+       public TempConvertSoapClient (System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+       base (binding, remoteAddress)
+       {
+       }
+
+       public System.Net.CookieContainer CookieContainer {
+               get {
+                       System.ServiceModel.Channels.IHttpCookieContainerManager httpCookieContainerManager = this.InnerChannel.GetProperty<System.ServiceModel.Channels.IHttpCookieContainerManager> ();
+                       if ((httpCookieContainerManager != null)) {
+                               return httpCookieContainerManager.CookieContainer;
+                       } else {
+                               return null;
+                       }
+               }
+               set {
+                       System.ServiceModel.Channels.IHttpCookieContainerManager httpCookieContainerManager = this.InnerChannel.GetProperty<System.ServiceModel.Channels.IHttpCookieContainerManager> ();
+                       if ((httpCookieContainerManager != null)) {
+                               httpCookieContainerManager.CookieContainer = value;
+                       } else {
+                               throw new System.InvalidOperationException ("Unable to set the CookieContainer. Please make sure the binding contains an HttpC" +
+                                       "ookieContainerBindingElement.");
+                       }
+               }
+       }
+
+       public event System.EventHandler<FahrenheitToCelsiusCompletedEventArgs> FahrenheitToCelsiusCompleted;
+
+       public event System.EventHandler<CelsiusToFahrenheitCompletedEventArgs> CelsiusToFahrenheitCompleted;
+
+       public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> OpenCompleted;
+
+       public event System.EventHandler<System.ComponentModel.AsyncCompletedEventArgs> CloseCompleted;
+
+       [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+       System.IAsyncResult TempConvertSoap.BeginFahrenheitToCelsius (FahrenheitToCelsiusRequest request, System.AsyncCallback callback, object asyncState)
+       {
+               return base.Channel.BeginFahrenheitToCelsius (request, callback, asyncState);
+       }
+
+       [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+       private System.IAsyncResult BeginFahrenheitToCelsius (string Fahrenheit, System.AsyncCallback callback, object asyncState)
+       {
+               FahrenheitToCelsiusRequest inValue = new FahrenheitToCelsiusRequest ();
+               inValue.Body = new FahrenheitToCelsiusRequestBody ();
+               inValue.Body.Fahrenheit = Fahrenheit;
+               return ((TempConvertSoap)(this)).BeginFahrenheitToCelsius (inValue, callback, asyncState);
+       }
+
+       [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+       FahrenheitToCelsiusResponse TempConvertSoap.EndFahrenheitToCelsius (System.IAsyncResult result)
+       {
+               return base.Channel.EndFahrenheitToCelsius (result);
+       }
+
+       [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+       private string EndFahrenheitToCelsius (System.IAsyncResult result)
+       {
+               FahrenheitToCelsiusResponse retVal = ((TempConvertSoap)(this)).EndFahrenheitToCelsius (result);
+               return retVal.Body.FahrenheitToCelsiusResult;
+       }
+
+       private System.IAsyncResult OnBeginFahrenheitToCelsius (object[] inValues, System.AsyncCallback callback, object asyncState)
+       {
+               string Fahrenheit = ((string)(inValues [0]));
+               return this.BeginFahrenheitToCelsius (Fahrenheit, callback, asyncState);
+       }
+
+       private object[] OnEndFahrenheitToCelsius (System.IAsyncResult result)
+       {
+               string retVal = this.EndFahrenheitToCelsius (result);
+               return new object[] {
+                       retVal
+               };
+       }
+
+       private void OnFahrenheitToCelsiusCompleted (object state)
+       {
+               if ((this.FahrenheitToCelsiusCompleted != null)) {
+                       InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                       this.FahrenheitToCelsiusCompleted (this, new FahrenheitToCelsiusCompletedEventArgs (e.Results, e.Error, e.Cancelled, e.UserState));
+               }
+       }
+
+       public void FahrenheitToCelsiusAsync (string Fahrenheit)
+       {
+               this.FahrenheitToCelsiusAsync (Fahrenheit, null);
+       }
+
+       public void FahrenheitToCelsiusAsync (string Fahrenheit, object userState)
+       {
+               if ((this.onBeginFahrenheitToCelsiusDelegate == null)) {
+                       this.onBeginFahrenheitToCelsiusDelegate = new BeginOperationDelegate (this.OnBeginFahrenheitToCelsius);
+               }
+               if ((this.onEndFahrenheitToCelsiusDelegate == null)) {
+                       this.onEndFahrenheitToCelsiusDelegate = new EndOperationDelegate (this.OnEndFahrenheitToCelsius);
+               }
+               if ((this.onFahrenheitToCelsiusCompletedDelegate == null)) {
+                       this.onFahrenheitToCelsiusCompletedDelegate = new System.Threading.SendOrPostCallback (this.OnFahrenheitToCelsiusCompleted);
+               }
+               base.InvokeAsync (this.onBeginFahrenheitToCelsiusDelegate, new object[] {
+                       Fahrenheit
+               }, this.onEndFahrenheitToCelsiusDelegate, this.onFahrenheitToCelsiusCompletedDelegate, userState);
+       }
+
+       [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+       System.IAsyncResult TempConvertSoap.BeginCelsiusToFahrenheit (CelsiusToFahrenheitRequest request, System.AsyncCallback callback, object asyncState)
+       {
+               return base.Channel.BeginCelsiusToFahrenheit (request, callback, asyncState);
+       }
+
+       [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+       private System.IAsyncResult BeginCelsiusToFahrenheit (string Celsius, System.AsyncCallback callback, object asyncState)
+       {
+               CelsiusToFahrenheitRequest inValue = new CelsiusToFahrenheitRequest ();
+               inValue.Body = new CelsiusToFahrenheitRequestBody ();
+               inValue.Body.Celsius = Celsius;
+               return ((TempConvertSoap)(this)).BeginCelsiusToFahrenheit (inValue, callback, asyncState);
+       }
+
+       [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+       CelsiusToFahrenheitResponse TempConvertSoap.EndCelsiusToFahrenheit (System.IAsyncResult result)
+       {
+               return base.Channel.EndCelsiusToFahrenheit (result);
+       }
+
+       [System.ComponentModel.EditorBrowsableAttribute (System.ComponentModel.EditorBrowsableState.Advanced)]
+       private string EndCelsiusToFahrenheit (System.IAsyncResult result)
+       {
+               CelsiusToFahrenheitResponse retVal = ((TempConvertSoap)(this)).EndCelsiusToFahrenheit (result);
+               return retVal.Body.CelsiusToFahrenheitResult;
+       }
+
+       private System.IAsyncResult OnBeginCelsiusToFahrenheit (object[] inValues, System.AsyncCallback callback, object asyncState)
+       {
+               string Celsius = ((string)(inValues [0]));
+               return this.BeginCelsiusToFahrenheit (Celsius, callback, asyncState);
+       }
+
+       private object[] OnEndCelsiusToFahrenheit (System.IAsyncResult result)
+       {
+               string retVal = this.EndCelsiusToFahrenheit (result);
+               return new object[] {
+                       retVal
+               };
+       }
+
+       private void OnCelsiusToFahrenheitCompleted (object state)
+       {
+               if ((this.CelsiusToFahrenheitCompleted != null)) {
+                       InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                       this.CelsiusToFahrenheitCompleted (this, new CelsiusToFahrenheitCompletedEventArgs (e.Results, e.Error, e.Cancelled, e.UserState));
+               }
+       }
+
+       public void CelsiusToFahrenheitAsync (string Celsius)
+       {
+               this.CelsiusToFahrenheitAsync (Celsius, null);
+       }
+
+       public void CelsiusToFahrenheitAsync (string Celsius, object userState)
+       {
+               if ((this.onBeginCelsiusToFahrenheitDelegate == null)) {
+                       this.onBeginCelsiusToFahrenheitDelegate = new BeginOperationDelegate (this.OnBeginCelsiusToFahrenheit);
+               }
+               if ((this.onEndCelsiusToFahrenheitDelegate == null)) {
+                       this.onEndCelsiusToFahrenheitDelegate = new EndOperationDelegate (this.OnEndCelsiusToFahrenheit);
+               }
+               if ((this.onCelsiusToFahrenheitCompletedDelegate == null)) {
+                       this.onCelsiusToFahrenheitCompletedDelegate = new System.Threading.SendOrPostCallback (this.OnCelsiusToFahrenheitCompleted);
+               }
+               base.InvokeAsync (this.onBeginCelsiusToFahrenheitDelegate, new object[] {
+                       Celsius
+               }, this.onEndCelsiusToFahrenheitDelegate, this.onCelsiusToFahrenheitCompletedDelegate, userState);
+       }
+
+       private System.IAsyncResult OnBeginOpen (object[] inValues, System.AsyncCallback callback, object asyncState)
+       {
+               return ((System.ServiceModel.ICommunicationObject)(this)).BeginOpen (callback, asyncState);
+       }
+
+       private object[] OnEndOpen (System.IAsyncResult result)
+       {
+               ((System.ServiceModel.ICommunicationObject)(this)).EndOpen (result);
+               return null;
+       }
+
+       private void OnOpenCompleted (object state)
+       {
+               if ((this.OpenCompleted != null)) {
+                       InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                       this.OpenCompleted (this, new System.ComponentModel.AsyncCompletedEventArgs (e.Error, e.Cancelled, e.UserState));
+               }
+       }
+
+       public void OpenAsync ()
+       {
+               this.OpenAsync (null);
+       }
+
+       public void OpenAsync (object userState)
+       {
+               if ((this.onBeginOpenDelegate == null)) {
+                       this.onBeginOpenDelegate = new BeginOperationDelegate (this.OnBeginOpen);
+               }
+               if ((this.onEndOpenDelegate == null)) {
+                       this.onEndOpenDelegate = new EndOperationDelegate (this.OnEndOpen);
+               }
+               if ((this.onOpenCompletedDelegate == null)) {
+                       this.onOpenCompletedDelegate = new System.Threading.SendOrPostCallback (this.OnOpenCompleted);
+               }
+               base.InvokeAsync (this.onBeginOpenDelegate, null, this.onEndOpenDelegate, this.onOpenCompletedDelegate, userState);
+       }
+
+       private System.IAsyncResult OnBeginClose (object[] inValues, System.AsyncCallback callback, object asyncState)
+       {
+               return ((System.ServiceModel.ICommunicationObject)(this)).BeginClose (callback, asyncState);
+       }
+
+       private object[] OnEndClose (System.IAsyncResult result)
+       {
+               ((System.ServiceModel.ICommunicationObject)(this)).EndClose (result);
+               return null;
+       }
+
+       private void OnCloseCompleted (object state)
+       {
+               if ((this.CloseCompleted != null)) {
+                       InvokeAsyncCompletedEventArgs e = ((InvokeAsyncCompletedEventArgs)(state));
+                       this.CloseCompleted (this, new System.ComponentModel.AsyncCompletedEventArgs (e.Error, e.Cancelled, e.UserState));
+               }
+       }
+
+       public void CloseAsync ()
+       {
+               this.CloseAsync (null);
+       }
+
+       public void CloseAsync (object userState)
+       {
+               if ((this.onBeginCloseDelegate == null)) {
+                       this.onBeginCloseDelegate = new BeginOperationDelegate (this.OnBeginClose);
+               }
+               if ((this.onEndCloseDelegate == null)) {
+                       this.onEndCloseDelegate = new EndOperationDelegate (this.OnEndClose);
+               }
+               if ((this.onCloseCompletedDelegate == null)) {
+                       this.onCloseCompletedDelegate = new System.Threading.SendOrPostCallback (this.OnCloseCompleted);
+               }
+               base.InvokeAsync (this.onBeginCloseDelegate, null, this.onEndCloseDelegate, this.onCloseCompletedDelegate, userState);
+       }
+
+       protected override TempConvertSoap CreateChannel ()
+       {
+               return new TempConvertSoapClientChannel (this);
+       }
+
+       private class TempConvertSoapClientChannel : ChannelBase<TempConvertSoap>, TempConvertSoap
+       {
+
+               public TempConvertSoapClientChannel (System.ServiceModel.ClientBase<TempConvertSoap> client) :
+               base (client)
+               {
+               }
+
+               public System.IAsyncResult BeginFahrenheitToCelsius (FahrenheitToCelsiusRequest request, System.AsyncCallback callback, object asyncState)
+               {
+                       object[] _args = new object[1];
+                       _args [0] = request;
+                       System.IAsyncResult _result = base.BeginInvoke ("FahrenheitToCelsius", _args, callback, asyncState);
+                       return _result;
+               }
+
+               public FahrenheitToCelsiusResponse EndFahrenheitToCelsius (System.IAsyncResult result)
+               {
+                       object[] _args = new object[0];
+                       FahrenheitToCelsiusResponse _result = ((FahrenheitToCelsiusResponse)(base.EndInvoke ("FahrenheitToCelsius", _args, result)));
+                       return _result;
+               }
+
+               public System.IAsyncResult BeginCelsiusToFahrenheit (CelsiusToFahrenheitRequest request, System.AsyncCallback callback, object asyncState)
+               {
+                       object[] _args = new object[1];
+                       _args [0] = request;
+                       System.IAsyncResult _result = base.BeginInvoke ("CelsiusToFahrenheit", _args, callback, asyncState);
+                       return _result;
+               }
+
+               public CelsiusToFahrenheitResponse EndCelsiusToFahrenheit (System.IAsyncResult result)
+               {
+                       object[] _args = new object[0];
+                       CelsiusToFahrenheitResponse _result = ((CelsiusToFahrenheitResponse)(base.EndInvoke ("CelsiusToFahrenheit", _args, result)));
+                       return _result;
+               }
+       }
+}
index 70d9c79c624ff3f6f16f89b274a894da425884f0..cdc68486779adc619e335eccabbb06dc4a72265c 100644 (file)
@@ -57,6 +57,7 @@ namespace MonoTests.System.ServiceModel.Dispatcher
                        serviceHost.AddServiceEndpoint (typeof (IMetadataExchange), MetadataExchangeBindings.CreateMexHttpBinding (), "mex");
 
                        serviceHost.Open ();
+                       Thread.Sleep (2000);  // let WCF spin up
 
                        try {
                                // client
diff --git a/mcs/class/System.ServiceModel/monotouch_tv_System.ServiceModel.dll.sources b/mcs/class/System.ServiceModel/monotouch_tv_System.ServiceModel.dll.sources
new file mode 100644 (file)
index 0000000..22ece5c
--- /dev/null
@@ -0,0 +1 @@
+#include mobile_System.ServiceModel.dll.sources
diff --git a/mcs/class/System.ServiceProcess/System.ServiceProcess-net_4_x.csproj b/mcs/class/System.ServiceProcess/System.ServiceProcess-net_4_x.csproj
new file mode 100644 (file)
index 0000000..34959be
--- /dev/null
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{CF24A609-AEF3-4E7A-95FC-C7A3CEAA7CC3}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.ServiceProcess</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.ServiceProcess.Design\ServiceInstallerDialog.cs" />\r
+    <Compile Include="System.ServiceProcess.Design\ServiceInstallerDialogResult.cs" />\r
+    <Compile Include="System.ServiceProcess.Design\ServiceNameConverter.cs" />\r
+    <Compile Include="System.ServiceProcess\PowerBroadcastStatus.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceAccount.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceBase.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceController.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceControllerImpl.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceControllerPermission.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceControllerPermissionAccess.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceControllerPermissionAttribute.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceControllerPermissionEntry.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceControllerPermissionEntryCollection.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceControllerStatus.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceInstaller.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceProcessDescriptionAttribute.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceProcessInstaller.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceStartMode.cs" />\r
+    <Compile Include="System.ServiceProcess\ServiceType.cs" />\r
+    <Compile Include="System.ServiceProcess\SessionChangeDescription.cs" />\r
+    <Compile Include="System.ServiceProcess\SessionChangeReason.cs" />\r
+    <Compile Include="System.ServiceProcess\TimeoutException.cs" />\r
+    <Compile Include="System.ServiceProcess\UnixServiceController.cs" />\r
+    <Compile Include="System.ServiceProcess\Win32ServiceController.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration.Install/System.Configuration.Install-net_4_x.csproj">\r
+      <Project>{B144ACD4-089D-4769-8605-583FBEDB5B7C}</Project>\r
+      <Name>System.Configuration.Install-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Windows.Forms/System.Windows.Forms-net_4_x.csproj">\r
+      <Project>{108227C7-8ED9-4483-949D-07BF0DA1A201}</Project>\r
+      <Name>System.Windows.Forms-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Threading.Tasks.Dataflow/System.Threading.Tasks.Dataflow-net_4_x.csproj b/mcs/class/System.Threading.Tasks.Dataflow/System.Threading.Tasks.Dataflow-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d323838
--- /dev/null
@@ -0,0 +1,137 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{70A422C5-17AF-48EE-8DD8-CF88D482606C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Threading.Tasks.Dataflow</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\Mono.Parallel\Mono.Threading\AtomicBoolean.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\ActionBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\AsyncExecutingMessageBox.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\BatchBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\BatchedJoinBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\BatchedJoinBlock`3.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\BroadcastBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\BroadcastOutgoingQueue.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\BufferBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\ChooserBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\CompletionHelper.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\DataflowBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\DataflowBlockOptions.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\DataflowLinkOptions.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\DataflowMessageHeader.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\DataflowMessageStatus.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\ExecutingMessageBox.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\ExecutingMessageBoxBase.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\ExecutionDataflowBlockOptions.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\GroupingDataflowBlockOptions.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\IDataflowBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\IPropagatorBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\IReceivableSourceBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\ISourceBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\ITargetBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\JoinBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\JoinBlock`3.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\JoinTarget.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\MessageBox.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\NameHelper.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\NullTargetBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\ObservableDataflowBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\ObserverDataflowBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\OutgoingQueue.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\OutgoingQueueBase.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\OutputAvailableBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\PassingMessageBox.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\PredicateBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\PropagatorWrapperBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\ReceiveBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\SendBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\TargetCollection.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\TransformBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\TransformManyBlock.cs" />\r
+    <Compile Include="System.Threading.Tasks.Dataflow\WriteOnceBlock.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index ba910861e3b2b7f580e54e997f2747643128690c..08e9bd68021ad136a721544c9f3a7366b8dd10cc 100644 (file)
@@ -2,8 +2,6 @@ thisdir = class/System.Transactions
 SUBDIRS = 
 include ../../build/rules.make
 
-MOBILE_PROFILE := $(filter monotouch monotouch_runtime monotouch_watch monodroid xammac mobile mobile_static, $(PROFILE))
-
 LIBRARY = System.Transactions.dll
 ifdef MOBILE_PROFILE
 LIB_REFS = System
@@ -13,6 +11,6 @@ LIB_REFS = System System.Configuration
 LIB_MCS_FLAGS = /r:$(corlib)
 endif
 
-TEST_MCS_FLAGS = /nowarn:1595 $(LIB_MCS_FLAGS)
+TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 include ../../build/library.make
diff --git a/mcs/class/System.Transactions/System.Transactions-net_4_x.csproj b/mcs/class/System.Transactions/System.Transactions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3b41db8
--- /dev/null
@@ -0,0 +1,126 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{3821C69F-220D-4231-992C-0FE05311A005}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Transactions</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Transactions\CommittableTransaction.cs" />\r
+    <Compile Include="System.Transactions\Configuration\DefaultSettingsSection.cs" />\r
+    <Compile Include="System.Transactions\Configuration\MachineSettingsSection.cs" />\r
+    <Compile Include="System.Transactions\Configuration\TransactionsSectionGroup.cs" />\r
+    <Compile Include="System.Transactions\Delegates.cs" />\r
+    <Compile Include="System.Transactions\DependentCloneOption.cs" />\r
+    <Compile Include="System.Transactions\DependentTransaction.cs" />\r
+    <Compile Include="System.Transactions\Enlistment.cs" />\r
+    <Compile Include="System.Transactions\EnlistmentOptions.cs" />\r
+    <Compile Include="System.Transactions\EnterpriseServicesInteropOption.cs" />\r
+    <Compile Include="System.Transactions\IDtcTransaction.cs" />\r
+    <Compile Include="System.Transactions\IEnlistmentNotification.cs" />\r
+    <Compile Include="System.Transactions\IPromotableSinglePhaseNotification.cs" />\r
+    <Compile Include="System.Transactions\ISimpleTransactionSuperior.cs" />\r
+    <Compile Include="System.Transactions\ISinglePhaseNotification.cs" />\r
+    <Compile Include="System.Transactions\IsolationLevel.cs" />\r
+    <Compile Include="System.Transactions\ITransactionPromoter.cs" />\r
+    <Compile Include="System.Transactions\PreparingEnlistment.cs" />\r
+    <Compile Include="System.Transactions\SinglePhaseEnlistment.cs" />\r
+    <Compile Include="System.Transactions\SubordinateTransaction.cs" />\r
+    <Compile Include="System.Transactions\Transaction.cs" />\r
+    <Compile Include="System.Transactions\TransactionAbortedException.cs" />\r
+    <Compile Include="System.Transactions\TransactionEventArgs.cs" />\r
+    <Compile Include="System.Transactions\TransactionException.cs" />\r
+    <Compile Include="System.Transactions\TransactionInDoubtException.cs" />\r
+    <Compile Include="System.Transactions\TransactionInformation.cs" />\r
+    <Compile Include="System.Transactions\TransactionInterop.cs" />\r
+    <Compile Include="System.Transactions\TransactionManager.cs" />\r
+    <Compile Include="System.Transactions\TransactionManagerCommunicationException.cs" />\r
+    <Compile Include="System.Transactions\TransactionOptions.cs" />\r
+    <Compile Include="System.Transactions\TransactionPromotionException.cs" />\r
+    <Compile Include="System.Transactions\TransactionScope.cs" />\r
+    <Compile Include="System.Transactions\TransactionScopeOption.cs" />\r
+    <Compile Include="System.Transactions\TransactionStatus.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web.Abstractions/System.Web.Abstractions-net_4_x.csproj b/mcs/class/System.Web.Abstractions/System.Web.Abstractions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..23bb93a
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{79D6E70D-8FD8-4EAA-9E81-B32B5C2815FB}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.Abstractions</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web.ApplicationServices/System.Web.ApplicationServices-net_4_x.csproj b/mcs/class/System.Web.ApplicationServices/System.Web.ApplicationServices-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c66e645
--- /dev/null
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{928432BE-3518-4103-97F6-48B9658588A6}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.ApplicationServices</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;SYSTEM_WEB_APPLICATIONSERVICES</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;SYSTEM_WEB_APPLICATIONSERVICES</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Web.Configuration\MembershipPasswordCompatibilityMode.cs" />\r
+    <Compile Include="System.Web.Security\IMembershipHelper.cs" />\r
+    <Compile Include="System.Web.Security\MembershipCreateStatus.cs" />\r
+    <Compile Include="System.Web.Security\MembershipCreateUserException.cs" />\r
+    <Compile Include="System.Web.Security\MembershipPasswordException.cs" />\r
+    <Compile Include="System.Web.Security\MembershipPasswordFormat.cs" />\r
+    <Compile Include="System.Web.Security\MembershipProvider.cs" />\r
+    <Compile Include="System.Web.Security\MembershipProviderCollection.cs" />\r
+    <Compile Include="System.Web.Security\MembershipUser.cs" />\r
+    <Compile Include="System.Web.Security\MembershipUserCollection.cs" />\r
+    <Compile Include="System.Web.Security\MembershipValidatePasswordEventHandler.cs" />\r
+    <Compile Include="System.Web.Security\RoleProvider.cs" />\r
+    <Compile Include="System.Web.Security\ValidatePasswordEventArgs.cs" />\r
+    <Compile Include="System.Web.UI\KeyedList.cs" />\r
+    <Compile Include="System.Web.UI\KeyedListEnumerator.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web.DynamicData/System.Web.DynamicData-net_4_x.csproj b/mcs/class/System.Web.DynamicData/System.Web.DynamicData-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1b7f7ca
--- /dev/null
@@ -0,0 +1,164 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{E5E3F230-57CA-4685-B1C4-A164F0876755}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.DynamicData</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Web.DynamicData.ModelProviders\AssociationDirection.cs" />\r
+    <Compile Include="System.Web.DynamicData.ModelProviders\AssociationProvider.cs" />\r
+    <Compile Include="System.Web.DynamicData.ModelProviders\ColumnProvider.cs" />\r
+    <Compile Include="System.Web.DynamicData.ModelProviders\DataModelProvider.cs" />\r
+    <Compile Include="System.Web.DynamicData.ModelProviders\DLinqAssociationProvider.cs" />\r
+    <Compile Include="System.Web.DynamicData.ModelProviders\DLinqColumnProvider.cs" />\r
+    <Compile Include="System.Web.DynamicData.ModelProviders\DLinqDataModelProvider.cs" />\r
+    <Compile Include="System.Web.DynamicData.ModelProviders\DLinqTableProvider.cs" />\r
+    <Compile Include="System.Web.DynamicData.ModelProviders\TableProvider.cs" />\r
+    <Compile Include="System.Web.DynamicData\ContextConfiguration.cs" />\r
+    <Compile Include="System.Web.DynamicData\DynamicControl.cs" />\r
+    <Compile Include="System.Web.DynamicData\DynamicControlParameter.cs" />\r
+    <Compile Include="System.Web.DynamicData\DynamicDataExtensions.cs" />\r
+    <Compile Include="System.Web.DynamicData\DynamicDataManager.cs" />\r
+    <Compile Include="System.Web.DynamicData\DynamicDataRoute.cs" />\r
+    <Compile Include="System.Web.DynamicData\DynamicDataRouteHandler.cs" />\r
+    <Compile Include="System.Web.DynamicData\DynamicField.cs" />\r
+    <Compile Include="System.Web.DynamicData\DynamicQueryStringParameter.cs" />\r
+    <Compile Include="System.Web.DynamicData\DynamicValidator.cs" />\r
+    <Compile Include="System.Web.DynamicData\FieldTemplateFactory.cs" />\r
+    <Compile Include="System.Web.DynamicData\FieldTemplateUserControl.cs" />\r
+    <Compile Include="System.Web.DynamicData\FilterRepeater.cs" />\r
+    <Compile Include="System.Web.DynamicData\FilterUserControlBase.cs" />\r
+    <Compile Include="System.Web.DynamicData\IControlParameterTarget.cs" />\r
+    <Compile Include="System.Web.DynamicData\IFieldFormattingOptions.cs" />\r
+    <Compile Include="System.Web.DynamicData\IFieldTemplate.cs" />\r
+    <Compile Include="System.Web.DynamicData\IFieldTemplateFactory.cs" />\r
+    <Compile Include="System.Web.DynamicData\IFieldTemplateHost.cs" />\r
+    <Compile Include="System.Web.DynamicData\IWhereParametersProvider.cs" />\r
+    <Compile Include="System.Web.DynamicData\MetaChildrenColumn.cs" />\r
+    <Compile Include="System.Web.DynamicData\MetaColumn.cs" />\r
+    <Compile Include="System.Web.DynamicData\MetaForeignKeyColumn.cs" />\r
+    <Compile Include="System.Web.DynamicData\MetaModel.cs" />\r
+    <Compile Include="System.Web.DynamicData\MetaTable.cs" />\r
+    <Compile Include="System.Web.DynamicData\PageAction.cs" />\r
+    <Compile Include="System.Web.DynamicData\TableNameAttribute.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_4_x.csproj">\r
+      <Project>{8F86C287-38A5-49F8-BE6D-1E0E3D74AF39}</Project>\r
+      <Name>System.ComponentModel.DataAnnotations-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data.Linq/System.Data.Linq-net_4_x.csproj">\r
+      <Project>{E6EE9E9A-42BA-4202-8813-FCF40E9061BF}</Project>\r
+      <Name>System.Data.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Drawing/System.Drawing-net_4_x.csproj">\r
+      <Project>{584A5E46-2958-4CB2-8DF9-188B420D0BB0}</Project>\r
+      <Name>System.Drawing-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Extensions/System.Web.Extensions-net_4_x.csproj">\r
+      <Project>{EE582CE1-A692-47AC-B838-3A78955898BE}</Project>\r
+      <Name>System.Web.Extensions-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Abstractions/System.Web.Abstractions-net_4_x.csproj">\r
+      <Project>{79D6E70D-8FD8-4EAA-9E81-B32B5C2815FB}</Project>\r
+      <Name>System.Web.Abstractions-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Routing/System.Web.Routing-net_4_x.csproj">\r
+      <Project>{EBD67AE3-F249-4768-A143-6B2F9E56BC39}</Project>\r
+      <Name>System.Web.Routing-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.ApplicationServices/System.Web.ApplicationServices-net_4_x.csproj">\r
+      <Project>{928432BE-3518-4103-97F6-48B9658588A6}</Project>\r
+      <Name>System.Web.ApplicationServices-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web.Extensions.Design/System.Web.Extensions.Design-net_4_x.csproj b/mcs/class/System.Web.Extensions.Design/System.Web.Extensions.Design-net_4_x.csproj
new file mode 100644 (file)
index 0000000..e248212
--- /dev/null
@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{288BFBFF-D78E-4EB3-ABF4-A5BCBB1BD9C9}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.Extensions.Design</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Web.Extensions.Design\AsyncPostBackTriggerControlIDConverter.cs" />\r
+    <Compile Include="System.Web.Extensions.Design\AsyncPostBackTriggerEventNameConverter.cs" />\r
+    <Compile Include="System.Web.Extensions.Design\CollectionEditorBase.cs" />\r
+    <Compile Include="System.Web.Extensions.Design\ExtenderControlDesigner.cs" />\r
+    <Compile Include="System.Web.Extensions.Design\PostBackTriggerControlIDConverter.cs" />\r
+    <Compile Include="System.Web.Extensions.Design\ScriptManagerDesigner.cs" />\r
+    <Compile Include="System.Web.Extensions.Design\ScriptManagerProxyDesigner.cs" />\r
+    <Compile Include="System.Web.Extensions.Design\TimerDesigner.cs" />\r
+    <Compile Include="System.Web.Extensions.Design\UpdatePanelDesigner.cs" />\r
+    <Compile Include="System.Web.Extensions.Design\UpdatePanelTriggerCollectionEditor.cs" />\r
+    <Compile Include="System.Web.Extensions.Design\UpdateProgressAssociatedUpdatePanelIDConverter.cs" />\r
+    <Compile Include="System.Web.Extensions.Design\UpdateProgressDesigner.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Design/System.Design-net_4_x.csproj">\r
+      <Project>{EFEDC380-2CB0-4B40-9566-D2302867A4D9}</Project>\r
+      <Name>System.Design-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Drawing/System.Drawing-net_4_x.csproj">\r
+      <Project>{584A5E46-2958-4CB2-8DF9-188B420D0BB0}</Project>\r
+      <Name>System.Drawing-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Windows.Forms/System.Windows.Forms-net_4_x.csproj">\r
+      <Project>{108227C7-8ED9-4483-949D-07BF0DA1A201}</Project>\r
+      <Name>System.Windows.Forms-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web.Extensions/System.Web.Extensions-net_4_x.csproj b/mcs/class/System.Web.Extensions/System.Web.Extensions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c9ef1c1
--- /dev/null
@@ -0,0 +1,292 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{EE582CE1-A692-47AC-B838-3A78955898BE}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.Extensions</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5;SYSTEM_WEB_EXTENSIONS</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;NET_3_5;SYSTEM_WEB_EXTENSIONS</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\System.Web\System.Web.Configuration_2.0\MachineKeyRegistryStorage.cs" />\r
+    <Compile Include="..\System.Web\System.Web.Handlers\AssemblyResourceLoader.cs" />\r
+    <Compile Include="..\System.Web\System.Web.Util\MachineKeySectionUtils.cs" />\r
+    <Compile Include=".\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include=".\System.Web.ClientServices.Providers\ClientFormsAuthenticationCredentials.cs" />\r
+    <Compile Include=".\System.Web.ClientServices.Providers\ClientFormsAuthenticationMembershipProvider.cs" />\r
+    <Compile Include=".\System.Web.ClientServices.Providers\ClientRoleProvider.cs" />\r
+    <Compile Include=".\System.Web.ClientServices.Providers\ClientSettingsProvider.cs" />\r
+    <Compile Include=".\System.Web.ClientServices.Providers\ClientWindowsAuthenticationMembershipProvider.cs" />\r
+    <Compile Include=".\System.Web.ClientServices.Providers\IClientFormsAuthenticationCredentialsProvider.cs" />\r
+    <Compile Include=".\System.Web.ClientServices.Providers\SettingsSavedEventArgs.cs" />\r
+    <Compile Include=".\System.Web.ClientServices.Providers\UserValidatedEventArgs.cs" />\r
+    <Compile Include=".\System.Web.ClientServices\ClientFormsIdentity.cs" />\r
+    <Compile Include=".\System.Web.ClientServices\ClientRolePrincipal.cs" />\r
+    <Compile Include=".\System.Web.ClientServices\ConnectivityStatus.cs" />\r
+    <Compile Include=".\System.Web.Configuration\Converter.cs" />\r
+    <Compile Include=".\System.Web.Configuration\ConvertersCollection.cs" />\r
+    <Compile Include=".\System.Web.Configuration\ScriptingAuthenticationServiceSection.cs" />\r
+    <Compile Include=".\System.Web.Configuration\ScriptingJsonSerializationSection.cs" />\r
+    <Compile Include=".\System.Web.Configuration\ScriptingProfileServiceSection.cs" />\r
+    <Compile Include=".\System.Web.Configuration\ScriptingRoleServiceSection.cs" />\r
+    <Compile Include=".\System.Web.Configuration\ScriptingScriptResourceHandlerSection.cs" />\r
+    <Compile Include=".\System.Web.Configuration\ScriptingSectionGroup.cs" />\r
+    <Compile Include=".\System.Web.Configuration\ScriptingWebServicesSectionGroup.cs" />\r
+    <Compile Include=".\System.Web.Configuration\SystemWebExtensionsSectionGroup.cs" />\r
+    <Compile Include=".\System.Web.DynamicData\DynamicDataSourceOperation.cs" />\r
+    <Compile Include=".\System.Web.DynamicData\DynamicValidatorEventArgs.cs" />\r
+    <Compile Include=".\System.Web.DynamicData\IDynamicDataSource.cs" />\r
+    <Compile Include=".\System.Web.DynamicData\IDynamicValidatorException.cs" />\r
+    <Compile Include=".\System.Web.Handlers\ScriptModule.cs" />\r
+    <Compile Include=".\System.Web.Handlers\ScriptResourceHandler.cs" />\r
+    <Compile Include=".\System.Web.Query.Dynamic\DynamicClass.cs" />\r
+    <Compile Include=".\System.Web.Query.Dynamic\ParseException.cs" />\r
+    <Compile Include=".\System.Web.Script.Serialization\JavaScriptConverter.cs" />\r
+    <Compile Include=".\System.Web.Script.Serialization\JavaScriptSerializer.cs" />\r
+    <Compile Include=".\System.Web.Script.Serialization\JavaScriptTypeResolver.cs" />\r
+    <Compile Include=".\System.Web.Script.Serialization\Json.cs" />\r
+    <Compile Include=".\System.Web.Script.Serialization\JSON\JavaScriptUtils.cs" />\r
+    <Compile Include=".\System.Web.Script.Serialization\JSON\ReflectionUtils.cs" />\r
+    <Compile Include=".\System.Web.Script.Serialization\JsonDeserializer.cs" />\r
+    <Compile Include=".\System.Web.Script.Serialization\JsonSerializer.cs" />\r
+    <Compile Include=".\System.Web.Script.Serialization\ScriptIgnoreAttribute.cs" />\r
+    <Compile Include=".\System.Web.Script.Serialization\SimpleTypeResolver.cs" />\r
+    <Compile Include=".\System.Web.Script.Serialization\StringBuilderExtensions.cs" />\r
+    <Compile Include=".\System.Web.Script.Services\AuthenticationService.cs" />\r
+    <Compile Include=".\System.Web.Script.Services\ClientProxyHandler.cs" />\r
+    <Compile Include=".\System.Web.Script.Services\GenerateScriptTypeAttribute.cs" />\r
+    <Compile Include=".\System.Web.Script.Services\LogicalTypeInfo.cs" />\r
+    <Compile Include=".\System.Web.Script.Services\ProfileService.cs" />\r
+    <Compile Include=".\System.Web.Script.Services\ProxyGenerator.cs" />\r
+    <Compile Include=".\System.Web.Script.Services\ResponseFormat.cs" />\r
+    <Compile Include=".\System.Web.Script.Services\RestHandler.cs" />\r
+    <Compile Include=".\System.Web.Script.Services\ScriptHandlerFactory.cs" />\r
+    <Compile Include=".\System.Web.Script.Services\ScriptMethodAttribute.cs" />\r
+    <Compile Include=".\System.Web.Script.Services\ScriptServiceAttribute.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\DataPager.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\DataPagerCommandEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\DataPagerField.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\DataPagerFieldCollection.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\DataPagerFieldCommandEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\DataPagerFieldItem.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\HelperExtensions.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\InsertItemPosition.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\IPageableItemContainer.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\LinqDataSource.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceContextEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceDeleteEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceDisposeEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceInsertEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceSelectEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceStatusEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceUpdateEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceValidationException.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\LinqDataSourceView.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListView.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewCancelEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewCancelMode.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewCommandEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewContainer.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewDataItem.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewDeletedEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewDeleteEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewEditEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewInsertedEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewInsertEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewItem.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewItemEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewItemType.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewPagedDataSource.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewSelectEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewSortEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewTableCell.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewTableRow.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewUpdatedEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\ListViewUpdateEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\NextPreviousPagerField.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\NumericPagerField.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\PageEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\PagePropertiesChangingEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI.WebControls\TemplatePagerField.cs" />\r
+    <Compile Include=".\System.Web.UI\AsyncPostBackErrorEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI\AsyncPostBackTrigger.cs" />\r
+    <Compile Include=".\System.Web.UI\AuthenticationServiceManager.cs" />\r
+    <Compile Include=".\System.Web.UI\CompositeEntry.cs" />\r
+    <Compile Include=".\System.Web.UI\CompositeScriptReference.cs" />\r
+    <Compile Include=".\System.Web.UI\CompositeScriptReferenceEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI\ExtenderControl.cs" />\r
+    <Compile Include=".\System.Web.UI\IExtenderControl.cs" />\r
+    <Compile Include=".\System.Web.UI\IScriptControl.cs" />\r
+    <Compile Include=".\System.Web.UI\PostBackTrigger.cs" />\r
+    <Compile Include=".\System.Web.UI\ProfileServiceManager.cs" />\r
+    <Compile Include=".\System.Web.UI\RegisteredArrayDeclaration.cs" />\r
+    <Compile Include=".\System.Web.UI\RegisteredDisposeScript.cs" />\r
+    <Compile Include=".\System.Web.UI\RegisteredExpandoAttribute.cs" />\r
+    <Compile Include=".\System.Web.UI\RegisteredHiddenField.cs" />\r
+    <Compile Include=".\System.Web.UI\RegisteredScript.cs" />\r
+    <Compile Include=".\System.Web.UI\RegisteredScriptType.cs" />\r
+    <Compile Include=".\System.Web.UI\ScriptBehaviorDescriptor.cs" />\r
+    <Compile Include=".\System.Web.UI\ScriptComponentDescriptor.cs" />\r
+    <Compile Include=".\System.Web.UI\ScriptControl.cs" />\r
+    <Compile Include=".\System.Web.UI\ScriptControlDescriptor.cs" />\r
+    <Compile Include=".\System.Web.UI\ScriptDescriptor.cs" />\r
+    <Compile Include=".\System.Web.UI\ScriptManager.cs" />\r
+    <Compile Include=".\System.Web.UI\ScriptManagerProxy.cs" />\r
+    <Compile Include=".\System.Web.UI\ScriptMode.cs" />\r
+    <Compile Include=".\System.Web.UI\ScriptReference.cs" />\r
+    <Compile Include=".\System.Web.UI\ScriptReferenceBase.cs" />\r
+    <Compile Include=".\System.Web.UI\ScriptReferenceCollection.cs" />\r
+    <Compile Include=".\System.Web.UI\ScriptReferenceEventArgs.cs" />\r
+    <Compile Include=".\System.Web.UI\ScriptResourceAttribute.cs" />\r
+    <Compile Include=".\System.Web.UI\ServiceReference.cs" />\r
+    <Compile Include=".\System.Web.UI\ServiceReferenceCollection.cs" />\r
+    <Compile Include=".\System.Web.UI\TargetControlTypeAttribute.cs" />\r
+    <Compile Include=".\System.Web.UI\Timer.cs" />\r
+    <Compile Include=".\System.Web.UI\UpdatePanel.cs" />\r
+    <Compile Include=".\System.Web.UI\UpdatePanelControlTrigger.cs" />\r
+    <Compile Include=".\System.Web.UI\UpdatePanelRenderMode.cs" />\r
+    <Compile Include=".\System.Web.UI\UpdatePanelTrigger.cs" />\r
+    <Compile Include=".\System.Web.UI\UpdatePanelTriggerCollection.cs" />\r
+    <Compile Include=".\System.Web.UI\UpdatePanelUpdateMode.cs" />\r
+    <Compile Include=".\System.Web.UI\UpdateProgress.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.ApplicationServices/System.Web.ApplicationServices-net_4_x.csproj">\r
+      <Project>{928432BE-3518-4103-97F6-48B9658588A6}</Project>\r
+      <Name>System.Web.ApplicationServices-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Drawing/System.Drawing-net_4_x.csproj">\r
+      <Project>{584A5E46-2958-4CB2-8DF9-188B420D0BB0}</Project>\r
+      <Name>System.Drawing-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data.Linq/System.Data.Linq-net_4_x.csproj">\r
+      <Project>{E6EE9E9A-42BA-4202-8813-FCF40E9061BF}</Project>\r
+      <Name>System.Data.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Services/System.Web.Services-net_4_x.csproj">\r
+      <Project>{E43ADBA7-5DB9-466B-90C6-FFFDA520848D}</Project>\r
+      <Name>System.Web.Services-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.EnterpriseServices/System.EnterpriseServices-net_4_x.csproj">\r
+      <Project>{61E3D008-E273-4E12-860A-8ADA031098C2}</Project>\r
+      <Name>System.EnterpriseServices-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel/System.ServiceModel-net_4_x.csproj">\r
+      <Project>{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}</Project>\r
+      <Name>System.ServiceModel-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjax.debug.js">\r
+      <LogicalName>MicrosoftAjax.debug.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjax.js">\r
+      <LogicalName>MicrosoftAjax.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxTimer.debug.js">\r
+      <LogicalName>MicrosoftAjaxTimer.debug.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxTimer.js">\r
+      <LogicalName>MicrosoftAjaxTimer.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxWebForms.debug.js">\r
+      <LogicalName>MicrosoftAjaxWebForms.debug.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="../MicrosoftAjaxLibrary/System.Web.Extensions/3.5.0.0/3.5.21022.8/MicrosoftAjaxWebForms.js">\r
+      <LogicalName>MicrosoftAjaxWebForms.js</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web.Http.SelfHost/System.Web.Http.SelfHost-net_4_x.csproj b/mcs/class/System.Web.Http.SelfHost/System.Web.Http.SelfHost-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3f3face
--- /dev/null
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{0E705D1C-A4C4-41C2-832D-C812F3D4CB3C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.Http.SelfHost</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../winfx.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETMVC</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETMVC</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\CommonWebApiResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\DictionaryExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\Error.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\HttpMethodHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\TaskHelpers.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\TaskHelpersExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\CommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\Channels\HttpBinding.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\Channels\HttpBindingSecurity.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\Channels\HttpBindingSecurityMode.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\Channels\HttpBindingSecurityModeHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\Channels\HttpMessage.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\Channels\HttpMessageEncoderFactory.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\Channels\HttpMessageEncodingBindingElement.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\Channels\HttpMessageEncodingChannelListener.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\Channels\HttpMessageEncodingReplyChannel.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\Channels\HttpMessageEncodingRequestContext.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\Channels\HttpMessageExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\HttpRequestMessageExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\HttpSelfHostConfiguration.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\HttpSelfHostServer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\Properties\SRResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\Channels\AsyncResult.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\Channels\BufferedOutputStream.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\Channels\BufferManagerOutputStream.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\Channels\ChannelAcceptor.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\Channels\ChannelBindingUtility.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\Channels\CompletedAsyncResult.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\Channels\HttpTransportDefaults.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\Channels\IChannelAcceptor.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\Channels\LayeredChannel.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\Channels\LayeredChannelAcceptor.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\Channels\LayeredChannelListener.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\Channels\TransportDefaults.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\HostNameComparisonModeHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\HttpClientCredentialTypeHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\HttpProxyCredentialTypeHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\HttpTransportSecurityExtensionMethods.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.SelfHost\ServiceModel\TransferModeHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\TransparentCommonAssemblyInfo.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Net.Http/System.Net.Http-net_4_x.csproj">\r
+      <Project>{F1636C0A-FC68-4362-918F-9CCC789FED13}</Project>\r
+      <Name>System.Net.Http-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel/System.ServiceModel-net_4_x.csproj">\r
+      <Project>{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}</Project>\r
+      <Name>System.ServiceModel-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.IdentityModel/System.IdentityModel-net_4_x.csproj">\r
+      <Project>{FA718FA9-32C2-4BAC-BAAB-DB3A7A326D4C}</Project>\r
+      <Name>System.IdentityModel-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Http/System.Web.Http-net_4_x.csproj">\r
+      <Project>{6DDAE502-A602-410C-B182-C18D5100DDB0}</Project>\r
+      <Name>System.Web.Http-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Net.Http.Formatting/System.Net.Http.Formatting-net_4_x.csproj">\r
+      <Project>{5883D056-B748-4D13-A7E3-2D2756CDC6BC}</Project>\r
+      <Name>System.Net.Http.Formatting-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web.Http.WebHost/System.Web.Http.WebHost-net_4_x.csproj b/mcs/class/System.Web.Http.WebHost/System.Web.Http.WebHost-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3faffa8
--- /dev/null
@@ -0,0 +1,168 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2AF7E697-07BA-439E-89BF-076AEE4AE04C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.Http.WebHost</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../winfx.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETMVC</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETMVC</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\CommonWebApiResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\DictionaryExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\Error.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\HttpMethodHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\TaskHelpers.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\TaskHelpersExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\CommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\GlobalConfiguration.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\HttpControllerHandler.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\HttpControllerRouteHandler.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\HttpControllerTypeCacheSerializer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\PreApplicationStartCode.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\Properties\SRResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\RouteCollectionExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\Routing\HostedHttpRoute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\Routing\HostedHttpRouteCollection.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\Routing\HostedHttpRouteData.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\Routing\HostedHttpVirtualPathData.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\Routing\HttpContextBaseExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\Routing\HttpRouteDataExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\Routing\HttpRouteExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\Routing\HttpWebRoute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\SuppressFormsAuthRedirectModule.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\TaskWrapperAsyncResult.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\WebHostAssembliesResolver.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http.WebHost\WebHostHttpControllerTypeResolver.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\TransparentCommonAssemblyInfo.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Net.Http/System.Net.Http-net_4_x.csproj">\r
+      <Project>{F1636C0A-FC68-4362-918F-9CCC789FED13}</Project>\r
+      <Name>System.Net.Http-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel/System.ServiceModel-net_4_x.csproj">\r
+      <Project>{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}</Project>\r
+      <Name>System.ServiceModel-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.IdentityModel/System.IdentityModel-net_4_x.csproj">\r
+      <Project>{FA718FA9-32C2-4BAC-BAAB-DB3A7A326D4C}</Project>\r
+      <Name>System.IdentityModel-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Http/System.Web.Http-net_4_x.csproj">\r
+      <Project>{6DDAE502-A602-410C-B182-C18D5100DDB0}</Project>\r
+      <Name>System.Web.Http-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Net.Http.Formatting/System.Net.Http.Formatting-net_4_x.csproj">\r
+      <Project>{5883D056-B748-4D13-A7E3-2D2756CDC6BC}</Project>\r
+      <Name>System.Net.Http.Formatting-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Routing/System.Web.Routing-net_4_x.csproj">\r
+      <Project>{EBD67AE3-F249-4768-A143-6B2F9E56BC39}</Project>\r
+      <Name>System.Web.Routing-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+    <Reference Include="Microsoft.Web.Infrastructure">\r
+      <SpecificVersion>False</SpecificVersion>\r
+      <HintPath>Microsoft.Web.Infrastructure</HintPath>\r
+      <Private>False</Private>\r
+    </Reference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web.Http/System.Web.Http-net_4_x.csproj b/mcs/class/System.Web.Http/System.Web.Http-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7753c8f
--- /dev/null
@@ -0,0 +1,394 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{6DDAE502-A602-410C-B182-C18D5100DDB0}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.Http</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../winfx.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETMVC</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETMVC</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\AptcaCommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\CommonWebApiResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\DictionaryExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\Error.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\HttpMethodHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\PrefixContainer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\TaskHelpers.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\Common\TaskHelpersExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\CommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\RS.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\AcceptVerbsAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ActionNameAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\AllowAnonymousAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ApiController.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\AuthorizeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\ApiControllerActionInvoker.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\ApiControllerActionSelector.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\HttpActionBinding.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\HttpActionContext.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\HttpActionContextExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\HttpActionDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\HttpControllerConfigurationAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\HttpControllerContext.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\HttpControllerDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\HttpParameterBinding.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\HttpParameterDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\IActionHttpMethodProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\IActionMethodSelector.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\IActionResultConverter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\IActionValueBinder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\IHttpActionInvoker.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\IHttpActionSelector.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\IHttpController.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\ReflectedHttpActionDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\ReflectedHttpParameterDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\ResponseMessageResultConverter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\ValueResultConverter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Controllers\VoidResultConverter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Dependencies\EmptyResolver.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Dependencies\IDependencyResolver.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Dependencies\IDependencyScope.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Description\ApiDescription.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Description\ApiExplorer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Description\ApiExplorerSettingsAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Description\ApiParameterDescription.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Description\ApiParameterSource.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Description\IApiExplorer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Description\IDocumentationProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Dispatcher\DefaultAssembliesResolver.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Dispatcher\DefaultHttpControllerActivator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Dispatcher\DefaultHttpControllerSelector.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Dispatcher\DefaultHttpControllerTypeResolver.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Dispatcher\ExceptionSurrogate.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Dispatcher\HttpControllerDispatcher.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Dispatcher\HttpControllerTypeCache.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Dispatcher\IAssembliesResolver.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Dispatcher\IHttpControllerActivator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Dispatcher\IHttpControllerSelector.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Dispatcher\IHttpControllerTypeResolver.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\ActionDescriptorFilterProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\ActionFilterAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\AuthorizationFilterAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\ConfigurationFilterProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\ExceptionFilterAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\FilterAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\FilterInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\FilterInfoComparer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\FilterScope.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\HttpActionExecutedContext.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\HttpFilterCollection.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\IActionFilter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\IAuthorizationFilter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\IExceptionFilter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\IFilter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Filters\IFilterProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\FromBodyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\FromUriAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Hosting\HttpPipelineFactory.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Hosting\HttpPropertyKeys.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpBindNeverAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpBindRequiredAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpConfiguration.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpDeleteAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpGetAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpHeadAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpOptionsAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpPatchAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpPostAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpPutAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpRequestMessageExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpResponseException.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpResponseMessageExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpRouteCollection.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpRouteCollectionExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\HttpServer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\IncludeErrorDetailPolicy.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Internal\CollectionModelBinderUtil.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Internal\DataTypeUtil.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Internal\HttpActionContextExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Internal\HttpParameterBindingExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Internal\MemberInfoExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Internal\ParameterInfoExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Internal\TypeActivator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Internal\TypeDescriptorHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Internal\TypeHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Internal\UriQueryUtility.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Metadata\ModelMetadata.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Metadata\ModelMetadataProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Metadata\Providers\AssociatedMetadataProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Metadata\Providers\CachedDataAnnotationsMetadataAttributes.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Metadata\Providers\CachedDataAnnotationsModelMetadata.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Metadata\Providers\CachedModelMetadata.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Metadata\Providers\DataAnnotationsModelMetadataProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Metadata\Providers\EmptyMetadataProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\ArrayModelBinder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\ArrayModelBinderProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\BinaryDataModelBinderProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\CollectionModelBinder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\CollectionModelBinderProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\ComplexModelDto.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\ComplexModelDtoModelBinder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\ComplexModelDtoModelBinderProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\ComplexModelDtoResult.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\CompositeModelBinder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\CompositeModelBinderProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\DictionaryModelBinder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\DictionaryModelBinderProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\GenericModelBinderProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\KeyValuePairModelBinder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\KeyValuePairModelBinderProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\MutableObjectModelBinder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\MutableObjectModelBinderProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\SimpleModelBinderProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\TypeConverterModelBinder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\TypeConverterModelBinderProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\TypeMatchModelBinder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\Binders\TypeMatchModelBinderProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\CancellationTokenParameterBinding.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\CustomModelBinderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\DefaultActionValueBinder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\ErrorParameterBinding.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\FormatterParameterBinding.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\FormDataCollectionExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\HttpBindingBehavior.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\HttpBindingBehaviorAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\HttpRequestParameterBinding.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\IModelBinder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\JQueryMVCFormUrlEncodedFormatter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\ModelBinderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\ModelBinderConfig.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\ModelBinderErrorMessageProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\ModelBinderParameterBinding.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\ModelBinderProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\ModelBindingContext.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\ModelBindingHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\ModelError.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\ModelErrorCollection.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\ModelState.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ModelBinding\ModelStateDictionary.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\NonActionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Properties\SRResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Query\DynamicQueryable.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Query\ODataQueryDeserializer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Query\ParseException.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Query\QueryComposer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Query\QueryResolver.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Query\QueryValidator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Query\ServiceQuery.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Query\ServiceQueryPart.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\QueryableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\RouteParameter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\BoundRouteTemplate.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\HttpMethodConstraint.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\HttpParsedRoute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\HttpRoute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\HttpRouteData.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\HttpRouteDirection.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\HttpRouteParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\HttpRouteValueDictionary.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\HttpVirtualPathData.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\IHttpRoute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\IHttpRouteConstraint.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\IHttpRouteData.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\IHttpVirtualPathData.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\MediaTypeFormatterExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\PathContentSegment.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\PathLiteralSubsegment.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\PathParameterSubsegment.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\PathSegment.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\PathSeparatorSegment.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\PathSubsegment.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\UriPathExtensionMapping.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Routing\UrlHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Services\DefaultServices.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ServicesExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\FormattingUtilities.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\IFormatterTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\ITraceManager.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\ITraceWriter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\ITraceWriterExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\TraceCategories.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\TraceKind.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\TraceLevel.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\TraceManager.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\TraceRecord.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\ActionFilterAttributeTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\ActionFilterTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\ActionValueBinderTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\AuthorizationFilterAttributeTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\AuthorizationFilterTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\BufferedMediaTypeFormatterTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\ContentNegotiatorTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\ExceptionFilterAttributeTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\ExceptionFilterTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\FilterTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\FormatterParameterBindingTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\FormUrlEncodedMediaTypeFormatterTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\HttpActionBindingTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\HttpActionDescriptorTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\HttpActionInvokerTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\HttpActionSelectorTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\HttpControllerActivatorTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\HttpControllerDescriptorTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\HttpControllerSelectorTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\HttpControllerTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\HttpParameterBindingTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\JsonMediaTypeFormatterTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\MediaTypeFormatterTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\MessageHandlerTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\RequestMessageHandlerTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Tracing\Tracers\XmlMediaTypeFormatterTracer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\DefaultBodyModelValidator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\IBodyModelValidator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\ModelStateFormatterLogger.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\ModelValidatedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\ModelValidatingEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\ModelValidationNode.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\ModelValidationRequiredMemberSelector.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\ModelValidationResult.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\ModelValidator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\ModelValidatorProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\Providers\AssociatedValidatorProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\Providers\DataAnnotationsModelValidatorProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\Providers\DataMemberModelValidatorProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\Providers\RequiredMemberModelValidatorProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\Validators\DataAnnotationsModelValidator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\Validators\RequiredMemberModelValidator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\Validation\Validators\ValidatableObjectAdapter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ValueProviders\IEnumerableValueProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ValueProviders\IUriValueProviderFactory.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ValueProviders\IValueProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ValueProviders\Providers\CompositeValueProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ValueProviders\Providers\CompositeValueProviderFactory.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ValueProviders\Providers\ElementalValueProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ValueProviders\Providers\NameValueCollectionValueProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ValueProviders\Providers\QueryStringValueProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ValueProviders\Providers\QueryStringValueProviderFactory.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ValueProviders\Providers\RouteDataValueProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ValueProviders\Providers\RouteDataValueProviderFactory.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ValueProviders\ValueProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ValueProviders\ValueProviderFactory.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Http\ValueProviders\ValueProviderResult.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Net.Http/System.Net.Http-net_4_x.csproj">\r
+      <Project>{F1636C0A-FC68-4362-918F-9CCC789FED13}</Project>\r
+      <Name>System.Net.Http-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_4_x.csproj">\r
+      <Project>{8F86C287-38A5-49F8-BE6D-1E0E3D74AF39}</Project>\r
+      <Name>System.ComponentModel.DataAnnotations-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Net.Http.Formatting/System.Net.Http.Formatting-net_4_x.csproj">\r
+      <Project>{5883D056-B748-4D13-A7E3-2D2756CDC6BC}</Project>\r
+      <Name>System.Net.Http.Formatting-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Caching/System.Runtime.Caching-net_4_x.csproj">\r
+      <Project>{2FE2D8C6-B7B8-4067-A2C0-9D1DEA020FD8}</Project>\r
+      <Name>System.Runtime.Caching-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data.Linq/System.Data.Linq-net_4_x.csproj">\r
+      <Project>{E6EE9E9A-42BA-4202-8813-FCF40E9061BF}</Project>\r
+      <Name>System.Data.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="System.Web.Http.Properties.CommonWebApiResources.resources">\r
+      <LogicalName>System.Web.Http.Properties.CommonWebApiResources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.Http.Properties.SRResources.resources">\r
+      <LogicalName>System.Web.Http.Properties.SRResources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web.Mvc3/System.Web.Mvc3-net_4_x.csproj b/mcs/class/System.Web.Mvc3/System.Web.Mvc3-net_4_x.csproj
new file mode 100644 (file)
index 0000000..6c1c126
--- /dev/null
@@ -0,0 +1,497 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{14D0E9AA-AF30-4E40-983F-8BE66423E6AF}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.Mvc</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../winfx.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;MONO</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;MONO</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include=".\GlobalAssemblyInfo.cs" />\r
+    <Compile Include=".\GlobalSuppressions.cs" />\r
+    <Compile Include=".\Mvc\AcceptVerbsAttribute.cs" />\r
+    <Compile Include=".\Mvc\ActionDescriptor.cs" />\r
+    <Compile Include=".\Mvc\ActionExecutedContext.cs" />\r
+    <Compile Include=".\Mvc\ActionExecutingContext.cs" />\r
+    <Compile Include=".\Mvc\ActionFilterAttribute.cs" />\r
+    <Compile Include=".\Mvc\ActionMethodDispatcher.cs" />\r
+    <Compile Include=".\Mvc\ActionMethodDispatcherCache.cs" />\r
+    <Compile Include=".\Mvc\ActionMethodSelector.cs" />\r
+    <Compile Include=".\Mvc\ActionMethodSelectorAttribute.cs" />\r
+    <Compile Include=".\Mvc\ActionNameAttribute.cs" />\r
+    <Compile Include=".\Mvc\ActionNameSelectorAttribute.cs" />\r
+    <Compile Include=".\Mvc\ActionResult.cs" />\r
+    <Compile Include=".\Mvc\ActionSelector.cs" />\r
+    <Compile Include=".\Mvc\AdditionalMetaDataAttribute.cs" />\r
+    <Compile Include=".\Mvc\Ajax\AjaxExtensions.cs" />\r
+    <Compile Include=".\Mvc\Ajax\AjaxOptions.cs" />\r
+    <Compile Include=".\Mvc\Ajax\InsertionMode.cs" />\r
+    <Compile Include=".\Mvc\AjaxHelper.cs" />\r
+    <Compile Include=".\Mvc\AjaxHelper`1.cs" />\r
+    <Compile Include=".\Mvc\AjaxRequestExtensions.cs" />\r
+    <Compile Include=".\Mvc\AllowHtmlAttribute.cs" />\r
+    <Compile Include=".\Mvc\AreaHelpers.cs" />\r
+    <Compile Include=".\Mvc\AreaRegistration.cs" />\r
+    <Compile Include=".\Mvc\AreaRegistrationContext.cs" />\r
+    <Compile Include=".\Mvc\AssociatedMetadataProvider.cs" />\r
+    <Compile Include=".\Mvc\AssociatedValidatorProvider.cs" />\r
+    <Compile Include=".\Mvc\Async\ActionDescriptorCreator.cs" />\r
+    <Compile Include=".\Mvc\Async\AsyncActionDescriptor.cs" />\r
+    <Compile Include=".\Mvc\Async\AsyncActionMethodSelector.cs" />\r
+    <Compile Include=".\Mvc\Async\AsyncControllerActionInvoker.cs" />\r
+    <Compile Include=".\Mvc\Async\AsyncManager.cs" />\r
+    <Compile Include=".\Mvc\Async\AsyncResultWrapper.cs" />\r
+    <Compile Include=".\Mvc\Async\AsyncUtil.cs" />\r
+    <Compile Include=".\Mvc\Async\AsyncVoid.cs" />\r
+    <Compile Include=".\Mvc\Async\BeginInvokeDelegate.cs" />\r
+    <Compile Include=".\Mvc\Async\EndInvokeDelegate.cs" />\r
+    <Compile Include=".\Mvc\Async\EndInvokeDelegate`1.cs" />\r
+    <Compile Include=".\Mvc\Async\IAsyncActionInvoker.cs" />\r
+    <Compile Include=".\Mvc\Async\IAsyncController.cs" />\r
+    <Compile Include=".\Mvc\Async\IAsyncManagerContainer.cs" />\r
+    <Compile Include=".\Mvc\Async\OperationCounter.cs" />\r
+    <Compile Include=".\Mvc\Async\ReflectedAsyncActionDescriptor.cs" />\r
+    <Compile Include=".\Mvc\Async\ReflectedAsyncControllerDescriptor.cs" />\r
+    <Compile Include=".\Mvc\Async\SimpleAsyncResult.cs" />\r
+    <Compile Include=".\Mvc\Async\SingleEntryGate.cs" />\r
+    <Compile Include=".\Mvc\Async\SynchronizationContextUtil.cs" />\r
+    <Compile Include=".\Mvc\Async\SynchronousOperationException.cs" />\r
+    <Compile Include=".\Mvc\Async\Trigger.cs" />\r
+    <Compile Include=".\Mvc\Async\TriggerListener.cs" />\r
+    <Compile Include=".\Mvc\AsyncController.cs" />\r
+    <Compile Include=".\Mvc\AsyncTimeoutAttribute.cs" />\r
+    <Compile Include=".\Mvc\AuthorizationContext.cs" />\r
+    <Compile Include=".\Mvc\AuthorizeAttribute.cs" />\r
+    <Compile Include=".\Mvc\BindAttribute.cs" />\r
+    <Compile Include=".\Mvc\BuildManagerCompiledView.cs" />\r
+    <Compile Include=".\Mvc\BuildManagerViewEngine.cs" />\r
+    <Compile Include=".\Mvc\BuildManagerWrapper.cs" />\r
+    <Compile Include=".\Mvc\ByteArrayModelBinder.cs" />\r
+    <Compile Include=".\Mvc\ChildActionOnlyAttribute.cs" />\r
+    <Compile Include=".\Mvc\ChildActionValueProvider.cs" />\r
+    <Compile Include=".\Mvc\ChildActionValueProviderFactory.cs" />\r
+    <Compile Include=".\Mvc\ClientDataTypeModelValidatorProvider.cs" />\r
+    <Compile Include=".\Mvc\CompareAttribute.cs" />\r
+    <Compile Include=".\Mvc\ContentResult.cs" />\r
+    <Compile Include=".\Mvc\Controller.cs" />\r
+    <Compile Include=".\Mvc\ControllerActionInvoker.cs" />\r
+    <Compile Include=".\Mvc\ControllerBase.cs" />\r
+    <Compile Include=".\Mvc\ControllerBuilder.cs" />\r
+    <Compile Include=".\Mvc\ControllerContext.cs" />\r
+    <Compile Include=".\Mvc\ControllerDescriptor.cs" />\r
+    <Compile Include=".\Mvc\ControllerDescriptorCache.cs" />\r
+    <Compile Include=".\Mvc\ControllerInstanceFilterProvider.cs" />\r
+    <Compile Include=".\Mvc\ControllerTypeCache.cs" />\r
+    <Compile Include=".\Mvc\CustomModelBinderAttribute.cs" />\r
+    <Compile Include=".\Mvc\DataAnnotationsModelMetadata.cs" />\r
+    <Compile Include=".\Mvc\DataAnnotationsModelMetadataProvider.cs" />\r
+    <Compile Include=".\Mvc\DataAnnotationsModelValidator.cs" />\r
+    <Compile Include=".\Mvc\DataAnnotationsModelValidator`1.cs" />\r
+    <Compile Include=".\Mvc\DataAnnotationsModelValidatorProvider.cs" />\r
+    <Compile Include=".\Mvc\DataErrorInfoModelValidatorProvider.cs" />\r
+    <Compile Include=".\Mvc\DataTypeUtil.cs" />\r
+    <Compile Include=".\Mvc\DefaultControllerFactory.cs" />\r
+    <Compile Include=".\Mvc\DefaultModelBinder.cs" />\r
+    <Compile Include=".\Mvc\DefaultViewLocationCache.cs" />\r
+    <Compile Include=".\Mvc\DependencyResolver.cs" />\r
+    <Compile Include=".\Mvc\DependencyResolverExtensions.cs" />\r
+    <Compile Include=".\Mvc\DescriptorUtil.cs" />\r
+    <Compile Include=".\Mvc\DictionaryHelpers.cs" />\r
+    <Compile Include=".\Mvc\DictionaryValueProvider`1.cs" />\r
+    <Compile Include=".\Mvc\DynamicViewDataDictionary.cs" />\r
+    <Compile Include=".\Mvc\EmptyModelMetadataProvider.cs" />\r
+    <Compile Include=".\Mvc\EmptyModelValidatorProvider.cs" />\r
+    <Compile Include=".\Mvc\EmptyResult.cs" />\r
+    <Compile Include=".\Mvc\Error.cs" />\r
+    <Compile Include=".\Mvc\ExceptionContext.cs" />\r
+    <Compile Include=".\Mvc\ExpressionHelper.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\BinaryExpressionFingerprint.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\CachedExpressionCompiler.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\ConditionalExpressionFingerprint.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\ConstantExpressionFingerprint.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\DefaultExpressionFingerprint.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\ExpressionFingerprint.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\ExpressionFingerprintChain.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\FingerprintingExpressionVisitor.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\HashCodeCombiner.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\Hoisted`2.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\HoistingExpressionVisitor.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\IndexExpressionFingerprint.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\LambdaExpressionFingerprint.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\MemberExpressionFingerprint.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\MethodCallExpressionFingerprint.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\ParameterExpressionFingerprint.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\TypeBinaryExpressionFingerprint.cs" />\r
+    <Compile Include=".\Mvc\ExpressionUtil\UnaryExpressionFingerprint.cs" />\r
+    <Compile Include=".\Mvc\FieldValidationMetadata.cs" />\r
+    <Compile Include=".\Mvc\FileContentResult.cs" />\r
+    <Compile Include=".\Mvc\FilePathResult.cs" />\r
+    <Compile Include=".\Mvc\FileResult.cs" />\r
+    <Compile Include=".\Mvc\FileStreamResult.cs" />\r
+    <Compile Include=".\Mvc\Filter.cs" />\r
+    <Compile Include=".\Mvc\FilterAttribute.cs" />\r
+    <Compile Include=".\Mvc\FilterAttributeFilterProvider.cs" />\r
+    <Compile Include=".\Mvc\FilterInfo.cs" />\r
+    <Compile Include=".\Mvc\FilterProviderCollection.cs" />\r
+    <Compile Include=".\Mvc\FilterProviders.cs" />\r
+    <Compile Include=".\Mvc\FilterScope.cs" />\r
+    <Compile Include=".\Mvc\FormCollection.cs" />\r
+    <Compile Include=".\Mvc\FormContext.cs" />\r
+    <Compile Include=".\Mvc\FormMethod.cs" />\r
+    <Compile Include=".\Mvc\FormValueProvider.cs" />\r
+    <Compile Include=".\Mvc\FormValueProviderFactory.cs" />\r
+    <Compile Include=".\Mvc\GlobalFilterCollection.cs" />\r
+    <Compile Include=".\Mvc\GlobalFilters.cs" />\r
+    <Compile Include=".\Mvc\HandleErrorAttribute.cs" />\r
+    <Compile Include=".\Mvc\HandleErrorInfo.cs" />\r
+    <Compile Include=".\Mvc\HiddenInputAttribute.cs" />\r
+    <Compile Include=".\Mvc\Html\ChildActionExtensions.cs" />\r
+    <Compile Include=".\Mvc\Html\DefaultDisplayTemplates.cs" />\r
+    <Compile Include=".\Mvc\Html\DefaultEditorTemplates.cs" />\r
+    <Compile Include=".\Mvc\Html\DisplayExtensions.cs" />\r
+    <Compile Include=".\Mvc\Html\DisplayTextExtensions.cs" />\r
+    <Compile Include=".\Mvc\Html\EditorExtensions.cs" />\r
+    <Compile Include=".\Mvc\Html\FormExtensions.cs" />\r
+    <Compile Include=".\Mvc\Html\InputExtensions.cs" />\r
+    <Compile Include=".\Mvc\Html\LabelExtensions.cs" />\r
+    <Compile Include=".\Mvc\Html\LinkExtensions.cs" />\r
+    <Compile Include=".\Mvc\Html\MvcForm.cs" />\r
+    <Compile Include=".\Mvc\Html\PartialExtensions.cs" />\r
+    <Compile Include=".\Mvc\Html\RenderPartialExtensions.cs" />\r
+    <Compile Include=".\Mvc\Html\SelectExtensions.cs" />\r
+    <Compile Include=".\Mvc\Html\TemplateHelpers.cs" />\r
+    <Compile Include=".\Mvc\Html\TextAreaExtensions.cs" />\r
+    <Compile Include=".\Mvc\Html\ValidationExtensions.cs" />\r
+    <Compile Include=".\Mvc\HtmlHelper.cs" />\r
+    <Compile Include=".\Mvc\HtmlHelper`1.cs" />\r
+    <Compile Include=".\Mvc\HttpDeleteAttribute.cs" />\r
+    <Compile Include=".\Mvc\HttpFileCollectionValueProvider.cs" />\r
+    <Compile Include=".\Mvc\HttpFileCollectionValueProviderFactory.cs" />\r
+    <Compile Include=".\Mvc\HttpGetAttribute.cs" />\r
+    <Compile Include=".\Mvc\HttpHandlerUtil.cs" />\r
+    <Compile Include=".\Mvc\HttpNotFoundResult.cs" />\r
+    <Compile Include=".\Mvc\HttpPostAttribute.cs" />\r
+    <Compile Include=".\Mvc\HttpPostedFileBaseModelBinder.cs" />\r
+    <Compile Include=".\Mvc\HttpPutAttribute.cs" />\r
+    <Compile Include=".\Mvc\HttpRequestExtensions.cs" />\r
+    <Compile Include=".\Mvc\HttpStatusCodeResult.cs" />\r
+    <Compile Include=".\Mvc\HttpUnauthorizedResult.cs" />\r
+    <Compile Include=".\Mvc\HttpVerbs.cs" />\r
+    <Compile Include=".\Mvc\IActionFilter.cs" />\r
+    <Compile Include=".\Mvc\IActionInvoker.cs" />\r
+    <Compile Include=".\Mvc\IAuthorizationFilter.cs" />\r
+    <Compile Include=".\Mvc\IBuildManager.cs" />\r
+    <Compile Include=".\Mvc\IClientValidatable.cs" />\r
+    <Compile Include=".\Mvc\IController.cs" />\r
+    <Compile Include=".\Mvc\IControllerActivator.cs" />\r
+    <Compile Include=".\Mvc\IControllerFactory.cs" />\r
+    <Compile Include=".\Mvc\IDependencyResolver.cs" />\r
+    <Compile Include=".\Mvc\IExceptionFilter.cs" />\r
+    <Compile Include=".\Mvc\IFilterProvider.cs" />\r
+    <Compile Include=".\Mvc\IMetadataAware.cs" />\r
+    <Compile Include=".\Mvc\IModelBinder.cs" />\r
+    <Compile Include=".\Mvc\IModelBinderProvider.cs" />\r
+    <Compile Include=".\Mvc\IMvcControlBuilder.cs" />\r
+    <Compile Include=".\Mvc\IMvcFilter.cs" />\r
+    <Compile Include=".\Mvc\InputType.cs" />\r
+    <Compile Include=".\Mvc\IResolver.cs" />\r
+    <Compile Include=".\Mvc\IResultFilter.cs" />\r
+    <Compile Include=".\Mvc\IRouteWithArea.cs" />\r
+    <Compile Include=".\Mvc\ITempDataProvider.cs" />\r
+    <Compile Include=".\Mvc\IUniquelyIdentifiable.cs" />\r
+    <Compile Include=".\Mvc\IUnvalidatedRequestValues.cs" />\r
+    <Compile Include=".\Mvc\IUnvalidatedValueProvider.cs" />\r
+    <Compile Include=".\Mvc\IValueProvider.cs" />\r
+    <Compile Include=".\Mvc\IView.cs" />\r
+    <Compile Include=".\Mvc\IViewDataContainer.cs" />\r
+    <Compile Include=".\Mvc\IViewEngine.cs" />\r
+    <Compile Include=".\Mvc\IViewLocationCache.cs" />\r
+    <Compile Include=".\Mvc\IViewPageActivator.cs" />\r
+    <Compile Include=".\Mvc\IViewStartPageChild.cs" />\r
+    <Compile Include=".\Mvc\JavaScriptResult.cs" />\r
+    <Compile Include=".\Mvc\JsonRequestBehavior.cs" />\r
+    <Compile Include=".\Mvc\JsonResult.cs" />\r
+    <Compile Include=".\Mvc\JsonValueProviderFactory.cs" />\r
+    <Compile Include=".\Mvc\LinqBinaryModelBinder.cs" />\r
+    <Compile Include=".\Mvc\ModelBinderAttribute.cs" />\r
+    <Compile Include=".\Mvc\ModelBinderDictionary.cs" />\r
+    <Compile Include=".\Mvc\ModelBinderProviderCollection.cs" />\r
+    <Compile Include=".\Mvc\ModelBinderProviders.cs" />\r
+    <Compile Include=".\Mvc\ModelBinders.cs" />\r
+    <Compile Include=".\Mvc\ModelBindingContext.cs" />\r
+    <Compile Include=".\Mvc\ModelClientValidationEqualToRule.cs" />\r
+    <Compile Include=".\Mvc\ModelClientValidationRangeRule.cs" />\r
+    <Compile Include=".\Mvc\ModelClientValidationRegexRule.cs" />\r
+    <Compile Include=".\Mvc\ModelClientValidationRemoteRule.cs" />\r
+    <Compile Include=".\Mvc\ModelClientValidationRequiredRule.cs" />\r
+    <Compile Include=".\Mvc\ModelClientValidationRule.cs" />\r
+    <Compile Include=".\Mvc\ModelClientValidationStringLengthRule.cs" />\r
+    <Compile Include=".\Mvc\ModelError.cs" />\r
+    <Compile Include=".\Mvc\ModelErrorCollection.cs" />\r
+    <Compile Include=".\Mvc\ModelMetadata.cs" />\r
+    <Compile Include=".\Mvc\ModelMetadataProvider.cs" />\r
+    <Compile Include=".\Mvc\ModelMetadataProviders.cs" />\r
+    <Compile Include=".\Mvc\ModelState.cs" />\r
+    <Compile Include=".\Mvc\ModelStateDictionary.cs" />\r
+    <Compile Include=".\Mvc\ModelValidationResult.cs" />\r
+    <Compile Include=".\Mvc\ModelValidator.cs" />\r
+    <Compile Include=".\Mvc\ModelValidatorProvider.cs" />\r
+    <Compile Include=".\Mvc\ModelValidatorProviderCollection.cs" />\r
+    <Compile Include=".\Mvc\ModelValidatorProviders.cs" />\r
+    <Compile Include=".\Mvc\MultiSelectList.cs" />\r
+    <Compile Include=".\Mvc\MultiServiceResolver.cs" />\r
+    <Compile Include=".\Mvc\MvcFilter.cs" />\r
+    <Compile Include=".\Mvc\MvcHandler.cs" />\r
+    <Compile Include=".\Mvc\MvcHtmlString.cs" />\r
+    <Compile Include=".\Mvc\MvcHttpHandler.cs" />\r
+    <Compile Include=".\Mvc\MvcRouteHandler.cs" />\r
+    <Compile Include=".\Mvc\MvcWebRazorHostFactory.cs" />\r
+    <Compile Include=".\Mvc\NameValueCollectionExtensions.cs" />\r
+    <Compile Include=".\Mvc\NameValueCollectionValueProvider.cs" />\r
+    <Compile Include=".\Mvc\NoAsyncTimeoutAttribute.cs" />\r
+    <Compile Include=".\Mvc\NonActionAttribute.cs" />\r
+    <Compile Include=".\Mvc\NullViewLocationCache.cs" />\r
+    <Compile Include=".\Mvc\OutputCacheAttribute.cs" />\r
+    <Compile Include=".\Mvc\ParameterBindingInfo.cs" />\r
+    <Compile Include=".\Mvc\ParameterDescriptor.cs" />\r
+    <Compile Include=".\Mvc\ParameterInfoUtil.cs" />\r
+    <Compile Include=".\Mvc\PartialViewResult.cs" />\r
+    <Compile Include=".\Mvc\PathHelpers.cs" />\r
+    <Compile Include=".\Mvc\PreApplicationStartCode.cs" />\r
+    <Compile Include=".\Mvc\QueryStringValueProvider.cs" />\r
+    <Compile Include=".\Mvc\QueryStringValueProviderFactory.cs" />\r
+    <Compile Include=".\Mvc\RangeAttributeAdapter.cs" />\r
+    <Compile Include=".\Mvc\Razor\MvcCSharpRazorCodeGenerator.cs" />\r
+    <Compile Include=".\Mvc\Razor\MvcCSharpRazorCodeParser.cs" />\r
+    <Compile Include=".\Mvc\Razor\MvcVBRazorCodeParser.cs" />\r
+    <Compile Include=".\Mvc\Razor\MvcWebPageRazorHost.cs" />\r
+    <Compile Include=".\Mvc\Razor\SetModelTypeCodeGenerator.cs" />\r
+    <Compile Include=".\Mvc\Razor\StartPageLookupDelegate.cs" />\r
+    <Compile Include=".\Mvc\RazorView.cs" />\r
+    <Compile Include=".\Mvc\RazorViewEngine.cs" />\r
+    <Compile Include=".\Mvc\ReaderWriterCache`2.cs" />\r
+    <Compile Include=".\Mvc\RedirectResult.cs" />\r
+    <Compile Include=".\Mvc\RedirectToRouteResult.cs" />\r
+    <Compile Include=".\Mvc\ReflectedActionDescriptor.cs" />\r
+    <Compile Include=".\Mvc\ReflectedAttributeCache.cs" />\r
+    <Compile Include=".\Mvc\ReflectedControllerDescriptor.cs" />\r
+    <Compile Include=".\Mvc\ReflectedParameterBindingInfo.cs" />\r
+    <Compile Include=".\Mvc\ReflectedParameterDescriptor.cs" />\r
+    <Compile Include=".\Mvc\RegularExpressionAttributeAdapter.cs" />\r
+    <Compile Include=".\Mvc\RemoteAttribute.cs" />\r
+    <Compile Include=".\Mvc\RequiredAttributeAdapter.cs" />\r
+    <Compile Include=".\Mvc\RequireHttpsAttribute.cs" />\r
+    <Compile Include=".\Mvc\Resources\MvcResources.Designer.cs" />\r
+    <Compile Include=".\Mvc\ResultExecutedContext.cs" />\r
+    <Compile Include=".\Mvc\ResultExecutingContext.cs" />\r
+    <Compile Include=".\Mvc\RouteCollectionExtensions.cs" />\r
+    <Compile Include=".\Mvc\RouteDataValueProvider.cs" />\r
+    <Compile Include=".\Mvc\RouteDataValueProviderFactory.cs" />\r
+    <Compile Include=".\Mvc\RouteValuesHelpers.cs" />\r
+    <Compile Include=".\Mvc\SecurityUtil.cs" />\r
+    <Compile Include=".\Mvc\SelectList.cs" />\r
+    <Compile Include=".\Mvc\SelectListItem.cs" />\r
+    <Compile Include=".\Mvc\SessionStateAttribute.cs" />\r
+    <Compile Include=".\Mvc\SessionStateTempDataProvider.cs" />\r
+    <Compile Include=".\Mvc\SingleServiceResolver.cs" />\r
+    <Compile Include=".\Mvc\StringLengthAttributeAdapter.cs" />\r
+    <Compile Include=".\Mvc\TagBuilderExtensions.cs" />\r
+    <Compile Include=".\Mvc\TempDataDictionary.cs" />\r
+    <Compile Include=".\Mvc\TemplateInfo.cs" />\r
+    <Compile Include=".\Mvc\TryGetValueDelegate.cs" />\r
+    <Compile Include=".\Mvc\TypeCacheSerializer.cs" />\r
+    <Compile Include=".\Mvc\TypeCacheUtil.cs" />\r
+    <Compile Include=".\Mvc\TypeDescriptorHelper.cs" />\r
+    <Compile Include=".\Mvc\TypeHelpers.cs" />\r
+    <Compile Include=".\Mvc\UnvalidatedRequestValuesAccessor.cs" />\r
+    <Compile Include=".\Mvc\UnvalidatedRequestValuesWrapper.cs" />\r
+    <Compile Include=".\Mvc\UrlHelper.cs" />\r
+    <Compile Include=".\Mvc\UrlParameter.cs" />\r
+    <Compile Include=".\Mvc\UrlRewriterHelper.cs" />\r
+    <Compile Include=".\Mvc\ValidatableObjectAdapter.cs" />\r
+    <Compile Include=".\Mvc\ValidateAntiForgeryTokenAttribute.cs" />\r
+    <Compile Include=".\Mvc\ValidateInputAttribute.cs" />\r
+    <Compile Include=".\Mvc\ValueProviderCollection.cs" />\r
+    <Compile Include=".\Mvc\ValueProviderDictionary.cs" />\r
+    <Compile Include=".\Mvc\ValueProviderFactories.cs" />\r
+    <Compile Include=".\Mvc\ValueProviderFactory.cs" />\r
+    <Compile Include=".\Mvc\ValueProviderFactoryCollection.cs" />\r
+    <Compile Include=".\Mvc\ValueProviderResult.cs" />\r
+    <Compile Include=".\Mvc\ValueProviderUtil.cs" />\r
+    <Compile Include=".\Mvc\ViewContext.cs" />\r
+    <Compile Include=".\Mvc\ViewDataDictionary.cs" />\r
+    <Compile Include=".\Mvc\ViewDataDictionary`1.cs" />\r
+    <Compile Include=".\Mvc\ViewDataInfo.cs" />\r
+    <Compile Include=".\Mvc\ViewEngineCollection.cs" />\r
+    <Compile Include=".\Mvc\ViewEngineResult.cs" />\r
+    <Compile Include=".\Mvc\ViewEngines.cs" />\r
+    <Compile Include=".\Mvc\ViewMasterPage.cs" />\r
+    <Compile Include=".\Mvc\ViewMasterPage`1.cs" />\r
+    <Compile Include=".\Mvc\ViewMasterPageControlBuilder.cs" />\r
+    <Compile Include=".\Mvc\ViewPage.cs" />\r
+    <Compile Include=".\Mvc\ViewPage`1.cs" />\r
+    <Compile Include=".\Mvc\ViewPageControlBuilder.cs" />\r
+    <Compile Include=".\Mvc\ViewResult.cs" />\r
+    <Compile Include=".\Mvc\ViewResultBase.cs" />\r
+    <Compile Include=".\Mvc\ViewStartPage.cs" />\r
+    <Compile Include=".\Mvc\ViewTemplateUserControl.cs" />\r
+    <Compile Include=".\Mvc\ViewTemplateUserControl`1.cs" />\r
+    <Compile Include=".\Mvc\ViewType.cs" />\r
+    <Compile Include=".\Mvc\ViewTypeControlBuilder.cs" />\r
+    <Compile Include=".\Mvc\ViewTypeParserFilter.cs" />\r
+    <Compile Include=".\Mvc\ViewUserControl.cs" />\r
+    <Compile Include=".\Mvc\ViewUserControl`1.cs" />\r
+    <Compile Include=".\Mvc\ViewUserControlControlBuilder.cs" />\r
+    <Compile Include=".\Mvc\VirtualPathProviderViewEngine.cs" />\r
+    <Compile Include=".\Mvc\WebFormView.cs" />\r
+    <Compile Include=".\Mvc\WebFormViewEngine.cs" />\r
+    <Compile Include=".\Mvc\WebViewPage.cs" />\r
+    <Compile Include=".\Mvc\WebViewPage`1.cs" />\r
+    <Compile Include=".\Properties\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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <Reference Include="Microsoft.Web.Infrastructure">\r
+      <SpecificVersion>False</SpecificVersion>\r
+      <HintPath>Microsoft.Web.Infrastructure</HintPath>\r
+      <Private>False</Private>\r
+    </Reference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Abstractions/System.Web.Abstractions-net_4_x.csproj">\r
+      <Project>{79D6E70D-8FD8-4EAA-9E81-B32B5C2815FB}</Project>\r
+      <Name>System.Web.Abstractions-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Routing/System.Web.Routing-net_4_x.csproj">\r
+      <Project>{EBD67AE3-F249-4768-A143-6B2F9E56BC39}</Project>\r
+      <Name>System.Web.Routing-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Extensions/System.Web.Extensions-net_4_x.csproj">\r
+      <Project>{EE582CE1-A692-47AC-B838-3A78955898BE}</Project>\r
+      <Name>System.Web.Extensions-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_4_x.csproj">\r
+      <Project>{8F86C287-38A5-49F8-BE6D-1E0E3D74AF39}</Project>\r
+      <Name>System.ComponentModel.DataAnnotations-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data.Linq/System.Data.Linq-net_4_x.csproj">\r
+      <Project>{E6EE9E9A-42BA-4202-8813-FCF40E9061BF}</Project>\r
+      <Name>System.Data.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Caching/System.Runtime.Caching-net_4_x.csproj">\r
+      <Project>{2FE2D8C6-B7B8-4067-A2C0-9D1DEA020FD8}</Project>\r
+      <Name>System.Runtime.Caching-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Razor/System.Web.Razor-net_4_x.csproj">\r
+      <Project>{11928A85-4C26-4258-AC86-2AFB0A69DED2}</Project>\r
+      <Name>System.Web.Razor-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.WebPages.Razor/System.Web.WebPages.Razor-net_4_x.csproj">\r
+      <Project>{55F0BCD6-4B0B-408C-BE98-4BFF82157048}</Project>\r
+      <Name>System.Web.WebPages.Razor-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.WebPages/System.Web.WebPages-net_4_x.csproj">\r
+      <Project>{D4EAC129-92AB-432C-941D-4B8481097060}</Project>\r
+      <Name>System.Web.WebPages-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="Mvc/Resources/MvcResources.resources">\r
+      <LogicalName>System.Web.Mvc.Resources.MvcResources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web.Razor/System.Web.Razor-net_4_x.csproj b/mcs/class/System.Web.Razor/System.Web.Razor-net_4_x.csproj
new file mode 100644 (file)
index 0000000..eaa191d
--- /dev/null
@@ -0,0 +1,252 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{11928A85-4C26-4258-AC86-2AFB0A69DED2}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.Razor</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../winfx.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETWEBPAGES</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETWEBPAGES</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\CommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\CommonResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\ExceptionHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\HashCodeCombiner.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\CSharpRazorCodeLanguage.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\DocumentParseCompleteEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Editor\AutoCompleteEditHandler.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Editor\BackgroundParseTask.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Editor\EditorHints.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Editor\EditResult.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Editor\ImplicitExpressionEditHandler.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Editor\SingleLineMarkupEditHandler.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Editor\SpanEditHandler.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\AddImportCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\AttributeBlockCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\BaseCodeWriter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\BlockCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\CodeGenerationCompleteEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\CodeGeneratorBase.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\CodeGeneratorContext.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\CodeWriter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\CodeWriterExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\CSharpCodeWriter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\CSharpRazorCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\DynamicAttributeBlockCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\ExpressionCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\ExpressionRenderingMode.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\GeneratedClassContext.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\GeneratedCodeMapping.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\HelperCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\HybridCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\IBlockCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\ISpanCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\LiteralAttributeCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\MarkupCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\RazorCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\RazorCommentCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\RazorDirectiveAttributeCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\ResolveUrlCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\SectionCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\SetBaseTypeCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\SetLayoutCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\SetVBOptionCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\SpanCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\StatementCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\TemplateBlockCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\TypeMemberCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\VBCodeWriter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Generator\VBRazorCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\GeneratorResults.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\BalancingModes.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\CallbackVisitor.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\ConditionalAttributeCollapser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\CSharpCodeParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\CSharpCodeParser.Directives.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\CSharpCodeParser.Statements.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\CSharpLanguageCharacteristics.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\HtmlLanguageCharacteristics.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\HtmlMarkupParser.Block.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\HtmlMarkupParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\HtmlMarkupParser.Document.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\HtmlMarkupParser.Section.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\ISyntaxTreeRewriter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\LanguageCharacteristics.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\MarkupCollapser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\MarkupRewriter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\ParserBase.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\ParserContext.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\ParserHelpers.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\ParserVisitor.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\ParserVisitorExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\RazorParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\SyntaxConstants.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\SyntaxTree\AcceptedCharacters.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\SyntaxTree\Block.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\SyntaxTree\BlockBuilder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\SyntaxTree\BlockType.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\SyntaxTree\EquivalenceComparer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\SyntaxTree\RazorError.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\SyntaxTree\Span.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\SyntaxTree\SpanBuilder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\SyntaxTree\SpanKind.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\SyntaxTree\SyntaxTreeNode.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\TextReaderExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\TokenizerBackedParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\TokenizerBackedParser.Helpers.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\VBCodeParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\VBCodeParser.Directives.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\VBCodeParser.Statements.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\VBLanguageCharacteristics.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Parser\WhitespaceRewriter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\ParserResults.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\PartialParseResult.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\RazorCodeLanguage.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\RazorDebugHelpers.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\RazorDirectiveAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\RazorEditorParser.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\RazorEngineHost.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\RazorTemplateEngine.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Resources\RazorResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\StateMachine.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Text\BufferingTextReader.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Text\ITextBuffer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Text\LineTrackingStringBuffer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Text\LocationTagged.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Text\LookaheadTextReader.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Text\LookaheadToken.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Text\SeekableTextReader.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Text\SourceLocation.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Text\SourceLocationTracker.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Text\TextBufferReader.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Text\TextChange.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Text\TextChangeType.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Text\TextDocumentReader.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Text\TextExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\CSharpHelpers.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\CSharpKeywordDetector.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\CSharpTokenizer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\HtmlTokenizer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\ITokenizer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\Symbols\CSharpKeyword.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\Symbols\CSharpSymbol.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\Symbols\CSharpSymbolType.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\Symbols\HtmlSymbol.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\Symbols\HtmlSymbolType.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\Symbols\ISymbol.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\Symbols\KnownSymbolType.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\Symbols\SymbolBase.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\Symbols\SymbolExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\Symbols\SymbolTypeSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\Symbols\VBKeyword.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\Symbols\VBSymbol.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\Symbols\VBSymbolType.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\Tokenizer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\TokenizerView.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\VBHelpers.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\VBKeywordDetector.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\VBTokenizer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Tokenizer\XmlHelpers.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Utils\CharUtils.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Utils\DisposableAction.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Utils\EnumeratorExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\Utils\EnumUtil.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.Razor\VBRazorCodeLanguage.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\TransparentCommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\build\common\Consts.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="System.Web.Razor.Resources.RazorResources.resources">\r
+      <LogicalName>System.Web.Razor.Resources.RazorResources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.Razor.Common.CommonResources.resources">\r
+      <LogicalName>System.Web.Razor.Common.CommonResources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web.Routing/System.Web.Routing-net_4_x.csproj b/mcs/class/System.Web.Routing/System.Web.Routing-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ce17132
--- /dev/null
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{EBD67AE3-F249-4768-A143-6B2F9E56BC39}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.Routing</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Abstractions/System.Web.Abstractions-net_4_x.csproj">\r
+      <Project>{79D6E70D-8FD8-4EAA-9E81-B32B5C2815FB}</Project>\r
+      <Name>System.Web.Abstractions-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index a77c3683895f1c00aabe392949e3b9272edbfe07..235ddbed880d4aefe7c448f122269888873eb586 100644 (file)
@@ -3,8 +3,7 @@ SUBDIRS =
 include ../../build/rules.make
 
 LIBRARY = System.Web.Services.dll
-MOBILE := $(filter monotouch monotouch_watch monodroid xammac mobile mobile_static, $(PROFILE))
-ifdef MOBILE
+ifdef MOBILE_PROFILE
 LIB_REFS = System System.Xml
 LIB_MCS_FLAGS = \
        -nowarn:649 -nowarn:169                 \
diff --git a/mcs/class/System.Web.Services/System.Web.Services-net_4_x.csproj b/mcs/class/System.Web.Services/System.Web.Services-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5deb0b5
--- /dev/null
@@ -0,0 +1,297 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{E43ADBA7-5DB9-466B-90C6-FFFDA520848D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,168,169,219,414,612,649</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.Services</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,168,169,219,414,612,649</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;MONO_BROKEN_CONFIGURATION_DLL</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,168,169,219,414,612,649</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;MONO_BROKEN_CONFIGURATION_DLL</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\inc\InvariantComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\inc\PrivilegedConfigurationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\ComponentModel\CompModSwitches.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\DiagnosticsElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\PriorityGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\ProtocolElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\ProtocolElementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\Protocols.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\SoapEnvelopeProcessingElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\SoapExtensionTypeElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\SoapExtensionTypeElementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\TypeElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\TypeElementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\WebServicesSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\WsdlHelpGeneratorElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\WsiProfilesElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\WsiProfilesElementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\XmlFormatExtensionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\XmlFormatExtensionPointAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Configuration\XmlFormatExtensionPrefixAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\HttpFormatExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\HttpGetProtocolImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\HttpGetProtocolReflector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\HttpPostProtocolImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\HttpPostProtocolReflector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\HttpProtocolImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\HttpProtocolReflector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\MimeAnyImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\MimeFormatExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\MimeFormImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\MimeFormReflector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\MimeImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\MimeParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\MimeParameters.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\MimeReflector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\MimeReturn.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\MimeTextImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\MimeXmlImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\MimeXmlReflector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\ProtocolImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\ProtocolReflector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\SchemaCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\ServiceDescription.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\ServiceDescriptionImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\ServiceDescriptionReflector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\ServiceDescriptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\ServiceDescriptionSerializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\Soap12FormatExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\Soap12ProtocolImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\Soap12ProtocolReflector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\SoapExtensionImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\SoapExtensionReflector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\SoapFormatExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\SoapHttpTransportImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\SoapProtocolImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\SoapProtocolReflector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\SoapTransportImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\WebCodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\WebReference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\WebReferenceCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\WebReferenceOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Description\WebServicesInteroperability.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Diagnostics\TraceUtility.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\ContractReference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\ContractSearchPattern.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DiscoveryClientDocuments.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DiscoveryClientProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DiscoveryClientReferences.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DiscoveryDocument.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DiscoveryDocumentLinksPattern.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DiscoveryDocumentReference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DiscoveryDocumentSearchPattern.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DiscoveryDocumentSerializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DiscoveryExceptionDictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DiscoveryReference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DiscoveryReferences.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DiscoveryRequestHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DiscoverySearchPattern.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DynamicDiscoSearcher.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DynamicDiscoveryDocument.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DynamicPhysicalDiscoSearcher.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\DynamicVirtualDiscoSearcher.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\ExcludePathInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\InvalidContentTypeException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\InvalidDocumentContentsException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\LinkGrep.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\SchemaReference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\SoapBinding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Discovery\XmlSchemaSearchPattern.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Interop\CallId.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Interop\INotifyConnection2.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Interop\INotifySink2.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Interop\INotifySource2.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Interop\NotifyFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Interop\UserThread.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\NativeMethods.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\PartialTrustHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\AnyReturnReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\BufferedResponseStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\ClientProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\DiscoveryServerProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\DocumentationServerProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\HtmlFormParameterReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\HtmlFormParameterWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\HttpClientProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\HttpGetClientProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\HttpGetServerProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\HttpMethodAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\HttpPostClientProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\HttpPostLocalhostServerProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\HttpPostServerProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\HttpServerProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\LogicalMethodInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\MatchAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\MimeFormatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\MimeParameterReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\MimeParameterWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\MimeReturnReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\MimeReturnWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\NopReturnReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\PatternMatcher.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\RequestResponse.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\RuntimeUtils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\Scalars.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\ScatterGatherStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\ServerProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\ServerType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\Soap11ServerProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\Soap12ServerProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapClientMessage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapClientProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapDocumentMethodAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapDocumentServiceAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapExtension.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapExtensionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapExtensionStream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapFaultCodes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapHeader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapHeaderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapHeaderDirection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapHeaderException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapHeaders.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapMessage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapMessageStage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapParameterStyle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapProtocolVersion.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapReflector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapRpcMethodAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapRpcServiceAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapServerMessage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapServerMethod.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapServerProtocol.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapServiceRoutingStyle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\SoapUnknownHeader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\TextReturnReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\UrlEncodedParameterWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\UrlParameterReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\UrlParameterWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\ValueCollectionParameterReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\WebServiceHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\WebServiceHandlerFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\XmlReturnReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Protocols\XmlReturnWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\Soap.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\WebMethodAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\WebService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\WebServiceAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\WebServiceBindingAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\WebServicesDescriptionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web.Services\System\Web\Services\WsiProfiles.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="ReferenceSources\Res.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.EnterpriseServices/System.EnterpriseServices-net_4_x.csproj">\r
+      <Project>{61E3D008-E273-4E12-860A-8ADA031098C2}</Project>\r
+      <Name>System.EnterpriseServices-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-plainweb-net_4_x.csproj">\r
+      <Project>{DE51B021-D51C-4F26-99EE-B0729D97631E}</Project>\r
+      <Name>System.Web-plainweb-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Design/System.Design-net_4_x.csproj">\r
+      <Project>{EFEDC380-2CB0-4B40-9566-D2302867A4D9}</Project>\r
+      <Name>System.Design-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.DirectoryServices/System.DirectoryServices-net_4_x.csproj">\r
+      <Project>{CC4F3F73-E0A6-49EE-8F7D-BD8B9F293A72}</Project>\r
+      <Name>System.DirectoryServices-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="System.Web.Services.Description/wsdl-1.1.xsd">\r
+      <LogicalName>wsdl-1.1.xsd</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.Services.Description/wsdl-1.1-soap.xsd">\r
+      <LogicalName>wsdl-1.1-soap.xsd</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.Services.Description/web-reference.xsd">\r
+      <LogicalName>web-reference.xsd</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
index 8e26ee6fbfcf5aac076fda2d56a3e00f84908422..0682fa9081475aa7905c0f2fa0f4e877b1278c3c 100644 (file)
@@ -96,6 +96,9 @@ namespace MonoTests.System.Web.Services.Protocols
                                if (tcpListener != null) {
                                        tcpListener.Stop ();
                                        tcpListener = null;
+                                       listenThread.Abort ();
+                                       listenThread.Join ();
+                                       listenThread = null;
                                }
                        }
                }
diff --git a/mcs/class/System.Web.Services/monotouch_tv_System.Web.Services.dll.sources b/mcs/class/System.Web.Services/monotouch_tv_System.Web.Services.dll.sources
new file mode 100644 (file)
index 0000000..9e39dcc
--- /dev/null
@@ -0,0 +1 @@
+#include mobile_System.Web.Services.dll.sources
diff --git a/mcs/class/System.Web.WebPages.Deployment/System.Web.WebPages.Deployment-net_4_x.csproj b/mcs/class/System.Web.WebPages.Deployment/System.Web.WebPages.Deployment-net_4_x.csproj
new file mode 100644 (file)
index 0000000..4d9791f
--- /dev/null
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{12C344E9-64D1-4F94-BAB6-1231B863EE6C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.WebPages.Deployment</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../winfx.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETWEBPAGES</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETWEBPAGES</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\CommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\CommonResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\ExceptionHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Deployment\AppDomainHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Deployment\AssemblyUtils.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Deployment\BuildManagerWrapper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Deployment\Common\IFileSystem.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Deployment\Common\PhysicalFileSystem.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Deployment\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Deployment\IBuildManager.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Deployment\PreApplicationStartCode.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Deployment\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Deployment\Resources\ConfigurationResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Deployment\WebPagesDeployment.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\TransparentCommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\build\common\Consts.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+    <Reference Include="Microsoft.Web.Infrastructure">\r
+      <SpecificVersion>False</SpecificVersion>\r
+      <HintPath>Microsoft.Web.Infrastructure</HintPath>\r
+      <Private>False</Private>\r
+    </Reference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="System.Web.WebPages.Deployment.Common.CommonResources.resources">\r
+      <LogicalName>System.Web.WebPages.Deployment.Common.CommonResources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.WebPages.Deployment.Resources.ConfigurationResources.resources">\r
+      <LogicalName>System.Web.WebPages.Deployment.Resources.ConfigurationResources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web.WebPages.Razor/System.Web.WebPages.Razor-net_4_x.csproj b/mcs/class/System.Web.WebPages.Razor/System.Web.WebPages.Razor-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a9e9a43
--- /dev/null
@@ -0,0 +1,139 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{55F0BCD6-4B0B-408C-BE98-4BFF82157048}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.WebPages.Razor</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../winfx.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETWEBPAGES</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETWEBPAGES</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\CommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\CommonResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\AssemblyBuilderWrapper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\CompilingPathEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\Configuration\HostSection.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\Configuration\RazorPagesSection.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\Configuration\RazorWebSectionGroup.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\HostingEnvironmentWrapper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\IAssemblyBuilder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\IHostingEnvironment.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\PreApplicationStartCode.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\RazorBuildProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\Resources\RazorWebResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\WebCodeRazorHost.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\WebPageRazorHost.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages.Razor\WebRazorHostFactory.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\TransparentCommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\build\common\Consts.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.WebPages/System.Web.WebPages-net_4_x.csproj">\r
+      <Project>{D4EAC129-92AB-432C-941D-4B8481097060}</Project>\r
+      <Name>System.Web.WebPages-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Razor/System.Web.Razor-net_4_x.csproj">\r
+      <Project>{11928A85-4C26-4258-AC86-2AFB0A69DED2}</Project>\r
+      <Name>System.Web.Razor-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="System.Web.WebPages.Razor.Resources.RazorWebResources.resources">\r
+      <LogicalName>System.Web.WebPages.Razor.Resources.RazorWebResources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.WebPages.Razor.Common.CommonResources.resources">\r
+      <LogicalName>System.Web.WebPages.Razor.Common.CommonResources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web.WebPages/System.Web.WebPages-net_4_x.csproj b/mcs/class/System.Web.WebPages/System.Web.WebPages-net_4_x.csproj
new file mode 100644 (file)
index 0000000..de8e8f1
--- /dev/null
@@ -0,0 +1,288 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D4EAC129-92AB-432C-941D-4B8481097060}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web.WebPages</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+    <DelaySign>true</DelaySign>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../winfx.pub</AssemblyOriginatorKeyFile>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETWEBPAGES</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;ASPNETWEBPAGES</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\CommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\CommonResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\ExceptionHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\HashCodeCombiner.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\IVirtualPathUtility.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\MimeMapping.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\ApplicationPart.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\ApplicationParts\ApplicationPartRegistry.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\ApplicationParts\DictionaryBasedVirtualPathFactory.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\ApplicationParts\IResourceAssembly.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\ApplicationParts\LazyAction.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\ApplicationParts\ResourceAssembly.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\ApplicationParts\ResourceHandler.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\ApplicationParts\ResourceRouteHandler.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\ApplicationStartPage.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\AttributeValue.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\BrowserHelpers.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\BrowserOverride.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\BrowserOverrideStore.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\BrowserOverrideStores.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\BuildManagerWrapper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Common\DisposableAction.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\CookieBrowserOverrideStore.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\DefaultDisplayMode.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\DisplayInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\DisplayModeProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\DynamicHttpApplicationState.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\DynamicPageDataDictionary.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\FileExistenceCache.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\GlobalSuppressions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\HelperPage.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\HelperResult.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiForgery.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiForgeryConfig.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\AntiForgeryConfigWrapper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\AntiForgeryToken.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\AntiForgeryTokenSerializer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\AntiForgeryTokenStore.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\AntiForgeryWorker.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\BinaryBlob.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\ClaimUidExtractor.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\IAntiForgeryConfig.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\IAntiForgeryTokenSerializer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\IClaimUidExtractor.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\ICryptoSystem.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\ITokenStore.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\ITokenValidator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\MachineKeyCryptoSystem.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\AntiXsrf\TokenValidator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\Claims\Claim.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\Claims\ClaimsIdentity.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\Claims\ClaimsIdentityConverter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\CryptoUtil.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\IAntiForgeryAdditionalDataProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\UnvalidatedRequestValues.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Helpers\Validation.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Html\HtmlHelper.Checkbox.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Html\HtmlHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Html\HtmlHelper.Input.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Html\HtmlHelper.Internal.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Html\HtmlHelper.Label.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Html\HtmlHelper.Radio.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Html\HtmlHelper.Select.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Html\HtmlHelper.TextArea.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Html\HtmlHelper.Validation.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Html\ModelState.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Html\ModelStateDictionary.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Html\SelectListItem.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\HttpContextExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\IDisplayMode.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Instrumentation\HttpContextAdapter.Availability.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Instrumentation\HttpContextAdapter.generated.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Instrumentation\InstrumentationService.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Instrumentation\PageExecutionContextAdapter.generated.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Instrumentation\PageExecutionListenerAdapter.generated.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Instrumentation\PageInstrumentationServiceAdapter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Instrumentation\PositionTagged.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\ITemplateFile.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\IVirtualPathFactory.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\IWebPageRequestExecutor.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Mvc\HttpAntiForgeryException.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Mvc\ModelClientValidationEqualToRule.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Mvc\ModelClientValidationRangeRule.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Mvc\ModelClientValidationRegexRule.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Mvc\ModelClientValidationRemoteRule.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Mvc\ModelClientValidationRequiredRule.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Mvc\ModelClientValidationRule.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Mvc\ModelClientValidationStringLengthRule.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Mvc\TagBuilder.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Mvc\TagRenderMode.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Mvc\UnobtrusiveValidationAttributesGenerator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\PageDataDictionary.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\PageVirtualPathAttribute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\PreApplicationStartCode.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Properties\AssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\ReflectionDynamicObject.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\RequestBrowserOverrideStore.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\RequestExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\RequestResourceTracker.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Resources\WebPageResources.Designer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\ResponseExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Scope\ApplicationScopeStorageDictionary.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Scope\AspNetRequestScopeStorageProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Scope\IScopeStorageProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Scope\ScopeStorage.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Scope\ScopeStorageComparer.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Scope\ScopeStorageDictionary.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Scope\StaticScopeStorageProvider.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Scope\WebConfigScopeStorageDictionary.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\SectionWriter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\SecurityUtil.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\StartPage.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\StringExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\TemplateFileInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\TemplateStack.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\UrlDataList.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Utils\BuildManagerExceptionUtil.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Utils\CultureUtil.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Utils\PathUtil.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Utils\SessionStateUtil.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Utils\TypeHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Utils\UrlUtil.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Validation\CompareValidator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Validation\DataTypeValidator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Validation\IValidator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Validation\RequestFieldValidatorBase.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Validation\ValidationAttributeAdapter.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Validation\ValidationHelper.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\Validation\Validator.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\VirtualPathFactoryExtensions.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\VirtualPathFactoryManager.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\WebPage.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\WebPageBase.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\WebPageContext.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\WebPageExecutingBase.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\WebPageHttpHandler.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\WebPageHttpModule.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\WebPageMatch.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\WebPageRenderingBase.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\System.Web.WebPages\WebPageRoute.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\TransparentCommonAssemblyInfo.cs" />\r
+    <Compile Include="..\..\..\external\aspnetwebstack\src\VirtualPathUtilityWrapper.cs" />\r
+    <Compile Include="..\..\build\common\Consts.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Microsoft.CSharp/Microsoft.CSharp-net_4_x.csproj">\r
+      <Project>{DABF9F75-63AD-4991-9D2B-9234E7032B32}</Project>\r
+      <Name>Microsoft.CSharp-net_4_x</Name>\r
+    </ProjectReference>\r
+    <Reference Include="Microsoft.Web.Infrastructure">\r
+      <SpecificVersion>False</SpecificVersion>\r
+      <HintPath>Microsoft.Web.Infrastructure</HintPath>\r
+      <Private>False</Private>\r
+    </Reference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_4_x.csproj">\r
+      <Project>{8F86C287-38A5-49F8-BE6D-1E0E3D74AF39}</Project>\r
+      <Name>System.ComponentModel.DataAnnotations-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data.Linq/System.Data.Linq-net_4_x.csproj">\r
+      <Project>{E6EE9E9A-42BA-4202-8813-FCF40E9061BF}</Project>\r
+      <Name>System.Data.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.WebPages.Deployment/System.Web.WebPages.Deployment-net_4_x.csproj">\r
+      <Project>{12C344E9-64D1-4F94-BAB6-1231B863EE6C}</Project>\r
+      <Name>System.Web.WebPages.Deployment-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Razor/System.Web.Razor-net_4_x.csproj">\r
+      <Project>{11928A85-4C26-4258-AC86-2AFB0A69DED2}</Project>\r
+      <Name>System.Web.Razor-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Xml.Linq/System.Xml.Linq-net_4_x.csproj">\r
+      <Project>{526286D5-38D9-4579-B001-471440D57752}</Project>\r
+      <Name>System.Xml.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="System.Web.WebPages.Resources.WebPageResources.resources">\r
+      <LogicalName>System.Web.WebPages.Resources.WebPageResources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.WebPages.Common.CommonResources.resources">\r
+      <LogicalName>System.Web.WebPages.Common.CommonResources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
index ece23d446e686ca0cc9b4a979288a03d7e7bd8cc..21fad6ab528df411347755be746d1429428d3fff 100644 (file)
@@ -240,6 +240,8 @@ OTHER_LIB_MCS_FLAGS += -r:System.Web.ApplicationServices.dll
 OTHER_RES += $(RESOURCE_FILES_4)
 endif
 
+RESOURCE_STRINGS = ../../../external/referencesource/System.Web/System.Web.txt
+
 LIB_REFS = System System.Core System.Drawing System.Data System.Xml System.EnterpriseServices System.Runtime.Serialization.Formatters.Soap System.ComponentModel.DataAnnotations
 LIB_MCS_FLAGS = \
        -unsafe \
diff --git a/mcs/class/System.Web/ReferenceSources/SR.cs b/mcs/class/System.Web/ReferenceSources/SR.cs
new file mode 100644 (file)
index 0000000..29db661
--- /dev/null
@@ -0,0 +1,3324 @@
+partial class SR {
+       internal const string Access_denied_for_monitoring = "Access_denied_for_monitoring";
+       internal const string Access_denied_to_app_dir = "Access_denied_to_app_dir";
+       internal const string Access_denied_to_path = "Access_denied_to_path";
+       internal const string Access_denied_to_unicode_app_dir = "Access_denied_to_unicode_app_dir";
+       internal const string AccessDataSource_CannotSetConnectionString = "AccessDataSource_CannotSetConnectionString";
+       internal const string AccessDataSource_CannotSetProvider = "AccessDataSource_CannotSetProvider";
+       internal const string AccessDataSource_DataFile = "AccessDataSource_DataFile";
+       internal const string AccessDataSource_Description = "AccessDataSource_Description";
+       internal const string AccessDataSource_DesignTimeRelativePathsNotSupported = "AccessDataSource_DesignTimeRelativePathsNotSupported";
+       internal const string AccessDataSource_DisplayName = "AccessDataSource_DisplayName";
+       internal const string AccessDataSource_NoPathDiscoveryPermission = "AccessDataSource_NoPathDiscoveryPermission";
+       internal const string AccessDataSource_SqlCacheDependencyNotSupported = "AccessDataSource_SqlCacheDependencyNotSupported";
+       internal const string AccessDataSourceView_SelectRequiresDataFile = "AccessDataSourceView_SelectRequiresDataFile";
+       internal const string Adapter_GoLabel = "Adapter_GoLabel";
+       internal const string Adapter_OKLabel = "Adapter_OKLabel";
+       internal const string ADMembership_attribute_not_single_valued = "ADMembership_attribute_not_single_valued";
+       internal const string ADMembership_BadPasswordAnswerMappings_not_specified = "ADMembership_BadPasswordAnswerMappings_not_specified";
+       internal const string ADMembership_Connection_password_must_not_be_empty = "ADMembership_Connection_password_must_not_be_empty";
+       internal const string ADMembership_Connection_username_must_not_be_empty = "ADMembership_Connection_username_must_not_be_empty";
+       internal const string ADMembership_Container_does_not_exist = "ADMembership_Container_does_not_exist";
+       internal const string ADMembership_Container_must_be_specified = "ADMembership_Container_must_be_specified";
+       internal const string ADMembership_Container_not_superior = "ADMembership_Container_not_superior";
+       internal const string ADMembership_Default_Creds_not_supported = "ADMembership_Default_Creds_not_supported";
+       internal const string ADMembership_DefContainer_does_not_exist = "ADMembership_DefContainer_does_not_exist";
+       internal const string ADMembership_DefContainer_not_specified = "ADMembership_DefContainer_not_specified";
+       internal const string ADMembership_Description = "ADMembership_Description";
+       internal const string ADMembership_GCPortsNotSupported = "ADMembership_GCPortsNotSupported";
+       internal const string ADMembership_Generated_password_not_complex = "ADMembership_Generated_password_not_complex";
+       internal const string ADMembership_invalid_path = "ADMembership_invalid_path";
+       internal const string ADMembership_InvalidConnectionProtection = "ADMembership_InvalidConnectionProtection";
+       internal const string ADMembership_InvalidProviderUserKey = "ADMembership_InvalidProviderUserKey";
+       internal const string ADMembership_MappedAttribute_does_not_exist = "ADMembership_MappedAttribute_does_not_exist";
+       internal const string ADMembership_MappedAttribute_does_not_exist_on_user = "ADMembership_MappedAttribute_does_not_exist_on_user";
+       internal const string ADMembership_mapping_not_unique = "ADMembership_mapping_not_unique";
+       internal const string ADMembership_No_ADAM_Partition = "ADMembership_No_ADAM_Partition";
+       internal const string ADMembership_No_secure_conn_for_password = "ADMembership_No_secure_conn_for_password";
+       internal const string ADMembership_OnlineUsers_not_supported = "ADMembership_OnlineUsers_not_supported";
+       internal const string ADMembership_OnlyLdap_supported = "ADMembership_OnlyLdap_supported";
+       internal const string ADMembership_Parameter_too_long = "ADMembership_Parameter_too_long";
+       internal const string ADMembership_PasswordA_not_supported = "ADMembership_PasswordA_not_supported";
+       internal const string ADMembership_PasswordQ_not_supported = "ADMembership_PasswordQ_not_supported";
+       internal const string ADMembership_PasswordQuestionAnswerMapping_not_specified = "ADMembership_PasswordQuestionAnswerMapping_not_specified";
+       internal const string ADMembership_PasswordReset_without_question_not_supported = "ADMembership_PasswordReset_without_question_not_supported";
+       internal const string ADMembership_PasswordRetrieval_not_supported_AD = "ADMembership_PasswordRetrieval_not_supported_AD";
+       internal const string ADMembership_Property_not_found = "ADMembership_Property_not_found";
+       internal const string ADMembership_Property_not_found_on_object = "ADMembership_Property_not_found_on_object";
+       internal const string ADMembership_Provider_not_initialized = "ADMembership_Provider_not_initialized";
+       internal const string ADMembership_Provider_SearchMethods_not_supported = "ADMembership_Provider_SearchMethods_not_supported";
+       internal const string ADMembership_Schema_mappings_must_not_be_empty = "ADMembership_Schema_mappings_must_not_be_empty";
+       internal const string ADMembership_Secure_connection_not_established = "ADMembership_Secure_connection_not_established";
+       internal const string ADMembership_ServerlessADsPath_not_supported = "ADMembership_ServerlessADsPath_not_supported";
+       internal const string ADMembership_Setting_ApplicationName_not_supported = "ADMembership_Setting_ApplicationName_not_supported";
+       internal const string ADMembership_Setting_UserId_not_supported = "ADMembership_Setting_UserId_not_supported";
+       internal const string ADMembership_Ssl_connection_not_established = "ADMembership_Ssl_connection_not_established";
+       internal const string ADMembership_unable_to_contact_domain = "ADMembership_unable_to_contact_domain";
+       internal const string ADMembership_unable_to_set_password_port = "ADMembership_unable_to_set_password_port";
+       internal const string ADMembership_Unknown_Error = "ADMembership_Unknown_Error";
+       internal const string ADMembership_UPN_contains_backslash = "ADMembership_UPN_contains_backslash";
+       internal const string ADMembership_Username_and_password_reqd = "ADMembership_Username_and_password_reqd";
+       internal const string ADMembership_Username_mapping_invalid = "ADMembership_Username_mapping_invalid";
+       internal const string ADMembership_Username_mapping_invalid_ADAM = "ADMembership_Username_mapping_invalid_ADAM";
+       internal const string ADMembership_UserProperty_not_supported = "ADMembership_UserProperty_not_supported";
+       internal const string ADMembership_Valid_Targets = "ADMembership_Valid_Targets";
+       internal const string ADMembership_Wrong_syntax = "ADMembership_Wrong_syntax";
+       internal const string AdRotator_AdvertisementFile = "AdRotator_AdvertisementFile";
+       internal const string AdRotator_AlternateTextField = "AdRotator_AlternateTextField";
+       internal const string AdRotator_cant_open_file = "AdRotator_cant_open_file";
+       internal const string AdRotator_cant_open_file_no_permission = "AdRotator_cant_open_file_no_permission";
+       internal const string AdRotator_expect_records_with_advertisement_properties = "AdRotator_expect_records_with_advertisement_properties";
+       internal const string AdRotator_ImageUrlField = "AdRotator_ImageUrlField";
+       internal const string AdRotator_invalid_integer_format = "AdRotator_invalid_integer_format";
+       internal const string AdRotator_KeywordFilter = "AdRotator_KeywordFilter";
+       internal const string AdRotator_NavigateUrlField = "AdRotator_NavigateUrlField";
+       internal const string AdRotator_no_advertisements = "AdRotator_no_advertisements";
+       internal const string AdRotator_OnAdCreated = "AdRotator_OnAdCreated";
+       internal const string AdRotator_only_one_datasource = "AdRotator_only_one_datasource";
+       internal const string AdRotator_parse_error = "AdRotator_parse_error";
+       internal const string AdRotator_Target = "AdRotator_Target";
+       internal const string Already_precomp = "Already_precomp";
+       internal const string Ambiguous_server_tag = "Ambiguous_server_tag";
+       internal const string Ambiguous_type = "Ambiguous_type";
+       internal const string Annoymous_id_module_not_enabled = "Annoymous_id_module_not_enabled";
+       internal const string Anonymous_ClearAnonymousIdentifierNotSupported = "Anonymous_ClearAnonymousIdentifierNotSupported";
+       internal const string Anonymous_id_too_long = "Anonymous_id_too_long";
+       internal const string Anonymous_id_too_long_2 = "Anonymous_id_too_long_2";
+       internal const string Apartment_component_not_allowed = "Apartment_component_not_allowed";
+       internal const string API_failed_due_to_error = "API_failed_due_to_error";
+       internal const string API_not_supported_at_this_level = "API_not_supported_at_this_level";
+       internal const string API_supported_for_current_user_only = "API_supported_for_current_user_only";
+       internal const string App_Domain_Restart = "App_Domain_Restart";
+       internal const string App_session_only_valid_in_global_asax = "App_session_only_valid_in_global_asax";
+       internal const string App_Virtual_Path = "App_Virtual_Path";
+       internal const string AppearanceEditorPart_Centimeters = "AppearanceEditorPart_Centimeters";
+       internal const string AppearanceEditorPart_ChromeType = "AppearanceEditorPart_ChromeType";
+       internal const string AppearanceEditorPart_Direction = "AppearanceEditorPart_Direction";
+       internal const string AppearanceEditorPart_Em = "AppearanceEditorPart_Em";
+       internal const string AppearanceEditorPart_Ex = "AppearanceEditorPart_Ex";
+       internal const string AppearanceEditorPart_Height = "AppearanceEditorPart_Height";
+       internal const string AppearanceEditorPart_Hidden = "AppearanceEditorPart_Hidden";
+       internal const string AppearanceEditorPart_Inches = "AppearanceEditorPart_Inches";
+       internal const string AppearanceEditorPart_Millimeters = "AppearanceEditorPart_Millimeters";
+       internal const string AppearanceEditorPart_PartTitle = "AppearanceEditorPart_PartTitle";
+       internal const string AppearanceEditorPart_Percent = "AppearanceEditorPart_Percent";
+       internal const string AppearanceEditorPart_Picas = "AppearanceEditorPart_Picas";
+       internal const string AppearanceEditorPart_Pixels = "AppearanceEditorPart_Pixels";
+       internal const string AppearanceEditorPart_Points = "AppearanceEditorPart_Points";
+       internal const string AppearanceEditorPart_Title = "AppearanceEditorPart_Title";
+       internal const string AppearanceEditorPart_Width = "AppearanceEditorPart_Width";
+       internal const string Application_instance_cannot_be_changed = "Application_instance_cannot_be_changed";
+       internal const string AppSetting_not_convertible = "AppSetting_not_convertible";
+       internal const string AppSetting_not_found = "AppSetting_not_found";
+       internal const string AppVerifier_AsyncCallbackInfo_FirstInvocation_ThreadInfo = "AppVerifier_AsyncCallbackInfo_FirstInvocation_ThreadInfo";
+       internal const string AppVerifier_AsyncCallbackInfo_InvocationCount = "AppVerifier_AsyncCallbackInfo_InvocationCount";
+       internal const string AppVerifier_BasicInfo_Description = "AppVerifier_BasicInfo_Description";
+       internal const string AppVerifier_BasicInfo_ErrorCode = "AppVerifier_BasicInfo_ErrorCode";
+       internal const string AppVerifier_BasicInfo_NotificationInfo = "AppVerifier_BasicInfo_NotificationInfo";
+       internal const string AppVerifier_BasicInfo_ThreadInfo = "AppVerifier_BasicInfo_ThreadInfo";
+       internal const string AppVerifier_BasicInfo_URL = "AppVerifier_BasicInfo_URL";
+       internal const string AppVerifier_BeginMethodInfo_CurrentHandler = "AppVerifier_BeginMethodInfo_CurrentHandler";
+       internal const string AppVerifier_BeginMethodInfo_EntryMethod = "AppVerifier_BeginMethodInfo_EntryMethod";
+       internal const string AppVerifier_BeginMethodInfo_RequestNotification_Integrated = "AppVerifier_BeginMethodInfo_RequestNotification_Integrated";
+       internal const string AppVerifier_BeginMethodInfo_RequestNotification_NotIntegrated = "AppVerifier_BeginMethodInfo_RequestNotification_NotIntegrated";
+       internal const string AppVerifier_BeginMethodInfo_ThreadInfo = "AppVerifier_BeginMethodInfo_ThreadInfo";
+       internal const string AppVerifier_Errors_AsyncCallbackCalledAfterHttpApplicationReassigned = "AppVerifier_Errors_AsyncCallbackCalledAfterHttpApplicationReassigned";
+       internal const string AppVerifier_Errors_AsyncCallbackGivenAsyncResultWhichWasNotCompleted = "AppVerifier_Errors_AsyncCallbackGivenAsyncResultWhichWasNotCompleted";
+       internal const string AppVerifier_Errors_AsyncCallbackInvokedAsynchronouslyButAsyncResultWasMarkedCompletedSynchronously = "AppVerifier_Errors_AsyncCallbackInvokedAsynchronouslyButAsyncResultWasMarkedCompletedSynchronously";
+       internal const string AppVerifier_Errors_AsyncCallbackInvokedEvenThoughBeginHandlerThrew = "AppVerifier_Errors_AsyncCallbackInvokedEvenThoughBeginHandlerThrew";
+       internal const string AppVerifier_Errors_AsyncCallbackInvokedMultipleTimes = "AppVerifier_Errors_AsyncCallbackInvokedMultipleTimes";
+       internal const string AppVerifier_Errors_AsyncCallbackInvokedSynchronouslyButAsyncResultWasNotMarkedCompletedSynchronously = "AppVerifier_Errors_AsyncCallbackInvokedSynchronouslyButAsyncResultWasNotMarkedCompletedSynchronously";
+       internal const string AppVerifier_Errors_AsyncCallbackInvokedWithNullParameter = "AppVerifier_Errors_AsyncCallbackInvokedWithNullParameter";
+       internal const string AppVerifier_Errors_AsyncCallbackInvokedWithUnexpectedAsyncResultAsyncState = "AppVerifier_Errors_AsyncCallbackInvokedWithUnexpectedAsyncResultAsyncState";
+       internal const string AppVerifier_Errors_AsyncCallbackInvokedWithUnexpectedAsyncResultInstance = "AppVerifier_Errors_AsyncCallbackInvokedWithUnexpectedAsyncResultInstance";
+       internal const string AppVerifier_Errors_BeginHandlerDelegateWasNull = "AppVerifier_Errors_BeginHandlerDelegateWasNull";
+       internal const string AppVerifier_Errors_BeginHandlerReturnedAsyncResultMarkedCompletedSynchronouslyButAsyncCallbackNeverCalled = "AppVerifier_Errors_BeginHandlerReturnedAsyncResultMarkedCompletedSynchronouslyButAsyncCallbackNeverCalled";
+       internal const string AppVerifier_Errors_BeginHandlerReturnedAsyncResultMarkedCompletedSynchronouslyButWhichWasNotCompleted = "AppVerifier_Errors_BeginHandlerReturnedAsyncResultMarkedCompletedSynchronouslyButWhichWasNotCompleted";
+       internal const string AppVerifier_Errors_BeginHandlerReturnedNull = "AppVerifier_Errors_BeginHandlerReturnedNull";
+       internal const string AppVerifier_Errors_BeginHandlerReturnedUnexpectedAsyncResultAsyncState = "AppVerifier_Errors_BeginHandlerReturnedUnexpectedAsyncResultAsyncState";
+       internal const string AppVerifier_Errors_HttpApplicationInstanceWasNull = "AppVerifier_Errors_HttpApplicationInstanceWasNull";
+       internal const string AppVerifier_Errors_NotificationContextHasChangedAfterSynchronouslyProcessingNotification = "AppVerifier_Errors_NotificationContextHasChangedAfterSynchronouslyProcessingNotification";
+       internal const string AppVerifier_Errors_PendingProcessRequestNotificationStatusAfterCompletingNestedNotification = "AppVerifier_Errors_PendingProcessRequestNotificationStatusAfterCompletingNestedNotification";
+       internal const string AppVerifier_Errors_RequestNotificationCompletedSynchronouslyWithNotificationContextPending = "AppVerifier_Errors_RequestNotificationCompletedSynchronouslyWithNotificationContextPending";
+       internal const string AppVerifier_Errors_SyncContextPostCalledInNestedNotification = "AppVerifier_Errors_SyncContextPostCalledInNestedNotification";
+       internal const string AppVerifier_Errors_SyncContextSendOrPostCalledAfterRequestCompleted = "AppVerifier_Errors_SyncContextSendOrPostCalledAfterRequestCompleted";
+       internal const string AppVerifier_Errors_SyncContextSendOrPostCalledBetweenNotifications = "AppVerifier_Errors_SyncContextSendOrPostCalledBetweenNotifications";
+       internal const string AppVerifier_Subtitle = "AppVerifier_Subtitle";
+       internal const string AppVerifier_Title = "AppVerifier_Title";
+       internal const string Aspnet_not_installed = "Aspnet_not_installed";
+       internal const string AspNetWebSocket_CloseAlreadyReceived = "AspNetWebSocket_CloseAlreadyReceived";
+       internal const string AspNetWebSocket_CloseAlreadySent = "AspNetWebSocket_CloseAlreadySent";
+       internal const string AspNetWebSocket_CloseDescriptionTooLong = "AspNetWebSocket_CloseDescriptionTooLong";
+       internal const string AspNetWebSocket_CloseStatusEmptyButCloseDescriptionNonNull = "AspNetWebSocket_CloseStatusEmptyButCloseDescriptionNonNull";
+       internal const string AspNetWebSocket_DisposeNotSupported = "AspNetWebSocket_DisposeNotSupported";
+       internal const string AspNetWebSocket_ReceiveInProgress = "AspNetWebSocket_ReceiveInProgress";
+       internal const string AspNetWebSocket_SendInProgress = "AspNetWebSocket_SendInProgress";
+       internal const string AspNetWebSocket_SendMessageTypeInvalid = "AspNetWebSocket_SendMessageTypeInvalid";
+       internal const string Assembly_already_loaded = "Assembly_already_loaded";
+       internal const string Assembly_not_compiled = "Assembly_not_compiled";
+       internal const string Assembly_not_found_in_profile = "Assembly_not_found_in_profile";
+       internal const string AssemblyResourceLoader_AssemblyNotFound = "AssemblyResourceLoader_AssemblyNotFound";
+       internal const string AssemblyResourceLoader_HandlerNotRegistered = "AssemblyResourceLoader_HandlerNotRegistered";
+       internal const string AssemblyResourceLoader_InvalidRequest = "AssemblyResourceLoader_InvalidRequest";
+       internal const string AssemblyResourceLoader_NoCircularReferences = "AssemblyResourceLoader_NoCircularReferences";
+       internal const string AssemblyResourceLoader_ResourceNotFound = "AssemblyResourceLoader_ResourceNotFound";
+       internal const string Assess_Denied_Description1 = "Assess_Denied_Description1";
+       internal const string Assess_Denied_Description2 = "Assess_Denied_Description2";
+       internal const string Assess_Denied_Description3 = "Assess_Denied_Description3";
+       internal const string Assess_Denied_Misc_Content2 = "Assess_Denied_Misc_Content2";
+       internal const string Assess_Denied_Misc_Content3 = "Assess_Denied_Misc_Content3";
+       internal const string Assess_Denied_Misc_Content3_2 = "Assess_Denied_Misc_Content3_2";
+       internal const string Assess_Denied_MiscContent1 = "Assess_Denied_MiscContent1";
+       internal const string Assess_Denied_MiscTitle1 = "Assess_Denied_MiscTitle1";
+       internal const string Assess_Denied_Section_Title2 = "Assess_Denied_Section_Title2";
+       internal const string Assess_Denied_Section_Title3 = "Assess_Denied_Section_Title3";
+       internal const string Assess_Denied_Title = "Assess_Denied_Title";
+       internal const string Async_addhandler_too_late = "Async_addhandler_too_late";
+       internal const string Async_and_aspcompat = "Async_and_aspcompat";
+       internal const string Async_and_transaction = "Async_and_transaction";
+       internal const string Async_null_asyncresult = "Async_null_asyncresult";
+       internal const string Async_operation_cannot_be_pending = "Async_operation_cannot_be_pending";
+       internal const string Async_operation_cannot_be_started = "Async_operation_cannot_be_started";
+       internal const string Async_operation_disabled = "Async_operation_disabled";
+       internal const string Async_operation_pending = "Async_operation_pending";
+       internal const string Async_required = "Async_required";
+       internal const string Async_task_timed_out = "Async_task_timed_out";
+       internal const string Async_tasks_wrong_thread = "Async_tasks_wrong_thread";
+       internal const string Atio2BadString = "Atio2BadString";
+       internal const string Attr_not_supported_in_directive = "Attr_not_supported_in_directive";
+       internal const string Attr_not_supported_in_pagedirective = "Attr_not_supported_in_pagedirective";
+       internal const string Attr_not_supported_in_ucdirective = "Attr_not_supported_in_ucdirective";
+       internal const string Attrib_not_allowed = "Attrib_not_allowed";
+       internal const string Attrib_parse_error = "Attrib_parse_error";
+       internal const string Attrib_Sql9_not_allowed = "Attrib_Sql9_not_allowed";
+       internal const string Attributes_mutually_exclusive = "Attributes_mutually_exclusive";
+       internal const string Auth_bad_url = "Auth_bad_url";
+       internal const string Auth_Invalid_Login_Url = "Auth_Invalid_Login_Url";
+       internal const string Auth_rule_must_specify_users_andor_roles = "Auth_rule_must_specify_users_andor_roles";
+       internal const string Auth_rule_names_cant_contain_char = "Auth_rule_names_cant_contain_char";
+       internal const string AuthStore_Application_not_found = "AuthStore_Application_not_found";
+       internal const string AuthStore_policy_file_not_found = "AuthStore_policy_file_not_found";
+       internal const string AuthStore_Scope_not_found = "AuthStore_Scope_not_found";
+       internal const string AuthStoreNotInstalled_Description = "AuthStoreNotInstalled_Description";
+       internal const string AuthStoreNotInstalled_Title = "AuthStoreNotInstalled_Title";
+       internal const string AutoPostBackControl_CausesValidation = "AutoPostBackControl_CausesValidation";
+       internal const string Bad_attachment = "Bad_attachment";
+       internal const string Bad_Base_Class_In_Code_File = "Bad_Base_Class_In_Code_File";
+       internal const string Bad_machine_key = "Bad_machine_key";
+       internal const string Bad_masterPage_ext = "Bad_masterPage_ext";
+       internal const string Bad_partition_resolver_connection_string = "Bad_partition_resolver_connection_string";
+       internal const string Bad_state_server_request = "Bad_state_server_request";
+       internal const string Bad_state_server_request_partition_resolver = "Bad_state_server_request_partition_resolver";
+       internal const string Bad_VirtualPath_in_VirtualFileBase = "Bad_VirtualPath_in_VirtualFileBase";
+       internal const string BadlyFormattedBind = "BadlyFormattedBind";
+       internal const string BadlyFormattedBindItem = "BadlyFormattedBindItem";
+       internal const string Bar_dir_in_precompiled_app = "Bar_dir_in_precompiled_app";
+       internal const string Base_class_field_with_type_different_from_type_of_control = "Base_class_field_with_type_different_from_type_of_control";
+       internal const string Base_type_not_allowed = "Base_type_not_allowed";
+       internal const string BaseCompareValidator_CultureInvariantValues = "BaseCompareValidator_CultureInvariantValues";
+       internal const string BaseDataBoundControl_DataSource = "BaseDataBoundControl_DataSource";
+       internal const string BaseDataBoundControl_DataSourceID = "BaseDataBoundControl_DataSourceID";
+       internal const string BaseDataBoundControl_OnDataBound = "BaseDataBoundControl_OnDataBound";
+       internal const string BaseDataList_CellPadding = "BaseDataList_CellPadding";
+       internal const string BaseDataList_CellSpacing = "BaseDataList_CellSpacing";
+       internal const string BaseDataList_DataKeyField = "BaseDataList_DataKeyField";
+       internal const string BaseDataList_DataKeys = "BaseDataList_DataKeys";
+       internal const string BaseDataList_DataMember = "BaseDataList_DataMember";
+       internal const string BaseDataList_OnSelectedIndexChanged = "BaseDataList_OnSelectedIndexChanged";
+       internal const string BaseValidator_ControlToValidate = "BaseValidator_ControlToValidate";
+       internal const string BaseValidator_Display = "BaseValidator_Display";
+       internal const string BaseValidator_EnableClientScript = "BaseValidator_EnableClientScript";
+       internal const string BaseValidator_ErrorMessage = "BaseValidator_ErrorMessage";
+       internal const string BaseValidator_IsValid = "BaseValidator_IsValid";
+       internal const string BaseValidator_SetFocusOnError = "BaseValidator_SetFocusOnError";
+       internal const string BaseValidator_Text = "BaseValidator_Text";
+       internal const string BaseValidator_ValidationGroup = "BaseValidator_ValidationGroup";
+       internal const string BehaviorEditorPart_AllowClose = "BehaviorEditorPart_AllowClose";
+       internal const string BehaviorEditorPart_AllowConnect = "BehaviorEditorPart_AllowConnect";
+       internal const string BehaviorEditorPart_AllowEdit = "BehaviorEditorPart_AllowEdit";
+       internal const string BehaviorEditorPart_AllowHide = "BehaviorEditorPart_AllowHide";
+       internal const string BehaviorEditorPart_AllowMinimize = "BehaviorEditorPart_AllowMinimize";
+       internal const string BehaviorEditorPart_AllowZoneChange = "BehaviorEditorPart_AllowZoneChange";
+       internal const string BehaviorEditorPart_AuthorizationFilter = "BehaviorEditorPart_AuthorizationFilter";
+       internal const string BehaviorEditorPart_CatalogIconImageLink = "BehaviorEditorPart_CatalogIconImageLink";
+       internal const string BehaviorEditorPart_Description = "BehaviorEditorPart_Description";
+       internal const string BehaviorEditorPart_ExportMode = "BehaviorEditorPart_ExportMode";
+       internal const string BehaviorEditorPart_ExportModeAll = "BehaviorEditorPart_ExportModeAll";
+       internal const string BehaviorEditorPart_ExportModeNone = "BehaviorEditorPart_ExportModeNone";
+       internal const string BehaviorEditorPart_ExportModeNonSensitiveData = "BehaviorEditorPart_ExportModeNonSensitiveData";
+       internal const string BehaviorEditorPart_HelpLink = "BehaviorEditorPart_HelpLink";
+       internal const string BehaviorEditorPart_HelpMode = "BehaviorEditorPart_HelpMode";
+       internal const string BehaviorEditorPart_HelpModeModal = "BehaviorEditorPart_HelpModeModal";
+       internal const string BehaviorEditorPart_HelpModeModeless = "BehaviorEditorPart_HelpModeModeless";
+       internal const string BehaviorEditorPart_HelpModeNavigate = "BehaviorEditorPart_HelpModeNavigate";
+       internal const string BehaviorEditorPart_ImportErrorMessage = "BehaviorEditorPart_ImportErrorMessage";
+       internal const string BehaviorEditorPart_PartTitle = "BehaviorEditorPart_PartTitle";
+       internal const string BehaviorEditorPart_TitleIconImageLink = "BehaviorEditorPart_TitleIconImageLink";
+       internal const string BehaviorEditorPart_TitleLink = "BehaviorEditorPart_TitleLink";
+       internal const string Binding_DataMember = "Binding_DataMember";
+       internal const string BindingBehavior_ValueNotFound = "BindingBehavior_ValueNotFound";
+       internal const string BlobPersonalizationState_CantApply = "BlobPersonalizationState_CantApply";
+       internal const string BlobPersonalizationState_CantExtract = "BlobPersonalizationState_CantExtract";
+       internal const string BlobPersonalizationState_DeserializeError = "BlobPersonalizationState_DeserializeError";
+       internal const string BlobPersonalizationState_NotApplied = "BlobPersonalizationState_NotApplied";
+       internal const string BlobPersonalizationState_NotLoaded = "BlobPersonalizationState_NotLoaded";
+       internal const string Both_culture_and_language = "Both_culture_and_language";
+       internal const string BoundColumn_DataField = "BoundColumn_DataField";
+       internal const string BoundColumn_DataFormatString = "BoundColumn_DataFormatString";
+       internal const string BoundColumn_ReadOnly = "BoundColumn_ReadOnly";
+       internal const string BoundField_ApplyFormatInEditMode = "BoundField_ApplyFormatInEditMode";
+       internal const string BoundField_ConvertEmptyStringToNull = "BoundField_ConvertEmptyStringToNull";
+       internal const string BoundField_DataField = "BoundField_DataField";
+       internal const string BoundField_DataFormatString = "BoundField_DataFormatString";
+       internal const string BoundField_HtmlEncode = "BoundField_HtmlEncode";
+       internal const string BoundField_NullDisplayText = "BoundField_NullDisplayText";
+       internal const string BoundField_ReadOnly = "BoundField_ReadOnly";
+       internal const string BoundField_WrongControlType = "BoundField_WrongControlType";
+       internal const string Browser_attributes_required = "Browser_attributes_required";
+       internal const string Browser_Circular_Reference = "Browser_Circular_Reference";
+       internal const string Browser_compile_error = "Browser_compile_error";
+       internal const string Browser_empty_identification = "Browser_empty_identification";
+       internal const string Browser_invalid_element = "Browser_invalid_element";
+       internal const string Browser_InvalidID = "Browser_InvalidID";
+       internal const string Browser_InvalidStrongNameKey = "Browser_InvalidStrongNameKey";
+       internal const string Browser_mutually_exclusive_attributes = "Browser_mutually_exclusive_attributes";
+       internal const string Browser_Not_Allowed_InAppLevel = "Browser_Not_Allowed_InAppLevel";
+       internal const string Browser_parentID_applied_to_default = "Browser_parentID_applied_to_default";
+       internal const string Browser_parentID_Not_Found = "Browser_parentID_Not_Found";
+       internal const string Browser_refid_prohibits_identification = "Browser_refid_prohibits_identification";
+       internal const string Browser_W3SVC_Failure_Helper_Text = "Browser_W3SVC_Failure_Helper_Text";
+       internal const string BulletedList_BulletedListDisplayMode = "BulletedList_BulletedListDisplayMode";
+       internal const string BulletedList_BulletImageUrl = "BulletedList_BulletImageUrl";
+       internal const string BulletedList_BulletStyle = "BulletedList_BulletStyle";
+       internal const string BulletedList_FirstBulletNumber = "BulletedList_FirstBulletNumber";
+       internal const string BulletedList_OnClick = "BulletedList_OnClick";
+       internal const string BulletedList_SelectionNotSupported = "BulletedList_SelectionNotSupported";
+       internal const string BulletedList_Target = "BulletedList_Target";
+       internal const string BulletedList_TextNotSupported = "BulletedList_TextNotSupported";
+       internal const string Button_CausesValidation = "Button_CausesValidation";
+       internal const string Button_OnClick = "Button_OnClick";
+       internal const string Button_OnClientClick = "Button_OnClientClick";
+       internal const string Button_OnCommand = "Button_OnCommand";
+       internal const string Button_PostBackUrl = "Button_PostBackUrl";
+       internal const string Button_Text = "Button_Text";
+       internal const string Button_UseSubmitBehavior = "Button_UseSubmitBehavior";
+       internal const string ButtonColumn_ButtonType = "ButtonColumn_ButtonType";
+       internal const string ButtonColumn_CausesValidation = "ButtonColumn_CausesValidation";
+       internal const string ButtonColumn_DataTextField = "ButtonColumn_DataTextField";
+       internal const string ButtonColumn_DataTextFormatString = "ButtonColumn_DataTextFormatString";
+       internal const string ButtonColumn_Text = "ButtonColumn_Text";
+       internal const string ButtonColumn_ValidationGroup = "ButtonColumn_ValidationGroup";
+       internal const string ButtonField_DataTextField = "ButtonField_DataTextField";
+       internal const string ButtonField_DataTextFormatString = "ButtonField_DataTextFormatString";
+       internal const string ButtonField_ImageUrl = "ButtonField_ImageUrl";
+       internal const string ButtonField_Text = "ButtonField_Text";
+       internal const string ButtonFieldBase_ButtonType = "ButtonFieldBase_ButtonType";
+       internal const string ButtonFieldBase_CausesValidation = "ButtonFieldBase_CausesValidation";
+       internal const string ButtonFieldBase_ValidationGroup = "ButtonFieldBase_ValidationGroup";
+       internal const string Cache_dep_table_not_found = "Cache_dep_table_not_found";
+       internal const string Cache_dependency_used_more_that_once = "Cache_dependency_used_more_that_once";
+       internal const string Cache_not_available = "Cache_not_available";
+       internal const string Cache_null_table = "Cache_null_table";
+       internal const string Cache_null_table_in_tables = "Cache_null_table_in_tables";
+       internal const string Cache_url_invalid = "Cache_url_invalid";
+       internal const string Cacheability_for_field_must_be_private_or_nocache = "Cacheability_for_field_must_be_private_or_nocache";
+       internal const string CacheProfile_Not_Found = "CacheProfile_Not_Found";
+       internal const string Calendar_Caption = "Calendar_Caption";
+       internal const string Calendar_CellPadding = "Calendar_CellPadding";
+       internal const string Calendar_CellSpacing = "Calendar_CellSpacing";
+       internal const string Calendar_DayHeaderStyle = "Calendar_DayHeaderStyle";
+       internal const string Calendar_DayNameFormat = "Calendar_DayNameFormat";
+       internal const string Calendar_DayStyle = "Calendar_DayStyle";
+       internal const string Calendar_FirstDayOfWeek = "Calendar_FirstDayOfWeek";
+       internal const string Calendar_NextMonthText = "Calendar_NextMonthText";
+       internal const string Calendar_NextMonthTitle = "Calendar_NextMonthTitle";
+       internal const string Calendar_NextPrevFormat = "Calendar_NextPrevFormat";
+       internal const string Calendar_NextPrevStyle = "Calendar_NextPrevStyle";
+       internal const string Calendar_OnDayRender = "Calendar_OnDayRender";
+       internal const string Calendar_OnSelectionChanged = "Calendar_OnSelectionChanged";
+       internal const string Calendar_OnVisibleMonthChanged = "Calendar_OnVisibleMonthChanged";
+       internal const string Calendar_OtherMonthDayStyle = "Calendar_OtherMonthDayStyle";
+       internal const string Calendar_PreviousMonthTitle = "Calendar_PreviousMonthTitle";
+       internal const string Calendar_PrevMonthText = "Calendar_PrevMonthText";
+       internal const string Calendar_SelectedDate = "Calendar_SelectedDate";
+       internal const string Calendar_SelectedDates = "Calendar_SelectedDates";
+       internal const string Calendar_SelectedDayStyle = "Calendar_SelectedDayStyle";
+       internal const string Calendar_SelectionMode = "Calendar_SelectionMode";
+       internal const string Calendar_SelectMonthText = "Calendar_SelectMonthText";
+       internal const string Calendar_SelectMonthTitle = "Calendar_SelectMonthTitle";
+       internal const string Calendar_SelectorStyle = "Calendar_SelectorStyle";
+       internal const string Calendar_SelectWeekText = "Calendar_SelectWeekText";
+       internal const string Calendar_SelectWeekTitle = "Calendar_SelectWeekTitle";
+       internal const string Calendar_ShowDayHeader = "Calendar_ShowDayHeader";
+       internal const string Calendar_ShowGridLines = "Calendar_ShowGridLines";
+       internal const string Calendar_ShowNextPrevMonth = "Calendar_ShowNextPrevMonth";
+       internal const string Calendar_ShowTitle = "Calendar_ShowTitle";
+       internal const string Calendar_TitleFormat = "Calendar_TitleFormat";
+       internal const string Calendar_TitleStyle = "Calendar_TitleStyle";
+       internal const string Calendar_TitleText = "Calendar_TitleText";
+       internal const string Calendar_TodayDayStyle = "Calendar_TodayDayStyle";
+       internal const string Calendar_TodaysDate = "Calendar_TodaysDate";
+       internal const string Calendar_VisibleDate = "Calendar_VisibleDate";
+       internal const string Calendar_WeekendDayStyle = "Calendar_WeekendDayStyle";
+       internal const string Can_not_access_files_other_than_config = "Can_not_access_files_other_than_config";
+       internal const string Can_not_issue_cookie_or_redirect = "Can_not_issue_cookie_or_redirect";
+       internal const string Cannot_access_AspCompat = "Cannot_access_AspCompat";
+       internal const string Cannot_access_mappath_details = "Cannot_access_mappath_details";
+       internal const string Cannot_access_mappath_title = "Cannot_access_mappath_title";
+       internal const string Cannot_add_value_not_collection = "Cannot_add_value_not_collection";
+       internal const string Cannot_append_cookie_after_headers_sent = "Cannot_append_cookie_after_headers_sent";
+       internal const string Cannot_append_header_after_headers_sent = "Cannot_append_header_after_headers_sent";
+       internal const string Cannot_call_defaulthttphandler_sync = "Cannot_call_defaulthttphandler_sync";
+       internal const string Cannot_call_ISAPI_functions = "Cannot_call_ISAPI_functions";
+       internal const string Cannot_call_method_after_headers_sent_generic = "Cannot_call_method_after_headers_sent_generic";
+       internal const string Cannot_clear_headers_after_headers_sent = "Cannot_clear_headers_after_headers_sent";
+       internal const string Cannot_convert_from_to = "Cannot_convert_from_to";
+       internal const string Cannot_create_AppDomain = "Cannot_create_AppDomain";
+       internal const string Cannot_create_HostEnv = "Cannot_create_HostEnv";
+       internal const string Cannot_evaluate_expression = "Cannot_evaluate_expression";
+       internal const string Cannot_execute_transacted_code = "Cannot_execute_transacted_code";
+       internal const string Cannot_execute_url_in_this_context = "Cannot_execute_url_in_this_context";
+       internal const string Cannot_exit_up_top_directory = "Cannot_exit_up_top_directory";
+       internal const string Cannot_flush_completed_response = "Cannot_flush_completed_response";
+       internal const string Cannot_get_query_string = "Cannot_get_query_string";
+       internal const string Cannot_get_query_string_bytes = "Cannot_get_query_string_bytes";
+       internal const string Cannot_get_snapshot_if_not_buffered = "Cannot_get_snapshot_if_not_buffered";
+       internal const string Cannot_Have_Children_Of_Type = "Cannot_Have_Children_Of_Type";
+       internal const string Cannot_impersonate = "Cannot_impersonate";
+       internal const string Cannot_init = "Cannot_init";
+       internal const string Cannot_map_path = "Cannot_map_path";
+       internal const string Cannot_map_path_without_context = "Cannot_map_path_without_context";
+       internal const string Cannot_modify_cookies_after_headers_sent = "Cannot_modify_cookies_after_headers_sent";
+       internal const string Cannot_post_workitem = "Cannot_post_workitem";
+       internal const string Cannot_read_posted_data = "Cannot_read_posted_data";
+       internal const string Cannot_redirect_after_headers_sent = "Cannot_redirect_after_headers_sent";
+       internal const string Cannot_redirect_to_newline = "Cannot_redirect_to_newline";
+       internal const string Cannot_retrieve_request_data = "Cannot_retrieve_request_data";
+       internal const string Cannot_set_content_type_after_headers_sent = "Cannot_set_content_type_after_headers_sent";
+       internal const string Cannot_set_header_encoding_after_headers_sent = "Cannot_set_header_encoding_after_headers_sent";
+       internal const string Cannot_set_property = "Cannot_set_property";
+       internal const string Cannot_set_recursive_skin = "Cannot_set_recursive_skin";
+       internal const string Cannot_set_status_after_headers_sent = "Cannot_set_status_after_headers_sent";
+       internal const string Cannot_specify_test_without_match = "Cannot_specify_test_without_match";
+       internal const string Cannot_use_integrated_security = "Cannot_use_integrated_security";
+       internal const string Cannot_use_snapshot_after_headers_sent = "Cannot_use_snapshot_after_headers_sent";
+       internal const string Cannot_use_snapshot_for_TextWriter = "Cannot_use_snapshot_for_TextWriter";
+       internal const string CannotSetValidationOnDataControlButtons = "CannotSetValidationOnDataControlButtons";
+       internal const string CannotSetValidationOnPagerButtons = "CannotSetValidationOnPagerButtons";
+       internal const string CannotUseParentPostBackWhenValidating = "CannotUseParentPostBackWhenValidating";
+       internal const string Cant_both_set_and_generate_Etag = "Cant_both_set_and_generate_Etag";
+       internal const string Cant_connect_sql_cache_dep_database_admin = "Cant_connect_sql_cache_dep_database_admin";
+       internal const string Cant_connect_sql_cache_dep_database_admin_cmdtxt = "Cant_connect_sql_cache_dep_database_admin_cmdtxt";
+       internal const string Cant_connect_sql_cache_dep_database_polling = "Cant_connect_sql_cache_dep_database_polling";
+       internal const string Cant_connect_sql_session_database = "Cant_connect_sql_session_database";
+       internal const string Cant_connect_sql_session_database_partition_resolver = "Cant_connect_sql_session_database_partition_resolver";
+       internal const string Cant_Create_Process_Host = "Cant_Create_Process_Host";
+       internal const string Cant_delete_dir = "Cant_delete_dir";
+       internal const string Cant_disable_table_sql_cache_dep = "Cant_disable_table_sql_cache_dep";
+       internal const string Cant_Enumerate_NativeDirs = "Cant_Enumerate_NativeDirs";
+       internal const string Cant_get_enabled_tables_sql_cache_dep = "Cant_get_enabled_tables_sql_cache_dep";
+       internal const string Cant_have_multiple_session_module = "Cant_have_multiple_session_module";
+       internal const string Cant_Init_Native_Config = "Cant_Init_Native_Config";
+       internal const string Cant_make_session_request = "Cant_make_session_request";
+       internal const string Cant_make_session_request_partition_resolver = "Cant_make_session_request_partition_resolver";
+       internal const string Cant_Multiselect = "Cant_Multiselect";
+       internal const string Cant_Multiselect_In_Single_Mode = "Cant_Multiselect_In_Single_Mode";
+       internal const string Cant_Read_Native_Modules = "Cant_Read_Native_Modules";
+       internal const string Cant_save_session_id_because_id_is_invalid = "Cant_save_session_id_because_id_is_invalid";
+       internal const string Cant_save_session_id_because_response_was_flushed = "Cant_save_session_id_because_response_was_flushed";
+       internal const string Cant_serialize_session_state = "Cant_serialize_session_state";
+       internal const string Cant_update_precompiled_app = "Cant_update_precompiled_app";
+       internal const string Cant_use_default_items_and_filtered_collection = "Cant_use_default_items_and_filtered_collection";
+       internal const string Cant_use_nocompile_uc = "Cant_use_nocompile_uc";
+       internal const string Cant_use_partition_resolve = "Cant_use_partition_resolve";
+       internal const string CantGenPropertySet = "CantGenPropertySet";
+       internal const string Capability_file_root_element = "Capability_file_root_element";
+       internal const string Caps_cannot_be_inited_twice = "Caps_cannot_be_inited_twice";
+       internal const string CatalogPart_MustBeInZone = "CatalogPart_MustBeInZone";
+       internal const string CatalogPart_SampleWebPartTitle = "CatalogPart_SampleWebPartTitle";
+       internal const string CatalogPart_UnknownDescription = "CatalogPart_UnknownDescription";
+       internal const string CatalogZone_OnlyCatalogParts = "CatalogZone_OnlyCatalogParts";
+       internal const string CatalogZoneBase_AddVerb = "CatalogZoneBase_AddVerb";
+       internal const string CatalogZoneBase_CloseVerb = "CatalogZoneBase_CloseVerb";
+       internal const string CatalogZoneBase_DefaultEmptyZoneText = "CatalogZoneBase_DefaultEmptyZoneText";
+       internal const string CatalogZoneBase_DefaultSelectTargetZoneText = "CatalogZoneBase_DefaultSelectTargetZoneText";
+       internal const string CatalogZoneBase_HeaderText = "CatalogZoneBase_HeaderText";
+       internal const string CatalogZoneBase_InstructionText = "CatalogZoneBase_InstructionText";
+       internal const string CatalogZoneBase_NoCatalogPartID = "CatalogZoneBase_NoCatalogPartID";
+       internal const string CatalogZoneBase_PartLinkStyle = "CatalogZoneBase_PartLinkStyle";
+       internal const string CatalogZoneBase_SelectCatalogPart = "CatalogZoneBase_SelectCatalogPart";
+       internal const string CatalogZoneBase_SelectedCatalogPartID = "CatalogZoneBase_SelectedCatalogPartID";
+       internal const string CatalogZoneBase_SelectedPartLinkStyle = "CatalogZoneBase_SelectedPartLinkStyle";
+       internal const string CatalogZoneBase_SelectTargetZoneText = "CatalogZoneBase_SelectTargetZoneText";
+       internal const string CatalogZoneBase_ShowCatalogIcons = "CatalogZoneBase_ShowCatalogIcons";
+       internal const string Category_Accessibility = "Category_Accessibility";
+       internal const string Category_Cache = "Category_Cache";
+       internal const string Category_Control = "Category_Control";
+       internal const string Category_Databindings = "Category_Databindings";
+       internal const string Category_DefaultProperties = "Category_DefaultProperties";
+       internal const string Category_Links = "Category_Links";
+       internal const string Category_Navigation = "Category_Navigation";
+       internal const string Category_Paging = "Category_Paging";
+       internal const string Category_Parameter = "Category_Parameter";
+       internal const string Category_Styles = "Category_Styles";
+       internal const string Category_Validation = "Category_Validation";
+       internal const string Category_Verbs = "Category_Verbs";
+       internal const string Category_WebPart = "Category_WebPart";
+       internal const string Category_WebPartAppearance = "Category_WebPartAppearance";
+       internal const string Category_WebPartBehavior = "Category_WebPartBehavior";
+       internal const string Change_notification_critical_dir = "Change_notification_critical_dir";
+       internal const string ChangePassword_CancelButtonClick = "ChangePassword_CancelButtonClick";
+       internal const string ChangePassword_CancelButtonImageUrl = "ChangePassword_CancelButtonImageUrl";
+       internal const string ChangePassword_CancelButtonStyle = "ChangePassword_CancelButtonStyle";
+       internal const string ChangePassword_CancelButtonText = "ChangePassword_CancelButtonText";
+       internal const string ChangePassword_CancelButtonType = "ChangePassword_CancelButtonType";
+       internal const string ChangePassword_CancelDestinationPageUrl = "ChangePassword_CancelDestinationPageUrl";
+       internal const string ChangePassword_ChangedPassword = "ChangePassword_ChangedPassword";
+       internal const string ChangePassword_ChangePasswordButtonImageUrl = "ChangePassword_ChangePasswordButtonImageUrl";
+       internal const string ChangePassword_ChangePasswordButtonStyle = "ChangePassword_ChangePasswordButtonStyle";
+       internal const string ChangePassword_ChangePasswordButtonText = "ChangePassword_ChangePasswordButtonText";
+       internal const string ChangePassword_ChangePasswordButtonType = "ChangePassword_ChangePasswordButtonType";
+       internal const string ChangePassword_ChangePasswordError = "ChangePassword_ChangePasswordError";
+       internal const string ChangePassword_ChangePasswordFailureText = "ChangePassword_ChangePasswordFailureText";
+       internal const string ChangePassword_ChangingPassword = "ChangePassword_ChangingPassword";
+       internal const string ChangePassword_ConfirmNewPasswordLabelText = "ChangePassword_ConfirmNewPasswordLabelText";
+       internal const string ChangePassword_ConfirmPasswordCompareErrorMessage = "ChangePassword_ConfirmPasswordCompareErrorMessage";
+       internal const string ChangePassword_ContinueButtonClick = "ChangePassword_ContinueButtonClick";
+       internal const string ChangePassword_ContinueButtonImageUrl = "ChangePassword_ContinueButtonImageUrl";
+       internal const string ChangePassword_ContinueButtonStyle = "ChangePassword_ContinueButtonStyle";
+       internal const string ChangePassword_ContinueButtonText = "ChangePassword_ContinueButtonText";
+       internal const string ChangePassword_ContinueButtonType = "ChangePassword_ContinueButtonType";
+       internal const string ChangePassword_CreateUserIconUrl = "ChangePassword_CreateUserIconUrl";
+       internal const string ChangePassword_CreateUserText = "ChangePassword_CreateUserText";
+       internal const string ChangePassword_CreateUserUrl = "ChangePassword_CreateUserUrl";
+       internal const string ChangePassword_DefaultCancelButtonText = "ChangePassword_DefaultCancelButtonText";
+       internal const string ChangePassword_DefaultChangePasswordButtonText = "ChangePassword_DefaultChangePasswordButtonText";
+       internal const string ChangePassword_DefaultChangePasswordFailureText = "ChangePassword_DefaultChangePasswordFailureText";
+       internal const string ChangePassword_DefaultChangePasswordTitleText = "ChangePassword_DefaultChangePasswordTitleText";
+       internal const string ChangePassword_DefaultConfirmNewPasswordLabelText = "ChangePassword_DefaultConfirmNewPasswordLabelText";
+       internal const string ChangePassword_DefaultConfirmPasswordCompareErrorMessage = "ChangePassword_DefaultConfirmPasswordCompareErrorMessage";
+       internal const string ChangePassword_DefaultConfirmPasswordRequiredErrorMessage = "ChangePassword_DefaultConfirmPasswordRequiredErrorMessage";
+       internal const string ChangePassword_DefaultContinueButtonText = "ChangePassword_DefaultContinueButtonText";
+       internal const string ChangePassword_DefaultNewPasswordLabelText = "ChangePassword_DefaultNewPasswordLabelText";
+       internal const string ChangePassword_DefaultNewPasswordRequiredErrorMessage = "ChangePassword_DefaultNewPasswordRequiredErrorMessage";
+       internal const string ChangePassword_DefaultPasswordRequiredErrorMessage = "ChangePassword_DefaultPasswordRequiredErrorMessage";
+       internal const string ChangePassword_DefaultSuccessText = "ChangePassword_DefaultSuccessText";
+       internal const string ChangePassword_DefaultSuccessTitleText = "ChangePassword_DefaultSuccessTitleText";
+       internal const string ChangePassword_DefaultUserNameLabelText = "ChangePassword_DefaultUserNameLabelText";
+       internal const string ChangePassword_DefaultUserNameRequiredErrorMessage = "ChangePassword_DefaultUserNameRequiredErrorMessage";
+       internal const string ChangePassword_DisplayUserName = "ChangePassword_DisplayUserName";
+       internal const string ChangePassword_EditProfileText = "ChangePassword_EditProfileText";
+       internal const string ChangePassword_EditProfileUrl = "ChangePassword_EditProfileUrl";
+       internal const string ChangePassword_HelpPageText = "ChangePassword_HelpPageText";
+       internal const string ChangePassword_InvalidBorderPadding = "ChangePassword_InvalidBorderPadding";
+       internal const string ChangePassword_MailDefinition = "ChangePassword_MailDefinition";
+       internal const string ChangePassword_NewPasswordLabelText = "ChangePassword_NewPasswordLabelText";
+       internal const string ChangePassword_NewPasswordRegularExpression = "ChangePassword_NewPasswordRegularExpression";
+       internal const string ChangePassword_NewPasswordRegularExpressionErrorMessage = "ChangePassword_NewPasswordRegularExpressionErrorMessage";
+       internal const string ChangePassword_NewPasswordRequiredErrorMessage = "ChangePassword_NewPasswordRequiredErrorMessage";
+       internal const string ChangePassword_NoCurrentPasswordTextBox = "ChangePassword_NoCurrentPasswordTextBox";
+       internal const string ChangePassword_NoNewPasswordTextBox = "ChangePassword_NoNewPasswordTextBox";
+       internal const string ChangePassword_NoUserNameTextBox = "ChangePassword_NoUserNameTextBox";
+       internal const string ChangePassword_PasswordHintStyle = "ChangePassword_PasswordHintStyle";
+       internal const string ChangePassword_PasswordHintText = "ChangePassword_PasswordHintText";
+       internal const string ChangePassword_PasswordRecoveryIconUrl = "ChangePassword_PasswordRecoveryIconUrl";
+       internal const string ChangePassword_PasswordRecoveryText = "ChangePassword_PasswordRecoveryText";
+       internal const string ChangePassword_PasswordRecoveryUrl = "ChangePassword_PasswordRecoveryUrl";
+       internal const string ChangePassword_PasswordRequiredErrorMessage = "ChangePassword_PasswordRequiredErrorMessage";
+       internal const string ChangePassword_SendingMail = "ChangePassword_SendingMail";
+       internal const string ChangePassword_SendMailError = "ChangePassword_SendMailError";
+       internal const string ChangePassword_SuccessText = "ChangePassword_SuccessText";
+       internal const string ChangePassword_SuccessTextStyle = "ChangePassword_SuccessTextStyle";
+       internal const string ChangePassword_SuccessTitleText = "ChangePassword_SuccessTitleText";
+       internal const string ChangePassword_UserNameRequiredErrorMessage = "ChangePassword_UserNameRequiredErrorMessage";
+       internal const string ChangePassword_UserNameTextBoxNotAllowed = "ChangePassword_UserNameTextBoxNotAllowed";
+       internal const string ChangePassword_ValidatorTextStyle = "ChangePassword_ValidatorTextStyle";
+       internal const string CheckBox_AutoPostBack = "CheckBox_AutoPostBack";
+       internal const string CheckBox_Checked = "CheckBox_Checked";
+       internal const string CheckBox_InputAttributes = "CheckBox_InputAttributes";
+       internal const string CheckBox_LabelAttributes = "CheckBox_LabelAttributes";
+       internal const string CheckBox_Text = "CheckBox_Text";
+       internal const string CheckBoxField_CouldntParseAsBoolean = "CheckBoxField_CouldntParseAsBoolean";
+       internal const string CheckBoxField_NotSupported = "CheckBoxField_NotSupported";
+       internal const string CheckBoxField_Text = "CheckBoxField_Text";
+       internal const string CheckBoxField_WrongControlType = "CheckBoxField_WrongControlType";
+       internal const string CheckBoxList_CellPadding = "CheckBoxList_CellPadding";
+       internal const string CheckBoxList_CellSpacing = "CheckBoxList_CellSpacing";
+       internal const string CheckBoxList_RepeatColumns = "CheckBoxList_RepeatColumns";
+       internal const string Children_not_supported_on_not_controls = "Children_not_supported_on_not_controls";
+       internal const string CircleHotSpot_Radius = "CircleHotSpot_Radius";
+       internal const string CircleHotSpot_X = "CircleHotSpot_X";
+       internal const string CircleHotSpot_Y = "CircleHotSpot_Y";
+       internal const string Circular_include = "Circular_include";
+       internal const string Clear_not_valid = "Clear_not_valid";
+       internal const string ClientDataTypeModelValidatorProvider_FieldMustBeNumeric = "ClientDataTypeModelValidatorProvider_FieldMustBeNumeric";
+       internal const string ClientDisconnected = "ClientDisconnected";
+       internal const string ClientScriptManager_InvalidPostBackArgument = "ClientScriptManager_InvalidPostBackArgument";
+       internal const string ClientScriptManager_JqueryNotRegistered = "ClientScriptManager_JqueryNotRegistered";
+       internal const string ClientScriptManager_RegisterForEventValidation_Too_Early = "ClientScriptManager_RegisterForEventValidation_Too_Early";
+       internal const string Code_not_allowed = "Code_not_allowed";
+       internal const string Code_not_supported_on_not_controls = "Code_not_supported_on_not_controls";
+       internal const string Codefile_without_inherits = "Codefile_without_inherits";
+       internal const string CodeFileBaseClass_Without_Codefile = "CodeFileBaseClass_Without_Codefile";
+       internal const string Collection_CantAddNull = "Collection_CantAddNull";
+       internal const string Collection_InvalidType = "Collection_InvalidType";
+       internal const string Collection_readonly = "Collection_readonly";
+       internal const string Collection_readonly_Codeblocks = "Collection_readonly_Codeblocks";
+       internal const string CollectionCountExceeded_HttpValueCollection = "CollectionCountExceeded_HttpValueCollection";
+       internal const string CollectionCountExceeded_JavaScriptObjectDeserializer = "CollectionCountExceeded_JavaScriptObjectDeserializer";
+       internal const string Command_not_recognized = "Command_not_recognized";
+       internal const string CommandField_CallbacksNotSupported = "CommandField_CallbacksNotSupported";
+       internal const string CommandField_CancelImageUrl = "CommandField_CancelImageUrl";
+       internal const string CommandField_CancelText = "CommandField_CancelText";
+       internal const string CommandField_DefaultCancelCaption = "CommandField_DefaultCancelCaption";
+       internal const string CommandField_DefaultDeleteCaption = "CommandField_DefaultDeleteCaption";
+       internal const string CommandField_DefaultEditCaption = "CommandField_DefaultEditCaption";
+       internal const string CommandField_DefaultInsertCaption = "CommandField_DefaultInsertCaption";
+       internal const string CommandField_DefaultNewCaption = "CommandField_DefaultNewCaption";
+       internal const string CommandField_DefaultSelectCaption = "CommandField_DefaultSelectCaption";
+       internal const string CommandField_DefaultUpdateCaption = "CommandField_DefaultUpdateCaption";
+       internal const string CommandField_DeleteImageUrl = "CommandField_DeleteImageUrl";
+       internal const string CommandField_DeleteText = "CommandField_DeleteText";
+       internal const string CommandField_EditImageUrl = "CommandField_EditImageUrl";
+       internal const string CommandField_EditText = "CommandField_EditText";
+       internal const string CommandField_InsertImageUrl = "CommandField_InsertImageUrl";
+       internal const string CommandField_InsertText = "CommandField_InsertText";
+       internal const string CommandField_NewImageUrl = "CommandField_NewImageUrl";
+       internal const string CommandField_NewText = "CommandField_NewText";
+       internal const string CommandField_SelectImageUrl = "CommandField_SelectImageUrl";
+       internal const string CommandField_SelectText = "CommandField_SelectText";
+       internal const string CommandField_ShowCancelButton = "CommandField_ShowCancelButton";
+       internal const string CommandField_ShowDeleteButton = "CommandField_ShowDeleteButton";
+       internal const string CommandField_ShowEditButton = "CommandField_ShowEditButton";
+       internal const string CommandField_ShowInsertButton = "CommandField_ShowInsertButton";
+       internal const string CommandField_ShowSelectButton = "CommandField_ShowSelectButton";
+       internal const string CommandField_UpdateImageUrl = "CommandField_UpdateImageUrl";
+       internal const string CommandField_UpdateText = "CommandField_UpdateText";
+       internal const string Common_NullOrEmpty = "Common_NullOrEmpty";
+       internal const string Common_PropertyCannotBeNullOrEmpty = "Common_PropertyCannotBeNullOrEmpty";
+       internal const string Common_PropertyNotFound = "Common_PropertyNotFound";
+       internal const string Common_TypeMustDriveFromType = "Common_TypeMustDriveFromType";
+       internal const string Common_TypeMustImplementInterface = "Common_TypeMustImplementInterface";
+       internal const string CompareValidator_ControlToCompare = "CompareValidator_ControlToCompare";
+       internal const string CompareValidator_Operator = "CompareValidator_Operator";
+       internal const string CompareValidator_ValueToCompare = "CompareValidator_ValueToCompare";
+       internal const string CompilationMutex_Create = "CompilationMutex_Create";
+       internal const string CompilationMutex_Drained = "CompilationMutex_Drained";
+       internal const string CompilationMutex_Failed = "CompilationMutex_Failed";
+       internal const string CompilationMutex_Null = "CompilationMutex_Null";
+       internal const string Compiler_version_20_35_required = "Compiler_version_20_35_required";
+       internal const string Compiler_version_40_required = "Compiler_version_40_required";
+       internal const string Compilmode_not_allowed = "Compilmode_not_allowed";
+       internal const string CompleteWizardStep_OnlyAllowedInCreateUserWizard = "CompleteWizardStep_OnlyAllowedInCreateUserWizard";
+       internal const string Config_allow_definition_error_application = "Config_allow_definition_error_application";
+       internal const string Config_allow_definition_error_machine = "Config_allow_definition_error_machine";
+       internal const string Config_allow_definition_error_webroot = "Config_allow_definition_error_webroot";
+       internal const string Config_base_bad_image_exception_no_message = "Config_base_bad_image_exception_no_message";
+       internal const string Config_base_cannot_remove_inherited_items = "Config_base_cannot_remove_inherited_items";
+       internal const string Config_base_elements_only = "Config_base_elements_only";
+       internal const string Config_base_file_load_exception_no_message = "Config_base_file_load_exception_no_message";
+       internal const string Config_base_no_child_nodes = "Config_base_no_child_nodes";
+       internal const string Config_base_report_exception_type = "Config_base_report_exception_type";
+       internal const string Config_base_required_attribute_empty = "Config_base_required_attribute_empty";
+       internal const string Config_base_required_attribute_missing = "Config_base_required_attribute_missing";
+       internal const string Config_base_unrecognized_attribute = "Config_base_unrecognized_attribute";
+       internal const string Config_base_unrecognized_element = "Config_base_unrecognized_element";
+       internal const string Config_collection_add_element_without_key = "Config_collection_add_element_without_key";
+       internal const string Config_control_rendering_compatibility_version_is_less_than_minimum_version = "Config_control_rendering_compatibility_version_is_less_than_minimum_version";
+       internal const string Config_Desc = "Config_Desc";
+       internal const string Config_element_below_app_illegal = "Config_element_below_app_illegal";
+       internal const string Config_Error = "Config_Error";
+       internal const string Config_failed_to_resolve_site_id = "Config_failed_to_resolve_site_id";
+       internal const string Config_GetSectionWithPathArgInvalid = "Config_GetSectionWithPathArgInvalid";
+       internal const string Config_invalid_element = "Config_invalid_element";
+       internal const string Config_Invalid_enum_value = "Config_Invalid_enum_value";
+       internal const string Config_max_request_length_disk_threshold_exceeds_max_request_length = "Config_max_request_length_disk_threshold_exceeds_max_request_length";
+       internal const string Config_max_request_length_smaller_than_max_request_length_disk_threshold = "Config_max_request_length_smaller_than_max_request_length_disk_threshold";
+       internal const string Config_property_generic = "Config_property_generic";
+       internal const string Config_provider_must_exist = "Config_provider_must_exist";
+       internal const string Config_section_not_present = "Config_section_not_present";
+       internal const string Config_section_not_supported = "Config_section_not_supported";
+       internal const string Config_unable_to_get_section = "Config_unable_to_get_section";
+       internal const string Configuration_for_machine_config_not_found = "Configuration_for_machine_config_not_found";
+       internal const string Configuration_for_path_not_found = "Configuration_for_path_not_found";
+       internal const string Configuration_for_physical_path_not_found = "Configuration_for_physical_path_not_found";
+       internal const string Configuration_Section_not_found = "Configuration_Section_not_found";
+       internal const string Connection_name_not_specified = "Connection_name_not_specified";
+       internal const string Connection_not_secure_creating_secure_cookie = "Connection_not_secure_creating_secure_cookie";
+       internal const string Connection_string_not_found = "Connection_string_not_found";
+       internal const string ConnectionConsumerAttribute_InvalidConnectionPointType = "ConnectionConsumerAttribute_InvalidConnectionPointType";
+       internal const string ConnectionPoint_InvalidControlType = "ConnectionPoint_InvalidControlType";
+       internal const string ConnectionProviderAttribute_InvalidConnectionPointType = "ConnectionProviderAttribute_InvalidConnectionPointType";
+       internal const string ConnectionsZone_CancelVerb = "ConnectionsZone_CancelVerb";
+       internal const string ConnectionsZone_CloseVerb = "ConnectionsZone_CloseVerb";
+       internal const string ConnectionsZone_ConfigureConnectionTitle = "ConnectionsZone_ConfigureConnectionTitle";
+       internal const string ConnectionsZone_ConfigureConnectionTitleDescription = "ConnectionsZone_ConfigureConnectionTitleDescription";
+       internal const string ConnectionsZone_ConfigureVerb = "ConnectionsZone_ConfigureVerb";
+       internal const string ConnectionsZone_ConnectToConsumerInstructionText = "ConnectionsZone_ConnectToConsumerInstructionText";
+       internal const string ConnectionsZone_ConnectToConsumerInstructionTextDescription = "ConnectionsZone_ConnectToConsumerInstructionTextDescription";
+       internal const string ConnectionsZone_ConnectToConsumerText = "ConnectionsZone_ConnectToConsumerText";
+       internal const string ConnectionsZone_ConnectToConsumerTextDescription = "ConnectionsZone_ConnectToConsumerTextDescription";
+       internal const string ConnectionsZone_ConnectToConsumerTitle = "ConnectionsZone_ConnectToConsumerTitle";
+       internal const string ConnectionsZone_ConnectToConsumerTitleDescription = "ConnectionsZone_ConnectToConsumerTitleDescription";
+       internal const string ConnectionsZone_ConnectToProviderInstructionText = "ConnectionsZone_ConnectToProviderInstructionText";
+       internal const string ConnectionsZone_ConnectToProviderInstructionTextDescription = "ConnectionsZone_ConnectToProviderInstructionTextDescription";
+       internal const string ConnectionsZone_ConnectToProviderText = "ConnectionsZone_ConnectToProviderText";
+       internal const string ConnectionsZone_ConnectToProviderTextDescription = "ConnectionsZone_ConnectToProviderTextDescription";
+       internal const string ConnectionsZone_ConnectToProviderTitle = "ConnectionsZone_ConnectToProviderTitle";
+       internal const string ConnectionsZone_ConnectToProviderTitleDescription = "ConnectionsZone_ConnectToProviderTitleDescription";
+       internal const string ConnectionsZone_ConnectVerb = "ConnectionsZone_ConnectVerb";
+       internal const string ConnectionsZone_ConsumersInstructionText = "ConnectionsZone_ConsumersInstructionText";
+       internal const string ConnectionsZone_ConsumersInstructionTextDescription = "ConnectionsZone_ConsumersInstructionTextDescription";
+       internal const string ConnectionsZone_ConsumersTitle = "ConnectionsZone_ConsumersTitle";
+       internal const string ConnectionsZone_ConsumersTitleDescription = "ConnectionsZone_ConsumersTitleDescription";
+       internal const string ConnectionsZone_DisconnectInvalid = "ConnectionsZone_DisconnectInvalid";
+       internal const string ConnectionsZone_DisconnectVerb = "ConnectionsZone_DisconnectVerb";
+       internal const string ConnectionsZone_ErrorCantContinueConnectionCreation = "ConnectionsZone_ErrorCantContinueConnectionCreation";
+       internal const string ConnectionsZone_ErrorMessage = "ConnectionsZone_ErrorMessage";
+       internal const string ConnectionsZone_Get = "ConnectionsZone_Get";
+       internal const string ConnectionsZone_GetDescription = "ConnectionsZone_GetDescription";
+       internal const string ConnectionsZone_GetFromText = "ConnectionsZone_GetFromText";
+       internal const string ConnectionsZone_GetFromTextDescription = "ConnectionsZone_GetFromTextDescription";
+       internal const string ConnectionsZone_HeaderText = "ConnectionsZone_HeaderText";
+       internal const string ConnectionsZone_HeaderTextDescription = "ConnectionsZone_HeaderTextDescription";
+       internal const string ConnectionsZone_InstructionText = "ConnectionsZone_InstructionText";
+       internal const string ConnectionsZone_InstructionTextDescription = "ConnectionsZone_InstructionTextDescription";
+       internal const string ConnectionsZone_InstructionTitle = "ConnectionsZone_InstructionTitle";
+       internal const string ConnectionsZone_InstructionTitleDescription = "ConnectionsZone_InstructionTitleDescription";
+       internal const string ConnectionsZone_MustImplementITransformerConfigurationControl = "ConnectionsZone_MustImplementITransformerConfigurationControl";
+       internal const string ConnectionsZone_NoConsumers = "ConnectionsZone_NoConsumers";
+       internal const string ConnectionsZone_NoExistingConnectionInstructionText = "ConnectionsZone_NoExistingConnectionInstructionText";
+       internal const string ConnectionsZone_NoExistingConnectionInstructionTextDescription = "ConnectionsZone_NoExistingConnectionInstructionTextDescription";
+       internal const string ConnectionsZone_NoExistingConnectionTitle = "ConnectionsZone_NoExistingConnectionTitle";
+       internal const string ConnectionsZone_NoExistingConnectionTitleDescription = "ConnectionsZone_NoExistingConnectionTitleDescription";
+       internal const string ConnectionsZone_NoProviders = "ConnectionsZone_NoProviders";
+       internal const string ConnectionsZone_ProvidersInstructionText = "ConnectionsZone_ProvidersInstructionText";
+       internal const string ConnectionsZone_ProvidersInstructionTextDescription = "ConnectionsZone_ProvidersInstructionTextDescription";
+       internal const string ConnectionsZone_ProvidersTitle = "ConnectionsZone_ProvidersTitle";
+       internal const string ConnectionsZone_ProvidersTitleDescription = "ConnectionsZone_ProvidersTitleDescription";
+       internal const string ConnectionsZone_SendText = "ConnectionsZone_SendText";
+       internal const string ConnectionsZone_SendTextDescription = "ConnectionsZone_SendTextDescription";
+       internal const string ConnectionsZone_SendToText = "ConnectionsZone_SendToText";
+       internal const string ConnectionsZone_SendToTextDescription = "ConnectionsZone_SendToTextDescription";
+       internal const string ConnectionsZone_WarningConnectionDisabled = "ConnectionsZone_WarningConnectionDisabled";
+       internal const string ConnectionsZone_WarningMessage = "ConnectionsZone_WarningMessage";
+       internal const string Content_allowed_in_top_level_only = "Content_allowed_in_top_level_only";
+       internal const string Content_ContentPlaceHolderID = "Content_ContentPlaceHolderID";
+       internal const string Content_only_allowed_in_content_page = "Content_only_allowed_in_content_page";
+       internal const string Content_only_one_contentPlaceHolderID_allowed = "Content_only_one_contentPlaceHolderID_allowed";
+       internal const string ContentDirection_LeftToRight = "ContentDirection_LeftToRight";
+       internal const string ContentDirection_NotSet = "ContentDirection_NotSet";
+       internal const string ContentDirection_RightToLeft = "ContentDirection_RightToLeft";
+       internal const string ContentPlaceHolder_duplicate_contentPlaceHolderID = "ContentPlaceHolder_duplicate_contentPlaceHolderID";
+       internal const string ContentPlaceHolder_only_in_master = "ContentPlaceHolder_only_in_master";
+       internal const string Control_Cannot_Databind = "Control_Cannot_Databind";
+       internal const string Control_CannotOwnSelf = "Control_CannotOwnSelf";
+       internal const string Control_ClientID = "Control_ClientID";
+       internal const string Control_ClientIDMode = "Control_ClientIDMode";
+       internal const string Control_Controls = "Control_Controls";
+       internal const string Control_does_not_allow_children = "Control_does_not_allow_children";
+       internal const string Control_EnableTheming = "Control_EnableTheming";
+       internal const string Control_ID = "Control_ID";
+       internal const string Control_MaintainState = "Control_MaintainState";
+       internal const string Control_Missing_Attribute = "Control_Missing_Attribute";
+       internal const string Control_NamingContainer = "Control_NamingContainer";
+       internal const string Control_NotADescendentOfNamingContainer = "Control_NotADescendentOfNamingContainer";
+       internal const string Control_OnDataBind = "Control_OnDataBind";
+       internal const string Control_OnDisposed = "Control_OnDisposed";
+       internal const string Control_OnInit = "Control_OnInit";
+       internal const string Control_OnLoad = "Control_OnLoad";
+       internal const string Control_OnPreRender = "Control_OnPreRender";
+       internal const string Control_OnServerCheckChanged = "Control_OnServerCheckChanged";
+       internal const string Control_OnUnload = "Control_OnUnload";
+       internal const string Control_Page = "Control_Page";
+       internal const string Control_Parent = "Control_Parent";
+       internal const string Control_Site = "Control_Site";
+       internal const string Control_SkinId = "Control_SkinId";
+       internal const string Control_State = "Control_State";
+       internal const string Control_TemplateControl = "Control_TemplateControl";
+       internal const string Control_TemplateSourceDirectory = "Control_TemplateSourceDirectory";
+       internal const string Control_type_not_allowed = "Control_type_not_allowed";
+       internal const string Control_UniqueID = "Control_UniqueID";
+       internal const string Control_ValidateRequestMode = "Control_ValidateRequestMode";
+       internal const string Control_ViewStateMode = "Control_ViewStateMode";
+       internal const string Control_Visible = "Control_Visible";
+       internal const string ControlAdapters_TypeNotFound = "ControlAdapters_TypeNotFound";
+       internal const string ControlBuilder_CannotHaveComplexString = "ControlBuilder_CannotHaveComplexString";
+       internal const string ControlBuilder_CannotHaveMultipleBoundEntries = "ControlBuilder_CannotHaveMultipleBoundEntries";
+       internal const string ControlBuilder_CollectionHasNoAddMethod = "ControlBuilder_CollectionHasNoAddMethod";
+       internal const string ControlBuilder_DatabindingRequiresEvent = "ControlBuilder_DatabindingRequiresEvent";
+       internal const string ControlBuilder_ExpressionsNotAllowedInThemes = "ControlBuilder_ExpressionsNotAllowedInThemes";
+       internal const string ControlBuilder_IDMustUseAttribute = "ControlBuilder_IDMustUseAttribute";
+       internal const string ControlBuilder_InvalidLocalizeValue = "ControlBuilder_InvalidLocalizeValue";
+       internal const string ControlBuilder_ParseTimeDataNotAvailable = "ControlBuilder_ParseTimeDataNotAvailable";
+       internal const string ControlBuilder_TwoWayBindingNonProperty = "ControlBuilder_TwoWayBindingNonProperty";
+       internal const string ControlNonVisual = "ControlNonVisual";
+       internal const string ControlParameter_ControlID = "ControlParameter_ControlID";
+       internal const string ControlParameter_ControlIDNotSpecified = "ControlParameter_ControlIDNotSpecified";
+       internal const string ControlParameter_CouldNotFindControl = "ControlParameter_CouldNotFindControl";
+       internal const string ControlParameter_PropertyName = "ControlParameter_PropertyName";
+       internal const string ControlParameter_PropertyNameNotSpecified = "ControlParameter_PropertyNameNotSpecified";
+       internal const string ControlRenderedOutsideServerForm = "ControlRenderedOutsideServerForm";
+       internal const string Controls_Cant_Change_Between_Posts = "Controls_Cant_Change_Between_Posts";
+       internal const string ControlSkin_cannot_contain_controls = "ControlSkin_cannot_contain_controls";
+       internal const string CookieParameter_CookieName = "CookieParameter_CookieName";
+       internal const string Could_not_create_object_from_clsid = "Could_not_create_object_from_clsid";
+       internal const string Could_not_create_object_of_type = "Could_not_create_object_of_type";
+       internal const string Could_not_create_passport_identity = "Could_not_create_passport_identity";
+       internal const string Could_not_create_type = "Could_not_create_type";
+       internal const string Could_not_create_type_instance = "Could_not_create_type_instance";
+       internal const string CreateUserWizard_Answer = "CreateUserWizard_Answer";
+       internal const string CreateUserWizard_AnswerLabelText = "CreateUserWizard_AnswerLabelText";
+       internal const string CreateUserWizard_AutoGeneratePassword = "CreateUserWizard_AutoGeneratePassword";
+       internal const string CreateUserWizard_CompleteStep = "CreateUserWizard_CompleteStep";
+       internal const string CreateUserWizard_CompleteSuccessText = "CreateUserWizard_CompleteSuccessText";
+       internal const string CreateUserWizard_CompleteSuccessTextStyle = "CreateUserWizard_CompleteSuccessTextStyle";
+       internal const string CreateUserWizard_ConfirmPasswordLabelText = "CreateUserWizard_ConfirmPasswordLabelText";
+       internal const string CreateUserWizard_ContinueButtonClick = "CreateUserWizard_ContinueButtonClick";
+       internal const string CreateUserWizard_ContinueButtonStyle = "CreateUserWizard_ContinueButtonStyle";
+       internal const string CreateUserWizard_ContinueButtonText = "CreateUserWizard_ContinueButtonText";
+       internal const string CreateUserWizard_ContinueButtonType = "CreateUserWizard_ContinueButtonType";
+       internal const string CreateUserWizard_CreatedUser = "CreateUserWizard_CreatedUser";
+       internal const string CreateUserWizard_CreateUserButtonImageUrl = "CreateUserWizard_CreateUserButtonImageUrl";
+       internal const string CreateUserWizard_CreateUserButtonStyle = "CreateUserWizard_CreateUserButtonStyle";
+       internal const string CreateUserWizard_CreateUserButtonText = "CreateUserWizard_CreateUserButtonText";
+       internal const string CreateUserWizard_CreateUserButtonType = "CreateUserWizard_CreateUserButtonType";
+       internal const string CreateUserWizard_CreateUserError = "CreateUserWizard_CreateUserError";
+       internal const string CreateUserWizard_CreateUserStep = "CreateUserWizard_CreateUserStep";
+       internal const string CreateUserWizard_CreatingUser = "CreateUserWizard_CreatingUser";
+       internal const string CreateUserWizard_DefaultAnswerLabelText = "CreateUserWizard_DefaultAnswerLabelText";
+       internal const string CreateUserWizard_DefaultAnswerRequiredErrorMessage = "CreateUserWizard_DefaultAnswerRequiredErrorMessage";
+       internal const string CreateUserWizard_DefaultCompleteSuccessText = "CreateUserWizard_DefaultCompleteSuccessText";
+       internal const string CreateUserWizard_DefaultCompleteTitleText = "CreateUserWizard_DefaultCompleteTitleText";
+       internal const string CreateUserWizard_DefaultConfirmPasswordCompareErrorMessage = "CreateUserWizard_DefaultConfirmPasswordCompareErrorMessage";
+       internal const string CreateUserWizard_DefaultConfirmPasswordLabelText = "CreateUserWizard_DefaultConfirmPasswordLabelText";
+       internal const string CreateUserWizard_DefaultConfirmPasswordRequiredErrorMessage = "CreateUserWizard_DefaultConfirmPasswordRequiredErrorMessage";
+       internal const string CreateUserWizard_DefaultContinueButtonText = "CreateUserWizard_DefaultContinueButtonText";
+       internal const string CreateUserWizard_DefaultCreateUserButtonText = "CreateUserWizard_DefaultCreateUserButtonText";
+       internal const string CreateUserWizard_DefaultCreateUserTitleText = "CreateUserWizard_DefaultCreateUserTitleText";
+       internal const string CreateUserWizard_DefaultDuplicateEmailErrorMessage = "CreateUserWizard_DefaultDuplicateEmailErrorMessage";
+       internal const string CreateUserWizard_DefaultDuplicateUserNameErrorMessage = "CreateUserWizard_DefaultDuplicateUserNameErrorMessage";
+       internal const string CreateUserWizard_DefaultEmailLabelText = "CreateUserWizard_DefaultEmailLabelText";
+       internal const string CreateUserWizard_DefaultEmailRegularExpressionErrorMessage = "CreateUserWizard_DefaultEmailRegularExpressionErrorMessage";
+       internal const string CreateUserWizard_DefaultEmailRequiredErrorMessage = "CreateUserWizard_DefaultEmailRequiredErrorMessage";
+       internal const string CreateUserWizard_DefaultInvalidAnswerErrorMessage = "CreateUserWizard_DefaultInvalidAnswerErrorMessage";
+       internal const string CreateUserWizard_DefaultInvalidEmailErrorMessage = "CreateUserWizard_DefaultInvalidEmailErrorMessage";
+       internal const string CreateUserWizard_DefaultInvalidPasswordErrorMessage = "CreateUserWizard_DefaultInvalidPasswordErrorMessage";
+       internal const string CreateUserWizard_DefaultInvalidQuestionErrorMessage = "CreateUserWizard_DefaultInvalidQuestionErrorMessage";
+       internal const string CreateUserWizard_DefaultPasswordRequiredErrorMessage = "CreateUserWizard_DefaultPasswordRequiredErrorMessage";
+       internal const string CreateUserWizard_DefaultQuestionLabelText = "CreateUserWizard_DefaultQuestionLabelText";
+       internal const string CreateUserWizard_DefaultQuestionRequiredErrorMessage = "CreateUserWizard_DefaultQuestionRequiredErrorMessage";
+       internal const string CreateUserWizard_DefaultUnknownErrorMessage = "CreateUserWizard_DefaultUnknownErrorMessage";
+       internal const string CreateUserWizard_DefaultUserNameLabelText = "CreateUserWizard_DefaultUserNameLabelText";
+       internal const string CreateUserWizard_DefaultUserNameRequiredErrorMessage = "CreateUserWizard_DefaultUserNameRequiredErrorMessage";
+       internal const string CreateUserWizard_DisableCreatedUser = "CreateUserWizard_DisableCreatedUser";
+       internal const string CreateUserWizard_DuplicateCompleteWizardStep = "CreateUserWizard_DuplicateCompleteWizardStep";
+       internal const string CreateUserWizard_DuplicateCreateUserWizardStep = "CreateUserWizard_DuplicateCreateUserWizardStep";
+       internal const string CreateUserWizard_DuplicateEmailErrorMessage = "CreateUserWizard_DuplicateEmailErrorMessage";
+       internal const string CreateUserWizard_DuplicateUserNameErrorMessage = "CreateUserWizard_DuplicateUserNameErrorMessage";
+       internal const string CreateUserWizard_EditProfileText = "CreateUserWizard_EditProfileText";
+       internal const string CreateUserWizard_EditProfileUrl = "CreateUserWizard_EditProfileUrl";
+       internal const string CreateUserWizard_Email = "CreateUserWizard_Email";
+       internal const string CreateUserWizard_EmailLabelText = "CreateUserWizard_EmailLabelText";
+       internal const string CreateUserWizard_EmailRegularExpression = "CreateUserWizard_EmailRegularExpression";
+       internal const string CreateUserWizard_EmailRegularExpressionErrorMessage = "CreateUserWizard_EmailRegularExpressionErrorMessage";
+       internal const string CreateUserWizard_EmailRequiredErrorMessage = "CreateUserWizard_EmailRequiredErrorMessage";
+       internal const string CreateUserWizard_ErrorMessageStyle = "CreateUserWizard_ErrorMessageStyle";
+       internal const string CreateUserWizard_InvalidAnswerErrorMessage = "CreateUserWizard_InvalidAnswerErrorMessage";
+       internal const string CreateUserWizard_InvalidEmailErrorMessage = "CreateUserWizard_InvalidEmailErrorMessage";
+       internal const string CreateUserWizard_InvalidPasswordErrorMessage = "CreateUserWizard_InvalidPasswordErrorMessage";
+       internal const string CreateUserWizard_InvalidQuestionErrorMessage = "CreateUserWizard_InvalidQuestionErrorMessage";
+       internal const string CreateUserWizard_LoginCreatedUser = "CreateUserWizard_LoginCreatedUser";
+       internal const string CreateUserWizard_MailDefinition = "CreateUserWizard_MailDefinition";
+       internal const string CreateUserWizard_NoAnswerTextBox = "CreateUserWizard_NoAnswerTextBox";
+       internal const string CreateUserWizard_NoEmailTextBox = "CreateUserWizard_NoEmailTextBox";
+       internal const string CreateUserWizard_NoPasswordTextBox = "CreateUserWizard_NoPasswordTextBox";
+       internal const string CreateUserWizard_NoQuestionTextBox = "CreateUserWizard_NoQuestionTextBox";
+       internal const string CreateUserWizard_NoUserNameTextBox = "CreateUserWizard_NoUserNameTextBox";
+       internal const string CreateUserWizard_PasswordHintStyle = "CreateUserWizard_PasswordHintStyle";
+       internal const string CreateUserWizard_PasswordRegularExpression = "CreateUserWizard_PasswordRegularExpression";
+       internal const string CreateUserWizard_PasswordRegularExpressionErrorMessage = "CreateUserWizard_PasswordRegularExpressionErrorMessage";
+       internal const string CreateUserWizard_PasswordRequiredErrorMessage = "CreateUserWizard_PasswordRequiredErrorMessage";
+       internal const string CreateUserWizard_Question = "CreateUserWizard_Question";
+       internal const string CreateUserWizard_QuestionAndAnswerRequired = "CreateUserWizard_QuestionAndAnswerRequired";
+       internal const string CreateUserWizard_QuestionLabelText = "CreateUserWizard_QuestionLabelText";
+       internal const string CreateUserWizard_QuestionRequiredErrorMessage = "CreateUserWizard_QuestionRequiredErrorMessage";
+       internal const string CreateUserWizard_RequireEmail = "CreateUserWizard_RequireEmail";
+       internal const string CreateUserWizard_SendMailError = "CreateUserWizard_SendMailError";
+       internal const string CreateUserWizard_SideBar_Label_Not_Found = "CreateUserWizard_SideBar_Label_Not_Found";
+       internal const string CreateUserWizard_UnknownErrorMessage = "CreateUserWizard_UnknownErrorMessage";
+       internal const string CreateUserWizard_ValidatorTextStyle = "CreateUserWizard_ValidatorTextStyle";
+       internal const string CreateUserWizardStep_AllowReturnCannotBeSet = "CreateUserWizardStep_AllowReturnCannotBeSet";
+       internal const string CreateUserWizardStep_OnlyAllowedInCreateUserWizard = "CreateUserWizardStep_OnlyAllowedInCreateUserWizard";
+       internal const string CreateUserWizardStep_StepTypeCannotBeSet = "CreateUserWizardStep_StepTypeCannotBeSet";
+       internal const string Cross_app_not_allowed = "Cross_app_not_allowed";
+       internal const string Ctrl_not_data_handler = "Ctrl_not_data_handler";
+       internal const string CustomErrorFailed_Err_Desc = "CustomErrorFailed_Err_Desc";
+       internal const string CustomValidator_ClientValidationFunction = "CustomValidator_ClientValidationFunction";
+       internal const string CustomValidator_ServerValidate = "CustomValidator_ServerValidate";
+       internal const string CustomValidator_ValidateEmptyText = "CustomValidator_ValidateEmptyText";
+       internal const string Dangerous_input_detected = "Dangerous_input_detected";
+       internal const string Dangerous_input_detected_descr = "Dangerous_input_detected_descr";
+       internal const string DataAccessError_CanNotCreateDataDir_Description = "DataAccessError_CanNotCreateDataDir_Description";
+       internal const string DataAccessError_CanNotCreateDataDir_Description_2 = "DataAccessError_CanNotCreateDataDir_Description_2";
+       internal const string DataAccessError_CanNotCreateDataDir_Title = "DataAccessError_CanNotCreateDataDir_Title";
+       internal const string DataAccessError_MiscSection_1 = "DataAccessError_MiscSection_1";
+       internal const string DataAccessError_MiscSection_2 = "DataAccessError_MiscSection_2";
+       internal const string DataAccessError_MiscSection_2_CanNotCreateDataDir = "DataAccessError_MiscSection_2_CanNotCreateDataDir";
+       internal const string DataAccessError_MiscSection_2_CanNotWriteToDBFile_a = "DataAccessError_MiscSection_2_CanNotWriteToDBFile_a";
+       internal const string DataAccessError_MiscSection_2_CanNotWriteToDBFile_b = "DataAccessError_MiscSection_2_CanNotWriteToDBFile_b";
+       internal const string DataAccessError_MiscSection_3 = "DataAccessError_MiscSection_3";
+       internal const string DataAccessError_MiscSection_4 = "DataAccessError_MiscSection_4";
+       internal const string DataAccessError_MiscSection_4_2 = "DataAccessError_MiscSection_4_2";
+       internal const string DataAccessError_MiscSection_5 = "DataAccessError_MiscSection_5";
+       internal const string DataAccessError_MiscSection_ClickAdd = "DataAccessError_MiscSection_ClickAdd";
+       internal const string DataAccessError_MiscSection_ClickOK = "DataAccessError_MiscSection_ClickOK";
+       internal const string DataAccessError_MiscSectionTitle = "DataAccessError_MiscSectionTitle";
+       internal const string DataAnnotationsModelMetadataProvider_UnknownProperty = "DataAnnotationsModelMetadataProvider_UnknownProperty";
+       internal const string DataAnnotationsModelMetadataProvider_UnreadableProperty = "DataAnnotationsModelMetadataProvider_UnreadableProperty";
+       internal const string DataAnnotationsModelValidatorProvider_ConstructorRequirements = "DataAnnotationsModelValidatorProvider_ConstructorRequirements";
+       internal const string DataAnnotationsModelValidatorProvider_ValidatableConstructorRequirements = "DataAnnotationsModelValidatorProvider_ValidatableConstructorRequirements";
+       internal const string Database_not_enabled_for_notification = "Database_not_enabled_for_notification";
+       internal const string Database_not_found = "Database_not_found";
+       internal const string DataBinder_Invalid_Indexed_Expr = "DataBinder_Invalid_Indexed_Expr";
+       internal const string DataBinder_No_Indexed_Accessor = "DataBinder_No_Indexed_Accessor";
+       internal const string DataBinder_Prop_Not_Found = "DataBinder_Prop_Not_Found";
+       internal const string DataBoundControl_CallingDataMethods = "DataBoundControl_CallingDataMethods";
+       internal const string DataBoundControl_DataMember = "DataBoundControl_DataMember";
+       internal const string DataBoundControl_DataSourceDoesntSupportPaging = "DataBoundControl_DataSourceDoesntSupportPaging";
+       internal const string DataBoundControl_DeleteMethod = "DataBoundControl_DeleteMethod";
+       internal const string DataBoundControl_EnableModelValidation = "DataBoundControl_EnableModelValidation";
+       internal const string DataBoundControl_InsertMethod = "DataBoundControl_InsertMethod";
+       internal const string DataBoundControl_InvalidDataPropertyChange = "DataBoundControl_InvalidDataPropertyChange";
+       internal const string DataBoundControl_InvalidDataSourceType = "DataBoundControl_InvalidDataSourceType";
+       internal const string DataBoundControl_ItemType = "DataBoundControl_ItemType";
+       internal const string DataBoundControl_NeedICollectionOrTotalRowCount = "DataBoundControl_NeedICollectionOrTotalRowCount";
+       internal const string DataBoundControl_NullView = "DataBoundControl_NullView";
+       internal const string DataBoundControl_OnCreatingModelDataSource = "DataBoundControl_OnCreatingModelDataSource";
+       internal const string DataBoundControl_SelectMethod = "DataBoundControl_SelectMethod";
+       internal const string DataBoundControl_UpdateMethod = "DataBoundControl_UpdateMethod";
+       internal const string DataBoundControlHelper_NoNamingContainer = "DataBoundControlHelper_NoNamingContainer";
+       internal const string DataBoundLiterals_cant_bind = "DataBoundLiterals_cant_bind";
+       internal const string DataControl_DataSourceDoesntExist = "DataControl_DataSourceDoesntExist";
+       internal const string DataControl_DataSourceIDMustBeDataControl = "DataControl_DataSourceIDMustBeDataControl";
+       internal const string DataControl_ItemType_MultipleDataSources = "DataControl_ItemType_MultipleDataSources";
+       internal const string DataControl_MultipleDataSources = "DataControl_MultipleDataSources";
+       internal const string DataControl_ViewNotFound = "DataControl_ViewNotFound";
+       internal const string DataControlField_AccessibleHeaderText = "DataControlField_AccessibleHeaderText";
+       internal const string DataControlField_CallbacksNotSupported = "DataControlField_CallbacksNotSupported";
+       internal const string DataControlField_ControlStyle = "DataControlField_ControlStyle";
+       internal const string DataControlField_FooterStyle = "DataControlField_FooterStyle";
+       internal const string DataControlField_FooterText = "DataControlField_FooterText";
+       internal const string DataControlField_HeaderImageUrl = "DataControlField_HeaderImageUrl";
+       internal const string DataControlField_HeaderStyle = "DataControlField_HeaderStyle";
+       internal const string DataControlField_HeaderText = "DataControlField_HeaderText";
+       internal const string DataControlField_InsertVisible = "DataControlField_InsertVisible";
+       internal const string DataControlField_ItemStyle = "DataControlField_ItemStyle";
+       internal const string DataControlField_NoContainer = "DataControlField_NoContainer";
+       internal const string DataControlField_ShowHeader = "DataControlField_ShowHeader";
+       internal const string DataControlField_SortExpression = "DataControlField_SortExpression";
+       internal const string DataControlField_Visible = "DataControlField_Visible";
+       internal const string DataControlFieldCell_ShouldNotSetValidateRequestMode = "DataControlFieldCell_ShouldNotSetValidateRequestMode";
+       internal const string DataControlFieldCollection_InvalidType = "DataControlFieldCollection_InvalidType";
+       internal const string DataControlFieldCollection_InvalidTypeIndex = "DataControlFieldCollection_InvalidTypeIndex";
+       internal const string DataControls_AutoGenerateColumns = "DataControls_AutoGenerateColumns";
+       internal const string DataControls_Caption = "DataControls_Caption";
+       internal const string DataControls_Columns = "DataControls_Columns";
+       internal const string DataControls_DataKeyNames = "DataControls_DataKeyNames";
+       internal const string DataControls_DataSourceMustBeCollectionWhenNotDataBinding = "DataControls_DataSourceMustBeCollectionWhenNotDataBinding";
+       internal const string DataControls_FooterStyle = "DataControls_FooterStyle";
+       internal const string DataControls_GridLines = "DataControls_GridLines";
+       internal const string DataControls_HeaderStyle = "DataControls_HeaderStyle";
+       internal const string DataControls_OnItemCreated = "DataControls_OnItemCreated";
+       internal const string DataControls_OnItemDataBound = "DataControls_OnItemDataBound";
+       internal const string DataControls_OnItemDeleted = "DataControls_OnItemDeleted";
+       internal const string DataControls_OnItemDeleting = "DataControls_OnItemDeleting";
+       internal const string DataControls_OnItemInserted = "DataControls_OnItemInserted";
+       internal const string DataControls_OnItemInserting = "DataControls_OnItemInserting";
+       internal const string DataControls_OnItemUpdated = "DataControls_OnItemUpdated";
+       internal const string DataControls_OnItemUpdating = "DataControls_OnItemUpdating";
+       internal const string DataControls_OnRowDeleted = "DataControls_OnRowDeleted";
+       internal const string DataControls_ShowFooter = "DataControls_ShowFooter";
+       internal const string DataControls_ShowHeader = "DataControls_ShowHeader";
+       internal const string DataGrid_AllowCustomPaging = "DataGrid_AllowCustomPaging";
+       internal const string DataGrid_AllowPaging = "DataGrid_AllowPaging";
+       internal const string DataGrid_AllowSorting = "DataGrid_AllowSorting";
+       internal const string DataGrid_AlternatingItemStyle = "DataGrid_AlternatingItemStyle";
+       internal const string DataGrid_CurrentPageIndex = "DataGrid_CurrentPageIndex";
+       internal const string DataGrid_EditItemIndex = "DataGrid_EditItemIndex";
+       internal const string DataGrid_EditItemStyle = "DataGrid_EditItemStyle";
+       internal const string DataGrid_Items = "DataGrid_Items";
+       internal const string DataGrid_ItemStyle = "DataGrid_ItemStyle";
+       internal const string DataGrid_Missing_VirtualItemCount = "DataGrid_Missing_VirtualItemCount";
+       internal const string DataGrid_NoAutoGenColumns = "DataGrid_NoAutoGenColumns";
+       internal const string DataGrid_OnCancelCommand = "DataGrid_OnCancelCommand";
+       internal const string DataGrid_OnDeleteCommand = "DataGrid_OnDeleteCommand";
+       internal const string DataGrid_OnEditCommand = "DataGrid_OnEditCommand";
+       internal const string DataGrid_OnItemCommand = "DataGrid_OnItemCommand";
+       internal const string DataGrid_OnPageIndexChanged = "DataGrid_OnPageIndexChanged";
+       internal const string DataGrid_OnSortCommand = "DataGrid_OnSortCommand";
+       internal const string DataGrid_OnUpdateCommand = "DataGrid_OnUpdateCommand";
+       internal const string DataGrid_PageCount = "DataGrid_PageCount";
+       internal const string DataGrid_PagerStyle = "DataGrid_PagerStyle";
+       internal const string DataGrid_PageSize = "DataGrid_PageSize";
+       internal const string DataGrid_SelectedItem = "DataGrid_SelectedItem";
+       internal const string DataGrid_SelectedItemStyle = "DataGrid_SelectedItemStyle";
+       internal const string DataGrid_VisibleItemCount = "DataGrid_VisibleItemCount";
+       internal const string DataGridColumn_FooterStyle = "DataGridColumn_FooterStyle";
+       internal const string DataGridColumn_FooterText = "DataGridColumn_FooterText";
+       internal const string DataGridColumn_HeaderImageUrl = "DataGridColumn_HeaderImageUrl";
+       internal const string DataGridColumn_HeaderStyle = "DataGridColumn_HeaderStyle";
+       internal const string DataGridColumn_HeaderText = "DataGridColumn_HeaderText";
+       internal const string DataGridColumn_ItemStyle = "DataGridColumn_ItemStyle";
+       internal const string DataGridColumn_SortExpression = "DataGridColumn_SortExpression";
+       internal const string DataGridColumn_Visible = "DataGridColumn_Visible";
+       internal const string DataGridPagerStyle_Mode = "DataGridPagerStyle_Mode";
+       internal const string DataGridPagerStyle_PageButtonCount = "DataGridPagerStyle_PageButtonCount";
+       internal const string DataGridPagerStyle_Position = "DataGridPagerStyle_Position";
+       internal const string DataGridPagerStyle_Visible = "DataGridPagerStyle_Visible";
+       internal const string DataItem_Not_Found = "DataItem_Not_Found";
+       internal const string DataList_AlternatingItemStyle = "DataList_AlternatingItemStyle";
+       internal const string DataList_AlternatingItemTemplate = "DataList_AlternatingItemTemplate";
+       internal const string DataList_DataKeyFieldMustBeSpecified = "DataList_DataKeyFieldMustBeSpecified";
+       internal const string DataList_EditItemIndex = "DataList_EditItemIndex";
+       internal const string DataList_EditItemStyle = "DataList_EditItemStyle";
+       internal const string DataList_EditItemTemplate = "DataList_EditItemTemplate";
+       internal const string DataList_ExtractTemplateRows = "DataList_ExtractTemplateRows";
+       internal const string DataList_FooterTemplate = "DataList_FooterTemplate";
+       internal const string DataList_HeaderTemplate = "DataList_HeaderTemplate";
+       internal const string DataList_Items = "DataList_Items";
+       internal const string DataList_ItemStyle = "DataList_ItemStyle";
+       internal const string DataList_ItemTemplate = "DataList_ItemTemplate";
+       internal const string DataList_LayoutNotSupported = "DataList_LayoutNotSupported";
+       internal const string DataList_OnCancelCommand = "DataList_OnCancelCommand";
+       internal const string DataList_OnDeleteCommand = "DataList_OnDeleteCommand";
+       internal const string DataList_OnEditCommand = "DataList_OnEditCommand";
+       internal const string DataList_OnItemCommand = "DataList_OnItemCommand";
+       internal const string DataList_OnUpdateCommand = "DataList_OnUpdateCommand";
+       internal const string DataList_RepeatColumns = "DataList_RepeatColumns";
+       internal const string DataList_SelectedItem = "DataList_SelectedItem";
+       internal const string DataList_SelectedItemStyle = "DataList_SelectedItemStyle";
+       internal const string DataList_SelectedItemTemplate = "DataList_SelectedItemTemplate";
+       internal const string DataList_SeparatorStyle = "DataList_SeparatorStyle";
+       internal const string DataList_SeparatorTemplate = "DataList_SeparatorTemplate";
+       internal const string DataList_TemplateTableNotFound = "DataList_TemplateTableNotFound";
+       internal const string DataSource_Deleted = "DataSource_Deleted";
+       internal const string DataSource_Deleting = "DataSource_Deleting";
+       internal const string DataSource_Filtering = "DataSource_Filtering";
+       internal const string DataSource_Inserted = "DataSource_Inserted";
+       internal const string DataSource_Inserting = "DataSource_Inserting";
+       internal const string DataSource_InvalidViewName = "DataSource_InvalidViewName";
+       internal const string DataSource_OldValuesParameterFormatString = "DataSource_OldValuesParameterFormatString";
+       internal const string DataSource_Updated = "DataSource_Updated";
+       internal const string DataSource_Updating = "DataSource_Updating";
+       internal const string DataSourceCache_CacheMustBeEnabled = "DataSourceCache_CacheMustBeEnabled";
+       internal const string DataSourceCache_Duration = "DataSourceCache_Duration";
+       internal const string DataSourceCache_Enabled = "DataSourceCache_Enabled";
+       internal const string DataSourceCache_ExpirationPolicy = "DataSourceCache_ExpirationPolicy";
+       internal const string DataSourceCache_InvalidDuration = "DataSourceCache_InvalidDuration";
+       internal const string DataSourceCache_InvalidExpiryPolicy = "DataSourceCache_InvalidExpiryPolicy";
+       internal const string DataSourceCache_KeyDependency = "DataSourceCache_KeyDependency";
+       internal const string DataSourceView_delete = "DataSourceView_delete";
+       internal const string DataSourceView_NoPaging = "DataSourceView_NoPaging";
+       internal const string DataSourceView_NoRowCount = "DataSourceView_NoRowCount";
+       internal const string DataSourceView_NoSorting = "DataSourceView_NoSorting";
+       internal const string DataSourceView_update = "DataSourceView_update";
+       internal const string DbFileName_can_not_contain_invalid_chars = "DbFileName_can_not_contain_invalid_chars";
+       internal const string Debug_Access_Denied = "Debug_Access_Denied";
+       internal const string Debugging_forbidden = "Debugging_forbidden";
+       internal const string Debugging_not_supported_in_low_trust = "Debugging_not_supported_in_low_trust";
+       internal const string DeclarativeCatalogPart_PartTitle = "DeclarativeCatalogPart_PartTitle";
+       internal const string DeclarativeCatlaogPart_WebPartsListUserControlPath = "DeclarativeCatlaogPart_WebPartsListUserControlPath";
+       internal const string Def_membership_provider_not_found = "Def_membership_provider_not_found";
+       internal const string Def_membership_provider_not_specified = "Def_membership_provider_not_specified";
+       internal const string Def_provider_not_found = "Def_provider_not_found";
+       internal const string Def_role_provider_not_found = "Def_role_provider_not_found";
+       internal const string Def_role_provider_not_specified = "Def_role_provider_not_specified";
+       internal const string DefaultBrowser_parentID_Not_Found = "DefaultBrowser_parentID_Not_Found";
+       internal const string DefaultSiteName = "DefaultSiteName";
+       internal const string DesignTimeTemplateParser_ErrorParsingTheme = "DesignTimeTemplateParser_ErrorParsingTheme";
+       internal const string DetailsView_AllowPaging = "DetailsView_AllowPaging";
+       internal const string DetailsView_AlternatingRowStyle = "DetailsView_AlternatingRowStyle";
+       internal const string DetailsView_AutoGenerateDeleteButton = "DetailsView_AutoGenerateDeleteButton";
+       internal const string DetailsView_AutoGenerateEditButton = "DetailsView_AutoGenerateEditButton";
+       internal const string DetailsView_AutoGenerateInsertButton = "DetailsView_AutoGenerateInsertButton";
+       internal const string DetailsView_AutoGenerateRows = "DetailsView_AutoGenerateRows";
+       internal const string DetailsView_CellPadding = "DetailsView_CellPadding";
+       internal const string DetailsView_CellSpacing = "DetailsView_CellSpacing";
+       internal const string DetailsView_CommandRowStyle = "DetailsView_CommandRowStyle";
+       internal const string DetailsView_DataKey = "DetailsView_DataKey";
+       internal const string DetailsView_DataSourceMustBeCollection = "DetailsView_DataSourceMustBeCollection";
+       internal const string DetailsView_EnablePagingCallbacks = "DetailsView_EnablePagingCallbacks";
+       internal const string DetailsView_FieldHeaderStyle = "DetailsView_FieldHeaderStyle";
+       internal const string DetailsView_Fields = "DetailsView_Fields";
+       internal const string DetailsView_FooterStyle = "DetailsView_FooterStyle";
+       internal const string DetailsView_FooterTemplate = "DetailsView_FooterTemplate";
+       internal const string DetailsView_MustBeParented = "DetailsView_MustBeParented";
+       internal const string DetailsView_NoAutoGenFields = "DetailsView_NoAutoGenFields";
+       internal const string DetailsView_OnItemCommand = "DetailsView_OnItemCommand";
+       internal const string DetailsView_OnItemCreated = "DetailsView_OnItemCreated";
+       internal const string DetailsView_OnModeChanged = "DetailsView_OnModeChanged";
+       internal const string DetailsView_OnModeChanging = "DetailsView_OnModeChanging";
+       internal const string DetailsView_OnPageIndexChanged = "DetailsView_OnPageIndexChanged";
+       internal const string DetailsView_OnPageIndexChanging = "DetailsView_OnPageIndexChanging";
+       internal const string DetailsView_PageIndex = "DetailsView_PageIndex";
+       internal const string DetailsView_PagerSettings = "DetailsView_PagerSettings";
+       internal const string DetailsView_Rows = "DetailsView_Rows";
+       internal const string DetailsView_UnhandledEvent = "DetailsView_UnhandledEvent";
+       internal const string DetailsViewFormView_ControlMustBeInEditMode = "DetailsViewFormView_ControlMustBeInEditMode";
+       internal const string DetailsViewFormView_ControlMustBeInInsertMode = "DetailsViewFormView_ControlMustBeInInsertMode";
+       internal const string Device_unsupported_in_directive = "Device_unsupported_in_directive";
+       internal const string Dir_not_empty = "Dir_not_empty";
+       internal const string Dir_not_empty_not_precomp = "Dir_not_empty_not_precomp";
+       internal const string Directive_not_allowed = "Directive_not_allowed";
+       internal const string Directory_does_not_exist_for_monitoring = "Directory_does_not_exist_for_monitoring";
+       internal const string Directory_progress = "Directory_progress";
+       internal const string Directory_rename_notification = "Directory_rename_notification";
+       internal const string Downlevel_requires_35 = "Downlevel_requires_35";
+       internal const string Dup_protocol_id = "Dup_protocol_id";
+       internal const string Duplicate_appinitialize = "Duplicate_appinitialize";
+       internal const string Duplicate_attr_in_directive = "Duplicate_attr_in_directive";
+       internal const string Duplicate_attr_in_tag = "Duplicate_attr_in_tag";
+       internal const string Duplicate_browser_id = "Duplicate_browser_id";
+       internal const string Duplicate_id_used = "Duplicate_id_used";
+       internal const string Duplicate_registered_tag = "Duplicate_registered_tag";
+       internal const string Duplicate_Resource_File = "Duplicate_Resource_File";
+       internal const string DynamicModuleRegistrationOff = "DynamicModuleRegistrationOff";
+       internal const string DynamicModuleRegistry_ModulesAlreadyInitialized = "DynamicModuleRegistry_ModulesAlreadyInitialized";
+       internal const string DynamicModuleRegistry_TypeIsNotIHttpModule = "DynamicModuleRegistry_TypeIsNotIHttpModule";
+       internal const string EditorPart_ErrorBadUrl = "EditorPart_ErrorBadUrl";
+       internal const string EditorPart_ErrorConvertingProperty = "EditorPart_ErrorConvertingProperty";
+       internal const string EditorPart_ErrorConvertingPropertyWithType = "EditorPart_ErrorConvertingPropertyWithType";
+       internal const string EditorPart_ErrorSettingProperty = "EditorPart_ErrorSettingProperty";
+       internal const string EditorPart_ErrorSettingPropertyWithExceptionMessage = "EditorPart_ErrorSettingPropertyWithExceptionMessage";
+       internal const string EditorPart_MustBeInZone = "EditorPart_MustBeInZone";
+       internal const string EditorPart_PropertyMaxValue = "EditorPart_PropertyMaxValue";
+       internal const string EditorPart_PropertyMinValue = "EditorPart_PropertyMinValue";
+       internal const string EditorPart_PropertyMustBeDecimal = "EditorPart_PropertyMustBeDecimal";
+       internal const string EditorPart_PropertyMustBeInteger = "EditorPart_PropertyMustBeInteger";
+       internal const string EditorZone_OnlyEditorParts = "EditorZone_OnlyEditorParts";
+       internal const string EditorZoneBase_ApplyVerb = "EditorZoneBase_ApplyVerb";
+       internal const string EditorZoneBase_CancelVerb = "EditorZoneBase_CancelVerb";
+       internal const string EditorZoneBase_DefaultEmptyZoneText = "EditorZoneBase_DefaultEmptyZoneText";
+       internal const string EditorZoneBase_DefaultErrorText = "EditorZoneBase_DefaultErrorText";
+       internal const string EditorZoneBase_DefaultHeaderText = "EditorZoneBase_DefaultHeaderText";
+       internal const string EditorZoneBase_DefaultInstructionText = "EditorZoneBase_DefaultInstructionText";
+       internal const string EditorZoneBase_ErrorText = "EditorZoneBase_ErrorText";
+       internal const string EditorZoneBase_NoEditorPartID = "EditorZoneBase_NoEditorPartID";
+       internal const string EditorZoneBase_OKVerb = "EditorZoneBase_OKVerb";
+       internal const string EmbeddedMailObject_Name = "EmbeddedMailObject_Name";
+       internal const string EmbeddedMailObject_Path = "EmbeddedMailObject_Path";
+       internal const string Empty_attribute = "Empty_attribute";
+       internal const string Empty_expression = "Empty_expression";
+       internal const string Empty_extension = "Empty_extension";
+       internal const string Empty_file_name = "Empty_file_name";
+       internal const string Empty_path_has_no_directory = "Empty_path_has_no_directory";
+       internal const string Enablesessionstate_must_be_true_false_or_readonly = "Enablesessionstate_must_be_true_false_or_readonly";
+       internal const string EnumAttributeInvalidString = "EnumAttributeInvalidString";
+       internal const string Enumerator_MoveNext_Not_Called = "Enumerator_MoveNext_Not_Called";
+       internal const string Error_Attaching_with_MDM = "Error_Attaching_with_MDM";
+       internal const string Error_executing_child_request_for_handler = "Error_executing_child_request_for_handler";
+       internal const string Error_executing_child_request_for_path = "Error_executing_child_request_for_path";
+       internal const string Error_Formatter_ASPNET_Build = "Error_Formatter_ASPNET_Build";
+       internal const string Error_Formatter_ASPNET_Error = "Error_Formatter_ASPNET_Error";
+       internal const string Error_Formatter_CLR_Build = "Error_Formatter_CLR_Build";
+       internal const string Error_Formatter_Description = "Error_Formatter_Description";
+       internal const string Error_Formatter_FusionLog = "Error_Formatter_FusionLog";
+       internal const string Error_Formatter_FusionLogDesc = "Error_Formatter_FusionLogDesc";
+       internal const string Error_Formatter_Line = "Error_Formatter_Line";
+       internal const string Error_Formatter_No_Source_File = "Error_Formatter_No_Source_File";
+       internal const string Error_Formatter_Source_File = "Error_Formatter_Source_File";
+       internal const string Error_Formatter_Version = "Error_Formatter_Version";
+       internal const string Error_loading_XML_file = "Error_loading_XML_file";
+       internal const string Error_onpagestart = "Error_onpagestart";
+       internal const string Error_page_not_supported_when_buffering_off = "Error_page_not_supported_when_buffering_off";
+       internal const string Error_parsing_session_sqlConnectionString = "Error_parsing_session_sqlConnectionString";
+       internal const string Error_parsing_sql_partition_resolver_string = "Error_parsing_sql_partition_resolver_string";
+       internal const string Error_parsing_state_server_partition_resolver_string = "Error_parsing_state_server_partition_resolver_string";
+       internal const string Error_trying_to_enumerate_files = "Error_trying_to_enumerate_files";
+       internal const string ErrorSerializingValue = "ErrorSerializingValue";
+       internal const string ErrorWebPart_ErrorText = "ErrorWebPart_ErrorText";
+       internal const string Etag_already_set = "Etag_already_set";
+       internal const string Etw_Batch_Compilation = "Etw_Batch_Compilation";
+       internal const string Etw_Failure = "Etw_Failure";
+       internal const string Etw_Success = "Etw_Success";
+       internal const string Event_Binding_Disallowed = "Event_Binding_Disallowed";
+       internal const string Event_handler_cant_be_empty = "Event_handler_cant_be_empty";
+       internal const string Event_log_provider_error = "Event_log_provider_error";
+       internal const string Event_name_invalid_code_range = "Event_name_invalid_code_range";
+       internal const string Event_name_not_found = "Event_name_not_found";
+       internal const string Event_not_allowed = "Event_not_allowed";
+       internal const string Events_cant_be_filtered = "Events_cant_be_filtered";
+       internal const string ExecuteUrl_not_supported = "ExecuteUrl_not_supported";
+       internal const string ExpressionBuilder_InvalidType = "ExpressionBuilder_InvalidType";
+       internal const string ExpressionBuilder_LiteralExpressionsNotAllowed = "ExpressionBuilder_LiteralExpressionsNotAllowed";
+       internal const string FactoryGenerator_TypeHasNoParameterlessConstructor = "FactoryGenerator_TypeHasNoParameterlessConstructor";
+       internal const string FactoryGenerator_TypeNotPublic = "FactoryGenerator_TypeNotPublic";
+       internal const string FactoryInterface = "FactoryInterface";
+       internal const string Failed_gac_install = "Failed_gac_install";
+       internal const string Failed_gac_uninstall = "Failed_gac_uninstall";
+       internal const string Failed_Pipeline_Subscription = "Failed_Pipeline_Subscription";
+       internal const string Failed_to_create_temp_dir = "Failed_to_create_temp_dir";
+       internal const string Failed_to_execute_child_request = "Failed_to_execute_child_request";
+       internal const string Failed_to_execute_url = "Failed_to_execute_url";
+       internal const string Failed_to_initialize_AppDomain = "Failed_to_initialize_AppDomain";
+       internal const string Failed_to_start_monitoring = "Failed_to_start_monitoring";
+       internal const string Failure_AppDomain_Enum = "Failure_AppDomain_Enum";
+       internal const string Failure_ApplicationPreloadUtil_Already_Set = "Failure_ApplicationPreloadUtil_Already_Set";
+       internal const string Failure_Calling_Preload_Provider = "Failure_Calling_Preload_Provider";
+       internal const string Failure_Create_Application_Preload_Provider_Type = "Failure_Create_Application_Preload_Provider_Type";
+       internal const string Failure_Create_Listener_Shim = "Failure_Create_Listener_Shim";
+       internal const string Failure_PMH_Idle = "Failure_PMH_Idle";
+       internal const string Failure_PMH_Ping = "Failure_PMH_Ping";
+       internal const string Failure_Preload_Application_Initialization = "Failure_Preload_Application_Initialization";
+       internal const string Failure_Shutdown_ProcessHost = "Failure_Shutdown_ProcessHost";
+       internal const string Failure_Start_AppDomain_Listener = "Failure_Start_AppDomain_Listener";
+       internal const string Failure_Start_Integrated_App = "Failure_Start_Integrated_App";
+       internal const string Failure_Stop_AppDomain_Listener = "Failure_Stop_AppDomain_Listener";
+       internal const string Failure_Stop_AppDomain_Protocol = "Failure_Stop_AppDomain_Protocol";
+       internal const string Failure_Stop_Integrated_App = "Failure_Stop_Integrated_App";
+       internal const string Failure_Stop_Listener_Channel = "Failure_Stop_Listener_Channel";
+       internal const string Failure_Stop_Process_Prot = "Failure_Stop_Process_Prot";
+       internal const string Feature_not_supported_at_this_level = "Feature_not_supported_at_this_level";
+       internal const string Field_Not_Found = "Field_Not_Found";
+       internal const string File_changed_since_read = "File_changed_since_read";
+       internal const string File_Circular_Reference = "File_Circular_Reference";
+       internal const string File_does_not_exist = "File_does_not_exist";
+       internal const string File_element_only_valid_in_config = "File_element_only_valid_in_config";
+       internal const string File_enumerator_access_denied = "File_enumerator_access_denied";
+       internal const string File_is_hidden = "File_is_hidden";
+       internal const string File_is_read_only = "File_is_read_only";
+       internal const string FileName_does_not_exist = "FileName_does_not_exist";
+       internal const string FileUpload_AllowMultiple = "FileUpload_AllowMultiple";
+       internal const string FileUpload_StreamLengthNotReached = "FileUpload_StreamLengthNotReached";
+       internal const string FileUpload_StreamNotSeekable = "FileUpload_StreamNotSeekable";
+       internal const string FileUpload_StreamTooLong = "FileUpload_StreamTooLong";
+       internal const string FilteredAttributeDictionary_ArgumentMustBeString = "FilteredAttributeDictionary_ArgumentMustBeString";
+       internal const string FilteredDataSetHelper_DataSetHasNoTables = "FilteredDataSetHelper_DataSetHasNoTables";
+       internal const string Filtering_not_allowed = "Filtering_not_allowed";
+       internal const string FontInfo_Bold = "FontInfo_Bold";
+       internal const string FontInfo_Italic = "FontInfo_Italic";
+       internal const string FontInfo_Name = "FontInfo_Name";
+       internal const string FontInfo_Names = "FontInfo_Names";
+       internal const string FontInfo_Overline = "FontInfo_Overline";
+       internal const string FontInfo_Size = "FontInfo_Size";
+       internal const string FontInfo_Strikeout = "FontInfo_Strikeout";
+       internal const string FontInfo_Underline = "FontInfo_Underline";
+       internal const string Forbidden_Extension_Desc = "Forbidden_Extension_Desc";
+       internal const string Forbidden_Extension_Incorrect = "Forbidden_Extension_Incorrect";
+       internal const string Forbidden_Type_Not_Served = "Forbidden_Type_Not_Served";
+       internal const string Form_Needs_Page = "Form_Needs_Page";
+       internal const string Form_Required_For_Focus = "Form_Required_For_Focus";
+       internal const string FormParameter_FormField = "FormParameter_FormField";
+       internal const string FormView_AllowPaging = "FormView_AllowPaging";
+       internal const string FormView_CellPadding = "FormView_CellPadding";
+       internal const string FormView_CellSpacing = "FormView_CellSpacing";
+       internal const string FormView_DataKey = "FormView_DataKey";
+       internal const string FormView_DataSourceMustBeCollection = "FormView_DataSourceMustBeCollection";
+       internal const string FormView_EditItemTemplate = "FormView_EditItemTemplate";
+       internal const string FormView_FooterStyle = "FormView_FooterStyle";
+       internal const string FormView_FooterTemplate = "FormView_FooterTemplate";
+       internal const string FormView_InsertItemTemplate = "FormView_InsertItemTemplate";
+       internal const string FormView_OnItemCommand = "FormView_OnItemCommand";
+       internal const string FormView_OnItemCreated = "FormView_OnItemCreated";
+       internal const string FormView_OnModeChanged = "FormView_OnModeChanged";
+       internal const string FormView_OnModeChanging = "FormView_OnModeChanging";
+       internal const string FormView_OnPageIndexChanged = "FormView_OnPageIndexChanged";
+       internal const string FormView_OnPageIndexChanging = "FormView_OnPageIndexChanging";
+       internal const string FormView_PageIndex = "FormView_PageIndex";
+       internal const string FormView_RenderOuterTable = "FormView_RenderOuterTable";
+       internal const string FormView_Rows = "FormView_Rows";
+       internal const string FormView_UnhandledEvent = "FormView_UnhandledEvent";
+       internal const string Generic_Err_Details_Title = "Generic_Err_Details_Title";
+       internal const string Generic_Err_Local_Desc = "Generic_Err_Local_Desc";
+       internal const string Generic_Err_Local_Details_Desc = "Generic_Err_Local_Details_Desc";
+       internal const string Generic_Err_Local_Details_Sample = "Generic_Err_Local_Details_Sample";
+       internal const string Generic_Err_Local_Notes_Sample = "Generic_Err_Local_Notes_Sample";
+       internal const string Generic_Err_Notes_Desc = "Generic_Err_Notes_Desc";
+       internal const string Generic_Err_Notes_Title = "Generic_Err_Notes_Title";
+       internal const string Generic_Err_Remote_Desc = "Generic_Err_Remote_Desc";
+       internal const string Generic_Err_Remote_Details_Desc = "Generic_Err_Remote_Details_Desc";
+       internal const string Generic_Err_Remote_Details_Sample = "Generic_Err_Remote_Details_Sample";
+       internal const string Generic_Err_Remote_Notes_Sample = "Generic_Err_Remote_Notes_Sample";
+       internal const string Generic_Err_Title = "Generic_Err_Title";
+       internal const string GenericModelBinderProvider_ParameterMustSpecifyOpenGenericType = "GenericModelBinderProvider_ParameterMustSpecifyOpenGenericType";
+       internal const string GenericModelBinderProvider_TypeArgumentCountMismatch = "GenericModelBinderProvider_TypeArgumentCountMismatch";
+       internal const string GenericWebPart_CannotModify = "GenericWebPart_CannotModify";
+       internal const string GenericWebPart_CannotWrapOutputCachedControl = "GenericWebPart_CannotWrapOutputCachedControl";
+       internal const string GenericWebPart_CannotWrapWebPart = "GenericWebPart_CannotWrapWebPart";
+       internal const string GenericWebPart_ChildControlIsNull = "GenericWebPart_ChildControlIsNull";
+       internal const string GenericWebPart_NoID = "GenericWebPart_NoID";
+       internal const string Get_computer_name_failed = "Get_computer_name_failed";
+       internal const string GetGacLocaltion_failed = "GetGacLocaltion_failed";
+       internal const string GetGeneratedSourceFile_Directory_Only = "GetGeneratedSourceFile_Directory_Only";
+       internal const string GetOutputCacheProviderName_Invalid = "GetOutputCacheProviderName_Invalid";
+       internal const string GridView_AllowCustomPaging = "GridView_AllowCustomPaging";
+       internal const string GridView_AllowPaging = "GridView_AllowPaging";
+       internal const string GridView_AllowSorting = "GridView_AllowSorting";
+       internal const string GridView_AlternatingRowStyle = "GridView_AlternatingRowStyle";
+       internal const string GridView_AutoGenerateDeleteButton = "GridView_AutoGenerateDeleteButton";
+       internal const string GridView_AutoGenerateEditButton = "GridView_AutoGenerateEditButton";
+       internal const string GridView_AutoGenerateSelectButton = "GridView_AutoGenerateSelectButton";
+       internal const string GridView_CellPadding = "GridView_CellPadding";
+       internal const string GridView_CellSpacing = "GridView_CellSpacing";
+       internal const string GridView_DataKeyNamesMustBeSpecified = "GridView_DataKeyNamesMustBeSpecified";
+       internal const string GridView_DataKeys = "GridView_DataKeys";
+       internal const string GridView_DataSourceReturnedNullView = "GridView_DataSourceReturnedNullView";
+       internal const string GridView_EditIndex = "GridView_EditIndex";
+       internal const string GridView_EditRowStyle = "GridView_EditRowStyle";
+       internal const string GridView_EmptyDataRowStyle = "GridView_EmptyDataRowStyle";
+       internal const string GridView_EnablePersistedSelection = "GridView_EnablePersistedSelection";
+       internal const string GridView_EnableSortingAndPagingCallbacks = "GridView_EnableSortingAndPagingCallbacks";
+       internal const string GridView_Missing_VirtualItemCount = "GridView_Missing_VirtualItemCount";
+       internal const string GridView_MustBeParented = "GridView_MustBeParented";
+       internal const string GridView_NoAutoGenFields = "GridView_NoAutoGenFields";
+       internal const string GridView_OnPageIndexChanged = "GridView_OnPageIndexChanged";
+       internal const string GridView_OnPageIndexChanging = "GridView_OnPageIndexChanging";
+       internal const string GridView_OnRowCancelingEdit = "GridView_OnRowCancelingEdit";
+       internal const string GridView_OnRowCommand = "GridView_OnRowCommand";
+       internal const string GridView_OnRowCreated = "GridView_OnRowCreated";
+       internal const string GridView_OnRowDataBound = "GridView_OnRowDataBound";
+       internal const string GridView_OnRowEditing = "GridView_OnRowEditing";
+       internal const string GridView_OnSelectedIndexChanged = "GridView_OnSelectedIndexChanged";
+       internal const string GridView_OnSelectedIndexChanging = "GridView_OnSelectedIndexChanging";
+       internal const string GridView_OnSorted = "GridView_OnSorted";
+       internal const string GridView_OnSorting = "GridView_OnSorting";
+       internal const string GridView_PageCount = "GridView_PageCount";
+       internal const string GridView_PageIndex = "GridView_PageIndex";
+       internal const string GridView_PagerSettings = "GridView_PagerSettings";
+       internal const string GridView_PageSize = "GridView_PageSize";
+       internal const string GridView_PersistedSelectionRequiresDataKeysNames = "GridView_PersistedSelectionRequiresDataKeysNames";
+       internal const string GridView_RowHeaderColumn = "GridView_RowHeaderColumn";
+       internal const string GridView_Rows = "GridView_Rows";
+       internal const string GridView_SelectedIndex = "GridView_SelectedIndex";
+       internal const string GridView_SelectedRow = "GridView_SelectedRow";
+       internal const string GridView_SelectedRowStyle = "GridView_SelectedRowStyle";
+       internal const string GridView_ShowHeaderWhenEmpty = "GridView_ShowHeaderWhenEmpty";
+       internal const string GridView_SortDirection = "GridView_SortDirection";
+       internal const string GridView_SortedAscendingCellStyle = "GridView_SortedAscendingCellStyle";
+       internal const string GridView_SortedAscendingHeaderStyle = "GridView_SortedAscendingHeaderStyle";
+       internal const string GridView_SortedDescendingCellStyle = "GridView_SortedDescendingCellStyle";
+       internal const string GridView_SortedDescendingHeaderStyle = "GridView_SortedDescendingHeaderStyle";
+       internal const string GridView_SortExpression = "GridView_SortExpression";
+       internal const string GridView_UnhandledEvent = "GridView_UnhandledEvent";
+       internal const string GridView_VirtualItemCount = "GridView_VirtualItemCount";
+       internal const string Handler_access_denied = "Handler_access_denied";
+       internal const string Head_Needs_Page = "Head_Needs_Page";
+       internal const string Health_mon_buffer_mode_not_found = "Health_mon_buffer_mode_not_found";
+       internal const string Health_mon_profile_not_found = "Health_mon_profile_not_found";
+       internal const string Health_mon_provider_not_found = "Health_mon_provider_not_found";
+       internal const string HiddenField_OnValueChanged = "HiddenField_OnValueChanged";
+       internal const string HiddenField_Value = "HiddenField_Value";
+       internal const string HierarchicalDataBoundControl_InvalidDataSource = "HierarchicalDataBoundControl_InvalidDataSource";
+       internal const string HierarchicalDataControl_DataSourceDoesntExist = "HierarchicalDataControl_DataSourceDoesntExist";
+       internal const string HierarchicalDataControl_DataSourceIDMustBeHierarchicalDataControl = "HierarchicalDataControl_DataSourceIDMustBeHierarchicalDataControl";
+       internal const string HierarchicalDataControl_ViewNotFound = "HierarchicalDataControl_ViewNotFound";
+       internal const string Higher_dependencies = "Higher_dependencies";
+       internal const string Hosting_Env_IdleTimeout = "Hosting_Env_IdleTimeout";
+       internal const string Hosting_Env_Restart = "Hosting_Env_Restart";
+       internal const string Hosting_Phys_Path_Changed = "Hosting_Phys_Path_Changed";
+       internal const string HotSpot_AccessKey = "HotSpot_AccessKey";
+       internal const string HotSpot_AlternateText = "HotSpot_AlternateText";
+       internal const string HotSpot_HotSpotMode = "HotSpot_HotSpotMode";
+       internal const string HotSpot_NavigateUrl = "HotSpot_NavigateUrl";
+       internal const string HotSpot_PostBackValue = "HotSpot_PostBackValue";
+       internal const string HotSpot_TabIndex = "HotSpot_TabIndex";
+       internal const string HotSpot_Target = "HotSpot_Target";
+       internal const string HotSpotCollection_InvalidType = "HotSpotCollection_InvalidType";
+       internal const string HotSpotCollection_InvalidTypeIndex = "HotSpotCollection_InvalidTypeIndex";
+       internal const string HtmlControl_OnServerClick = "HtmlControl_OnServerClick";
+       internal const string HtmlForm_OnlyIButtonControlCanBeDefaultButton = "HtmlForm_OnlyIButtonControlCanBeDefaultButton";
+       internal const string HtmlHead_OnlyOneHeadAllowed = "HtmlHead_OnlyOneHeadAllowed";
+       internal const string HtmlHead_OnlyOneTitleAllowed = "HtmlHead_OnlyOneTitleAllowed";
+       internal const string HtmlHead_StyleAlreadyRegistered = "HtmlHead_StyleAlreadyRegistered";
+       internal const string HtmlInputHidden_OnServerChange = "HtmlInputHidden_OnServerChange";
+       internal const string HtmlInputImage_OnServerClick = "HtmlInputImage_OnServerClick";
+       internal const string HtmlInputText_ServerChange = "HtmlInputText_ServerChange";
+       internal const string HtmlSelect_Cant_Multiselect_In_Single_Mode = "HtmlSelect_Cant_Multiselect_In_Single_Mode";
+       internal const string HtmlSelect_DataMember = "HtmlSelect_DataMember";
+       internal const string HtmlSelect_DataTextField = "HtmlSelect_DataTextField";
+       internal const string HtmlSelect_DataValueField = "HtmlSelect_DataValueField";
+       internal const string HtmlSelect_OnServerChange = "HtmlSelect_OnServerChange";
+       internal const string HtmlTextArea_OnServerChange = "HtmlTextArea_OnServerChange";
+       internal const string HTMLTextWriterUnbalancedPop = "HTMLTextWriterUnbalancedPop";
+       internal const string Http_handler_not_found_for_request_type = "Http_handler_not_found_for_request_type";
+       internal const string HttpBufferlessInputStream_ClientDisconnected = "HttpBufferlessInputStream_ClientDisconnected";
+       internal const string HttpMethodConstraint_ParameterValueMustBeString = "HttpMethodConstraint_ParameterValueMustBeString";
+       internal const string HttpRuntimeSection_TargetFramework_Invalid = "HttpRuntimeSection_TargetFramework_Invalid";
+       internal const string HttpTaskAsyncHandler_CannotExecuteSynchronously = "HttpTaskAsyncHandler_CannotExecuteSynchronously";
+       internal const string HyperLink_ImageHeight = "HyperLink_ImageHeight";
+       internal const string HyperLink_ImageUrl = "HyperLink_ImageUrl";
+       internal const string HyperLink_ImageWidth = "HyperLink_ImageWidth";
+       internal const string HyperLink_NavigateUrl = "HyperLink_NavigateUrl";
+       internal const string HyperLink_Target = "HyperLink_Target";
+       internal const string HyperLink_Text = "HyperLink_Text";
+       internal const string HyperLinkColumn_DataNavigateUrlField = "HyperLinkColumn_DataNavigateUrlField";
+       internal const string HyperLinkColumn_DataTextField = "HyperLinkColumn_DataTextField";
+       internal const string HyperLinkColumn_NavigateUrl = "HyperLinkColumn_NavigateUrl";
+       internal const string HyperLinkColumn_Text = "HyperLinkColumn_Text";
+       internal const string HyperLinkField_DataNavigateUrlFields = "HyperLinkField_DataNavigateUrlFields";
+       internal const string HyperLinkField_DataNavigateUrlFormatString = "HyperLinkField_DataNavigateUrlFormatString";
+       internal const string HyperLinkField_DataTextField = "HyperLinkField_DataTextField";
+       internal const string HyperLinkField_DataTextFormatString = "HyperLinkField_DataTextFormatString";
+       internal const string HyperLinkField_NavigateUrl = "HyperLinkField_NavigateUrl";
+       internal const string HyperLinkField_Text = "HyperLinkField_Text";
+       internal const string Id_already_used = "Id_already_used";
+       internal const string Illegal_Device = "Illegal_Device";
+       internal const string Illegal_Resource_Builder = "Illegal_Resource_Builder";
+       internal const string Illegal_special_dir = "Illegal_special_dir";
+       internal const string Image_AlternateText = "Image_AlternateText";
+       internal const string Image_DescriptionUrl = "Image_DescriptionUrl";
+       internal const string Image_GenerateEmptyAlternateText = "Image_GenerateEmptyAlternateText";
+       internal const string Image_ImageAlign = "Image_ImageAlign";
+       internal const string Image_ImageUrl = "Image_ImageUrl";
+       internal const string ImageButton_OnClick = "ImageButton_OnClick";
+       internal const string ImageButton_OnCommand = "ImageButton_OnCommand";
+       internal const string ImageField_AlternateText = "ImageField_AlternateText";
+       internal const string ImageField_ConvertEmptyStringToNull = "ImageField_ConvertEmptyStringToNull";
+       internal const string ImageField_DataAlternateTextField = "ImageField_DataAlternateTextField";
+       internal const string ImageField_DataAlternateTextFormatString = "ImageField_DataAlternateTextFormatString";
+       internal const string ImageField_ImageUrlField = "ImageField_ImageUrlField";
+       internal const string ImageField_ImageUrlFormatString = "ImageField_ImageUrlFormatString";
+       internal const string ImageField_NullImageUrl = "ImageField_NullImageUrl";
+       internal const string ImageField_ReadOnly = "ImageField_ReadOnly";
+       internal const string ImageField_WrongControlType = "ImageField_WrongControlType";
+       internal const string ImageMap_Click = "ImageMap_Click";
+       internal const string ImageMap_HotSpots = "ImageMap_HotSpots";
+       internal const string ImportCatalogPart_Browse = "ImportCatalogPart_Browse";
+       internal const string ImportCatalogPart_BrowseHelpText = "ImportCatalogPart_BrowseHelpText";
+       internal const string ImportCatalogPart_ImportedPartErrorLabel = "ImportCatalogPart_ImportedPartErrorLabel";
+       internal const string ImportCatalogPart_ImportedPartLabel = "ImportCatalogPart_ImportedPartLabel";
+       internal const string ImportCatalogPart_ImportedPartLabelText = "ImportCatalogPart_ImportedPartLabelText";
+       internal const string ImportCatalogPart_NoFileName = "ImportCatalogPart_NoFileName";
+       internal const string ImportCatalogPart_PartImportErrorLabelText = "ImportCatalogPart_PartImportErrorLabelText";
+       internal const string ImportCatalogPart_PartTitle = "ImportCatalogPart_PartTitle";
+       internal const string ImportCatalogPart_Upload = "ImportCatalogPart_Upload";
+       internal const string ImportCatalogPart_UploadButton = "ImportCatalogPart_UploadButton";
+       internal const string ImportCatalogPart_UploadButtonText = "ImportCatalogPart_UploadButtonText";
+       internal const string ImportCatalogPart_UploadHelpText = "ImportCatalogPart_UploadHelpText";
+       internal const string Include_not_allowed = "Include_not_allowed";
+       internal const string Include_not_allowed_in_server_script_tag = "Include_not_allowed_in_server_script_tag";
+       internal const string Incompatible_with_get_buffered_input_stream = "Incompatible_with_get_buffered_input_stream";
+       internal const string Incompatible_with_get_bufferless_input_stream = "Incompatible_with_get_bufferless_input_stream";
+       internal const string Incompatible_with_input_stream = "Incompatible_with_input_stream";
+       internal const string Inconsistent_CodeFile_Language = "Inconsistent_CodeFile_Language";
+       internal const string Inconsistent_language = "Inconsistent_language";
+       internal const string Information_Disclosure_Warning = "Information_Disclosure_Warning";
+       internal const string Inner_Content_not_literal = "Inner_Content_not_literal";
+       internal const string InnerHtml_not_supported = "InnerHtml_not_supported";
+       internal const string InnerText_not_supported = "InnerText_not_supported";
+       internal const string Insufficient_trust_for_attribute = "Insufficient_trust_for_attribute";
+       internal const string Invalid_app_file_content = "Invalid_app_file_content";
+       internal const string Invalid_app_VirtualPath = "Invalid_app_VirtualPath";
+       internal const string Invalid_AppDomain_Prot_Type = "Invalid_AppDomain_Prot_Type";
+       internal const string Invalid_Application_Preload_Provider_Type = "Invalid_Application_Preload_Provider_Type";
+       internal const string Invalid_attr = "Invalid_attr";
+       internal const string Invalid_attribute_value = "Invalid_attribute_value";
+       internal const string Invalid_attribute1_must_less_than_attribute2 = "Invalid_attribute1_must_less_than_attribute2";
+       internal const string Invalid_attribute1_must_less_than_or_equal_attribute2 = "Invalid_attribute1_must_less_than_or_equal_attribute2";
+       internal const string Invalid_before_authentication = "Invalid_before_authentication";
+       internal const string Invalid_boolean_attribute = "Invalid_boolean_attribute";
+       internal const string Invalid_browser_root = "Invalid_browser_root";
+       internal const string Invalid_cache_based_session_timeout = "Invalid_cache_based_session_timeout";
+       internal const string Invalid_cache_settings_location = "Invalid_cache_settings_location";
+       internal const string Invalid_client_target = "Invalid_client_target";
+       internal const string Invalid_clsid = "Invalid_clsid";
+       internal const string Invalid_CodeSubDirectory = "Invalid_CodeSubDirectory";
+       internal const string Invalid_CodeSubDirectory_Not_Exist = "Invalid_CodeSubDirectory_Not_Exist";
+       internal const string Invalid_collection_item_type = "Invalid_collection_item_type";
+       internal const string Invalid_ControlState = "Invalid_ControlState";
+       internal const string Invalid_credentials = "Invalid_credentials";
+       internal const string Invalid_credentials_2 = "Invalid_credentials_2";
+       internal const string Invalid_culture_attribute = "Invalid_culture_attribute";
+       internal const string Invalid_CurrentPageIndex = "Invalid_CurrentPageIndex";
+       internal const string Invalid_DataSource_Type = "Invalid_DataSource_Type";
+       internal const string Invalid_Debug_ID = "Invalid_Debug_ID";
+       internal const string Invalid_Debug_Request = "Invalid_Debug_Request";
+       internal const string Invalid_decryption_key = "Invalid_decryption_key";
+       internal const string Invalid_Dependency_Type = "Invalid_Dependency_Type";
+       internal const string Invalid_Enabled_Preload_Parameter = "Invalid_Enabled_Preload_Parameter";
+       internal const string Invalid_enum_attribute = "Invalid_enum_attribute";
+       internal const string Invalid_enum_value = "Invalid_enum_value";
+       internal const string Invalid_eventCode_error = "Invalid_eventCode_error";
+       internal const string Invalid_eventDetailCode_error = "Invalid_eventDetailCode_error";
+       internal const string Invalid_expiration_combination = "Invalid_expiration_combination";
+       internal const string Invalid_file_name_for_monitoring = "Invalid_file_name_for_monitoring";
+       internal const string Invalid_hash_algorithm_type = "Invalid_hash_algorithm_type";
+       internal const string Invalid_header_encoding = "Invalid_header_encoding";
+       internal const string Invalid_higher_target_version = "Invalid_higher_target_version";
+       internal const string Invalid_HtmlTextWriter = "Invalid_HtmlTextWriter";
+       internal const string Invalid_http_data_chunk = "Invalid_http_data_chunk";
+       internal const string Invalid_identifier = "Invalid_identifier";
+       internal const string Invalid_IIS_app = "Invalid_IIS_app";
+       internal const string Invalid_integer_attribute = "Invalid_integer_attribute";
+       internal const string Invalid_lang = "Invalid_lang";
+       internal const string Invalid_lang_extension = "Invalid_lang_extension";
+       internal const string Invalid_lower_target_version = "Invalid_lower_target_version";
+       internal const string Invalid_mail_template_provider_attribute = "Invalid_mail_template_provider_attribute";
+       internal const string Invalid_master_base = "Invalid_master_base";
+       internal const string Invalid_max_event_details_length = "Invalid_max_event_details_length";
+       internal const string Invalid_non_zero_hexadecimal_attribute = "Invalid_non_zero_hexadecimal_attribute";
+       internal const string Invalid_nonnegative_integer_attribute = "Invalid_nonnegative_integer_attribute";
+       internal const string Invalid_operation_cache_dependency = "Invalid_operation_cache_dependency";
+       internal const string Invalid_operation_with_get_buffered_input_stream = "Invalid_operation_with_get_buffered_input_stream";
+       internal const string Invalid_Parameters_To_Insert = "Invalid_Parameters_To_Insert";
+       internal const string Invalid_Passport_Redirect_URL = "Invalid_Passport_Redirect_URL";
+       internal const string Invalid_path_for_child_request = "Invalid_path_for_child_request";
+       internal const string Invalid_path_for_push_promise = "Invalid_path_for_push_promise";
+       internal const string Invalid_path_for_remove = "Invalid_path_for_remove";
+       internal const string Invalid_positive_integer_attribute = "Invalid_positive_integer_attribute";
+       internal const string Invalid_PreApplicationStartMethodAttribute_value = "Invalid_PreApplicationStartMethodAttribute_value";
+       internal const string Invalid_Process_Prot_Type = "Invalid_Process_Prot_Type";
+       internal const string Invalid_progid = "Invalid_progid";
+       internal const string Invalid_provider_attribute = "Invalid_provider_attribute";
+       internal const string Invalid_provider_non_zero_positive_attributes = "Invalid_provider_non_zero_positive_attributes";
+       internal const string Invalid_provider_positive_attributes = "Invalid_provider_positive_attributes";
+       internal const string Invalid_queue_limit = "Invalid_queue_limit";
+       internal const string Invalid_range = "Invalid_range";
+       internal const string Invalid_redirect_return_url = "Invalid_redirect_return_url";
+       internal const string Invalid_reference_directive = "Invalid_reference_directive";
+       internal const string Invalid_reference_directive_attrib = "Invalid_reference_directive_attrib";
+       internal const string Invalid_registry_config = "Invalid_registry_config";
+       internal const string Invalid_request_filter = "Invalid_request_filter";
+       internal const string Invalid_res_expr = "Invalid_res_expr";
+       internal const string Invalid_resourcekey = "Invalid_resourcekey";
+       internal const string Invalid_response_filter = "Invalid_response_filter";
+       internal const string Invalid_scope = "Invalid_scope";
+       internal const string Invalid_session_custom_provider = "Invalid_session_custom_provider";
+       internal const string Invalid_session_state = "Invalid_session_state";
+       internal const string Invalid_size = "Invalid_size";
+       internal const string Invalid_sql_cache_dep_polltime = "Invalid_sql_cache_dep_polltime";
+       internal const string Invalid_sqlDependency_argument = "Invalid_sqlDependency_argument";
+       internal const string Invalid_sqlDependency_argument2 = "Invalid_sqlDependency_argument2";
+       internal const string Invalid_status_string = "Invalid_status_string";
+       internal const string Invalid_string_from_browser_caps = "Invalid_string_from_browser_caps";
+       internal const string Invalid_substitution_callback = "Invalid_substitution_callback";
+       internal const string Invalid_tagprefix_entry = "Invalid_tagprefix_entry";
+       internal const string Invalid_target_framework_version = "Invalid_target_framework_version";
+       internal const string Invalid_temp_directory = "Invalid_temp_directory";
+       internal const string Invalid_template_container = "Invalid_template_container";
+       internal const string Invalid_type = "Invalid_type";
+       internal const string Invalid_type_for_input_tag = "Invalid_type_for_input_tag";
+       internal const string Invalid_type_to_implement = "Invalid_type_to_implement";
+       internal const string Invalid_type_to_inherit_from = "Invalid_type_to_inherit_from";
+       internal const string Invalid_typeless_reference = "Invalid_typeless_reference";
+       internal const string Invalid_typeNameOrVirtualPath_directive = "Invalid_typeNameOrVirtualPath_directive";
+       internal const string Invalid_urlencoded_form_data = "Invalid_urlencoded_form_data";
+       internal const string Invalid_use_of_config_uc = "Invalid_use_of_config_uc";
+       internal const string Invalid_use_of_response_filter = "Invalid_use_of_response_filter";
+       internal const string Invalid_validation_key = "Invalid_validation_key";
+       internal const string Invalid_value_for_CacheControl = "Invalid_value_for_CacheControl";
+       internal const string Invalid_value_for_globalization_attr = "Invalid_value_for_globalization_attr";
+       internal const string Invalid_value_for_sessionstate_stateConnectionString = "Invalid_value_for_sessionstate_stateConnectionString";
+       internal const string Invalid_vpath = "Invalid_vpath";
+       internal const string InvalidArgumentValue = "InvalidArgumentValue";
+       internal const string InvalidDefaultAutoFieldGenerator = "InvalidDefaultAutoFieldGenerator";
+       internal const string InvalidExpressionPrefix = "InvalidExpressionPrefix";
+       internal const string InvalidExpressionSyntax = "InvalidExpressionSyntax";
+       internal const string InvalidOffsetOrCount = "InvalidOffsetOrCount";
+       internal const string InvalidSerializedData = "InvalidSerializedData";
+       internal const string Invoke_before_pipeline_event = "Invoke_before_pipeline_event";
+       internal const string IRenderOuterTableControl_CannotSetStyleWhenDisableRenderOuterTable = "IRenderOuterTableControl_CannotSetStyleWhenDisableRenderOuterTable";
+       internal const string IsValid_Cant_Be_Called = "IsValid_Cant_Be_Called";
+       internal const string Item_RepeatDirection = "Item_RepeatDirection";
+       internal const string Label_AssociatedControlID = "Label_AssociatedControlID";
+       internal const string Label_Text = "Label_Text";
+       internal const string LabelForNotFound = "LabelForNotFound";
+       internal const string LayoutEditorPart_ChromeState = "LayoutEditorPart_ChromeState";
+       internal const string LayoutEditorPart_PartTitle = "LayoutEditorPart_PartTitle";
+       internal const string LayoutEditorPart_Zone = "LayoutEditorPart_Zone";
+       internal const string LayoutEditorPart_ZoneIndex = "LayoutEditorPart_ZoneIndex";
+       internal const string LinkButton_OnClick = "LinkButton_OnClick";
+       internal const string LinkButton_Text = "LinkButton_Text";
+       internal const string ListBox_Rows = "ListBox_Rows";
+       internal const string ListBox_SelectionMode = "ListBox_SelectionMode";
+       internal const string ListControl_AppendDataBoundItems = "ListControl_AppendDataBoundItems";
+       internal const string ListControl_AutoPostBack = "ListControl_AutoPostBack";
+       internal const string ListControl_DataTextField = "ListControl_DataTextField";
+       internal const string ListControl_DataTextFormatString = "ListControl_DataTextFormatString";
+       internal const string ListControl_DataValueField = "ListControl_DataValueField";
+       internal const string ListControl_Items = "ListControl_Items";
+       internal const string ListControl_OnSelectedIndexChanged = "ListControl_OnSelectedIndexChanged";
+       internal const string ListControl_RenderWhenDataEmpty = "ListControl_RenderWhenDataEmpty";
+       internal const string ListControl_RenderWhenDataEmptyNotSupportedWithTableLayout = "ListControl_RenderWhenDataEmptyNotSupportedWithTableLayout";
+       internal const string ListControl_SelectedItem = "ListControl_SelectedItem";
+       internal const string ListControl_SelectedValue = "ListControl_SelectedValue";
+       internal const string ListControl_SelectionOutOfRange = "ListControl_SelectionOutOfRange";
+       internal const string ListControl_Text = "ListControl_Text";
+       internal const string ListControl_TextChanged = "ListControl_TextChanged";
+       internal const string ListEnumCurrentOutOfRange = "ListEnumCurrentOutOfRange";
+       internal const string ListEnumVersionMismatch = "ListEnumVersionMismatch";
+       internal const string ListSource_Missing_DataMember = "ListSource_Missing_DataMember";
+       internal const string ListSource_Without_DataMembers = "ListSource_Without_DataMembers";
+       internal const string Literal_content_not_allowed = "Literal_content_not_allowed";
+       internal const string Literal_content_not_match_property = "Literal_content_not_match_property";
+       internal const string Literal_Mode = "Literal_Mode";
+       internal const string Literal_Text = "Literal_Text";
+       internal const string Local_free_threads_cannot_exceed_free_threads = "Local_free_threads_cannot_exceed_free_threads";
+       internal const string LocalDB_cannot_have_userinstance_flag = "LocalDB_cannot_have_userinstance_flag";
+       internal const string LocalizableString_LocalizationFailed = "LocalizableString_LocalizationFailed";
+       internal const string Login_Authenticate = "Login_Authenticate";
+       internal const string Login_BorderPadding = "Login_BorderPadding";
+       internal const string Login_CheckBoxStyle = "Login_CheckBoxStyle";
+       internal const string Login_CreateUserIconUrl = "Login_CreateUserIconUrl";
+       internal const string Login_CreateUserUrl = "Login_CreateUserUrl";
+       internal const string Login_DefaultFailureText = "Login_DefaultFailureText";
+       internal const string Login_DefaultLoginButtonText = "Login_DefaultLoginButtonText";
+       internal const string Login_DefaultPasswordRequiredErrorMessage = "Login_DefaultPasswordRequiredErrorMessage";
+       internal const string Login_DefaultRememberMeText = "Login_DefaultRememberMeText";
+       internal const string Login_DefaultTitleText = "Login_DefaultTitleText";
+       internal const string Login_DefaultUserNameLabelText = "Login_DefaultUserNameLabelText";
+       internal const string Login_DefaultUserNameRequiredErrorMessage = "Login_DefaultUserNameRequiredErrorMessage";
+       internal const string Login_DestinationPageUrl = "Login_DestinationPageUrl";
+       internal const string Login_DisplayRememberMe = "Login_DisplayRememberMe";
+       internal const string Login_failed_sql_session_database = "Login_failed_sql_session_database";
+       internal const string Login_FailureAction = "Login_FailureAction";
+       internal const string Login_FailureText = "Login_FailureText";
+       internal const string Login_HelpPageIconUrl = "Login_HelpPageIconUrl";
+       internal const string Login_InvalidBorderPadding = "Login_InvalidBorderPadding";
+       internal const string Login_LoggedIn = "Login_LoggedIn";
+       internal const string Login_LoggingIn = "Login_LoggingIn";
+       internal const string Login_LoginButtonImageUrl = "Login_LoginButtonImageUrl";
+       internal const string Login_LoginButtonStyle = "Login_LoginButtonStyle";
+       internal const string Login_LoginButtonText = "Login_LoginButtonText";
+       internal const string Login_LoginButtonType = "Login_LoginButtonType";
+       internal const string Login_LoginError = "Login_LoginError";
+       internal const string Login_NoPasswordTextBox = "Login_NoPasswordTextBox";
+       internal const string Login_NoUserNameTextBox = "Login_NoUserNameTextBox";
+       internal const string Login_Orientation = "Login_Orientation";
+       internal const string Login_PasswordRecoveryIconUrl = "Login_PasswordRecoveryIconUrl";
+       internal const string Login_PasswordRecoveryUrl = "Login_PasswordRecoveryUrl";
+       internal const string Login_PasswordRequiredErrorMessage = "Login_PasswordRequiredErrorMessage";
+       internal const string Login_RememberMeSet = "Login_RememberMeSet";
+       internal const string Login_RememberMeText = "Login_RememberMeText";
+       internal const string Login_ValidatorTextStyle = "Login_ValidatorTextStyle";
+       internal const string Login_VisibleWhenLoggedIn = "Login_VisibleWhenLoggedIn";
+       internal const string LoginControls_AnswerRequiredErrorMessage = "LoginControls_AnswerRequiredErrorMessage";
+       internal const string LoginControls_ConfirmPasswordRequiredErrorMessage = "LoginControls_ConfirmPasswordRequiredErrorMessage";
+       internal const string LoginControls_ContinueDestinationPageUrl = "LoginControls_ContinueDestinationPageUrl";
+       internal const string LoginControls_DefaultPasswordLabelText = "LoginControls_DefaultPasswordLabelText";
+       internal const string LoginControls_DefaultRequiredFieldValidatorText = "LoginControls_DefaultRequiredFieldValidatorText";
+       internal const string LoginControls_EditProfileIconUrl = "LoginControls_EditProfileIconUrl";
+       internal const string LoginControls_HelpPageIconUrl = "LoginControls_HelpPageIconUrl";
+       internal const string LoginControls_HelpPageUrl = "LoginControls_HelpPageUrl";
+       internal const string LoginControls_LabelStyle = "LoginControls_LabelStyle";
+       internal const string LoginControls_PasswordLabelText = "LoginControls_PasswordLabelText";
+       internal const string LoginControls_RenderOuterTable = "LoginControls_RenderOuterTable";
+       internal const string LoginControls_SuccessPageUrl = "LoginControls_SuccessPageUrl";
+       internal const string LoginControls_TextBoxStyle = "LoginControls_TextBoxStyle";
+       internal const string LoginControls_TextLayout = "LoginControls_TextLayout";
+       internal const string LoginControls_TitleText = "LoginControls_TitleText";
+       internal const string LoginControls_TitleTextStyle = "LoginControls_TitleTextStyle";
+       internal const string LoginControls_UserNameLabelText = "LoginControls_UserNameLabelText";
+       internal const string LoginName_DesignModeUserName = "LoginName_DesignModeUserName";
+       internal const string LoginName_FormatString = "LoginName_FormatString";
+       internal const string LoginName_InvalidFormatString = "LoginName_InvalidFormatString";
+       internal const string LoginStatus_DefaultLoginText = "LoginStatus_DefaultLoginText";
+       internal const string LoginStatus_DefaultLogoutText = "LoginStatus_DefaultLogoutText";
+       internal const string LoginStatus_LoggedOut = "LoginStatus_LoggedOut";
+       internal const string LoginStatus_LoggingOut = "LoginStatus_LoggingOut";
+       internal const string LoginStatus_LoginImageUrl = "LoginStatus_LoginImageUrl";
+       internal const string LoginStatus_LoginText = "LoginStatus_LoginText";
+       internal const string LoginStatus_LogoutAction = "LoginStatus_LogoutAction";
+       internal const string LoginStatus_LogoutImageUrl = "LoginStatus_LogoutImageUrl";
+       internal const string LoginStatus_LogoutPageUrl = "LoginStatus_LogoutPageUrl";
+       internal const string LoginStatus_LogoutText = "LoginStatus_LogoutText";
+       internal const string LoginView_RoleGroups = "LoginView_RoleGroups";
+       internal const string LoginView_ViewChanged = "LoginView_ViewChanged";
+       internal const string LoginView_ViewChanging = "LoginView_ViewChanging";
+       internal const string MachineKey_InvalidPurpose = "MachineKey_InvalidPurpose";
+       internal const string MachineKeyDataProtectorFactory_FactoryCreationFailed = "MachineKeyDataProtectorFactory_FactoryCreationFailed";
+       internal const string MailDefinition_BodyFileName = "MailDefinition_BodyFileName";
+       internal const string MailDefinition_CC = "MailDefinition_CC";
+       internal const string MailDefinition_EmbeddedObjects = "MailDefinition_EmbeddedObjects";
+       internal const string MailDefinition_From = "MailDefinition_From";
+       internal const string MailDefinition_InvalidReplacements = "MailDefinition_InvalidReplacements";
+       internal const string MailDefinition_IsBodyHtml = "MailDefinition_IsBodyHtml";
+       internal const string MailDefinition_NoFromAddressSpecified = "MailDefinition_NoFromAddressSpecified";
+       internal const string MailDefinition_Priority = "MailDefinition_Priority";
+       internal const string MailDefinition_Subject = "MailDefinition_Subject";
+       internal const string MailWebEventProvider_Application_Info = "MailWebEventProvider_Application_Info";
+       internal const string MailWebEventProvider_cannot_send_mail = "MailWebEventProvider_cannot_send_mail";
+       internal const string MailWebEventProvider_discard_warning = "MailWebEventProvider_discard_warning";
+       internal const string MailWebEventProvider_Events = "MailWebEventProvider_Events";
+       internal const string MailWebEventProvider_events_drop_warning = "MailWebEventProvider_events_drop_warning";
+       internal const string MailWebEventProvider_no_recipient_error = "MailWebEventProvider_no_recipient_error";
+       internal const string MailWebEventProvider_Summary = "MailWebEventProvider_Summary";
+       internal const string MailWebEventProvider_summary_body = "MailWebEventProvider_summary_body";
+       internal const string MailWebEventProvider_template_compile_error = "MailWebEventProvider_template_compile_error";
+       internal const string MailWebEventProvider_template_error_no_details = "MailWebEventProvider_template_error_no_details";
+       internal const string MailWebEventProvider_template_file_not_found_error = "MailWebEventProvider_template_file_not_found_error";
+       internal const string MailWebEventProvider_template_runtime_error = "MailWebEventProvider_template_runtime_error";
+       internal const string MailWebEventProvider_Warnings = "MailWebEventProvider_Warnings";
+       internal const string Make_sure_remote_server_is_enabled_for_config_access = "Make_sure_remote_server_is_enabled_for_config_access";
+       internal const string MakeMonthBadString = "MakeMonthBadString";
+       internal const string Malformed_server_block = "Malformed_server_block";
+       internal const string Malformed_server_tag = "Malformed_server_tag";
+       internal const string Mapped_type_must_inherit = "Mapped_type_must_inherit";
+       internal const string MasterPage_Cannot_ApplyTo_ReadOnly_Collection = "MasterPage_Cannot_ApplyTo_ReadOnly_Collection";
+       internal const string MasterPage_Circular_Master_Not_Allowed = "MasterPage_Circular_Master_Not_Allowed";
+       internal const string MasterPage_doesnt_have_contentplaceholder = "MasterPage_doesnt_have_contentplaceholder";
+       internal const string MasterPage_MasterPage = "MasterPage_MasterPage";
+       internal const string MasterPage_MasterPageFile = "MasterPage_MasterPageFile";
+       internal const string MasterPage_Multiple_content = "MasterPage_Multiple_content";
+       internal const string Max_request_length_exceeded = "Max_request_length_exceeded";
+       internal const string Membership_AccountLockOut = "Membership_AccountLockOut";
+       internal const string Membership_Custom_Password_Validation_Failure = "Membership_Custom_Password_Validation_Failure";
+       internal const string Membership_DuplicateEmail = "Membership_DuplicateEmail";
+       internal const string Membership_DuplicateProviderUserKey = "Membership_DuplicateProviderUserKey";
+       internal const string Membership_DuplicateUserName = "Membership_DuplicateUserName";
+       internal const string Membership_InvalidAnswer = "Membership_InvalidAnswer";
+       internal const string Membership_InvalidEmail = "Membership_InvalidEmail";
+       internal const string Membership_InvalidPassword = "Membership_InvalidPassword";
+       internal const string Membership_InvalidProviderUserKey = "Membership_InvalidProviderUserKey";
+       internal const string Membership_InvalidQuestion = "Membership_InvalidQuestion";
+       internal const string Membership_InvalidUserName = "Membership_InvalidUserName";
+       internal const string Membership_min_required_non_alphanumeric_characters_incorrect = "Membership_min_required_non_alphanumeric_characters_incorrect";
+       internal const string Membership_more_than_one_user_with_email = "Membership_more_than_one_user_with_email";
+       internal const string Membership_password_length_incorrect = "Membership_password_length_incorrect";
+       internal const string Membership_password_too_long = "Membership_password_too_long";
+       internal const string Membership_PasswordRetrieval_not_supported = "Membership_PasswordRetrieval_not_supported";
+       internal const string Membership_UserNotFound = "Membership_UserNotFound";
+       internal const string Membership_UserRejected = "Membership_UserRejected";
+       internal const string Membership_WrongAnswer = "Membership_WrongAnswer";
+       internal const string Membership_WrongPassword = "Membership_WrongPassword";
+       internal const string MembershipPasswordAttribute_InvalidPasswordLength = "MembershipPasswordAttribute_InvalidPasswordLength";
+       internal const string MembershipPasswordAttribute_InvalidPasswordNonAlphanumericCharacters = "MembershipPasswordAttribute_InvalidPasswordNonAlphanumericCharacters";
+       internal const string MembershipPasswordAttribute_InvalidPasswordStrength = "MembershipPasswordAttribute_InvalidPasswordStrength";
+       internal const string MembershipPasswordAttribute_InvalidRegularExpression = "MembershipPasswordAttribute_InvalidRegularExpression";
+       internal const string MembershipProvider_Name = "MembershipProvider_Name";
+       internal const string MembershipSqlProvider_description = "MembershipSqlProvider_description";
+       internal const string Menu_Bindings = "Menu_Bindings";
+       internal const string Menu_CannotChangeRenderingMode = "Menu_CannotChangeRenderingMode";
+       internal const string Menu_DataSourceReturnedNullView = "Menu_DataSourceReturnedNullView";
+       internal const string Menu_DesignTimeDummyItemText = "Menu_DesignTimeDummyItemText";
+       internal const string Menu_DisappearAfter = "Menu_DisappearAfter";
+       internal const string Menu_DynamicBottomSeparatorImageUrl = "Menu_DynamicBottomSeparatorImageUrl";
+       internal const string Menu_DynamicDisplayPopOutImage = "Menu_DynamicDisplayPopOutImage";
+       internal const string Menu_DynamicHorizontalOffset = "Menu_DynamicHorizontalOffset";
+       internal const string Menu_DynamicHoverStyle = "Menu_DynamicHoverStyle";
+       internal const string Menu_DynamicItemFormatString = "Menu_DynamicItemFormatString";
+       internal const string Menu_DynamicMenuItemStyle = "Menu_DynamicMenuItemStyle";
+       internal const string Menu_DynamicMenuStyle = "Menu_DynamicMenuStyle";
+       internal const string Menu_DynamicPopoutImageText = "Menu_DynamicPopoutImageText";
+       internal const string Menu_DynamicPopoutImageUrl = "Menu_DynamicPopoutImageUrl";
+       internal const string Menu_DynamicSelectedStyle = "Menu_DynamicSelectedStyle";
+       internal const string Menu_DynamicTemplate = "Menu_DynamicTemplate";
+       internal const string Menu_DynamicTopSeparatorImageUrl = "Menu_DynamicTopSeparatorImageUrl";
+       internal const string Menu_DynamicVerticalOffset = "Menu_DynamicVerticalOffset";
+       internal const string Menu_IncludeStyleBlock = "Menu_IncludeStyleBlock";
+       internal const string Menu_InvalidDataBinding = "Menu_InvalidDataBinding";
+       internal const string Menu_InvalidDepth = "Menu_InvalidDepth";
+       internal const string Menu_InvalidNavigation = "Menu_InvalidNavigation";
+       internal const string Menu_InvalidSelection = "Menu_InvalidSelection";
+       internal const string Menu_Items = "Menu_Items";
+       internal const string Menu_ItemWrap = "Menu_ItemWrap";
+       internal const string Menu_LevelMenuItemStyles = "Menu_LevelMenuItemStyles";
+       internal const string Menu_LevelSelectedStyles = "Menu_LevelSelectedStyles";
+       internal const string Menu_LevelSubMenuStyles = "Menu_LevelSubMenuStyles";
+       internal const string Menu_MaximumDynamicDisplayLevels = "Menu_MaximumDynamicDisplayLevels";
+       internal const string Menu_MaximumDynamicDisplayLevelsInvalid = "Menu_MaximumDynamicDisplayLevelsInvalid";
+       internal const string Menu_MenuItemClick = "Menu_MenuItemClick";
+       internal const string Menu_MenuItemDataBound = "Menu_MenuItemDataBound";
+       internal const string Menu_Orientation = "Menu_Orientation";
+       internal const string Menu_PathSeparator = "Menu_PathSeparator";
+       internal const string Menu_RenderingMode = "Menu_RenderingMode";
+       internal const string Menu_ScrollDown = "Menu_ScrollDown";
+       internal const string Menu_ScrollDownImageUrl = "Menu_ScrollDownImageUrl";
+       internal const string Menu_ScrollDownText = "Menu_ScrollDownText";
+       internal const string Menu_ScrollUp = "Menu_ScrollUp";
+       internal const string Menu_ScrollUpImageUrl = "Menu_ScrollUpImageUrl";
+       internal const string Menu_ScrollUpText = "Menu_ScrollUpText";
+       internal const string Menu_SkipLinkTextDefault = "Menu_SkipLinkTextDefault";
+       internal const string Menu_StaticBottomSeparatorImageUrl = "Menu_StaticBottomSeparatorImageUrl";
+       internal const string Menu_StaticDisplayLevels = "Menu_StaticDisplayLevels";
+       internal const string Menu_StaticDisplayPopOutImage = "Menu_StaticDisplayPopOutImage";
+       internal const string Menu_StaticHoverStyle = "Menu_StaticHoverStyle";
+       internal const string Menu_StaticItemFormatString = "Menu_StaticItemFormatString";
+       internal const string Menu_StaticMenuItemStyle = "Menu_StaticMenuItemStyle";
+       internal const string Menu_StaticMenuStyle = "Menu_StaticMenuStyle";
+       internal const string Menu_StaticPopoutImageText = "Menu_StaticPopoutImageText";
+       internal const string Menu_StaticPopoutImageUrl = "Menu_StaticPopoutImageUrl";
+       internal const string Menu_StaticSelectedStyle = "Menu_StaticSelectedStyle";
+       internal const string Menu_StaticSubMenuIndent = "Menu_StaticSubMenuIndent";
+       internal const string Menu_StaticTemplate = "Menu_StaticTemplate";
+       internal const string Menu_StaticTopSeparatorImageUrl = "Menu_StaticTopSeparatorImageUrl";
+       internal const string MenuAdapter_Expand = "MenuAdapter_Expand";
+       internal const string MenuAdapter_Up = "MenuAdapter_Up";
+       internal const string MenuAdapter_UpOneLevel = "MenuAdapter_UpOneLevel";
+       internal const string MenuItem_Enabled = "MenuItem_Enabled";
+       internal const string MenuItem_ImageUrl = "MenuItem_ImageUrl";
+       internal const string MenuItem_NavigateUrl = "MenuItem_NavigateUrl";
+       internal const string MenuItem_PopOutImageUrl = "MenuItem_PopOutImageUrl";
+       internal const string MenuItem_Selectable = "MenuItem_Selectable";
+       internal const string MenuItem_Selected = "MenuItem_Selected";
+       internal const string MenuItem_SeparatorImageUrl = "MenuItem_SeparatorImageUrl";
+       internal const string MenuItem_Target = "MenuItem_Target";
+       internal const string MenuItem_Text = "MenuItem_Text";
+       internal const string MenuItem_ToolTip = "MenuItem_ToolTip";
+       internal const string MenuItem_Value = "MenuItem_Value";
+       internal const string MenuItemBinding_Depth = "MenuItemBinding_Depth";
+       internal const string MenuItemBinding_Enabled = "MenuItemBinding_Enabled";
+       internal const string MenuItemBinding_EnabledField = "MenuItemBinding_EnabledField";
+       internal const string MenuItemBinding_FormatString = "MenuItemBinding_FormatString";
+       internal const string MenuItemBinding_ImageUrl = "MenuItemBinding_ImageUrl";
+       internal const string MenuItemBinding_ImageUrlField = "MenuItemBinding_ImageUrlField";
+       internal const string MenuItemBinding_NavigateUrl = "MenuItemBinding_NavigateUrl";
+       internal const string MenuItemBinding_NavigateUrlField = "MenuItemBinding_NavigateUrlField";
+       internal const string MenuItemBinding_PopOutImageUrl = "MenuItemBinding_PopOutImageUrl";
+       internal const string MenuItemBinding_PopOutImageUrlField = "MenuItemBinding_PopOutImageUrlField";
+       internal const string MenuItemBinding_Selectable = "MenuItemBinding_Selectable";
+       internal const string MenuItemBinding_SelectableField = "MenuItemBinding_SelectableField";
+       internal const string MenuItemBinding_SeparatorImageUrl = "MenuItemBinding_SeparatorImageUrl";
+       internal const string MenuItemBinding_SeparatorImageUrlField = "MenuItemBinding_SeparatorImageUrlField";
+       internal const string MenuItemBinding_Target = "MenuItemBinding_Target";
+       internal const string MenuItemBinding_TargetField = "MenuItemBinding_TargetField";
+       internal const string MenuItemBinding_Text = "MenuItemBinding_Text";
+       internal const string MenuItemBinding_TextField = "MenuItemBinding_TextField";
+       internal const string MenuItemBinding_ToolTip = "MenuItemBinding_ToolTip";
+       internal const string MenuItemBinding_ToolTipField = "MenuItemBinding_ToolTipField";
+       internal const string MenuItemBinding_Value = "MenuItemBinding_Value";
+       internal const string MenuItemBinding_ValueField = "MenuItemBinding_ValueField";
+       internal const string MenuItemCollection_InvalidArrayType = "MenuItemCollection_InvalidArrayType";
+       internal const string MenuItemStyle_HorizontalPadding = "MenuItemStyle_HorizontalPadding";
+       internal const string MenuItemStyle_ItemSpacing = "MenuItemStyle_ItemSpacing";
+       internal const string MenuItemStyle_VerticalPadding = "MenuItemStyle_VerticalPadding";
+       internal const string MenuItemStyleCollection_InvalidArgument = "MenuItemStyleCollection_InvalidArgument";
+       internal const string meta_localize_error = "meta_localize_error";
+       internal const string meta_localize_notallowed = "meta_localize_notallowed";
+       internal const string meta_reskey_notallowed = "meta_reskey_notallowed";
+       internal const string Method_can_only_be_called_during_pre_start_init = "Method_can_only_be_called_during_pre_start_init";
+       internal const string Method_cannot_be_called_during_pre_start_init = "Method_cannot_be_called_during_pre_start_init";
+       internal const string Method_for_path_not_implemented = "Method_for_path_not_implemented";
+       internal const string Method_not_allowed = "Method_not_allowed";
+       internal const string Method_Not_Supported_By_Iis_Integrated_Mode = "Method_Not_Supported_By_Iis_Integrated_Mode";
+       internal const string MethodCannotBeCalledAfterAppStart = "MethodCannotBeCalledAfterAppStart";
+       internal const string Min_free_threads_must_be_under_thread_pool_limits = "Min_free_threads_must_be_under_thread_pool_limits";
+       internal const string MinRequiredNonalphanumericCharacters_can_not_be_more_than_MinRequiredPasswordLength = "MinRequiredNonalphanumericCharacters_can_not_be_more_than_MinRequiredPasswordLength";
+       internal const string Missing_attr = "Missing_attr";
+       internal const string Missing_directive = "Missing_directive";
+       internal const string Missing_output_cache_attr = "Missing_output_cache_attr";
+       internal const string Missing_required_attribute = "Missing_required_attribute";
+       internal const string Missing_required_attributes = "Missing_required_attributes";
+       internal const string Missing_session_custom_provider = "Missing_session_custom_provider";
+       internal const string Missing_star_mapping = "Missing_star_mapping";
+       internal const string Missing_varybyparam_attr = "Missing_varybyparam_attr";
+       internal const string MissingExpressionPrefix = "MissingExpressionPrefix";
+       internal const string MissingExpressionValue = "MissingExpressionValue";
+       internal const string Mixed_lang_not_supported = "Mixed_lang_not_supported";
+       internal const string ModelBinderConfig_ValueInvalid = "ModelBinderConfig_ValueInvalid";
+       internal const string ModelBinderConfig_ValueRequired = "ModelBinderConfig_ValueRequired";
+       internal const string ModelBinderProviderCollection_BinderForTypeNotFound = "ModelBinderProviderCollection_BinderForTypeNotFound";
+       internal const string ModelBinderProviderCollection_InvalidBinderType = "ModelBinderProviderCollection_InvalidBinderType";
+       internal const string ModelBinderUtil_ModelCannotBeNull = "ModelBinderUtil_ModelCannotBeNull";
+       internal const string ModelBinderUtil_ModelInstanceIsWrong = "ModelBinderUtil_ModelInstanceIsWrong";
+       internal const string ModelBinderUtil_ModelMetadataCannotBeNull = "ModelBinderUtil_ModelMetadataCannotBeNull";
+       internal const string ModelBinderUtil_ModelTypeIsWrong = "ModelBinderUtil_ModelTypeIsWrong";
+       internal const string ModelBindingContext_ModelMetadataMustBeSet = "ModelBindingContext_ModelMetadataMustBeSet";
+       internal const string ModelDataSourceView_CancellationTokenIsNotSupported = "ModelDataSourceView_CancellationTokenIsNotSupported";
+       internal const string ModelDataSourceView_CannotCallMethodsWithOutOrRefParameters = "ModelDataSourceView_CannotCallMethodsWithOutOrRefParameters";
+       internal const string ModelDataSourceView_CannotCallOpenGenericMethods = "ModelDataSourceView_CannotCallOpenGenericMethods";
+       internal const string ModelDataSourceView_DataMethodNotFound = "ModelDataSourceView_DataMethodNotFound";
+       internal const string ModelDataSourceView_DeleteNotSupported = "ModelDataSourceView_DeleteNotSupported";
+       internal const string ModelDataSourceView_InsertNotSupported = "ModelDataSourceView_InsertNotSupported";
+       internal const string ModelDataSourceView_InvalidAsyncPagingParameters = "ModelDataSourceView_InvalidAsyncPagingParameters";
+       internal const string ModelDataSourceView_InvalidAsyncSelectReturnType = "ModelDataSourceView_InvalidAsyncSelectReturnType";
+       internal const string ModelDataSourceView_InvalidPagingParameters = "ModelDataSourceView_InvalidPagingParameters";
+       internal const string ModelDataSourceView_InvalidSelectReturnType = "ModelDataSourceView_InvalidSelectReturnType";
+       internal const string ModelDataSourceView_InvalidSortingParameters = "ModelDataSourceView_InvalidSortingParameters";
+       internal const string ModelDataSourceView_MultipleModelMethodSources = "ModelDataSourceView_MultipleModelMethodSources";
+       internal const string ModelDataSourceView_MultipleValueProvidersNotSupported = "ModelDataSourceView_MultipleValueProvidersNotSupported";
+       internal const string ModelDataSourceView_MustUseSelectResultAsReturnType = "ModelDataSourceView_MustUseSelectResultAsReturnType";
+       internal const string ModelDataSourceView_ParameterCannotBeNull = "ModelDataSourceView_ParameterCannotBeNull";
+       internal const string ModelDataSourceView_ParameterValueHasWrongType = "ModelDataSourceView_ParameterValueHasWrongType";
+       internal const string ModelDataSourceView_SelectNotSupported = "ModelDataSourceView_SelectNotSupported";
+       internal const string ModelDataSourceView_SortNotSupportedOnIEnumerable = "ModelDataSourceView_SortNotSupportedOnIEnumerable";
+       internal const string ModelDataSourceView_UpdateNotSupported = "ModelDataSourceView_UpdateNotSupported";
+       internal const string ModelDataSourceView_UseAsyncMethodMustBeUsingAsyncPage = "ModelDataSourceView_UseAsyncMethodMustBeUsingAsyncPage";
+       internal const string ModelErrorMessage_AssociatedControlID = "ModelErrorMessage_AssociatedControlID";
+       internal const string ModelErrorMessage_ModelStateKey = "ModelErrorMessage_ModelStateKey";
+       internal const string ModelErrorMessage_SetFocusOnError = "ModelErrorMessage_SetFocusOnError";
+       internal const string Module_not_in_app = "Module_not_in_app";
+       internal const string Multiple_forms_not_allowed = "Multiple_forms_not_allowed";
+       internal const string MultiView_ActiveView = "MultiView_ActiveView";
+       internal const string MultiView_ActiveViewChanged = "MultiView_ActiveViewChanged";
+       internal const string MultiView_ActiveViewIndex_equal_or_greater_than_count = "MultiView_ActiveViewIndex_equal_or_greater_than_count";
+       internal const string MultiView_ActiveViewIndex_less_than_minus_one = "MultiView_ActiveViewIndex_less_than_minus_one";
+       internal const string MultiView_ActiveViewIndex_out_of_range = "MultiView_ActiveViewIndex_out_of_range";
+       internal const string MultiView_cannot_have_children_of_type = "MultiView_cannot_have_children_of_type";
+       internal const string MultiView_invalid_view_id = "MultiView_invalid_view_id";
+       internal const string MultiView_invalid_view_index_format = "MultiView_invalid_view_index_format";
+       internal const string Multiview_rendering_block_not_allowed = "Multiview_rendering_block_not_allowed";
+       internal const string MultiView_view_not_found = "MultiView_view_not_found";
+       internal const string MultiView_Views = "MultiView_Views";
+       internal const string Must_specify_connection_string_or_name = "Must_specify_connection_string_or_name";
+       internal const string Need_v2_SQL_Server = "Need_v2_SQL_Server";
+       internal const string Need_v2_SQL_Server_partition_resolver = "Need_v2_SQL_Server_partition_resolver";
+       internal const string Need_v2_State_Server = "Need_v2_State_Server";
+       internal const string Need_v2_State_Server_partition_resolver = "Need_v2_State_Server_partition_resolver";
+       internal const string NeedHeader = "NeedHeader";
+       internal const string Nested_group_not_valid = "Nested_group_not_valid";
+       internal const string NetBios_command_limit_reached = "NetBios_command_limit_reached";
+       internal const string No_codegen_access = "No_codegen_access";
+       internal const string No_database_allowed_in_sql_partition_resolver_string = "No_database_allowed_in_sql_partition_resolver_string";
+       internal const string No_database_allowed_in_sqlConnectionString = "No_database_allowed_in_sqlConnectionString";
+       internal const string No_Route_Found_For_Redirect = "No_Route_Found_For_Redirect";
+       internal const string No_UniqueId_Cache_Dependency = "No_UniqueId_Cache_Dependency";
+       internal const string NoCompileBinding_requires_ID = "NoCompileBinding_requires_ID";
+       internal const string NoFocusSupport = "NoFocusSupport";
+       internal const string Non_existent_base_type = "Non_existent_base_type";
+       internal const string NonSerializableType = "NonSerializableType";
+       internal const string Not_a_src_file = "Not_a_src_file";
+       internal const string Not_configured_to_support_password_resets = "Not_configured_to_support_password_resets";
+       internal const string Not_IRegisteredObject = "Not_IRegisteredObject";
+       internal const string Not_supported = "Not_supported";
+       internal const string NotFound_Http_404 = "NotFound_Http_404";
+       internal const string NotFound_Requested_Url = "NotFound_Requested_Url";
+       internal const string NotFound_Resource_Not_Found = "NotFound_Resource_Not_Found";
+       internal const string NoThemingSupport = "NoThemingSupport";
+       internal const string Null_value_for_SessionStateItemCollection = "Null_value_for_SessionStateItemCollection";
+       internal const string Object_tag_must_have_class_classid_or_progid = "Object_tag_must_have_class_classid_or_progid";
+       internal const string Object_tag_must_have_id = "Object_tag_must_have_id";
+       internal const string ObjectDataSource_ConflictDetection = "ObjectDataSource_ConflictDetection";
+       internal const string ObjectDataSource_ConvertNullToDBNull = "ObjectDataSource_ConvertNullToDBNull";
+       internal const string ObjectDataSource_DataObjectTypeName = "ObjectDataSource_DataObjectTypeName";
+       internal const string ObjectDataSource_DeleteMethod = "ObjectDataSource_DeleteMethod";
+       internal const string ObjectDataSource_DeleteParameters = "ObjectDataSource_DeleteParameters";
+       internal const string ObjectDataSource_Description = "ObjectDataSource_Description";
+       internal const string ObjectDataSource_DisplayName = "ObjectDataSource_DisplayName";
+       internal const string ObjectDataSource_EnablePaging = "ObjectDataSource_EnablePaging";
+       internal const string ObjectDataSource_FilterExpression = "ObjectDataSource_FilterExpression";
+       internal const string ObjectDataSource_FilterParameters = "ObjectDataSource_FilterParameters";
+       internal const string ObjectDataSource_InsertMethod = "ObjectDataSource_InsertMethod";
+       internal const string ObjectDataSource_InsertParameters = "ObjectDataSource_InsertParameters";
+       internal const string ObjectDataSource_MaximumRowsParameterName = "ObjectDataSource_MaximumRowsParameterName";
+       internal const string ObjectDataSource_ObjectCreated = "ObjectDataSource_ObjectCreated";
+       internal const string ObjectDataSource_ObjectCreating = "ObjectDataSource_ObjectCreating";
+       internal const string ObjectDataSource_ObjectDisposing = "ObjectDataSource_ObjectDisposing";
+       internal const string ObjectDataSource_ParsingCulture = "ObjectDataSource_ParsingCulture";
+       internal const string ObjectDataSource_SelectCountMethod = "ObjectDataSource_SelectCountMethod";
+       internal const string ObjectDataSource_Selected = "ObjectDataSource_Selected";
+       internal const string ObjectDataSource_Selecting = "ObjectDataSource_Selecting";
+       internal const string ObjectDataSource_SelectMethod = "ObjectDataSource_SelectMethod";
+       internal const string ObjectDataSource_SelectParameters = "ObjectDataSource_SelectParameters";
+       internal const string ObjectDataSource_SortParameterName = "ObjectDataSource_SortParameterName";
+       internal const string ObjectDataSource_StartRowIndexParameterName = "ObjectDataSource_StartRowIndexParameterName";
+       internal const string ObjectDataSource_TypeName = "ObjectDataSource_TypeName";
+       internal const string ObjectDataSource_UpdateMethod = "ObjectDataSource_UpdateMethod";
+       internal const string ObjectDataSource_UpdateParameters = "ObjectDataSource_UpdateParameters";
+       internal const string ObjectDataSourceView_CacheNotSupportedOnIDataReader = "ObjectDataSourceView_CacheNotSupportedOnIDataReader";
+       internal const string ObjectDataSourceView_CacheNotSupportedOnSortedDataView = "ObjectDataSourceView_CacheNotSupportedOnSortedDataView";
+       internal const string ObjectDataSourceView_CannotConvertType = "ObjectDataSourceView_CannotConvertType";
+       internal const string ObjectDataSourceView_DataObjectPropertyNotFound = "ObjectDataSourceView_DataObjectPropertyNotFound";
+       internal const string ObjectDataSourceView_DataObjectPropertyReadOnly = "ObjectDataSourceView_DataObjectPropertyReadOnly";
+       internal const string ObjectDataSourceView_DataObjectTypeNotFound = "ObjectDataSourceView_DataObjectTypeNotFound";
+       internal const string ObjectDataSourceView_DeleteNotSupported = "ObjectDataSourceView_DeleteNotSupported";
+       internal const string ObjectDataSourceView_FilterNotSupported = "ObjectDataSourceView_FilterNotSupported";
+       internal const string ObjectDataSourceView_InsertNotSupported = "ObjectDataSourceView_InsertNotSupported";
+       internal const string ObjectDataSourceView_InsertRequiresValues = "ObjectDataSourceView_InsertRequiresValues";
+       internal const string ObjectDataSourceView_MethodNotFoundForDataObject = "ObjectDataSourceView_MethodNotFoundForDataObject";
+       internal const string ObjectDataSourceView_MethodNotFoundNoParams = "ObjectDataSourceView_MethodNotFoundNoParams";
+       internal const string ObjectDataSourceView_MethodNotFoundWithParams = "ObjectDataSourceView_MethodNotFoundWithParams";
+       internal const string ObjectDataSourceView_MissingPagingSettings = "ObjectDataSourceView_MissingPagingSettings";
+       internal const string ObjectDataSourceView_MultipleOverloads = "ObjectDataSourceView_MultipleOverloads";
+       internal const string ObjectDataSourceView_NoOldValuesParams = "ObjectDataSourceView_NoOldValuesParams";
+       internal const string ObjectDataSourceView_Pessimistic = "ObjectDataSourceView_Pessimistic";
+       internal const string ObjectDataSourceView_SelectNotSupported = "ObjectDataSourceView_SelectNotSupported";
+       internal const string ObjectDataSourceView_SortNotSupportedOnIEnumerable = "ObjectDataSourceView_SortNotSupportedOnIEnumerable";
+       internal const string ObjectDataSourceView_TypeNotFound = "ObjectDataSourceView_TypeNotFound";
+       internal const string ObjectDataSourceView_TypeNotSpecified = "ObjectDataSourceView_TypeNotSpecified";
+       internal const string ObjectDataSourceView_UpdateNotSupported = "ObjectDataSourceView_UpdateNotSupported";
+       internal const string Only_1_HostEnv = "Only_1_HostEnv";
+       internal const string Only_Content_supported_on_content_page = "Only_Content_supported_on_content_page";
+       internal const string Only_file_virtual_supported_on_server_include = "Only_file_virtual_supported_on_server_include";
+       internal const string Only_one_connection_string_allowed = "Only_one_connection_string_allowed";
+       internal const string Only_one_directive_allowed = "Only_one_directive_allowed";
+       internal const string OutputCacheExtensibility_CantSerializeDeserializeType = "OutputCacheExtensibility_CantSerializeDeserializeType";
+       internal const string OutputStream_NotAvail = "OutputStream_NotAvail";
+       internal const string Page_CallBackError = "Page_CallBackError";
+       internal const string Page_CallBackInvalid = "Page_CallBackInvalid";
+       internal const string Page_CallBackTargetInvalid = "Page_CallBackTargetInvalid";
+       internal const string Page_ClientTarget = "Page_ClientTarget";
+       internal const string Page_ControlState_ControlCannotBeNull = "Page_ControlState_ControlCannotBeNull";
+       internal const string Page_Description_Requires_Head = "Page_Description_Requires_Head";
+       internal const string Page_Error = "Page_Error";
+       internal const string Page_ErrorPage = "Page_ErrorPage";
+       internal const string Page_Illegal_AsyncTimeout = "Page_Illegal_AsyncTimeout";
+       internal const string Page_Illegal_MaxPageStateFieldLength = "Page_Illegal_MaxPageStateFieldLength";
+       internal const string Page_InvalidUpdateModelAttempt = "Page_InvalidUpdateModelAttempt";
+       internal const string Page_Keywords_Requires_Head = "Page_Keywords_Requires_Head";
+       internal const string Page_MissingDataBindingContext = "Page_MissingDataBindingContext";
+       internal const string Page_MustCallBeforeAndDuringPreRender = "Page_MustCallBeforeAndDuringPreRender";
+       internal const string Page_OnAbortTransaction = "Page_OnAbortTransaction";
+       internal const string Page_OnCommitTransaction = "Page_OnCommitTransaction";
+       internal const string Page_scope_in_global_asax = "Page_scope_in_global_asax";
+       internal const string Page_theme_default_theme_already_defined = "Page_theme_default_theme_already_defined";
+       internal const string Page_theme_invalid_name = "Page_theme_invalid_name";
+       internal const string Page_theme_not_found = "Page_theme_not_found";
+       internal const string Page_theme_only_controls_allowed = "Page_theme_only_controls_allowed";
+       internal const string Page_theme_requires_page_header = "Page_theme_requires_page_header";
+       internal const string Page_theme_skin_file = "Page_theme_skin_file";
+       internal const string Page_theme_skinID_already_defined = "Page_theme_skinID_already_defined";
+       internal const string Page_Title_Requires_Head = "Page_Title_Requires_Head";
+       internal const string Page_UnobtrusiveValidationMode = "Page_UnobtrusiveValidationMode";
+       internal const string Page_UpdateModel_UpdateUnsuccessful = "Page_UpdateModel_UpdateUnsuccessful";
+       internal const string PageAdapter_MustHaveFormRunatServer = "PageAdapter_MustHaveFormRunatServer";
+       internal const string PageAdapter_RenderDelegateMustBeInServerForm = "PageAdapter_RenderDelegateMustBeInServerForm";
+       internal const string PageAsyncManager_CannotEnqueue = "PageAsyncManager_CannotEnqueue";
+       internal const string PageCatalogPart_PartTitle = "PageCatalogPart_PartTitle";
+       internal const string PagedDataSource_Cannot_Get_Count = "PagedDataSource_Cannot_Get_Count";
+       internal const string PageIndex_bad = "PageIndex_bad";
+       internal const string PageIndex_PageSize_bad = "PageIndex_PageSize_bad";
+       internal const string PageRouteHandler_InvalidVirtualPath = "PageRouteHandler_InvalidVirtualPath";
+       internal const string PagerSettings_FirstPageImageUrl = "PagerSettings_FirstPageImageUrl";
+       internal const string PagerSettings_FirstPageText = "PagerSettings_FirstPageText";
+       internal const string PagerSettings_LastPageImageUrl = "PagerSettings_LastPageImageUrl";
+       internal const string PagerSettings_LastPageText = "PagerSettings_LastPageText";
+       internal const string PagerSettings_Mode = "PagerSettings_Mode";
+       internal const string PagerSettings_NextPageImageUrl = "PagerSettings_NextPageImageUrl";
+       internal const string PagerSettings_NextPageText = "PagerSettings_NextPageText";
+       internal const string PagerSettings_PageButtonCount = "PagerSettings_PageButtonCount";
+       internal const string PagerSettings_PreviousPageImageUrl = "PagerSettings_PreviousPageImageUrl";
+       internal const string PagerSettings_PreviousPageText = "PagerSettings_PreviousPageText";
+       internal const string PagerStyle_Position = "PagerStyle_Position";
+       internal const string PagerStyle_Visible = "PagerStyle_Visible";
+       internal const string PageSize_bad = "PageSize_bad";
+       internal const string PageStatePersister_PageCannotBeNull = "PageStatePersister_PageCannotBeNull";
+       internal const string Panel_BackImageUrl = "Panel_BackImageUrl";
+       internal const string Panel_DefaultButton = "Panel_DefaultButton";
+       internal const string Panel_Direction = "Panel_Direction";
+       internal const string Panel_GroupingText = "Panel_GroupingText";
+       internal const string Panel_HorizontalAlign = "Panel_HorizontalAlign";
+       internal const string Panel_ScrollBars = "Panel_ScrollBars";
+       internal const string Panel_Wrap = "Panel_Wrap";
+       internal const string Parameter_array_empty = "Parameter_array_empty";
+       internal const string Parameter_can_not_be_empty = "Parameter_can_not_be_empty";
+       internal const string Parameter_can_not_contain_comma = "Parameter_can_not_contain_comma";
+       internal const string Parameter_collection_empty = "Parameter_collection_empty";
+       internal const string Parameter_ConvertEmptyStringToNull = "Parameter_ConvertEmptyStringToNull";
+       internal const string Parameter_DbType = "Parameter_DbType";
+       internal const string Parameter_DefaultValue = "Parameter_DefaultValue";
+       internal const string Parameter_Direction = "Parameter_Direction";
+       internal const string Parameter_duplicate_array_element = "Parameter_duplicate_array_element";
+       internal const string Parameter_Invalid = "Parameter_Invalid";
+       internal const string Parameter_Name = "Parameter_Name";
+       internal const string Parameter_NullOrEmpty = "Parameter_NullOrEmpty";
+       internal const string Parameter_Size = "Parameter_Size";
+       internal const string Parameter_too_long = "Parameter_too_long";
+       internal const string Parameter_Type = "Parameter_Type";
+       internal const string Parameter_TypeNotSupported = "Parameter_TypeNotSupported";
+       internal const string Parameter_ValidateInput = "Parameter_ValidateInput";
+       internal const string ParameterCollection_NotParameter = "ParameterCollection_NotParameter";
+       internal const string Parent_collections_readonly = "Parent_collections_readonly";
+       internal const string Parser_Desc = "Parser_Desc";
+       internal const string Parser_Error = "Parser_Error";
+       internal const string Parser_Error_Message = "Parser_Error_Message";
+       internal const string Parser_Source_Error = "Parser_Source_Error";
+       internal const string Part_ChromeState = "Part_ChromeState";
+       internal const string Part_ChromeType = "Part_ChromeType";
+       internal const string Part_Description = "Part_Description";
+       internal const string Part_Title = "Part_Title";
+       internal const string Part_Unknown = "Part_Unknown";
+       internal const string Part_Untitled = "Part_Untitled";
+       internal const string PartChromeState_Minimized = "PartChromeState_Minimized";
+       internal const string PartChromeState_Normal = "PartChromeState_Normal";
+       internal const string PartChromeType_BorderOnly = "PartChromeType_BorderOnly";
+       internal const string PartChromeType_Default = "PartChromeType_Default";
+       internal const string PartChromeType_None = "PartChromeType_None";
+       internal const string PartChromeType_TitleAndBorder = "PartChromeType_TitleAndBorder";
+       internal const string PartChromeType_TitleOnly = "PartChromeType_TitleOnly";
+       internal const string Passport_method_failed = "Passport_method_failed";
+       internal const string Passport_not_installed = "Passport_not_installed";
+       internal const string PassportAuthFailed = "PassportAuthFailed";
+       internal const string PassportAuthFailed_Description = "PassportAuthFailed_Description";
+       internal const string PassportAuthFailed_Title = "PassportAuthFailed_Title";
+       internal const string Password_does_not_match_regular_expression = "Password_does_not_match_regular_expression";
+       internal const string Password_InvalidPasswordErrorMessage = "Password_InvalidPasswordErrorMessage";
+       internal const string Password_need_more_non_alpha_numeric_chars = "Password_need_more_non_alpha_numeric_chars";
+       internal const string Password_too_short = "Password_too_short";
+       internal const string PasswordRecovery_AnswerLabelText = "PasswordRecovery_AnswerLabelText";
+       internal const string PasswordRecovery_AnswerLookupError = "PasswordRecovery_AnswerLookupError";
+       internal const string PasswordRecovery_DefaultAnswerLabelText = "PasswordRecovery_DefaultAnswerLabelText";
+       internal const string PasswordRecovery_DefaultAnswerRequiredErrorMessage = "PasswordRecovery_DefaultAnswerRequiredErrorMessage";
+       internal const string PasswordRecovery_DefaultBody = "PasswordRecovery_DefaultBody";
+       internal const string PasswordRecovery_DefaultGeneralFailureText = "PasswordRecovery_DefaultGeneralFailureText";
+       internal const string PasswordRecovery_DefaultQuestionFailureText = "PasswordRecovery_DefaultQuestionFailureText";
+       internal const string PasswordRecovery_DefaultQuestionInstructionText = "PasswordRecovery_DefaultQuestionInstructionText";
+       internal const string PasswordRecovery_DefaultQuestionLabelText = "PasswordRecovery_DefaultQuestionLabelText";
+       internal const string PasswordRecovery_DefaultQuestionTitleText = "PasswordRecovery_DefaultQuestionTitleText";
+       internal const string PasswordRecovery_DefaultSubject = "PasswordRecovery_DefaultSubject";
+       internal const string PasswordRecovery_DefaultSubmitButtonText = "PasswordRecovery_DefaultSubmitButtonText";
+       internal const string PasswordRecovery_DefaultSuccessText = "PasswordRecovery_DefaultSuccessText";
+       internal const string PasswordRecovery_DefaultUserNameFailureText = "PasswordRecovery_DefaultUserNameFailureText";
+       internal const string PasswordRecovery_DefaultUserNameInstructionText = "PasswordRecovery_DefaultUserNameInstructionText";
+       internal const string PasswordRecovery_DefaultUserNameLabelText = "PasswordRecovery_DefaultUserNameLabelText";
+       internal const string PasswordRecovery_DefaultUserNameRequiredErrorMessage = "PasswordRecovery_DefaultUserNameRequiredErrorMessage";
+       internal const string PasswordRecovery_DefaultUserNameTitleText = "PasswordRecovery_DefaultUserNameTitleText";
+       internal const string PasswordRecovery_GeneralFailureText = "PasswordRecovery_GeneralFailureText";
+       internal const string PasswordRecovery_InvalidBorderPadding = "PasswordRecovery_InvalidBorderPadding";
+       internal const string PasswordRecovery_MailDefinition = "PasswordRecovery_MailDefinition";
+       internal const string PasswordRecovery_NoAnswerTextBox = "PasswordRecovery_NoAnswerTextBox";
+       internal const string PasswordRecovery_NoUserNameTextBox = "PasswordRecovery_NoUserNameTextBox";
+       internal const string PasswordRecovery_QuestionFailureText = "PasswordRecovery_QuestionFailureText";
+       internal const string PasswordRecovery_QuestionInstructionText = "PasswordRecovery_QuestionInstructionText";
+       internal const string PasswordRecovery_QuestionLabelText = "PasswordRecovery_QuestionLabelText";
+       internal const string PasswordRecovery_QuestionTemplate = "PasswordRecovery_QuestionTemplate";
+       internal const string PasswordRecovery_QuestionTemplateContainer = "PasswordRecovery_QuestionTemplateContainer";
+       internal const string PasswordRecovery_QuestionTitleText = "PasswordRecovery_QuestionTitleText";
+       internal const string PasswordRecovery_RecoveryNotSupported = "PasswordRecovery_RecoveryNotSupported";
+       internal const string PasswordRecovery_SendingMail = "PasswordRecovery_SendingMail";
+       internal const string PasswordRecovery_SubmitButtonStyle = "PasswordRecovery_SubmitButtonStyle";
+       internal const string PasswordRecovery_SubmitButtonType = "PasswordRecovery_SubmitButtonType";
+       internal const string PasswordRecovery_SuccessTemplate = "PasswordRecovery_SuccessTemplate";
+       internal const string PasswordRecovery_SuccessTemplateContainer = "PasswordRecovery_SuccessTemplateContainer";
+       internal const string PasswordRecovery_SuccessText = "PasswordRecovery_SuccessText";
+       internal const string PasswordRecovery_SuccessTextStyle = "PasswordRecovery_SuccessTextStyle";
+       internal const string PasswordRecovery_UserLookupError = "PasswordRecovery_UserLookupError";
+       internal const string PasswordRecovery_UserNameFailureText = "PasswordRecovery_UserNameFailureText";
+       internal const string PasswordRecovery_UserNameInstructionText = "PasswordRecovery_UserNameInstructionText";
+       internal const string PasswordRecovery_UserNameLabelText = "PasswordRecovery_UserNameLabelText";
+       internal const string PasswordRecovery_UserNameTemplate = "PasswordRecovery_UserNameTemplate";
+       internal const string PasswordRecovery_UserNameTemplateContainer = "PasswordRecovery_UserNameTemplateContainer";
+       internal const string PasswordRecovery_UserNameTitleText = "PasswordRecovery_UserNameTitleText";
+       internal const string PasswordRecovery_VerifyingAnswer = "PasswordRecovery_VerifyingAnswer";
+       internal const string PasswordRecovery_VerifyingUser = "PasswordRecovery_VerifyingUser";
+       internal const string Path_forbidden = "Path_forbidden";
+       internal const string Path_must_be_rooted = "Path_must_be_rooted";
+       internal const string Path_not_found = "Path_not_found";
+       internal const string Permission_denied_database_disable_notification = "Permission_denied_database_disable_notification";
+       internal const string Permission_denied_database_enable_notification = "Permission_denied_database_enable_notification";
+       internal const string Permission_denied_database_polling = "Permission_denied_database_polling";
+       internal const string Permission_denied_table_disable_notification = "Permission_denied_table_disable_notification";
+       internal const string Permission_denied_table_enable_notification = "Permission_denied_table_enable_notification";
+       internal const string Permission_set_not_found = "Permission_set_not_found";
+       internal const string PersonalizableTypeEntry_InvalidProperty = "PersonalizableTypeEntry_InvalidProperty";
+       internal const string PersonalizationAdmin_UnexpectedPersonalizationProviderReturnValue = "PersonalizationAdmin_UnexpectedPersonalizationProviderReturnValue";
+       internal const string PersonalizationAdmin_UnexpectedResetSharedStateReturnValue = "PersonalizationAdmin_UnexpectedResetSharedStateReturnValue";
+       internal const string PersonalizationAdmin_UnexpectedResetUserStateReturnValue = "PersonalizationAdmin_UnexpectedResetUserStateReturnValue";
+       internal const string PersonalizationDictionary_MustBeTypeDictionaryEntryArray = "PersonalizationDictionary_MustBeTypeDictionaryEntryArray";
+       internal const string PersonalizationDictionary_MustBeTypePersonalizationEntry = "PersonalizationDictionary_MustBeTypePersonalizationEntry";
+       internal const string PersonalizationDictionary_MustBeTypeString = "PersonalizationDictionary_MustBeTypeString";
+       internal const string PersonalizationProvider_ApplicationNameExceedMaxLength = "PersonalizationProvider_ApplicationNameExceedMaxLength";
+       internal const string PersonalizationProvider_BadConnection = "PersonalizationProvider_BadConnection";
+       internal const string PersonalizationProvider_CantAccess = "PersonalizationProvider_CantAccess";
+       internal const string PersonalizationProvider_NoConnection = "PersonalizationProvider_NoConnection";
+       internal const string PersonalizationProvider_UnknownProp = "PersonalizationProvider_UnknownProp";
+       internal const string PersonalizationProvider_WrongType = "PersonalizationProvider_WrongType";
+       internal const string PersonalizationProviderHelper_CannotHaveCommaInString = "PersonalizationProviderHelper_CannotHaveCommaInString";
+       internal const string PersonalizationProviderHelper_Empty_Collection = "PersonalizationProviderHelper_Empty_Collection";
+       internal const string PersonalizationProviderHelper_Invalid_Less_Than_Parameter = "PersonalizationProviderHelper_Invalid_Less_Than_Parameter";
+       internal const string PersonalizationProviderHelper_More_Than_One_Path = "PersonalizationProviderHelper_More_Than_One_Path";
+       internal const string PersonalizationProviderHelper_Negative_Integer = "PersonalizationProviderHelper_Negative_Integer";
+       internal const string PersonalizationProviderHelper_No_Usernames_Set_In_Shared_Scope = "PersonalizationProviderHelper_No_Usernames_Set_In_Shared_Scope";
+       internal const string PersonalizationProviderHelper_Null_Entries = "PersonalizationProviderHelper_Null_Entries";
+       internal const string PersonalizationProviderHelper_Null_Or_Empty_String_Entries = "PersonalizationProviderHelper_Null_Or_Empty_String_Entries";
+       internal const string PersonalizationProviderHelper_Trimmed_Entry_Value_Exceed_Maximum_Length = "PersonalizationProviderHelper_Trimmed_Entry_Value_Exceed_Maximum_Length";
+       internal const string PersonalizationProviderHelper_TrimmedEmptyString = "PersonalizationProviderHelper_TrimmedEmptyString";
+       internal const string PersonalizationStateInfoCollection_CouldNotAddSharedStateInfo = "PersonalizationStateInfoCollection_CouldNotAddSharedStateInfo";
+       internal const string PersonalizationStateInfoCollection_CouldNotAddUserStateInfo = "PersonalizationStateInfoCollection_CouldNotAddUserStateInfo";
+       internal const string PersonalizationStateQuery_IncorrectValueType = "PersonalizationStateQuery_IncorrectValueType";
+       internal const string Physical_path_not_allowed = "Physical_path_not_allowed";
+       internal const string Polling_not_enabled_for_sql_cache = "Polling_not_enabled_for_sql_cache";
+       internal const string Polltime_zero_for_database_sql_cache = "Polltime_zero_for_database_sql_cache";
+       internal const string PolygonHotSpot_Coordinates = "PolygonHotSpot_Coordinates";
+       internal const string Postback_ctrl_not_found = "Postback_ctrl_not_found";
+       internal const string PostBackControl_ValidationGroup = "PostBackControl_ValidationGroup";
+       internal const string Pre_application_start_init_method_threw_exception = "Pre_application_start_init_method_threw_exception";
+       internal const string Precomp_stub_file = "Precomp_stub_file";
+       internal const string Previous_Page_Not_Authorized = "Previous_Page_Not_Authorized";
+       internal const string Problem_reading_caps_config = "Problem_reading_caps_config";
+       internal const string Process_information_not_available = "Process_information_not_available";
+       internal const string Profile_anonoymous_not_allowed_to_set_property = "Profile_anonoymous_not_allowed_to_set_property";
+       internal const string Profile_bad_group = "Profile_bad_group";
+       internal const string Profile_bad_name = "Profile_bad_name";
+       internal const string Profile_could_not_create_type = "Profile_could_not_create_type";
+       internal const string Profile_default_provider_not_found = "Profile_default_provider_not_found";
+       internal const string Profile_default_provider_not_specified = "Profile_default_provider_not_specified";
+       internal const string Profile_group_not_found = "Profile_group_not_found";
+       internal const string Profile_name_can_not_be_empty = "Profile_name_can_not_be_empty";
+       internal const string Profile_name_can_not_contain_period = "Profile_name_can_not_contain_period";
+       internal const string Profile_not_enabled = "Profile_not_enabled";
+       internal const string Profile_not_precomped = "Profile_not_precomped";
+       internal const string Profile_property_already_added = "Profile_property_already_added";
+       internal const string Profile_provider_not_found = "Profile_provider_not_found";
+       internal const string ProfileParameter_PropertyName = "ProfileParameter_PropertyName";
+       internal const string ProfileSqlProvider_description = "ProfileSqlProvider_description";
+       internal const string Property_doesnt_have_property = "Property_doesnt_have_property";
+       internal const string Property_Had_Malformed_Url = "Property_Had_Malformed_Url";
+       internal const string Property_Invalid = "Property_Invalid";
+       internal const string Property_Not_ClsCompliant = "Property_Not_ClsCompliant";
+       internal const string Property_Not_Persistable = "Property_Not_Persistable";
+       internal const string Property_not_serializable = "Property_not_serializable";
+       internal const string Property_Not_Supported = "Property_Not_Supported";
+       internal const string Property_NullOrEmpty = "Property_NullOrEmpty";
+       internal const string Property_readonly = "Property_readonly";
+       internal const string Property_Set_Not_Supported = "Property_Set_Not_Supported";
+       internal const string Property_theme_disabled = "Property_theme_disabled";
+       internal const string PropertyCannotBeNull = "PropertyCannotBeNull";
+       internal const string PropertyCannotBeNullOrEmptyString = "PropertyCannotBeNullOrEmptyString";
+       internal const string PropertyGridEditorPart_DesignModeWebPart_BoolProperty = "PropertyGridEditorPart_DesignModeWebPart_BoolProperty";
+       internal const string PropertyGridEditorPart_DesignModeWebPart_EnumProperty = "PropertyGridEditorPart_DesignModeWebPart_EnumProperty";
+       internal const string PropertyGridEditorPart_DesignModeWebPart_StringProperty = "PropertyGridEditorPart_DesignModeWebPart_StringProperty";
+       internal const string PropertyGridEditorPart_PartTitle = "PropertyGridEditorPart_PartTitle";
+       internal const string PropertySetAfterFrameworkInitialize = "PropertySetAfterFrameworkInitialize";
+       internal const string PropertySetBeforePageEvent = "PropertySetBeforePageEvent";
+       internal const string PropertySetBeforePreInitOrAddToControls = "PropertySetBeforePreInitOrAddToControls";
+       internal const string PropertySetBeforeStyleSheetApplied = "PropertySetBeforeStyleSheetApplied";
+       internal const string Provider_application_name_too_long = "Provider_application_name_too_long";
+       internal const string Provider_bad_password_format = "Provider_bad_password_format";
+       internal const string Provider_can_not_create_file_in_this_trust_level = "Provider_can_not_create_file_in_this_trust_level";
+       internal const string Provider_can_not_decode_hashed_password = "Provider_can_not_decode_hashed_password";
+       internal const string Provider_can_not_retrieve_hashed_password = "Provider_can_not_retrieve_hashed_password";
+       internal const string Provider_does_not_support_policy_for_fragments = "Provider_does_not_support_policy_for_fragments";
+       internal const string Provider_does_not_support_policy_for_responses = "Provider_does_not_support_policy_for_responses";
+       internal const string Provider_Error = "Provider_Error";
+       internal const string Provider_missing_attribute = "Provider_missing_attribute";
+       internal const string Provider_must_implement_the_interface = "Provider_must_implement_the_interface";
+       internal const string Provider_must_implement_type = "Provider_must_implement_type";
+       internal const string Provider_no_type_name = "Provider_no_type_name";
+       internal const string Provider_Not_Found = "Provider_Not_Found";
+       internal const string Provider_role_already_exists = "Provider_role_already_exists";
+       internal const string Provider_role_not_found = "Provider_role_not_found";
+       internal const string Provider_Schema_Version_Not_Match = "Provider_Schema_Version_Not_Match";
+       internal const string Provider_this_user_already_in_role = "Provider_this_user_already_in_role";
+       internal const string Provider_this_user_already_not_in_role = "Provider_this_user_already_not_in_role";
+       internal const string Provider_this_user_not_found = "Provider_this_user_not_found";
+       internal const string Provider_unknown_failure = "Provider_unknown_failure";
+       internal const string Provider_unrecognized_attribute = "Provider_unrecognized_attribute";
+       internal const string Provider_user_not_found = "Provider_user_not_found";
+       internal const string ProxyWebPartConnectionCollection_ReadOnly = "ProxyWebPartConnectionCollection_ReadOnly";
+       internal const string QueryString_too_long = "QueryString_too_long";
+       internal const string QueryStringParameter_QueryStringField = "QueryStringParameter_QueryStringField";
+       internal const string Queue_limit_is_zero = "Queue_limit_is_zero";
+       internal const string RadioButton_GroupName = "RadioButton_GroupName";
+       internal const string RadioButtonList_CellPadding = "RadioButtonList_CellPadding";
+       internal const string RadioButtonList_CellSpacing = "RadioButtonList_CellSpacing";
+       internal const string RadioButtonList_RepeatColumns = "RadioButtonList_RepeatColumns";
+       internal const string RangeValidator_MaximumValue = "RangeValidator_MaximumValue";
+       internal const string RangeValidator_MinmumValue = "RangeValidator_MinmumValue";
+       internal const string RangeValidator_Type = "RangeValidator_Type";
+       internal const string ReadOnlyHierarchicalDataSourceView_CantAccessPathInEnumerable = "ReadOnlyHierarchicalDataSourceView_CantAccessPathInEnumerable";
+       internal const string RectangleHotSpot_Bottom = "RectangleHotSpot_Bottom";
+       internal const string RectangleHotSpot_Left = "RectangleHotSpot_Left";
+       internal const string RectangleHotSpot_Right = "RectangleHotSpot_Right";
+       internal const string RectangleHotSpot_Top = "RectangleHotSpot_Top";
+       internal const string Redirect_not_allowed_in_callback = "Redirect_not_allowed_in_callback";
+       internal const string Reference_assemblies_not_found = "Reference_assemblies_not_found";
+       internal const string Reference_not_allowed = "Reference_not_allowed";
+       internal const string Registered_async_tasks_remain = "Registered_async_tasks_remain";
+       internal const string RegularExpressionValidator_ValidationExpression = "RegularExpressionValidator_ValidationExpression";
+       internal const string Repeater_AlternatingItemTemplate = "Repeater_AlternatingItemTemplate";
+       internal const string Repeater_DataMember = "Repeater_DataMember";
+       internal const string Repeater_FooterTemplate = "Repeater_FooterTemplate";
+       internal const string Repeater_Items = "Repeater_Items";
+       internal const string Repeater_ItemTemplate = "Repeater_ItemTemplate";
+       internal const string Repeater_OnItemCommand = "Repeater_OnItemCommand";
+       internal const string Repeater_SeparatorTemplate = "Repeater_SeparatorTemplate";
+       internal const string RepeatInfo_ListLayoutDoesNotSupportHeaderFooterSeparator = "RepeatInfo_ListLayoutDoesNotSupportHeaderFooterSeparator";
+       internal const string RepeatInfo_ListLayoutDoesNotSupportImpliedOuterTable = "RepeatInfo_ListLayoutDoesNotSupportImpliedOuterTable";
+       internal const string RepeatInfo_ListLayoutDoesNotSupportMultipleColumn = "RepeatInfo_ListLayoutDoesNotSupportMultipleColumn";
+       internal const string RepeatInfo_ListLayoutOnlySupportsVerticalLayout = "RepeatInfo_ListLayoutOnlySupportsVerticalLayout";
+       internal const string Request_not_available = "Request_not_available";
+       internal const string Request_timed_out = "Request_timed_out";
+       internal const string Require_stable_string_hash_codes = "Require_stable_string_hash_codes";
+       internal const string RequiredFieldValidator_InitialValue = "RequiredFieldValidator_InitialValue";
+       internal const string Requires_Iis_7 = "Requires_Iis_7";
+       internal const string Requires_Iis_75_Integrated = "Requires_Iis_75_Integrated";
+       internal const string Requires_Iis_Integrated_Mode = "Requires_Iis_Integrated_Mode";
+       internal const string RequiresNT = "RequiresNT";
+       internal const string Res_not_found = "Res_not_found";
+       internal const string Res_not_found_with_class_and_key = "Res_not_found_with_class_and_key";
+       internal const string Reserved_AssemblyName = "Reserved_AssemblyName";
+       internal const string Resource_access_forbidden = "Resource_access_forbidden";
+       internal const string Resource_problem = "Resource_problem";
+       internal const string ResourceExpresionBuilder_PageResourceNotFound = "ResourceExpresionBuilder_PageResourceNotFound";
+       internal const string Response_not_available = "Response_not_available";
+       internal const string Result_must_be_at_the_top_browser_section = "Result_must_be_at_the_top_browser_section";
+       internal const string Role_is_not_empty = "Role_is_not_empty";
+       internal const string Role_Principal_not_fully_constructed = "Role_Principal_not_fully_constructed";
+       internal const string Role_provider_name_invalid = "Role_provider_name_invalid";
+       internal const string RoleAuthStoreProvider_description = "RoleAuthStoreProvider_description";
+       internal const string RoleGroupCollection_InvalidType = "RoleGroupCollection_InvalidType";
+       internal const string Roles_feature_not_enabled = "Roles_feature_not_enabled";
+       internal const string RoleSqlProvider_description = "RoleSqlProvider_description";
+       internal const string RoleWindowsTokenProvider_description = "RoleWindowsTokenProvider_description";
+       internal const string Route_CannotHaveCatchAllInMultiSegment = "Route_CannotHaveCatchAllInMultiSegment";
+       internal const string Route_CannotHaveConsecutiveParameters = "Route_CannotHaveConsecutiveParameters";
+       internal const string Route_CannotHaveConsecutiveSeparators = "Route_CannotHaveConsecutiveSeparators";
+       internal const string Route_CatchAllMustBeLast = "Route_CatchAllMustBeLast";
+       internal const string Route_InvalidParameterName = "Route_InvalidParameterName";
+       internal const string Route_InvalidRouteUrl = "Route_InvalidRouteUrl";
+       internal const string Route_MismatchedParameter = "Route_MismatchedParameter";
+       internal const string Route_RepeatedParameter = "Route_RepeatedParameter";
+       internal const string Route_ValidationMustBeStringOrCustomConstraint = "Route_ValidationMustBeStringOrCustomConstraint";
+       internal const string RouteCollection_DuplicateEntry = "RouteCollection_DuplicateEntry";
+       internal const string RouteCollection_DuplicateName = "RouteCollection_DuplicateName";
+       internal const string RouteCollection_NameNotFound = "RouteCollection_NameNotFound";
+       internal const string RouteCollection_RequiresContext = "RouteCollection_RequiresContext";
+       internal const string RouteData_RequiredValue = "RouteData_RequiredValue";
+       internal const string RouteParameter_RouteKey = "RouteParameter_RouteKey";
+       internal const string RouteTable_ContextMissingRequest = "RouteTable_ContextMissingRequest";
+       internal const string RouteUrlExpression_InvalidExpression = "RouteUrlExpression_InvalidExpression";
+       internal const string RowToFieldTransformer_FieldName = "RowToFieldTransformer_FieldName";
+       internal const string RowToFieldTransformer_NoProviderSchema = "RowToFieldTransformer_NoProviderSchema";
+       internal const string RowToParametersTransformer_ConsumerFieldName = "RowToParametersTransformer_ConsumerFieldName";
+       internal const string RowToParametersTransformer_DifferentFieldNamesLength = "RowToParametersTransformer_DifferentFieldNamesLength";
+       internal const string RowToParametersTransformer_NoConsumerSchema = "RowToParametersTransformer_NoConsumerSchema";
+       internal const string RowToParametersTransformer_NoProviderSchema = "RowToParametersTransformer_NoProviderSchema";
+       internal const string RowToParametersTransformer_ProviderFieldName = "RowToParametersTransformer_ProviderFieldName";
+       internal const string RSA_Key_Container_access_denied = "RSA_Key_Container_access_denied";
+       internal const string RSA_Key_Container_already_exists = "RSA_Key_Container_already_exists";
+       internal const string RSA_Key_Container_not_found = "RSA_Key_Container_not_found";
+       internal const string Runat_can_only_be_server = "Runat_can_only_be_server";
+       internal const string Sample_Databound_Text = "Sample_Databound_Text";
+       internal const string SaveAs_requires_rooted_path = "SaveAs_requires_rooted_path";
+       internal const string Script_tag_without_src_must_have_content = "Script_tag_without_src_must_have_content";
+       internal const string Security_Err_Desc = "Security_Err_Desc";
+       internal const string Security_Err_Error = "Security_Err_Error";
+       internal const string Server_execute_blocked_on_async_handler = "Server_execute_blocked_on_async_handler";
+       internal const string Server_not_available = "Server_not_available";
+       internal const string Server_Support_Function_Error = "Server_Support_Function_Error";
+       internal const string Server_Support_Function_Error_Disconnect = "Server_Support_Function_Error_Disconnect";
+       internal const string Server_tags_cant_contain_percent_constructs = "Server_tags_cant_contain_percent_constructs";
+       internal const string Server_too_busy = "Server_too_busy";
+       internal const string Server_variable_cannot_be_modified = "Server_variable_cannot_be_modified";
+       internal const string Session_id_too_long = "Session_id_too_long";
+       internal const string Session_not_available = "Session_not_available";
+       internal const string Session_not_enabled = "Session_not_enabled";
+       internal const string Session_state_need_higher_trust = "Session_state_need_higher_trust";
+       internal const string SessionIDManager_InitializeRequest_not_called = "SessionIDManager_InitializeRequest_not_called";
+       internal const string SessionIDManager_uninit = "SessionIDManager_uninit";
+       internal const string SessionPageStatePersister_SessionMustBeEnabled = "SessionPageStatePersister_SessionMustBeEnabled";
+       internal const string SessionParameter_SessionField = "SessionParameter_SessionField";
+       internal const string SetStyleSheetThemeCannotBeSet = "SetStyleSheetThemeCannotBeSet";
+       internal const string SiteMap_feature_disabled = "SiteMap_feature_disabled";
+       internal const string SiteMapDataSource_ContainsListCollection = "SiteMapDataSource_ContainsListCollection";
+       internal const string SiteMapDataSource_DefaultProviderNotFound = "SiteMapDataSource_DefaultProviderNotFound";
+       internal const string SiteMapDataSource_Description = "SiteMapDataSource_Description";
+       internal const string SiteMapDataSource_DisplayName = "SiteMapDataSource_DisplayName";
+       internal const string SiteMapDataSource_Provider = "SiteMapDataSource_Provider";
+       internal const string SiteMapDataSource_ProviderNotFound = "SiteMapDataSource_ProviderNotFound";
+       internal const string SiteMapDataSource_ShowStartingNode = "SiteMapDataSource_ShowStartingNode";
+       internal const string SiteMapDataSource_SiteMapProvider = "SiteMapDataSource_SiteMapProvider";
+       internal const string SiteMapDataSource_StartFromCurrentNode = "SiteMapDataSource_StartFromCurrentNode";
+       internal const string SiteMapDataSource_StartingNodeOffset = "SiteMapDataSource_StartingNodeOffset";
+       internal const string SiteMapDataSource_StartingNodeUrl = "SiteMapDataSource_StartingNodeUrl";
+       internal const string SiteMapDataSource_StartingNodeUrlAndStartFromcurrentNode_Defined = "SiteMapDataSource_StartingNodeUrlAndStartFromcurrentNode_Defined";
+       internal const string SiteMapNode_readonly = "SiteMapNode_readonly";
+       internal const string SiteMapNodeCollection_Invalid_Type = "SiteMapNodeCollection_Invalid_Type";
+       internal const string SiteMapPath_CannotFindUrl = "SiteMapPath_CannotFindUrl";
+       internal const string SiteMapPath_CurrentNodeStyle = "SiteMapPath_CurrentNodeStyle";
+       internal const string SiteMapPath_CurrentNodeTemplate = "SiteMapPath_CurrentNodeTemplate";
+       internal const string SiteMapPath_Default_SkipToContentText = "SiteMapPath_Default_SkipToContentText";
+       internal const string SiteMapPath_NodeStyle = "SiteMapPath_NodeStyle";
+       internal const string SiteMapPath_NodeTemplate = "SiteMapPath_NodeTemplate";
+       internal const string SiteMapPath_OnItemDataBound = "SiteMapPath_OnItemDataBound";
+       internal const string SiteMapPath_ParentLevelsDisplayed = "SiteMapPath_ParentLevelsDisplayed";
+       internal const string SiteMapPath_PathDirection = "SiteMapPath_PathDirection";
+       internal const string SiteMapPath_PathSeparator = "SiteMapPath_PathSeparator";
+       internal const string SiteMapPath_PathSeparatorStyle = "SiteMapPath_PathSeparatorStyle";
+       internal const string SiteMapPath_PathSeparatorTemplate = "SiteMapPath_PathSeparatorTemplate";
+       internal const string SiteMapPath_Provider = "SiteMapPath_Provider";
+       internal const string SiteMapPath_RenderCurrentNodeAsLink = "SiteMapPath_RenderCurrentNodeAsLink";
+       internal const string SiteMapPath_RootNodeStyle = "SiteMapPath_RootNodeStyle";
+       internal const string SiteMapPath_RootNodeTemplate = "SiteMapPath_RootNodeTemplate";
+       internal const string SiteMapPath_ShowToolTips = "SiteMapPath_ShowToolTips";
+       internal const string SiteMapPath_SiteMapProvider = "SiteMapPath_SiteMapProvider";
+       internal const string SiteMapPath_SkipToContentText = "SiteMapPath_SkipToContentText";
+       internal const string SiteMapProvider_cannot_remove_root_node = "SiteMapProvider_cannot_remove_root_node";
+       internal const string SiteMapProvider_Circular_Provider = "SiteMapProvider_Circular_Provider";
+       internal const string SiteMapProvider_Invalid_RootNode = "SiteMapProvider_Invalid_RootNode";
+       internal const string SiteMapProvider_Multiple_Providers_With_Identical_Name = "SiteMapProvider_Multiple_Providers_With_Identical_Name";
+       internal const string SMTP_TypeCreationError = "SMTP_TypeCreationError";
+       internal const string SmtpMail_not_supported_on_Win7_and_higher = "SmtpMail_not_supported_on_Win7_and_higher";
+       internal const string Space_attribute = "Space_attribute";
+       internal const string Special_module_cannot_be_added_manually = "Special_module_cannot_be_added_manually";
+       internal const string Special_module_cannot_be_removed_manually = "Special_module_cannot_be_removed_manually";
+       internal const string SQL_Services_Cant_connect_sql_database = "SQL_Services_Cant_connect_sql_database";
+       internal const string SQL_Services_Database_contains_invalid_chars = "SQL_Services_Database_contains_invalid_chars";
+       internal const string SQL_Services_Database_Empty_Or_Space_Only_Arg = "SQL_Services_Database_Empty_Or_Space_Only_Arg";
+       internal const string SQL_Services_Error_Cant_Uninstall_Nonempty_Table = "SQL_Services_Error_Cant_Uninstall_Nonempty_Table";
+       internal const string SQL_Services_Error_Cant_Uninstall_Nonexisting_Database = "SQL_Services_Error_Cant_Uninstall_Nonexisting_Database";
+       internal const string SQL_Services_Error_Cant_use_custom_database = "SQL_Services_Error_Cant_use_custom_database";
+       internal const string SQL_Services_Error_Deleting_Session_Job = "SQL_Services_Error_Deleting_Session_Job";
+       internal const string SQL_Services_Error_Executing_Command = "SQL_Services_Error_Executing_Command";
+       internal const string SQL_Services_Error_missing_custom_database = "SQL_Services_Error_missing_custom_database";
+       internal const string SQL_Services_Invalid_Feature = "SQL_Services_Invalid_Feature";
+       internal const string Sql_webevent_provider_events_dropped = "Sql_webevent_provider_events_dropped";
+       internal const string SqlCacheDependency_OutputCache_Conflict = "SqlCacheDependency_OutputCache_Conflict";
+       internal const string SqlCacheDependency_permission_denied = "SqlCacheDependency_permission_denied";
+       internal const string SqlDataSource_CancelSelectOnNullParameter = "SqlDataSource_CancelSelectOnNullParameter";
+       internal const string SqlDataSource_ConflictDetection = "SqlDataSource_ConflictDetection";
+       internal const string SqlDataSource_ConnectionString = "SqlDataSource_ConnectionString";
+       internal const string SqlDataSource_DataSourceMode = "SqlDataSource_DataSourceMode";
+       internal const string SqlDataSource_DeleteCommand = "SqlDataSource_DeleteCommand";
+       internal const string SqlDataSource_DeleteCommandType = "SqlDataSource_DeleteCommandType";
+       internal const string SqlDataSource_DeleteParameters = "SqlDataSource_DeleteParameters";
+       internal const string SqlDataSource_Description = "SqlDataSource_Description";
+       internal const string SqlDataSource_DisplayName = "SqlDataSource_DisplayName";
+       internal const string SqlDataSource_FilterExpression = "SqlDataSource_FilterExpression";
+       internal const string SqlDataSource_FilterParameters = "SqlDataSource_FilterParameters";
+       internal const string SqlDataSource_InsertCommand = "SqlDataSource_InsertCommand";
+       internal const string SqlDataSource_InsertCommandType = "SqlDataSource_InsertCommandType";
+       internal const string SqlDataSource_InsertParameters = "SqlDataSource_InsertParameters";
+       internal const string SqlDataSource_InvalidMode = "SqlDataSource_InvalidMode";
+       internal const string SqlDataSource_NoDbPermission = "SqlDataSource_NoDbPermission";
+       internal const string SqlDataSource_ProviderName = "SqlDataSource_ProviderName";
+       internal const string SqlDataSource_SelectCommand = "SqlDataSource_SelectCommand";
+       internal const string SqlDataSource_SelectCommandType = "SqlDataSource_SelectCommandType";
+       internal const string SqlDataSource_Selected = "SqlDataSource_Selected";
+       internal const string SqlDataSource_Selecting = "SqlDataSource_Selecting";
+       internal const string SqlDataSource_SelectParameters = "SqlDataSource_SelectParameters";
+       internal const string SqlDataSource_SortParameterName = "SqlDataSource_SortParameterName";
+       internal const string SqlDataSource_SqlCacheDependencyNotSupported = "SqlDataSource_SqlCacheDependencyNotSupported";
+       internal const string SqlDataSource_UpdateCommand = "SqlDataSource_UpdateCommand";
+       internal const string SqlDataSource_UpdateCommandType = "SqlDataSource_UpdateCommandType";
+       internal const string SqlDataSource_UpdateParameters = "SqlDataSource_UpdateParameters";
+       internal const string SqlDataSourceCache_SqlCacheDependency = "SqlDataSourceCache_SqlCacheDependency";
+       internal const string SqlDataSourceView_CacheNotSupported = "SqlDataSourceView_CacheNotSupported";
+       internal const string SqlDataSourceView_CommandNotificationNotSupported = "SqlDataSourceView_CommandNotificationNotSupported";
+       internal const string SqlDataSourceView_CouldNotCreateConnection = "SqlDataSourceView_CouldNotCreateConnection";
+       internal const string SqlDataSourceView_CountNotValid = "SqlDataSourceView_CountNotValid";
+       internal const string SqlDataSourceView_DeleteNotSupported = "SqlDataSourceView_DeleteNotSupported";
+       internal const string SqlDataSourceView_FilterNotSupported = "SqlDataSourceView_FilterNotSupported";
+       internal const string SqlDataSourceView_InsertNotSupported = "SqlDataSourceView_InsertNotSupported";
+       internal const string SqlDataSourceView_MissingParameters = "SqlDataSourceView_MissingParameters";
+       internal const string SqlDataSourceView_NoPaging = "SqlDataSourceView_NoPaging";
+       internal const string SqlDataSourceView_NoParameters = "SqlDataSourceView_NoParameters";
+       internal const string SqlDataSourceView_NoRowCount = "SqlDataSourceView_NoRowCount";
+       internal const string SqlDataSourceView_NoSorting = "SqlDataSourceView_NoSorting";
+       internal const string SqlDataSourceView_Pessimistic = "SqlDataSourceView_Pessimistic";
+       internal const string SqlDataSourceView_SortNotSupported = "SqlDataSourceView_SortNotSupported";
+       internal const string SqlDataSourceView_SortParameterRequiresStoredProcedure = "SqlDataSourceView_SortParameterRequiresStoredProcedure";
+       internal const string SqlDataSourceView_UpdateNotSupported = "SqlDataSourceView_UpdateNotSupported";
+       internal const string SqlError_Connection_String = "SqlError_Connection_String";
+       internal const string SqlExpress_file_not_found = "SqlExpress_file_not_found";
+       internal const string SqlExpress_file_not_found_in_connection_string = "SqlExpress_file_not_found_in_connection_string";
+       internal const string SqlExpress_MDF_File_Auto_Creation = "SqlExpress_MDF_File_Auto_Creation";
+       internal const string SqlExpress_MDF_File_Auto_Creation_1 = "SqlExpress_MDF_File_Auto_Creation_1";
+       internal const string SqlExpress_MDF_File_Auto_Creation_2 = "SqlExpress_MDF_File_Auto_Creation_2";
+       internal const string SqlExpress_MDF_File_Auto_Creation_3 = "SqlExpress_MDF_File_Auto_Creation_3";
+       internal const string SqlExpress_MDF_File_Auto_Creation_4 = "SqlExpress_MDF_File_Auto_Creation_4";
+       internal const string SqlExpress_MDF_File_Auto_Creation_MiscSectionTitle = "SqlExpress_MDF_File_Auto_Creation_MiscSectionTitle";
+       internal const string SqlExpressError_CanNotWriteToDataDir_Description = "SqlExpressError_CanNotWriteToDataDir_Description";
+       internal const string SqlExpressError_CanNotWriteToDataDir_Description_2 = "SqlExpressError_CanNotWriteToDataDir_Description_2";
+       internal const string SqlExpressError_CanNotWriteToDataDir_Title = "SqlExpressError_CanNotWriteToDataDir_Title";
+       internal const string SqlExpressError_CanNotWriteToDbfFile_Description = "SqlExpressError_CanNotWriteToDbfFile_Description";
+       internal const string SqlExpressError_CanNotWriteToDbfFile_Description_2 = "SqlExpressError_CanNotWriteToDbfFile_Description_2";
+       internal const string SqlExpressError_CanNotWriteToDbfFile_Title = "SqlExpressError_CanNotWriteToDbfFile_Title";
+       internal const string SqlExpressError_Description_1 = "SqlExpressError_Description_1";
+       internal const string SqlPersonalizationProvider_Description = "SqlPersonalizationProvider_Description";
+       internal const string Src_not_available = "Src_not_available";
+       internal const string Src_not_available_nodebug = "Src_not_available_nodebug";
+       internal const string State_Server_detailed_error = "State_Server_detailed_error";
+       internal const string State_Server_detailed_error_phase0 = "State_Server_detailed_error_phase0";
+       internal const string State_Server_detailed_error_phase1 = "State_Server_detailed_error_phase1";
+       internal const string State_Server_detailed_error_phase2 = "State_Server_detailed_error_phase2";
+       internal const string State_Server_detailed_error_phase3 = "State_Server_detailed_error_phase3";
+       internal const string StateApplication_FullTrustOnly = "StateApplication_FullTrustOnly";
+       internal const string StateManagedCollection_InvalidIndex = "StateManagedCollection_InvalidIndex";
+       internal const string StateManagedCollection_NoKnownTypes = "StateManagedCollection_NoKnownTypes";
+       internal const string StringPropertyBuilder_CannotHaveChildObjects = "StringPropertyBuilder_CannotHaveChildObjects";
+       internal const string StringUtil_Trimmed_String_Exceed_Maximum_Length = "StringUtil_Trimmed_String_Exceed_Maximum_Length";
+       internal const string Style_BackColor = "Style_BackColor";
+       internal const string Style_BorderColor = "Style_BorderColor";
+       internal const string Style_BorderStyle = "Style_BorderStyle";
+       internal const string Style_BorderWidth = "Style_BorderWidth";
+       internal const string Style_CSSClass = "Style_CSSClass";
+       internal const string Style_Font = "Style_Font";
+       internal const string Style_ForeColor = "Style_ForeColor";
+       internal const string Style_Height = "Style_Height";
+       internal const string Style_InvalidBorderWidth = "Style_InvalidBorderWidth";
+       internal const string Style_InvalidHeight = "Style_InvalidHeight";
+       internal const string Style_InvalidWidth = "Style_InvalidWidth";
+       internal const string Style_RegisteredStylesAreReadOnly = "Style_RegisteredStylesAreReadOnly";
+       internal const string Style_Width = "Style_Width";
+       internal const string StyleSheetAreadyAppliedOnControl = "StyleSheetAreadyAppliedOnControl";
+       internal const string SubMenuStyle_HorizontalPadding = "SubMenuStyle_HorizontalPadding";
+       internal const string SubMenuStyle_VerticalPadding = "SubMenuStyle_VerticalPadding";
+       internal const string SubMenuStyleCollection_InvalidArgument = "SubMenuStyleCollection_InvalidArgument";
+       internal const string Substitution_BadMethodName = "Substitution_BadMethodName";
+       internal const string Substitution_blocks_cannot_be_modified = "Substitution_blocks_cannot_be_modified";
+       internal const string Substitution_CannotBeInCachedControl = "Substitution_CannotBeInCachedControl";
+       internal const string Substitution_MethodNameDescr = "Substitution_MethodNameDescr";
+       internal const string Substitution_NotAllowed = "Substitution_NotAllowed";
+       internal const string Substitution_SiteNotAllowed = "Substitution_SiteNotAllowed";
+       internal const string Success_precompile = "Success_precompile";
+       internal const string Sync_not_supported = "Sync_not_supported";
+       internal const string SynchronizationContextUtil_AddDowngradeAppSettingsSwitch = "SynchronizationContextUtil_AddDowngradeAppSettingsSwitch";
+       internal const string SynchronizationContextUtil_AspCompatModeNotCompatible = "SynchronizationContextUtil_AspCompatModeNotCompatible";
+       internal const string SynchronizationContextUtil_ForMoreInformation = "SynchronizationContextUtil_ForMoreInformation";
+       internal const string SynchronizationContextUtil_PageAsyncTaskTimeoutHandlerParallelNotCompatible = "SynchronizationContextUtil_PageAsyncTaskTimeoutHandlerParallelNotCompatible";
+       internal const string SynchronizationContextUtil_PageAsyncVoidMethodsNotCompatible = "SynchronizationContextUtil_PageAsyncVoidMethodsNotCompatible";
+       internal const string SynchronizationContextUtil_RemoveAppSettingsSwitch = "SynchronizationContextUtil_RemoveAppSettingsSwitch";
+       internal const string SynchronizationContextUtil_TaskReturningPageAsyncMethodsNotCompatible = "SynchronizationContextUtil_TaskReturningPageAsyncMethodsNotCompatible";
+       internal const string SynchronizationContextUtil_UpgradeToTargetFramework45Instructions = "SynchronizationContextUtil_UpgradeToTargetFramework45Instructions";
+       internal const string SynchronizationContextUtil_WebSocketsNotCompatible = "SynchronizationContextUtil_WebSocketsNotCompatible";
+       internal const string System_eventCode_not_allowed = "System_eventCode_not_allowed";
+       internal const string Table_BackImageUrl = "Table_BackImageUrl";
+       internal const string Table_Caption = "Table_Caption";
+       internal const string Table_CellPadding = "Table_CellPadding";
+       internal const string Table_CellSpacing = "Table_CellSpacing";
+       internal const string Table_GridLines = "Table_GridLines";
+       internal const string Table_HorizontalAlign = "Table_HorizontalAlign";
+       internal const string Table_not_enabled_for_notification = "Table_not_enabled_for_notification";
+       internal const string Table_Rows = "Table_Rows";
+       internal const string Table_SectionsMustBeInOrder = "Table_SectionsMustBeInOrder";
+       internal const string Table_UseAccessibleHeader = "Table_UseAccessibleHeader";
+       internal const string TableCell_AssociatedHeaderCellID = "TableCell_AssociatedHeaderCellID";
+       internal const string TableCell_AssociatedHeaderCellNotFound = "TableCell_AssociatedHeaderCellNotFound";
+       internal const string TableCell_ColumnSpan = "TableCell_ColumnSpan";
+       internal const string TableCell_RowSpan = "TableCell_RowSpan";
+       internal const string TableCell_Text = "TableCell_Text";
+       internal const string TableCell_Wrap = "TableCell_Wrap";
+       internal const string TableHeaderCell_AbbreviatedText = "TableHeaderCell_AbbreviatedText";
+       internal const string TableHeaderCell_CategoryText = "TableHeaderCell_CategoryText";
+       internal const string TableHeaderCell_Scope = "TableHeaderCell_Scope";
+       internal const string TableItem_HorizontalAlign = "TableItem_HorizontalAlign";
+       internal const string TableItem_VerticalAlign = "TableItem_VerticalAlign";
+       internal const string TableItemStyle_Wrap = "TableItemStyle_Wrap";
+       internal const string TableRow_Cells = "TableRow_Cells";
+       internal const string TableRow_TableSection = "TableRow_TableSection";
+       internal const string TableSectionStyle_Visible = "TableSectionStyle_Visible";
+       internal const string TableStyle_BackImageUrl = "TableStyle_BackImageUrl";
+       internal const string TableStyle_CellPadding = "TableStyle_CellPadding";
+       internal const string TableStyle_CellSpacing = "TableStyle_CellSpacing";
+       internal const string TableStyle_GridLines = "TableStyle_GridLines";
+       internal const string TableStyle_HorizontalAlign = "TableStyle_HorizontalAlign";
+       internal const string TableStyle_InvalidCellPadding = "TableStyle_InvalidCellPadding";
+       internal const string TableStyle_InvalidCellSpacing = "TableStyle_InvalidCellSpacing";
+       internal const string TaskAsyncHelper_ParameterInvalid = "TaskAsyncHelper_ParameterInvalid";
+       internal const string TemplateColumn_EditItemTemplate = "TemplateColumn_EditItemTemplate";
+       internal const string TemplateColumn_FooterTemplate = "TemplateColumn_FooterTemplate";
+       internal const string TemplateColumn_HeaderTemplate = "TemplateColumn_HeaderTemplate";
+       internal const string TemplateColumn_ItemTemplate = "TemplateColumn_ItemTemplate";
+       internal const string TemplateControl_DataBindingRequiresPage = "TemplateControl_DataBindingRequiresPage";
+       internal const string TemplatedWizardStep_ContentTemplate = "TemplatedWizardStep_ContentTemplate";
+       internal const string TemplatedWizardStep_CustomNavigationTemplate = "TemplatedWizardStep_CustomNavigationTemplate";
+       internal const string TemplateField_AlternatingItemTemplate = "TemplateField_AlternatingItemTemplate";
+       internal const string TemplateField_CallbacksNotSupported = "TemplateField_CallbacksNotSupported";
+       internal const string TemplateField_EditItemTemplate = "TemplateField_EditItemTemplate";
+       internal const string TemplateField_FooterTemplate = "TemplateField_FooterTemplate";
+       internal const string TemplateField_HeaderTemplate = "TemplateField_HeaderTemplate";
+       internal const string TemplateField_InsertItemTemplate = "TemplateField_InsertItemTemplate";
+       internal const string TemplateField_ItemTemplate = "TemplateField_ItemTemplate";
+       internal const string TextBox_AutoCompleteType = "TextBox_AutoCompleteType";
+       internal const string TextBox_AutoPostBack = "TextBox_AutoPostBack";
+       internal const string TextBox_Columns = "TextBox_Columns";
+       internal const string TextBox_InvalidColumns = "TextBox_InvalidColumns";
+       internal const string TextBox_InvalidRows = "TextBox_InvalidRows";
+       internal const string TextBox_MaxLength = "TextBox_MaxLength";
+       internal const string TextBox_OnTextChanged = "TextBox_OnTextChanged";
+       internal const string TextBox_ReadOnly = "TextBox_ReadOnly";
+       internal const string TextBox_Rows = "TextBox_Rows";
+       internal const string TextBox_Text = "TextBox_Text";
+       internal const string TextBox_TextMode = "TextBox_TextMode";
+       internal const string TextBox_Wrap = "TextBox_Wrap";
+       internal const string Thread_pool_limit_must_be_greater_than_minFreeThreads = "Thread_pool_limit_must_be_greater_than_minFreeThreads";
+       internal const string Timeout_must_be_positive = "Timeout_must_be_positive";
+       internal const string TmplCompilerCompleteOutput = "TmplCompilerCompleteOutput";
+       internal const string TmplCompilerErrorDesc = "TmplCompilerErrorDesc";
+       internal const string TmplCompilerErrorSecTitle = "TmplCompilerErrorSecTitle";
+       internal const string TmplCompilerErrorTitle = "TmplCompilerErrorTitle";
+       internal const string TmplCompilerFatalError = "TmplCompilerFatalError";
+       internal const string TmplCompilerGeneratedFile = "TmplCompilerGeneratedFile";
+       internal const string TmplCompilerLineHeader = "TmplCompilerLineHeader";
+       internal const string TmplCompilerSourceFileLine = "TmplCompilerSourceFileLine";
+       internal const string TmplCompilerSourceFileTitle = "TmplCompilerSourceFileTitle";
+       internal const string TmplCompilerSourceSecTitle = "TmplCompilerSourceSecTitle";
+       internal const string TmplCompilerWarningBanner = "TmplCompilerWarningBanner";
+       internal const string TmplCompilerWarningSecTitle = "TmplCompilerWarningSecTitle";
+       internal const string TmplConfigurationAdditionalError = "TmplConfigurationAdditionalError";
+       internal const string Too_early_for_webfile = "Too_early_for_webfile";
+       internal const string Too_late_for_RegisterRequiresViewStateEncryption = "Too_late_for_RegisterRequiresViewStateEncryption";
+       internal const string Too_late_for_ViewStateUserKey = "Too_late_for_ViewStateUserKey";
+       internal const string Too_many_controls = "Too_many_controls";
+       internal const string Too_many_dependencies = "Too_many_dependencies";
+       internal const string Too_many_direct_dependencies = "Too_many_direct_dependencies";
+       internal const string Too_many_filters = "Too_many_filters";
+       internal const string ToolZone_CantSetVisible = "ToolZone_CantSetVisible";
+       internal const string ToolZone_DisplayModesReadOnly = "ToolZone_DisplayModesReadOnly";
+       internal const string ToolZone_EditUIStyle = "ToolZone_EditUIStyle";
+       internal const string ToolZone_HeaderCloseVerb = "ToolZone_HeaderCloseVerb";
+       internal const string ToolZone_HeaderVerbStyle = "ToolZone_HeaderVerbStyle";
+       internal const string ToolZone_InstructionText = "ToolZone_InstructionText";
+       internal const string ToolZone_InstructionTextStyle = "ToolZone_InstructionTextStyle";
+       internal const string ToolZone_LabelStyle = "ToolZone_LabelStyle";
+       internal const string Trace_Application_Key = "Trace_Application_Key";
+       internal const string Trace_Application_State = "Trace_Application_State";
+       internal const string Trace_Application_Trace = "Trace_Application_Trace";
+       internal const string Trace_Category = "Trace_Category";
+       internal const string Trace_Clear_Current = "Trace_Clear_Current";
+       internal const string Trace_Control_Id = "Trace_Control_Id";
+       internal const string Trace_Control_Tree = "Trace_Control_Tree";
+       internal const string Trace_Controlstate_Size = "Trace_Controlstate_Size";
+       internal const string Trace_Controlstate_Size_Nochildren = "Trace_Controlstate_Size_Nochildren";
+       internal const string Trace_Error_Enabled_Description = "Trace_Error_Enabled_Description";
+       internal const string Trace_Error_Enabled_Details_Desc = "Trace_Error_Enabled_Details_Desc";
+       internal const string Trace_Error_Enabled_Details_Sample = "Trace_Error_Enabled_Details_Sample";
+       internal const string Trace_Error_LocalOnly_Description = "Trace_Error_LocalOnly_Description";
+       internal const string Trace_Error_LocalOnly_Details_Desc = "Trace_Error_LocalOnly_Details_Desc";
+       internal const string Trace_Error_LocalOnly_Details_Sample = "Trace_Error_LocalOnly_Details_Sample";
+       internal const string Trace_Error_Title = "Trace_Error_Title";
+       internal const string Trace_File = "Trace_File";
+       internal const string Trace_Form_Collection = "Trace_Form_Collection";
+       internal const string Trace_From_First = "Trace_From_First";
+       internal const string Trace_From_Last = "Trace_From_Last";
+       internal const string Trace_Headers_Collection = "Trace_Headers_Collection";
+       internal const string Trace_Message = "Trace_Message";
+       internal const string Trace_Name = "Trace_Name";
+       internal const string Trace_No = "Trace_No";
+       internal const string Trace_Page = "Trace_Page";
+       internal const string Trace_Parent_Id = "Trace_Parent_Id";
+       internal const string Trace_Physical_Directory = "Trace_Physical_Directory";
+       internal const string Trace_Querystring_Collection = "Trace_Querystring_Collection";
+       internal const string Trace_Remaining = "Trace_Remaining";
+       internal const string Trace_Render_Size = "Trace_Render_Size";
+       internal const string Trace_Render_Size_children = "Trace_Render_Size_children";
+       internal const string Trace_Request = "Trace_Request";
+       internal const string Trace_Request_Cookies_Collection = "Trace_Request_Cookies_Collection";
+       internal const string Trace_Request_Details = "Trace_Request_Details";
+       internal const string Trace_Request_Encoding = "Trace_Request_Encoding";
+       internal const string Trace_Request_Type = "Trace_Request_Type";
+       internal const string Trace_Requests_This = "Trace_Requests_This";
+       internal const string Trace_Response_Cookies_Collection = "Trace_Response_Cookies_Collection";
+       internal const string Trace_Response_Encoding = "Trace_Response_Encoding";
+       internal const string Trace_Response_Headers_Collection = "Trace_Response_Headers_Collection";
+       internal const string Trace_Server_Variables = "Trace_Server_Variables";
+       internal const string Trace_Session_Id = "Trace_Session_Id";
+       internal const string Trace_Session_Key = "Trace_Session_Key";
+       internal const string Trace_Session_State = "Trace_Session_State";
+       internal const string Trace_Size = "Trace_Size";
+       internal const string Trace_Status_Code = "Trace_Status_Code";
+       internal const string Trace_Time_of_Request = "Trace_Time_of_Request";
+       internal const string Trace_Trace_Information = "Trace_Trace_Information";
+       internal const string Trace_Type = "Trace_Type";
+       internal const string Trace_Url = "Trace_Url";
+       internal const string Trace_Value = "Trace_Value";
+       internal const string Trace_Verb = "Trace_Verb";
+       internal const string Trace_View_Details = "Trace_View_Details";
+       internal const string Trace_Viewstate_Size = "Trace_Viewstate_Size";
+       internal const string Trace_Viewstate_Size_Nochildren = "Trace_Viewstate_Size_Nochildren";
+       internal const string Trace_Warning = "Trace_Warning";
+       internal const string Transacted_page_calls_aspcompat = "Transacted_page_calls_aspcompat";
+       internal const string Transaction_not_supported_in_low_trust = "Transaction_not_supported_in_low_trust";
+       internal const string Transfer_not_allowed_in_callback = "Transfer_not_allowed_in_callback";
+       internal const string TransferRequest_cannot_be_invoked_more_than_once = "TransferRequest_cannot_be_invoked_more_than_once";
+       internal const string Transformer_attribute_error = "Transformer_attribute_error";
+       internal const string Transformer_types_already_added = "Transformer_types_already_added";
+       internal const string TreeNode_Checked = "TreeNode_Checked";
+       internal const string TreeNode_Expanded = "TreeNode_Expanded";
+       internal const string TreeNode_ImageToolTip = "TreeNode_ImageToolTip";
+       internal const string TreeNode_ImageUrl = "TreeNode_ImageUrl";
+       internal const string TreeNode_NavigateUrl = "TreeNode_NavigateUrl";
+       internal const string TreeNode_PopulateOnDemand = "TreeNode_PopulateOnDemand";
+       internal const string TreeNode_SelectAction = "TreeNode_SelectAction";
+       internal const string TreeNode_Selected = "TreeNode_Selected";
+       internal const string TreeNode_ShowCheckBox = "TreeNode_ShowCheckBox";
+       internal const string TreeNode_Target = "TreeNode_Target";
+       internal const string TreeNode_Text = "TreeNode_Text";
+       internal const string TreeNode_ToolTip = "TreeNode_ToolTip";
+       internal const string TreeNode_Value = "TreeNode_Value";
+       internal const string TreeNodeBinding_Depth = "TreeNodeBinding_Depth";
+       internal const string TreeNodeBinding_EmptyBindingText = "TreeNodeBinding_EmptyBindingText";
+       internal const string TreeNodeBinding_FormatString = "TreeNodeBinding_FormatString";
+       internal const string TreeNodeBinding_ImageToolTip = "TreeNodeBinding_ImageToolTip";
+       internal const string TreeNodeBinding_ImageToolTipField = "TreeNodeBinding_ImageToolTipField";
+       internal const string TreeNodeBinding_ImageUrl = "TreeNodeBinding_ImageUrl";
+       internal const string TreeNodeBinding_ImageUrlField = "TreeNodeBinding_ImageUrlField";
+       internal const string TreeNodeBinding_NavigateUrl = "TreeNodeBinding_NavigateUrl";
+       internal const string TreeNodeBinding_NavigateUrlField = "TreeNodeBinding_NavigateUrlField";
+       internal const string TreeNodeBinding_PopulateOnDemand = "TreeNodeBinding_PopulateOnDemand";
+       internal const string TreeNodeBinding_SelectAction = "TreeNodeBinding_SelectAction";
+       internal const string TreeNodeBinding_ShowCheckBox = "TreeNodeBinding_ShowCheckBox";
+       internal const string TreeNodeBinding_Target = "TreeNodeBinding_Target";
+       internal const string TreeNodeBinding_TargetField = "TreeNodeBinding_TargetField";
+       internal const string TreeNodeBinding_Text = "TreeNodeBinding_Text";
+       internal const string TreeNodeBinding_TextField = "TreeNodeBinding_TextField";
+       internal const string TreeNodeBinding_ToolTip = "TreeNodeBinding_ToolTip";
+       internal const string TreeNodeBinding_ToolTipField = "TreeNodeBinding_ToolTipField";
+       internal const string TreeNodeBinding_Value = "TreeNodeBinding_Value";
+       internal const string TreeNodeBinding_ValueField = "TreeNodeBinding_ValueField";
+       internal const string TreeNodeCollection_InvalidArrayType = "TreeNodeCollection_InvalidArrayType";
+       internal const string TreeNodeStyle_ChildNodesPadding = "TreeNodeStyle_ChildNodesPadding";
+       internal const string TreeNodeStyle_HorizontalPadding = "TreeNodeStyle_HorizontalPadding";
+       internal const string TreeNodeStyle_ImageUrl = "TreeNodeStyle_ImageUrl";
+       internal const string TreeNodeStyle_NodeSpacing = "TreeNodeStyle_NodeSpacing";
+       internal const string TreeNodeStyle_VerticalPadding = "TreeNodeStyle_VerticalPadding";
+       internal const string TreeNodeStyleCollection_InvalidArgument = "TreeNodeStyleCollection_InvalidArgument";
+       internal const string TreeView_AutoGenerateDataBindings = "TreeView_AutoGenerateDataBindings";
+       internal const string TreeView_CheckChanged = "TreeView_CheckChanged";
+       internal const string TreeView_CollapseImageToolTip = "TreeView_CollapseImageToolTip";
+       internal const string TreeView_CollapseImageToolTipDefaultValue = "TreeView_CollapseImageToolTipDefaultValue";
+       internal const string TreeView_CollapseImageUrl = "TreeView_CollapseImageUrl";
+       internal const string TreeView_DataBindings = "TreeView_DataBindings";
+       internal const string TreeView_DataSourceReturnedNullView = "TreeView_DataSourceReturnedNullView";
+       internal const string TreeView_Default_SkipLinkText = "TreeView_Default_SkipLinkText";
+       internal const string TreeView_EnableClientScript = "TreeView_EnableClientScript";
+       internal const string TreeView_ExpandDepth = "TreeView_ExpandDepth";
+       internal const string TreeView_ExpandImageToolTip = "TreeView_ExpandImageToolTip";
+       internal const string TreeView_ExpandImageToolTipDefaultValue = "TreeView_ExpandImageToolTipDefaultValue";
+       internal const string TreeView_ExpandImageUrl = "TreeView_ExpandImageUrl";
+       internal const string TreeView_HoverNodeStyle = "TreeView_HoverNodeStyle";
+       internal const string TreeView_ImageSet = "TreeView_ImageSet";
+       internal const string TreeView_InvalidDataBinding = "TreeView_InvalidDataBinding";
+       internal const string TreeView_LeafNodeStyle = "TreeView_LeafNodeStyle";
+       internal const string TreeView_LevelStyles = "TreeView_LevelStyles";
+       internal const string TreeView_LineImagesFolderUrl = "TreeView_LineImagesFolderUrl";
+       internal const string TreeView_MaxDataBindDepth = "TreeView_MaxDataBindDepth";
+       internal const string TreeView_NodeIndent = "TreeView_NodeIndent";
+       internal const string TreeView_Nodes = "TreeView_Nodes";
+       internal const string TreeView_NodeStyle = "TreeView_NodeStyle";
+       internal const string TreeView_NodeWrap = "TreeView_NodeWrap";
+       internal const string TreeView_NoExpandImageUrl = "TreeView_NoExpandImageUrl";
+       internal const string TreeView_ParentNodeStyle = "TreeView_ParentNodeStyle";
+       internal const string TreeView_PathSeparator = "TreeView_PathSeparator";
+       internal const string TreeView_PopulateNodesFromClient = "TreeView_PopulateNodesFromClient";
+       internal const string TreeView_PopulateOnlyEmptyNodes = "TreeView_PopulateOnlyEmptyNodes";
+       internal const string TreeView_PopulateOnlyForDataSourceControls = "TreeView_PopulateOnlyForDataSourceControls";
+       internal const string TreeView_RootNodeStyle = "TreeView_RootNodeStyle";
+       internal const string TreeView_SelectedNodeChanged = "TreeView_SelectedNodeChanged";
+       internal const string TreeView_SelectedNodeStyle = "TreeView_SelectedNodeStyle";
+       internal const string TreeView_ShowCheckBoxes = "TreeView_ShowCheckBoxes";
+       internal const string TreeView_ShowExpandCollapse = "TreeView_ShowExpandCollapse";
+       internal const string TreeView_ShowLines = "TreeView_ShowLines";
+       internal const string TreeView_SkipLinkText = "TreeView_SkipLinkText";
+       internal const string TreeView_TreeNodeCollapsed = "TreeView_TreeNodeCollapsed";
+       internal const string TreeView_TreeNodeDataBound = "TreeView_TreeNodeDataBound";
+       internal const string TreeView_TreeNodeExpanded = "TreeView_TreeNodeExpanded";
+       internal const string TreeView_TreeNodePopulate = "TreeView_TreeNodePopulate";
+       internal const string TwoWayBinding_requires_ID = "TwoWayBinding_requires_ID";
+       internal const string Type_cannot_be_resolved = "Type_cannot_be_resolved";
+       internal const string Type_doesnt_have_property = "Type_doesnt_have_property";
+       internal const string Type_doesnt_inherit_from_type = "Type_doesnt_inherit_from_type";
+       internal const string Type_from_untrusted_assembly = "Type_from_untrusted_assembly";
+       internal const string Type_not_creatable_from_string = "Type_not_creatable_from_string";
+       internal const string Type_not_factory_or_handler = "Type_not_factory_or_handler";
+       internal const string Type_not_module = "Type_not_module";
+       internal const string Type_theme_disabled = "Type_theme_disabled";
+       internal const string TypeResService_Needed = "TypeResService_Needed";
+       internal const string UC_not_cached = "UC_not_cached";
+       internal const string UCCachePolicy_unavailable = "UCCachePolicy_unavailable";
+       internal const string Unable_create_app_object = "Unable_create_app_object";
+       internal const string Unable_to_create_temp_file = "Unable_to_create_temp_file";
+       internal const string Unable_to_encrypt_cookie_ticket = "Unable_to_encrypt_cookie_ticket";
+       internal const string Unable_to_get_cookie_authentication_validation_key = "Unable_to_get_cookie_authentication_validation_key";
+       internal const string Unable_to_get_policy_file = "Unable_to_get_policy_file";
+       internal const string Unable_To_Register_Assembly = "Unable_To_Register_Assembly";
+       internal const string Unable_To_UnRegister_Assembly = "Unable_To_UnRegister_Assembly";
+       internal const string Unable_to_validate_data = "Unable_to_validate_data";
+       internal const string Unauthorized_Err_Desc1 = "Unauthorized_Err_Desc1";
+       internal const string Unauthorized_Err_Desc2 = "Unauthorized_Err_Desc2";
+       internal const string Unexpected_Directory = "Unexpected_Directory";
+       internal const string Unexpected_eof_looking_for_tag = "Unexpected_eof_looking_for_tag";
+       internal const string Unexpected_Error = "Unexpected_Error";
+       internal const string Unexpected_provider_attribute = "Unexpected_provider_attribute";
+       internal const string Unhandled_Err_Desc = "Unhandled_Err_Desc";
+       internal const string Unhandled_Err_Error = "Unhandled_Err_Error";
+       internal const string Unhandled_Err_Exception_Details = "Unhandled_Err_Exception_Details";
+       internal const string Unhandled_Err_Stack_Trace = "Unhandled_Err_Stack_Trace";
+       internal const string Unhandled_Exception = "Unhandled_Exception";
+       internal const string UnitParseNoDigits = "UnitParseNoDigits";
+       internal const string UnitParseNumericPart = "UnitParseNumericPart";
+       internal const string Unknown_buildprovider_extension = "Unknown_buildprovider_extension";
+       internal const string Unknown_directive = "Unknown_directive";
+       internal const string Unknown_protocol_id = "Unknown_protocol_id";
+       internal const string Unknown_server_tag = "Unknown_server_tag";
+       internal const string Unknown_tag_in_caps_config = "Unknown_tag_in_caps_config";
+       internal const string UnknownWebPart = "UnknownWebPart";
+       internal const string Unrecognized_construct_in_pattern = "Unrecognized_construct_in_pattern";
+       internal const string Unsupported_filename = "Unsupported_filename";
+       internal const string Url_too_long = "Url_too_long";
+       internal const string UrlMappings_only_app_relative_url_allowed = "UrlMappings_only_app_relative_url_allowed";
+       internal const string UrlRoutingHandler_NoRouteMatches = "UrlRoutingHandler_NoRouteMatches";
+       internal const string UrlRoutingModule_NoHttpHandler = "UrlRoutingModule_NoHttpHandler";
+       internal const string UrlRoutingModule_NoRouteHandler = "UrlRoutingModule_NoRouteHandler";
+       internal const string User_not_available = "User_not_available";
+       internal const string UserName_InitialValue = "UserName_InitialValue";
+       internal const string Using_BufferlessStream_API_Not_Supported = "Using_BufferlessStream_API_Not_Supported";
+       internal const string Using_InputStream_API_Not_Supported = "Using_InputStream_API_Not_Supported";
+       internal const string UtilParseDateTimeBad = "UtilParseDateTimeBad";
+       internal const string ValidatableObjectAdapter_IncompatibleType = "ValidatableObjectAdapter_IncompatibleType";
+       internal const string ValidationSummary_DisplayMode = "ValidationSummary_DisplayMode";
+       internal const string ValidationSummary_EnableClientScript = "ValidationSummary_EnableClientScript";
+       internal const string ValidationSummary_HeaderText = "ValidationSummary_HeaderText";
+       internal const string ValidationSummary_ShowMessageBox = "ValidationSummary_ShowMessageBox";
+       internal const string ValidationSummary_ShowModelStateErrors = "ValidationSummary_ShowModelStateErrors";
+       internal const string ValidationSummary_ShowSummary = "ValidationSummary_ShowSummary";
+       internal const string ValidationSummary_ShowValidationErrors = "ValidationSummary_ShowValidationErrors";
+       internal const string ValidationSummary_ValidationGroup = "ValidationSummary_ValidationGroup";
+       internal const string Validator_bad_compare_control = "Validator_bad_compare_control";
+       internal const string Validator_bad_control_type = "Validator_bad_control_type";
+       internal const string Validator_bad_regex = "Validator_bad_regex";
+       internal const string Validator_control_blank = "Validator_control_blank";
+       internal const string Validator_control_not_found = "Validator_control_not_found";
+       internal const string Validator_range_overalap = "Validator_range_overalap";
+       internal const string Validator_value_bad_type = "Validator_value_bad_type";
+       internal const string ValSummary_error_message_1 = "ValSummary_error_message_1";
+       internal const string ValSummary_error_message_2 = "ValSummary_error_message_2";
+       internal const string Value_must_be_boolean = "Value_must_be_boolean";
+       internal const string Value_must_be_non_negative_integer = "Value_must_be_non_negative_integer";
+       internal const string Value_must_be_positive_integer = "Value_must_be_positive_integer";
+       internal const string Value_Set_Not_Supported = "Value_Set_Not_Supported";
+       internal const string Value_too_big = "Value_too_big";
+       internal const string ValueProviderResult_ConversionThrew = "ValueProviderResult_ConversionThrew";
+       internal const string ValueProviderResult_NoConverterExists = "ValueProviderResult_NoConverterExists";
+       internal const string VaryByCustom_already_set = "VaryByCustom_already_set";
+       internal const string View_Activate = "View_Activate";
+       internal const string View_CannotSetVisible = "View_CannotSetVisible";
+       internal const string View_DataSourceReturnedNullView = "View_DataSourceReturnedNullView";
+       internal const string View_Deactivate = "View_Deactivate";
+       internal const string View_DefaultMode = "View_DefaultMode";
+       internal const string View_EditRowStyle = "View_EditRowStyle";
+       internal const string View_EmptyDataRowStyle = "View_EmptyDataRowStyle";
+       internal const string View_EmptyDataTemplate = "View_EmptyDataTemplate";
+       internal const string View_EmptyDataText = "View_EmptyDataText";
+       internal const string View_FooterText = "View_FooterText";
+       internal const string View_HeaderText = "View_HeaderText";
+       internal const string View_InsertRowStyle = "View_InsertRowStyle";
+       internal const string View_PagerTemplate = "View_PagerTemplate";
+       internal const string View_RowStyle = "View_RowStyle";
+       internal const string ViewCollection_must_contain_view = "ViewCollection_must_contain_view";
+       internal const string ViewState_AuthenticationFailed = "ViewState_AuthenticationFailed";
+       internal const string ViewState_ClientDisconnected = "ViewState_ClientDisconnected";
+       internal const string ViewState_InvalidViewState = "ViewState_InvalidViewState";
+       internal const string ViewState_InvalidViewStatePlus = "ViewState_InvalidViewStatePlus";
+       internal const string ViewState_MissingViewStateField = "ViewState_MissingViewStateField";
+       internal const string Virtual_codedir = "Virtual_codedir";
+       internal const string Virtual_path_outside_application_not_supported = "Virtual_path_outside_application_not_supported";
+       internal const string VirtualPath_AllowAbsolutePath = "VirtualPath_AllowAbsolutePath";
+       internal const string VirtualPath_AllowAppRelativePath = "VirtualPath_AllowAppRelativePath";
+       internal const string VirtualPath_AllowRelativePath = "VirtualPath_AllowRelativePath";
+       internal const string VirtualPath_CantMakeAppAbsolute = "VirtualPath_CantMakeAppAbsolute";
+       internal const string VirtualPath_CantMakeAppRelative = "VirtualPath_CantMakeAppRelative";
+       internal const string VirtualPath_Length_Zero = "VirtualPath_Length_Zero";
+       internal const string WebControl_AccessKey = "WebControl_AccessKey";
+       internal const string WebControl_Attributes = "WebControl_Attributes";
+       internal const string WebControl_BackColor = "WebControl_BackColor";
+       internal const string WebControl_BackImageUrl = "WebControl_BackImageUrl";
+       internal const string WebControl_BorderColor = "WebControl_BorderColor";
+       internal const string WebControl_BorderStyle = "WebControl_BorderStyle";
+       internal const string WebControl_BorderWidth = "WebControl_BorderWidth";
+       internal const string WebControl_CantFindProvider = "WebControl_CantFindProvider";
+       internal const string WebControl_CaptionAlign = "WebControl_CaptionAlign";
+       internal const string WebControl_CommandArgument = "WebControl_CommandArgument";
+       internal const string WebControl_CommandName = "WebControl_CommandName";
+       internal const string WebControl_ControlStyle = "WebControl_ControlStyle";
+       internal const string WebControl_ControlStyleCreated = "WebControl_ControlStyleCreated";
+       internal const string WebControl_CSSClassName = "WebControl_CSSClassName";
+       internal const string WebControl_Enabled = "WebControl_Enabled";
+       internal const string WebControl_FailureTextStyle = "WebControl_FailureTextStyle";
+       internal const string WebControl_Font = "WebControl_Font";
+       internal const string WebControl_ForeColor = "WebControl_ForeColor";
+       internal const string WebControl_HeaderStyle = "WebControl_HeaderStyle";
+       internal const string WebControl_HeaderTemplate = "WebControl_HeaderTemplate";
+       internal const string WebControl_Height = "WebControl_Height";
+       internal const string WebControl_HorizontalAlign = "WebControl_HorizontalAlign";
+       internal const string WebControl_HyperLinkStyle = "WebControl_HyperLinkStyle";
+       internal const string WebControl_InstructionText = "WebControl_InstructionText";
+       internal const string WebControl_InstructionTextStyle = "WebControl_InstructionTextStyle";
+       internal const string WebControl_InvalidAccessKey = "WebControl_InvalidAccessKey";
+       internal const string WebControl_PagerStyle = "WebControl_PagerStyle";
+       internal const string WebControl_RepeatLayout = "WebControl_RepeatLayout";
+       internal const string WebControl_SelectedIndex = "WebControl_SelectedIndex";
+       internal const string WebControl_SkipLinkText = "WebControl_SkipLinkText";
+       internal const string WebControl_Style = "WebControl_Style";
+       internal const string WebControl_TabIndex = "WebControl_TabIndex";
+       internal const string WebControl_TextAlign = "WebControl_TextAlign";
+       internal const string WebControl_Tooltip = "WebControl_Tooltip";
+       internal const string WebControl_Width = "WebControl_Width";
+       internal const string Webevent_detail_ApplicationShutdownBinDirChangeOrDirectoryRename = "Webevent_detail_ApplicationShutdownBinDirChangeOrDirectoryRename";
+       internal const string Webevent_detail_ApplicationShutdownBrowsersDirChangeOrDirectoryRename = "Webevent_detail_ApplicationShutdownBrowsersDirChangeOrDirectoryRename";
+       internal const string Webevent_detail_ApplicationShutdownBuildManagerChange = "Webevent_detail_ApplicationShutdownBuildManagerChange";
+       internal const string Webevent_detail_ApplicationShutdownChangeInGlobalAsax = "Webevent_detail_ApplicationShutdownChangeInGlobalAsax";
+       internal const string Webevent_detail_ApplicationShutdownChangeInSecurityPolicyFile = "Webevent_detail_ApplicationShutdownChangeInSecurityPolicyFile";
+       internal const string Webevent_detail_ApplicationShutdownCodeDirChangeOrDirectoryRename = "Webevent_detail_ApplicationShutdownCodeDirChangeOrDirectoryRename";
+       internal const string Webevent_detail_ApplicationShutdownConfigurationChange = "Webevent_detail_ApplicationShutdownConfigurationChange";
+       internal const string Webevent_detail_ApplicationShutdownHostingEnvironment = "Webevent_detail_ApplicationShutdownHostingEnvironment";
+       internal const string Webevent_detail_ApplicationShutdownHttpRuntimeClose = "Webevent_detail_ApplicationShutdownHttpRuntimeClose";
+       internal const string Webevent_detail_ApplicationShutdownIdleTimeout = "Webevent_detail_ApplicationShutdownIdleTimeout";
+       internal const string Webevent_detail_ApplicationShutdownInitializationError = "Webevent_detail_ApplicationShutdownInitializationError";
+       internal const string Webevent_detail_ApplicationShutdownMaxRecompilationsReached = "Webevent_detail_ApplicationShutdownMaxRecompilationsReached";
+       internal const string Webevent_detail_ApplicationShutdownPhysicalApplicationPathChanged = "Webevent_detail_ApplicationShutdownPhysicalApplicationPathChanged";
+       internal const string Webevent_detail_ApplicationShutdownResourcesDirChangeOrDirectoryRename = "Webevent_detail_ApplicationShutdownResourcesDirChangeOrDirectoryRename";
+       internal const string Webevent_detail_ApplicationShutdownUnknown = "Webevent_detail_ApplicationShutdownUnknown";
+       internal const string Webevent_detail_ApplicationShutdownUnloadAppDomainCalled = "Webevent_detail_ApplicationShutdownUnloadAppDomainCalled";
+       internal const string Webevent_detail_ExpiredTicketFailure = "Webevent_detail_ExpiredTicketFailure";
+       internal const string Webevent_detail_InvalidTicketFailure = "Webevent_detail_InvalidTicketFailure";
+       internal const string Webevent_detail_InvalidViewState = "Webevent_detail_InvalidViewState";
+       internal const string Webevent_detail_InvalidViewStateMac = "Webevent_detail_InvalidViewStateMac";
+       internal const string Webevent_detail_SqlProviderEventsDropped = "Webevent_detail_SqlProviderEventsDropped";
+       internal const string Webevent_detail_StateServerConnectionError = "Webevent_detail_StateServerConnectionError";
+       internal const string Webevent_event_account_name = "Webevent_event_account_name";
+       internal const string Webevent_event_application_domain = "Webevent_event_application_domain";
+       internal const string Webevent_event_application_domain_count = "Webevent_event_application_domain_count";
+       internal const string Webevent_event_application_information = "Webevent_event_application_information";
+       internal const string Webevent_event_application_path = "Webevent_event_application_path";
+       internal const string Webevent_event_application_virtual_path = "Webevent_event_application_virtual_path";
+       internal const string Webevent_event_authentication_type = "Webevent_event_authentication_type";
+       internal const string Webevent_event_code = "Webevent_event_code";
+       internal const string Webevent_event_custom_event_details = "Webevent_event_custom_event_details";
+       internal const string Webevent_event_detail_code = "Webevent_event_detail_code";
+       internal const string WebEvent_event_email_subject = "WebEvent_event_email_subject";
+       internal const string WebEvent_event_email_subject_template_error = "WebEvent_event_email_subject_template_error";
+       internal const string Webevent_event_exception_information = "Webevent_event_exception_information";
+       internal const string Webevent_event_exception_message = "Webevent_event_exception_message";
+       internal const string Webevent_event_exception_type = "Webevent_event_exception_type";
+       internal const string WebEvent_event_group_email_subject = "WebEvent_event_group_email_subject";
+       internal const string Webevent_event_id = "Webevent_event_id";
+       internal const string Webevent_event_inner_exception_information = "Webevent_event_inner_exception_information";
+       internal const string Webevent_event_is_authenticated = "Webevent_event_is_authenticated";
+       internal const string Webevent_event_is_impersonating = "Webevent_event_is_impersonating";
+       internal const string Webevent_event_is_not_authenticated = "Webevent_event_is_not_authenticated";
+       internal const string Webevent_event_is_not_impersonating = "Webevent_event_is_not_impersonating";
+       internal const string Webevent_event_machine_name = "Webevent_event_machine_name";
+       internal const string Webevent_event_managed_heap_size = "Webevent_event_managed_heap_size";
+       internal const string Webevent_event_message = "Webevent_event_message";
+       internal const string Webevent_event_name_to_authenticate = "Webevent_event_name_to_authenticate";
+       internal const string Webevent_event_occurrence = "Webevent_event_occurrence";
+       internal const string Webevent_event_peak_working_set = "Webevent_event_peak_working_set";
+       internal const string Webevent_event_process_id = "Webevent_event_process_id";
+       internal const string Webevent_event_process_information = "Webevent_event_process_information";
+       internal const string Webevent_event_process_name = "Webevent_event_process_name";
+       internal const string Webevent_event_process_start_time = "Webevent_event_process_start_time";
+       internal const string Webevent_event_process_statistics = "Webevent_event_process_statistics";
+       internal const string Webevent_event_request_information = "Webevent_event_request_information";
+       internal const string Webevent_event_request_path = "Webevent_event_request_path";
+       internal const string Webevent_event_request_queued = "Webevent_event_request_queued";
+       internal const string Webevent_event_request_rejected = "Webevent_event_request_rejected";
+       internal const string Webevent_event_request_url = "Webevent_event_request_url";
+       internal const string Webevent_event_requests_executing = "Webevent_event_requests_executing";
+       internal const string Webevent_event_sequence = "Webevent_event_sequence";
+       internal const string Webevent_event_stack_trace = "Webevent_event_stack_trace";
+       internal const string Webevent_event_thread_account_name = "Webevent_event_thread_account_name";
+       internal const string Webevent_event_thread_count = "Webevent_event_thread_count";
+       internal const string Webevent_event_thread_id = "Webevent_event_thread_id";
+       internal const string Webevent_event_thread_information = "Webevent_event_thread_information";
+       internal const string Webevent_event_time = "Webevent_event_time";
+       internal const string Webevent_event_time_Utc = "Webevent_event_time_Utc";
+       internal const string Webevent_event_trust_level = "Webevent_event_trust_level";
+       internal const string Webevent_event_user = "Webevent_event_user";
+       internal const string Webevent_event_user_host_address = "Webevent_event_user_host_address";
+       internal const string Webevent_event_ViewStateException_information = "Webevent_event_ViewStateException_information";
+       internal const string Webevent_event_working_set = "Webevent_event_working_set";
+       internal const string Webevent_msg_ApplicationCompilationEnd = "Webevent_msg_ApplicationCompilationEnd";
+       internal const string Webevent_msg_ApplicationCompilationStart = "Webevent_msg_ApplicationCompilationStart";
+       internal const string Webevent_msg_ApplicationHeartbeat = "Webevent_msg_ApplicationHeartbeat";
+       internal const string Webevent_msg_ApplicationShutdown = "Webevent_msg_ApplicationShutdown";
+       internal const string Webevent_msg_ApplicationStart = "Webevent_msg_ApplicationStart";
+       internal const string Webevent_msg_AuditFileAuthorizationFailure = "Webevent_msg_AuditFileAuthorizationFailure";
+       internal const string Webevent_msg_AuditFileAuthorizationSuccess = "Webevent_msg_AuditFileAuthorizationSuccess";
+       internal const string Webevent_msg_AuditFormsAuthenticationFailure = "Webevent_msg_AuditFormsAuthenticationFailure";
+       internal const string Webevent_msg_AuditFormsAuthenticationSuccess = "Webevent_msg_AuditFormsAuthenticationSuccess";
+       internal const string Webevent_msg_AuditInvalidViewStateFailure = "Webevent_msg_AuditInvalidViewStateFailure";
+       internal const string Webevent_msg_AuditMembershipAuthenticationFailure = "Webevent_msg_AuditMembershipAuthenticationFailure";
+       internal const string Webevent_msg_AuditMembershipAuthenticationSuccess = "Webevent_msg_AuditMembershipAuthenticationSuccess";
+       internal const string Webevent_msg_AuditUnhandledAccessException = "Webevent_msg_AuditUnhandledAccessException";
+       internal const string Webevent_msg_AuditUnhandledSecurityException = "Webevent_msg_AuditUnhandledSecurityException";
+       internal const string Webevent_msg_AuditUrlAuthorizationFailure = "Webevent_msg_AuditUrlAuthorizationFailure";
+       internal const string Webevent_msg_AuditUrlAuthorizationSuccess = "Webevent_msg_AuditUrlAuthorizationSuccess";
+       internal const string Webevent_msg_OSF_Deserialization_Binary = "Webevent_msg_OSF_Deserialization_Binary";
+       internal const string Webevent_msg_OSF_Deserialization_String = "Webevent_msg_OSF_Deserialization_String";
+       internal const string Webevent_msg_OSF_Deserialization_Type = "Webevent_msg_OSF_Deserialization_Type";
+       internal const string Webevent_msg_Property_Deserialization = "Webevent_msg_Property_Deserialization";
+       internal const string Webevent_msg_RequestTransactionAbort = "Webevent_msg_RequestTransactionAbort";
+       internal const string Webevent_msg_RequestTransactionComplete = "Webevent_msg_RequestTransactionComplete";
+       internal const string Webevent_msg_RuntimeErrorPostTooLarge = "Webevent_msg_RuntimeErrorPostTooLarge";
+       internal const string Webevent_msg_RuntimeErrorRequestAbort = "Webevent_msg_RuntimeErrorRequestAbort";
+       internal const string Webevent_msg_RuntimeErrorUnhandledException = "Webevent_msg_RuntimeErrorUnhandledException";
+       internal const string Webevent_msg_RuntimeErrorValidationFailure = "Webevent_msg_RuntimeErrorValidationFailure";
+       internal const string Webevent_msg_RuntimeErrorViewStateFailure = "Webevent_msg_RuntimeErrorViewStateFailure";
+       internal const string Webevent_msg_RuntimeErrorWebResourceFailure_DecryptionError = "Webevent_msg_RuntimeErrorWebResourceFailure_DecryptionError";
+       internal const string Webevent_msg_RuntimeErrorWebResourceFailure_ResourceMissing = "Webevent_msg_RuntimeErrorWebResourceFailure_ResourceMissing";
+       internal const string Webevent_msg_WebErrorCompilationError = "Webevent_msg_WebErrorCompilationError";
+       internal const string Webevent_msg_WebErrorConfigurationError = "Webevent_msg_WebErrorConfigurationError";
+       internal const string Webevent_msg_WebErrorParserError = "Webevent_msg_WebErrorParserError";
+       internal const string WebPageTraceListener_Event = "WebPageTraceListener_Event";
+       internal const string WebPart_AllowClose = "WebPart_AllowClose";
+       internal const string WebPart_AllowConnect = "WebPart_AllowConnect";
+       internal const string WebPart_AllowEdit = "WebPart_AllowEdit";
+       internal const string WebPart_AllowHide = "WebPart_AllowHide";
+       internal const string WebPart_AllowMinimize = "WebPart_AllowMinimize";
+       internal const string WebPart_AllowZoneChange = "WebPart_AllowZoneChange";
+       internal const string WebPart_AuthorizationFilter = "WebPart_AuthorizationFilter";
+       internal const string WebPart_BadUrl = "WebPart_BadUrl";
+       internal const string WebPart_CantSetExportMode = "WebPart_CantSetExportMode";
+       internal const string WebPart_CatalogIconImageUrl = "WebPart_CatalogIconImageUrl";
+       internal const string WebPart_Collection_DuplicateID = "WebPart_Collection_DuplicateID";
+       internal const string WebPart_DefaultImportErrorMessage = "WebPart_DefaultImportErrorMessage";
+       internal const string WebPart_ErrorFormatString = "WebPart_ErrorFormatString";
+       internal const string WebPart_ExportMode = "WebPart_ExportMode";
+       internal const string WebPart_HelpMode = "WebPart_HelpMode";
+       internal const string WebPart_HelpUrl = "WebPart_HelpUrl";
+       internal const string WebPart_Hidden = "WebPart_Hidden";
+       internal const string WebPart_HiddenFormatString = "WebPart_HiddenFormatString";
+       internal const string WebPart_ImportErrorInvalidVersion = "WebPart_ImportErrorInvalidVersion";
+       internal const string WebPart_ImportErrorMessage = "WebPart_ImportErrorMessage";
+       internal const string WebPart_ImportErrorNoVersion = "WebPart_ImportErrorNoVersion";
+       internal const string WebPart_NonWebPart = "WebPart_NonWebPart";
+       internal const string WebPart_NotStandalone = "WebPart_NotStandalone";
+       internal const string WebPart_OnlyStandalone = "WebPart_OnlyStandalone";
+       internal const string WebPart_SetZoneTemplateTooLate = "WebPart_SetZoneTemplateTooLate";
+       internal const string WebPart_TitleIconImageUrl = "WebPart_TitleIconImageUrl";
+       internal const string WebPart_TitleUrl = "WebPart_TitleUrl";
+       internal const string WebPartActionVerb_CantSetChecked = "WebPartActionVerb_CantSetChecked";
+       internal const string WebPartCatalogAddVerb_Description = "WebPartCatalogAddVerb_Description";
+       internal const string WebPartCatalogAddVerb_Text = "WebPartCatalogAddVerb_Text";
+       internal const string WebPartCatalogCloseVerb_Description = "WebPartCatalogCloseVerb_Description";
+       internal const string WebPartCatalogCloseVerb_Text = "WebPartCatalogCloseVerb_Text";
+       internal const string WebPartChrome_ConfirmExportSensitive = "WebPartChrome_ConfirmExportSensitive";
+       internal const string WebPartCloseVerb_Description = "WebPartCloseVerb_Description";
+       internal const string WebPartCloseVerb_Text = "WebPartCloseVerb_Text";
+       internal const string WebPartConnection_ConsumerIDNotSet = "WebPartConnection_ConsumerIDNotSet";
+       internal const string WebPartConnection_ConsumerRequiresSecondaryInterfaces = "WebPartConnection_ConsumerRequiresSecondaryInterfaces";
+       internal const string WebPartConnection_DisabledConnectionPoint = "WebPartConnection_DisabledConnectionPoint";
+       internal const string WebPartConnection_Duplicate = "WebPartConnection_Duplicate";
+       internal const string WebPartConnection_IncompatibleConsumerTransformer = "WebPartConnection_IncompatibleConsumerTransformer";
+       internal const string WebPartConnection_IncompatibleConsumerTransformerWithType = "WebPartConnection_IncompatibleConsumerTransformerWithType";
+       internal const string WebPartConnection_IncompatibleProviderTransformer = "WebPartConnection_IncompatibleProviderTransformer";
+       internal const string WebPartConnection_IncompatibleProviderTransformerWithType = "WebPartConnection_IncompatibleProviderTransformerWithType";
+       internal const string WebPartConnection_IncompatibleSecondaryInterfaces = "WebPartConnection_IncompatibleSecondaryInterfaces";
+       internal const string WebPartConnection_NoCommonInterface = "WebPartConnection_NoCommonInterface";
+       internal const string WebPartConnection_NoConsumer = "WebPartConnection_NoConsumer";
+       internal const string WebPartConnection_NoConsumerConnectionPoint = "WebPartConnection_NoConsumerConnectionPoint";
+       internal const string WebPartConnection_NoID = "WebPartConnection_NoID";
+       internal const string WebPartConnection_NoProvider = "WebPartConnection_NoProvider";
+       internal const string WebPartConnection_NoProviderConnectionPoint = "WebPartConnection_NoProviderConnectionPoint";
+       internal const string WebPartConnection_ProviderIDNotSet = "WebPartConnection_ProviderIDNotSet";
+       internal const string WebPartConnection_TransformerNotAvailable = "WebPartConnection_TransformerNotAvailable";
+       internal const string WebPartConnection_TransformerNotAvailableWithType = "WebPartConnection_TransformerNotAvailableWithType";
+       internal const string WebPartConnectionsCancelVerb_Description = "WebPartConnectionsCancelVerb_Description";
+       internal const string WebPartConnectionsCancelVerb_Text = "WebPartConnectionsCancelVerb_Text";
+       internal const string WebPartConnectionsCloseVerb_Description = "WebPartConnectionsCloseVerb_Description";
+       internal const string WebPartConnectionsCloseVerb_Text = "WebPartConnectionsCloseVerb_Text";
+       internal const string WebPartConnectionsConfigureVerb_Description = "WebPartConnectionsConfigureVerb_Description";
+       internal const string WebPartConnectionsConfigureVerb_Text = "WebPartConnectionsConfigureVerb_Text";
+       internal const string WebPartConnectionsConnectVerb_Description = "WebPartConnectionsConnectVerb_Description";
+       internal const string WebPartConnectionsConnectVerb_Text = "WebPartConnectionsConnectVerb_Text";
+       internal const string WebPartConnectionsDisconnectVerb_Description = "WebPartConnectionsDisconnectVerb_Description";
+       internal const string WebPartConnectionsDisconnectVerb_Text = "WebPartConnectionsDisconnectVerb_Text";
+       internal const string WebPartConnectVerb_Description = "WebPartConnectVerb_Description";
+       internal const string WebPartConnectVerb_Text = "WebPartConnectVerb_Text";
+       internal const string WebPartDeleteVerb_Description = "WebPartDeleteVerb_Description";
+       internal const string WebPartDeleteVerb_Text = "WebPartDeleteVerb_Text";
+       internal const string WebPartDisplayModeCollection_CantRemove = "WebPartDisplayModeCollection_CantRemove";
+       internal const string WebPartDisplayModeCollection_CantSet = "WebPartDisplayModeCollection_CantSet";
+       internal const string WebPartDisplayModeCollection_DuplicateName = "WebPartDisplayModeCollection_DuplicateName";
+       internal const string WebPartEditorApplyVerb_Description = "WebPartEditorApplyVerb_Description";
+       internal const string WebPartEditorApplyVerb_Text = "WebPartEditorApplyVerb_Text";
+       internal const string WebPartEditorCancelVerb_Description = "WebPartEditorCancelVerb_Description";
+       internal const string WebPartEditorCancelVerb_Text = "WebPartEditorCancelVerb_Text";
+       internal const string WebPartEditorOKVerb_Description = "WebPartEditorOKVerb_Description";
+       internal const string WebPartEditorOKVerb_Text = "WebPartEditorOKVerb_Text";
+       internal const string WebPartEditVerb_Description = "WebPartEditVerb_Description";
+       internal const string WebPartEditVerb_Text = "WebPartEditVerb_Text";
+       internal const string WebPartExportHandler_DisabledExportHandler = "WebPartExportHandler_DisabledExportHandler";
+       internal const string WebPartExportHandler_InvalidArgument = "WebPartExportHandler_InvalidArgument";
+       internal const string WebPartExportVerb_Description = "WebPartExportVerb_Description";
+       internal const string WebPartExportVerb_Text = "WebPartExportVerb_Text";
+       internal const string WebPartHeaderCloseVerb_Description = "WebPartHeaderCloseVerb_Description";
+       internal const string WebPartHeaderCloseVerb_Text = "WebPartHeaderCloseVerb_Text";
+       internal const string WebPartHelpVerb_Description = "WebPartHelpVerb_Description";
+       internal const string WebPartHelpVerb_Text = "WebPartHelpVerb_Text";
+       internal const string WebPartManager_AlreadyClosed = "WebPartManager_AlreadyClosed";
+       internal const string WebPartManager_AlreadyDisconnected = "WebPartManager_AlreadyDisconnected";
+       internal const string WebPartManager_AlreadyInConnect = "WebPartManager_AlreadyInConnect";
+       internal const string WebPartManager_AlreadyInEdit = "WebPartManager_AlreadyInEdit";
+       internal const string WebPartManager_AlreadyInZone = "WebPartManager_AlreadyInZone";
+       internal const string WebPartManager_AlreadyRegistered = "WebPartManager_AlreadyRegistered";
+       internal const string WebPartManager_AuthorizeWebPart = "WebPartManager_AuthorizeWebPart";
+       internal const string WebPartManager_CannotModify = "WebPartManager_CannotModify";
+       internal const string WebPartManager_CantAddControlType = "WebPartManager_CantAddControlType";
+       internal const string WebPartManager_CantBeginConnectingClosed = "WebPartManager_CantBeginConnectingClosed";
+       internal const string WebPartManager_CantBeginEditingClosed = "WebPartManager_CantBeginEditingClosed";
+       internal const string WebPartManager_CantConnectClosed = "WebPartManager_CantConnectClosed";
+       internal const string WebPartManager_CantConnectToSelf = "WebPartManager_CantConnectToSelf";
+       internal const string WebPartManager_CantCreateGeneric = "WebPartManager_CantCreateGeneric";
+       internal const string WebPartManager_CantCreateInstance = "WebPartManager_CantCreateInstance";
+       internal const string WebPartManager_CantCreateInstanceWithType = "WebPartManager_CantCreateInstanceWithType";
+       internal const string WebPartManager_CantDeleteSharedInUserScope = "WebPartManager_CantDeleteSharedInUserScope";
+       internal const string WebPartManager_CantDeleteStatic = "WebPartManager_CantDeleteStatic";
+       internal const string WebPartManager_CantSetEnableTheming = "WebPartManager_CantSetEnableTheming";
+       internal const string WebPartManager_CloseProviderWarning = "WebPartManager_CloseProviderWarning";
+       internal const string WebPartManager_ConnectionsActivated = "WebPartManager_ConnectionsActivated";
+       internal const string WebPartManager_ConnectionsActivating = "WebPartManager_ConnectionsActivating";
+       internal const string WebPartManager_ConnectionsReadOnly = "WebPartManager_ConnectionsReadOnly";
+       internal const string WebPartManager_ConnectTooLate = "WebPartManager_ConnectTooLate";
+       internal const string WebPartManager_DefaultCloseProviderWarning = "WebPartManager_DefaultCloseProviderWarning";
+       internal const string WebPartManager_DefaultDeleteWarning = "WebPartManager_DefaultDeleteWarning";
+       internal const string WebPartManager_DeleteWarning = "WebPartManager_DeleteWarning";
+       internal const string WebPartManager_DisabledDisplayMode = "WebPartManager_DisabledDisplayMode";
+       internal const string WebPartManager_DisconnectTooLate = "WebPartManager_DisconnectTooLate";
+       internal const string WebPartManager_DisplayModeChanged = "WebPartManager_DisplayModeChanged";
+       internal const string WebPartManager_DisplayModeChanging = "WebPartManager_DisplayModeChanging";
+       internal const string WebPartManager_DisplayModesReadOnly = "WebPartManager_DisplayModesReadOnly";
+       internal const string WebPartManager_DuplicateConnectionID = "WebPartManager_DuplicateConnectionID";
+       internal const string WebPartManager_DuplicateWebPartID = "WebPartManager_DuplicateWebPartID";
+       internal const string WebPartManager_DuplicateZoneID = "WebPartManager_DuplicateZoneID";
+       internal const string WebPartManager_DynamicConnectionsReadOnly = "WebPartManager_DynamicConnectionsReadOnly";
+       internal const string WebPartManager_EnableClientScript = "WebPartManager_EnableClientScript";
+       internal const string WebPartManager_ErrorLoadingWebPartType = "WebPartManager_ErrorLoadingWebPartType";
+       internal const string WebPartManager_ExportSensitiveDataWarning = "WebPartManager_ExportSensitiveDataWarning";
+       internal const string WebPartManager_ForbiddenType = "WebPartManager_ForbiddenType";
+       internal const string WebPartManager_ImportInvalidData = "WebPartManager_ImportInvalidData";
+       internal const string WebPartManager_ImportInvalidFormat = "WebPartManager_ImportInvalidFormat";
+       internal const string WebPartManager_InvalidConnectionPoint = "WebPartManager_InvalidConnectionPoint";
+       internal const string WebPartManager_InvalidConsumerSignature = "WebPartManager_InvalidConsumerSignature";
+       internal const string WebPartManager_InvalidDisplayMode = "WebPartManager_InvalidDisplayMode";
+       internal const string WebPartManager_InvalidPath = "WebPartManager_InvalidPath";
+       internal const string WebPartManager_InvalidPathWithPath = "WebPartManager_InvalidPathWithPath";
+       internal const string WebPartManager_InvalidProviderSignature = "WebPartManager_InvalidProviderSignature";
+       internal const string WebPartManager_MustBeInConnect = "WebPartManager_MustBeInConnect";
+       internal const string WebPartManager_MustBeInEdit = "WebPartManager_MustBeInEdit";
+       internal const string WebPartManager_MustBeInZone = "WebPartManager_MustBeInZone";
+       internal const string WebPartManager_MustRegister = "WebPartManager_MustRegister";
+       internal const string WebPartManager_NoChildControlID = "WebPartManager_NoChildControlID";
+       internal const string WebPartManager_NoSelectedWebPartConnect = "WebPartManager_NoSelectedWebPartConnect";
+       internal const string WebPartManager_NoSelectedWebPartEdit = "WebPartManager_NoSelectedWebPartEdit";
+       internal const string WebPartManager_NoWebPartID = "WebPartManager_NoWebPartID";
+       internal const string WebPartManager_NoZoneID = "WebPartManager_NoZoneID";
+       internal const string WebPartManager_OnlyOneInstance = "WebPartManager_OnlyOneInstance";
+       internal const string WebPartManager_PartNotExportable = "WebPartManager_PartNotExportable";
+       internal const string WebPartManager_PathCannotBeEmpty = "WebPartManager_PathCannotBeEmpty";
+       internal const string WebPartManager_PathMustBeEmpty = "WebPartManager_PathMustBeEmpty";
+       internal const string WebPartManager_Personalization = "WebPartManager_Personalization";
+       internal const string WebPartManager_RegisterTooLate = "WebPartManager_RegisterTooLate";
+       internal const string WebPartManager_SelectedWebPartChanged = "WebPartManager_SelectedWebPartChanged";
+       internal const string WebPartManager_SelectedWebPartChanging = "WebPartManager_SelectedWebPartChanging";
+       internal const string WebPartManager_StaticConnections = "WebPartManager_StaticConnections";
+       internal const string WebPartManager_StaticConnectionsReadOnly = "WebPartManager_StaticConnectionsReadOnly";
+       internal const string WebPartManager_TypeMustDeriveFromControl = "WebPartManager_TypeMustDeriveFromControl";
+       internal const string WebPartManager_TypeMustDeriveFromControlWithType = "WebPartManager_TypeMustDeriveFromControlWithType";
+       internal const string WebPartManager_UnknownConnection = "WebPartManager_UnknownConnection";
+       internal const string WebPartManager_WebPartAdded = "WebPartManager_WebPartAdded";
+       internal const string WebPartManager_WebPartAdding = "WebPartManager_WebPartAdding";
+       internal const string WebPartManager_WebPartClosed = "WebPartManager_WebPartClosed";
+       internal const string WebPartManager_WebPartClosing = "WebPartManager_WebPartClosing";
+       internal const string WebPartManager_WebPartDeleted = "WebPartManager_WebPartDeleted";
+       internal const string WebPartManager_WebPartDeleting = "WebPartManager_WebPartDeleting";
+       internal const string WebPartManager_WebPartMoved = "WebPartManager_WebPartMoved";
+       internal const string WebPartManager_WebPartMoving = "WebPartManager_WebPartMoving";
+       internal const string WebPartManager_WebPartsConnected = "WebPartManager_WebPartsConnected";
+       internal const string WebPartManager_WebPartsConnecting = "WebPartManager_WebPartsConnecting";
+       internal const string WebPartManager_WebPartsDisconnected = "WebPartManager_WebPartsDisconnected";
+       internal const string WebPartManager_WebPartsDisconnecting = "WebPartManager_WebPartsDisconnecting";
+       internal const string WebPartManagerRequired = "WebPartManagerRequired";
+       internal const string WebPartMenu_DefaultDropDownAlternateText = "WebPartMenu_DefaultDropDownAlternateText";
+       internal const string WebPartMenuStyle_ShadowColor = "WebPartMenuStyle_ShadowColor";
+       internal const string WebPartMinimizeVerb_Description = "WebPartMinimizeVerb_Description";
+       internal const string WebPartMinimizeVerb_Text = "WebPartMinimizeVerb_Text";
+       internal const string WebPartPersonalization_CannotEnterSharedScope = "WebPartPersonalization_CannotEnterSharedScope";
+       internal const string WebPartPersonalization_CannotLoadPersonalization = "WebPartPersonalization_CannotLoadPersonalization";
+       internal const string WebPartPersonalization_CantCallMethodBeforeInit = "WebPartPersonalization_CantCallMethodBeforeInit";
+       internal const string WebPartPersonalization_CantUsePropertyBeforeInit = "WebPartPersonalization_CantUsePropertyBeforeInit";
+       internal const string WebPartPersonalization_Enabled = "WebPartPersonalization_Enabled";
+       internal const string WebPartPersonalization_InitialScope = "WebPartPersonalization_InitialScope";
+       internal const string WebPartPersonalization_MustSetBeforeInit = "WebPartPersonalization_MustSetBeforeInit";
+       internal const string WebPartPersonalization_PersonalizationNotEnabled = "WebPartPersonalization_PersonalizationNotEnabled";
+       internal const string WebPartPersonalization_PersonalizationNotModifiable = "WebPartPersonalization_PersonalizationNotModifiable";
+       internal const string WebPartPersonalization_PersonalizationStateNotLoaded = "WebPartPersonalization_PersonalizationStateNotLoaded";
+       internal const string WebPartPersonalization_ProviderName = "WebPartPersonalization_ProviderName";
+       internal const string WebPartPersonalization_ProviderNotFound = "WebPartPersonalization_ProviderNotFound";
+       internal const string WebPartPersonalization_SameType = "WebPartPersonalization_SameType";
+       internal const string WebPartRestoreVerb_Description = "WebPartRestoreVerb_Description";
+       internal const string WebPartRestoreVerb_Text = "WebPartRestoreVerb_Text";
+       internal const string WebPartsSection_InvalidVerb = "WebPartsSection_InvalidVerb";
+       internal const string WebPartsSection_NoVerbs = "WebPartsSection_NoVerbs";
+       internal const string WebPartTracker_CircularConnection = "WebPartTracker_CircularConnection";
+       internal const string WebPartTransformerAttribute_Missing = "WebPartTransformerAttribute_Missing";
+       internal const string WebPartTransformerAttribute_NotTransformer = "WebPartTransformerAttribute_NotTransformer";
+       internal const string WebPartTransformerAttribute_SameTypes = "WebPartTransformerAttribute_SameTypes";
+       internal const string WebPartTransformerCollection_NotEmpty = "WebPartTransformerCollection_NotEmpty";
+       internal const string WebPartTransformerCollection_ReadOnly = "WebPartTransformerCollection_ReadOnly";
+       internal const string WebPartVerb_Checked = "WebPartVerb_Checked";
+       internal const string WebPartVerb_Description = "WebPartVerb_Description";
+       internal const string WebPartVerb_Enabled = "WebPartVerb_Enabled";
+       internal const string WebPartVerb_ImageUrl = "WebPartVerb_ImageUrl";
+       internal const string WebPartVerb_Text = "WebPartVerb_Text";
+       internal const string WebPartVerb_Visible = "WebPartVerb_Visible";
+       internal const string WebPartZoneBase_AllowLayoutChange = "WebPartZoneBase_AllowLayoutChange";
+       internal const string WebPartZoneBase_CloseVerb = "WebPartZoneBase_CloseVerb";
+       internal const string WebPartZoneBase_ConnectVerb = "WebPartZoneBase_ConnectVerb";
+       internal const string WebPartZoneBase_CreateVerbs = "WebPartZoneBase_CreateVerbs";
+       internal const string WebPartZoneBase_DefaultEmptyZoneText = "WebPartZoneBase_DefaultEmptyZoneText";
+       internal const string WebPartZoneBase_DeleteVerb = "WebPartZoneBase_DeleteVerb";
+       internal const string WebPartZoneBase_DisplayTitleFallback = "WebPartZoneBase_DisplayTitleFallback";
+       internal const string WebPartZoneBase_DragHighlightColor = "WebPartZoneBase_DragHighlightColor";
+       internal const string WebPartZoneBase_EditVerb = "WebPartZoneBase_EditVerb";
+       internal const string WebPartZoneBase_ExportVerb = "WebPartZoneBase_ExportVerb";
+       internal const string WebPartZoneBase_HelpVerb = "WebPartZoneBase_HelpVerb";
+       internal const string WebPartZoneBase_LayoutOrientation = "WebPartZoneBase_LayoutOrientation";
+       internal const string WebPartZoneBase_MenuCheckImageStyle = "WebPartZoneBase_MenuCheckImageStyle";
+       internal const string WebPartZoneBase_MenuCheckImageUrl = "WebPartZoneBase_MenuCheckImageUrl";
+       internal const string WebPartZoneBase_MenuLabelHoverStyle = "WebPartZoneBase_MenuLabelHoverStyle";
+       internal const string WebPartZoneBase_MenuLabelStyle = "WebPartZoneBase_MenuLabelStyle";
+       internal const string WebPartZoneBase_MenuLabelText = "WebPartZoneBase_MenuLabelText";
+       internal const string WebPartZoneBase_MenuPopupImageUrl = "WebPartZoneBase_MenuPopupImageUrl";
+       internal const string WebPartZoneBase_MenuPopupStyle = "WebPartZoneBase_MenuPopupStyle";
+       internal const string WebPartZoneBase_MenuVerbHoverStyle = "WebPartZoneBase_MenuVerbHoverStyle";
+       internal const string WebPartZoneBase_MenuVerbStyle = "WebPartZoneBase_MenuVerbStyle";
+       internal const string WebPartZoneBase_MinimizeVerb = "WebPartZoneBase_MinimizeVerb";
+       internal const string WebPartZoneBase_RestoreVerb = "WebPartZoneBase_RestoreVerb";
+       internal const string WebPartZoneBase_SelectedPartChromeStyle = "WebPartZoneBase_SelectedPartChromeStyle";
+       internal const string WebPartZoneBase_ShowTitleIcons = "WebPartZoneBase_ShowTitleIcons";
+       internal const string WebPartZoneBase_TitleBarVerbButtonType = "WebPartZoneBase_TitleBarVerbButtonType";
+       internal const string WebPartZoneBase_TitleBarVerbStyle = "WebPartZoneBase_TitleBarVerbStyle";
+       internal const string WebPartZoneBase_WebPartVerbRenderMode = "WebPartZoneBase_WebPartVerbRenderMode";
+       internal const string WebSockets_AcceptWebSocketRequestCanOnlyBeCalledOnce = "WebSockets_AcceptWebSocketRequestCanOnlyBeCalledOnce";
+       internal const string WebSockets_CannotBeCalledAfterHandlerExecute = "WebSockets_CannotBeCalledAfterHandlerExecute";
+       internal const string WebSockets_CannotBeCalledDuringBeginRequest = "WebSockets_CannotBeCalledDuringBeginRequest";
+       internal const string WebSockets_CannotBeCalledDuringChildExecute = "WebSockets_CannotBeCalledDuringChildExecute";
+       internal const string WebSockets_MethodNotAvailableDuringWebSocketProcessing = "WebSockets_MethodNotAvailableDuringWebSocketProcessing";
+       internal const string WebSockets_NotAWebSocketRequest = "WebSockets_NotAWebSocketRequest";
+       internal const string WebSockets_OriginCheckFailed = "WebSockets_OriginCheckFailed";
+       internal const string WebSockets_SubProtocolCannotBeNegotiated = "WebSockets_SubProtocolCannotBeNegotiated";
+       internal const string WebSockets_UnknownErrorWhileAccepting = "WebSockets_UnknownErrorWhileAccepting";
+       internal const string WebSockets_WebSocketModuleNotEnabled = "WebSockets_WebSocketModuleNotEnabled";
+       internal const string Wellknown_object_already_exists = "Wellknown_object_already_exists";
+       internal const string Windows_Token_API_not_supported = "Windows_Token_API_not_supported";
+       internal const string WithFile_Line_Num = "WithFile_Line_Num";
+       internal const string WithFile_No_Relevant_Line = "WithFile_No_Relevant_Line";
+       internal const string Wizard_ActiveStep = "Wizard_ActiveStep";
+       internal const string Wizard_ActiveStepChanged = "Wizard_ActiveStepChanged";
+       internal const string Wizard_ActiveStepIndex = "Wizard_ActiveStepIndex";
+       internal const string Wizard_ActiveStepIndex_out_of_range = "Wizard_ActiveStepIndex_out_of_range";
+       internal const string Wizard_CancelButtonClick = "Wizard_CancelButtonClick";
+       internal const string Wizard_CancelButtonImageUrl = "Wizard_CancelButtonImageUrl";
+       internal const string Wizard_CancelButtonStyle = "Wizard_CancelButtonStyle";
+       internal const string Wizard_CancelButtonText = "Wizard_CancelButtonText";
+       internal const string Wizard_CancelButtonType = "Wizard_CancelButtonType";
+       internal const string Wizard_CancelDestinationPageUrl = "Wizard_CancelDestinationPageUrl";
+       internal const string Wizard_Cannot_Modify_ControlCollection = "Wizard_Cannot_Modify_ControlCollection";
+       internal const string Wizard_CellPadding = "Wizard_CellPadding";
+       internal const string Wizard_CellSpacing = "Wizard_CellSpacing";
+       internal const string Wizard_DataList_Not_Found = "Wizard_DataList_Not_Found";
+       internal const string Wizard_Default_CancelButtonText = "Wizard_Default_CancelButtonText";
+       internal const string Wizard_Default_FinishButtonText = "Wizard_Default_FinishButtonText";
+       internal const string Wizard_Default_SkipToContentText = "Wizard_Default_SkipToContentText";
+       internal const string Wizard_Default_StepNextButtonText = "Wizard_Default_StepNextButtonText";
+       internal const string Wizard_Default_StepPreviousButtonText = "Wizard_Default_StepPreviousButtonText";
+       internal const string Wizard_DisplayCancelButton = "Wizard_DisplayCancelButton";
+       internal const string Wizard_DisplaySideBar = "Wizard_DisplaySideBar";
+       internal const string Wizard_FinishButtonClick = "Wizard_FinishButtonClick";
+       internal const string Wizard_FinishCompleteButtonImageUrl = "Wizard_FinishCompleteButtonImageUrl";
+       internal const string Wizard_FinishCompleteButtonStyle = "Wizard_FinishCompleteButtonStyle";
+       internal const string Wizard_FinishCompleteButtonText = "Wizard_FinishCompleteButtonText";
+       internal const string Wizard_FinishCompleteButtonType = "Wizard_FinishCompleteButtonType";
+       internal const string Wizard_FinishDestinationPageUrl = "Wizard_FinishDestinationPageUrl";
+       internal const string Wizard_FinishNavigationTemplate = "Wizard_FinishNavigationTemplate";
+       internal const string Wizard_FinishPreviousButtonImageUrl = "Wizard_FinishPreviousButtonImageUrl";
+       internal const string Wizard_FinishPreviousButtonStyle = "Wizard_FinishPreviousButtonStyle";
+       internal const string Wizard_FinishPreviousButtonText = "Wizard_FinishPreviousButtonText";
+       internal const string Wizard_FinishPreviousButtonType = "Wizard_FinishPreviousButtonType";
+       internal const string Wizard_Header_Placeholder_Must_Be_Specified_For_HeaderTemplate = "Wizard_Header_Placeholder_Must_Be_Specified_For_HeaderTemplate";
+       internal const string Wizard_Header_Placeholder_Must_Be_Specified_For_HeaderText = "Wizard_Header_Placeholder_Must_Be_Specified_For_HeaderText";
+       internal const string Wizard_HeaderText = "Wizard_HeaderText";
+       internal const string Wizard_InvalidBubbleEvent = "Wizard_InvalidBubbleEvent";
+       internal const string Wizard_LayoutTemplate = "Wizard_LayoutTemplate";
+       internal const string Wizard_Navigation_Placeholder_Must_Be_Specified = "Wizard_Navigation_Placeholder_Must_Be_Specified";
+       internal const string Wizard_NavigationButtonStyle = "Wizard_NavigationButtonStyle";
+       internal const string Wizard_NavigationStyle = "Wizard_NavigationStyle";
+       internal const string Wizard_NextButtonClick = "Wizard_NextButtonClick";
+       internal const string Wizard_PreviousButtonClick = "Wizard_PreviousButtonClick";
+       internal const string Wizard_SideBar_Button_Not_Found = "Wizard_SideBar_Button_Not_Found";
+       internal const string Wizard_Sidebar_Placeholder_Must_Be_Specified = "Wizard_Sidebar_Placeholder_Must_Be_Specified";
+       internal const string Wizard_SideBarButtonClick = "Wizard_SideBarButtonClick";
+       internal const string Wizard_SideBarButtonStyle = "Wizard_SideBarButtonStyle";
+       internal const string Wizard_SideBarStyle = "Wizard_SideBarStyle";
+       internal const string Wizard_SideBarTemplate = "Wizard_SideBarTemplate";
+       internal const string Wizard_StartNavigationTemplate = "Wizard_StartNavigationTemplate";
+       internal const string Wizard_StartNextButtonImageUrl = "Wizard_StartNextButtonImageUrl";
+       internal const string Wizard_StartNextButtonStyle = "Wizard_StartNextButtonStyle";
+       internal const string Wizard_StartNextButtonText = "Wizard_StartNextButtonText";
+       internal const string Wizard_StartNextButtonType = "Wizard_StartNextButtonType";
+       internal const string Wizard_Step_Not_In_Wizard = "Wizard_Step_Not_In_Wizard";
+       internal const string Wizard_Step_Placeholder_Must_Be_Specified = "Wizard_Step_Placeholder_Must_Be_Specified";
+       internal const string Wizard_StepNavigationTemplate = "Wizard_StepNavigationTemplate";
+       internal const string Wizard_StepNextButtonImageUrl = "Wizard_StepNextButtonImageUrl";
+       internal const string Wizard_StepNextButtonStyle = "Wizard_StepNextButtonStyle";
+       internal const string Wizard_StepNextButtonText = "Wizard_StepNextButtonText";
+       internal const string Wizard_StepNextButtonType = "Wizard_StepNextButtonType";
+       internal const string Wizard_StepPreviousButtonImageUrl = "Wizard_StepPreviousButtonImageUrl";
+       internal const string Wizard_StepPreviousButtonStyle = "Wizard_StepPreviousButtonStyle";
+       internal const string Wizard_StepPreviousButtonText = "Wizard_StepPreviousButtonText";
+       internal const string Wizard_StepPreviousButtonType = "Wizard_StepPreviousButtonType";
+       internal const string Wizard_StepStyle = "Wizard_StepStyle";
+       internal const string Wizard_WizardStepOnly = "Wizard_WizardStepOnly";
+       internal const string Wizard_WizardSteps = "Wizard_WizardSteps";
+       internal const string WizardStep_AllowReturn = "WizardStep_AllowReturn";
+       internal const string WizardStep_Name = "WizardStep_Name";
+       internal const string WizardStep_StepType = "WizardStep_StepType";
+       internal const string WizardStep_Title = "WizardStep_Title";
+       internal const string WizardStep_WrongContainment = "WizardStep_WrongContainment";
+       internal const string Wmi_provider_cant_initialize = "Wmi_provider_cant_initialize";
+       internal const string Wmi_provider_error = "Wmi_provider_error";
+       internal const string Wrong_decryption_enum = "Wrong_decryption_enum";
+       internal const string Wrong_profile_base_type = "Wrong_profile_base_type";
+       internal const string Wrong_SimpleWorkerRequest = "Wrong_SimpleWorkerRequest";
+       internal const string Wrong_validation_enum = "Wrong_validation_enum";
+       internal const string Wrong_validation_enum_FX45 = "Wrong_validation_enum_FX45";
+       internal const string WrongType_of_Protected_provider = "WrongType_of_Protected_provider";
+       internal const string Xml_Document = "Xml_Document";
+       internal const string Xml_DocumentContent = "Xml_DocumentContent";
+       internal const string Xml_DocumentSource = "Xml_DocumentSource";
+       internal const string Xml_Transform = "Xml_Transform";
+       internal const string Xml_TransformArgumentList = "Xml_TransformArgumentList";
+       internal const string Xml_TransformSource = "Xml_TransformSource";
+       internal const string Xml_XPathNavigator = "Xml_XPathNavigator";
+       internal const string XmlDataSource_CacheKeyContext = "XmlDataSource_CacheKeyContext";
+       internal const string XmlDataSource_CannotChangeWhileLoading = "XmlDataSource_CannotChangeWhileLoading";
+       internal const string XmlDataSource_Data = "XmlDataSource_Data";
+       internal const string XmlDataSource_DataFile = "XmlDataSource_DataFile";
+       internal const string XmlDataSource_Description = "XmlDataSource_Description";
+       internal const string XmlDataSource_DesignTimeRelativePathsNotSupported = "XmlDataSource_DesignTimeRelativePathsNotSupported";
+       internal const string XmlDataSource_DisplayName = "XmlDataSource_DisplayName";
+       internal const string XmlDataSource_NeedUniqueIDForCache = "XmlDataSource_NeedUniqueIDForCache";
+       internal const string XmlDataSource_NoWebPermission = "XmlDataSource_NoWebPermission";
+       internal const string XmlDataSource_SaveNotAllowed = "XmlDataSource_SaveNotAllowed";
+       internal const string XmlDataSource_Transform = "XmlDataSource_Transform";
+       internal const string XmlDataSource_TransformFile = "XmlDataSource_TransformFile";
+       internal const string XmlDataSource_Transforming = "XmlDataSource_Transforming";
+       internal const string XmlDataSource_XPath = "XmlDataSource_XPath";
+       internal const string XmlHierarchyData_CouldNotFindNode = "XmlHierarchyData_CouldNotFindNode";
+       internal const string XmlSiteMapProvider_cannot_add_node = "XmlSiteMapProvider_cannot_add_node";
+       internal const string XmlSiteMapProvider_Cannot_Be_Inited_Twice = "XmlSiteMapProvider_Cannot_Be_Inited_Twice";
+       internal const string XmlSiteMapProvider_cannot_find_provider = "XmlSiteMapProvider_cannot_find_provider";
+       internal const string XmlSiteMapProvider_cannot_remove_node = "XmlSiteMapProvider_cannot_remove_node";
+       internal const string XmlSiteMapProvider_Description = "XmlSiteMapProvider_Description";
+       internal const string XmlSiteMapProvider_Error_loading_Config_file = "XmlSiteMapProvider_Error_loading_Config_file";
+       internal const string XmlSiteMapProvider_FileName_already_in_use = "XmlSiteMapProvider_FileName_already_in_use";
+       internal const string XmlSiteMapProvider_FileName_does_not_exist = "XmlSiteMapProvider_FileName_does_not_exist";
+       internal const string XmlSiteMapProvider_Invalid_Extension = "XmlSiteMapProvider_Invalid_Extension";
+       internal const string XmlSiteMapProvider_invalid_GetRootNodeCore = "XmlSiteMapProvider_invalid_GetRootNodeCore";
+       internal const string XmlSiteMapProvider_invalid_resource_key = "XmlSiteMapProvider_invalid_resource_key";
+       internal const string XmlSiteMapProvider_invalid_sitemapnode_returned = "XmlSiteMapProvider_invalid_sitemapnode_returned";
+       internal const string XmlSiteMapProvider_missing_siteMapFile = "XmlSiteMapProvider_missing_siteMapFile";
+       internal const string XmlSiteMapProvider_Multiple_Nodes_With_Identical_Key = "XmlSiteMapProvider_Multiple_Nodes_With_Identical_Key";
+       internal const string XmlSiteMapProvider_Multiple_Nodes_With_Identical_Url = "XmlSiteMapProvider_Multiple_Nodes_With_Identical_Url";
+       internal const string XmlSiteMapProvider_multiple_resource_definition = "XmlSiteMapProvider_multiple_resource_definition";
+       internal const string XmlSiteMapProvider_Not_Initialized = "XmlSiteMapProvider_Not_Initialized";
+       internal const string XmlSiteMapProvider_Only_One_SiteMapNode_Required_At_Top = "XmlSiteMapProvider_Only_One_SiteMapNode_Required_At_Top";
+       internal const string XmlSiteMapProvider_Only_SiteMapNode_Allowed = "XmlSiteMapProvider_Only_SiteMapNode_Allowed";
+       internal const string XmlSiteMapProvider_resourceKey_cannot_be_empty = "XmlSiteMapProvider_resourceKey_cannot_be_empty";
+       internal const string XmlSiteMapProvider_Top_Element_Must_Be_SiteMap = "XmlSiteMapProvider_Top_Element_Must_Be_SiteMap";
+       internal const string XPathBinder_MustBeIXPathNavigable = "XPathBinder_MustBeIXPathNavigable";
+       internal const string XPathBinder_MustHaveXmlNodes = "XPathBinder_MustHaveXmlNodes";
+       internal const string XSP_init_error = "XSP_init_error";
+       internal const string Zone_AddedTooLate = "Zone_AddedTooLate";
+       internal const string Zone_EmptyZoneText = "Zone_EmptyZoneText";
+       internal const string Zone_EmptyZoneTextStyle = "Zone_EmptyZoneTextStyle";
+       internal const string Zone_ErrorStyle = "Zone_ErrorStyle";
+       internal const string Zone_FooterStyle = "Zone_FooterStyle";
+       internal const string Zone_HeaderStyle = "Zone_HeaderStyle";
+       internal const string Zone_HeaderText = "Zone_HeaderText";
+       internal const string Zone_InvalidParent = "Zone_InvalidParent";
+       internal const string Zone_Padding = "Zone_Padding";
+       internal const string Zone_PartChromePadding = "Zone_PartChromePadding";
+       internal const string Zone_PartChromeStyle = "Zone_PartChromeStyle";
+       internal const string Zone_PartChromeType = "Zone_PartChromeType";
+       internal const string Zone_PartStyle = "Zone_PartStyle";
+       internal const string Zone_PartTitleStyle = "Zone_PartTitleStyle";
+       internal const string Zone_SampleHeaderText = "Zone_SampleHeaderText";
+       internal const string Zone_VerbButtonType = "Zone_VerbButtonType";
+       internal const string Zone_VerbStyle = "Zone_VerbStyle";
+}
diff --git a/mcs/class/System.Web/System.Web-net_4_x.csproj b/mcs/class/System.Web/System.Web-net_4_x.csproj
new file mode 100644 (file)
index 0000000..bb59ec3
--- /dev/null
@@ -0,0 +1,1627 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,612,618,618</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,612,618,618</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;INSIDE_SYSTEM_WEB;WEBSERVICES_DEP</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,612,618,618</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;INSIDE_SYSTEM_WEB;WEBSERVICES_DEP</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpApplicationStateBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpBrowserCapabilitiesBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpCachePolicyBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpFileCollectionBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpPostedFileBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpPostedFileWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpRequestBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpResponseBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpServerUtilityBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpSessionStateBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpStaticObjectsCollectionBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpStaticObjectsCollectionWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ISubscriptionToken.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ModelBinding\BindingBehavior.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ModelBinding\BindingBehaviorAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ModelBinding\BindNeverAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ModelBinding\BindRequiredAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ModelBinding\ExtensibleModelBinderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ModelBinding\IModelNameProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ModelBinding\ModelBinderProviderOptionsAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Profile\HttpProfileGroupBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Routing\RouteBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Security\AntiXss\CodeCharts.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\UI\WebParts\WebBrowsableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\UI\WebParts\WebDescriptionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\UI\WebParts\WebDisplayNameAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\UnvalidatedRequestValuesBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\UnvalidatedRequestValuesWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\WebSockets\AspNetWebSocketOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\WebSockets\SubprotocolUtil.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\System.Design\System.Data.Design\TypedDataSetGenerator.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\AssemblyNamesTypeResolutionService.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ByteArrayFromResXHandler.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\FileRefHandler.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\InMemoryHandler.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\NullRefHandler.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ResXDataNode.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ResXDataNodeHandler.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ResXFileRef.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ResXNullRef.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ResXResourceReader.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ResXResourceSet.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ResXResourceWriter.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\SerializedFromResXHandler.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\TypeConverterFromResXHandler.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.Web.Util\ISectionSettingsMapper.cs" />\r
+    <Compile Include="Mono.Web.Util\MembershipSectionMapper.cs" />\r
+    <Compile Include="Mono.Web.Util\RoleManagerSectionMapper.cs" />\r
+    <Compile Include="Mono.Web.Util\SettingsMapping.cs" />\r
+    <Compile Include="Mono.Web.Util\SettingsMappingManager.cs" />\r
+    <Compile Include="Mono.Web.Util\SettingsMappingWhat.cs" />\r
+    <Compile Include="System.Collections.Concurrent\SplitOrderedList.cs" />\r
+    <Compile Include="System.Web.Caching\AggregateCacheDependency.cs" />\r
+    <Compile Include="System.Web.Caching\Cache.cs" />\r
+    <Compile Include="System.Web.Caching\CacheDependency.cs" />\r
+    <Compile Include="System.Web.Caching\CachedRawResponse.cs" />\r
+    <Compile Include="System.Web.Caching\CachedVaryBy.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItem.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemEnumerator.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemLRU.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemPriority.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemPriorityQueue.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemPriorityQueueDebug.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemRemovedCallback.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemRemovedReason.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemUpdateCallback.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemUpdateReason.cs" />\r
+    <Compile Include="System.Web.Caching\DatabaseNotEnabledForNotificationException.cs" />\r
+    <Compile Include="System.Web.Caching\FileResponseElement.cs" />\r
+    <Compile Include="System.Web.Caching\HeaderElement.cs" />\r
+    <Compile Include="System.Web.Caching\InMemoryOutputCacheProvider.cs" />\r
+    <Compile Include="System.Web.Caching\IOutputCacheEntry.cs" />\r
+    <Compile Include="System.Web.Caching\MemoryResponseElement.cs" />\r
+    <Compile Include="System.Web.Caching\OutputCache.cs" />\r
+    <Compile Include="System.Web.Caching\OutputCacheModule.cs" />\r
+    <Compile Include="System.Web.Caching\OutputCacheProvider.cs" />\r
+    <Compile Include="System.Web.Caching\OutputCacheProviderCollection.cs" />\r
+    <Compile Include="System.Web.Caching\ResponseElement.cs" />\r
+    <Compile Include="System.Web.Caching\SqlCacheDependency.cs" />\r
+    <Compile Include="System.Web.Caching\SqlCacheDependencyAdmin.cs" />\r
+    <Compile Include="System.Web.Caching\SubstitutionResponseElement.cs" />\r
+    <Compile Include="System.Web.Caching\TableNotEnabledForNotificationException.cs" />\r
+    <Compile Include="System.Web.Compilation\AppCodeCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\ApplicationFileBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\AppResourceFileInfo.cs" />\r
+    <Compile Include="System.Web.Compilation\AppResourceFilesCollection.cs" />\r
+    <Compile Include="System.Web.Compilation\AppResourcesAssemblyBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\AppResourcesCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\AppSettingsExpressionBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\AppWebReferencesCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\AspComponent.cs" />\r
+    <Compile Include="System.Web.Compilation\AspComponentFoundry.cs" />\r
+    <Compile Include="System.Web.Compilation\AspGenerator.cs" />\r
+    <Compile Include="System.Web.Compilation\AspParser.cs" />\r
+    <Compile Include="System.Web.Compilation\AspTokenizer.cs" />\r
+    <Compile Include="System.Web.Compilation\AssemblyBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\BaseCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildDependencySet.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildManager.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildManagerCacheItem.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildManagerDirectoryBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildManagerHost.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildManagerHostUnloadEventArgs.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildManagerHostUnloadEventHandler.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildManagerRemoveEntryEventHandler.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildProviderAppliesTo.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildProviderAppliesToAttribute.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildProviderGroup.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildProviderResultFlags.cs" />\r
+    <Compile Include="System.Web.Compilation\CachingCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\ClientBuildManager.cs" />\r
+    <Compile Include="System.Web.Compilation\ClientBuildManagerCallback.cs" />\r
+    <Compile Include="System.Web.Compilation\ClientBuildManagerParameter.cs" />\r
+    <Compile Include="System.Web.Compilation\CompilationException.cs" />\r
+    <Compile Include="System.Web.Compilation\CompilerType.cs" />\r
+    <Compile Include="System.Web.Compilation\ConnectionStringsExpressionBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\DefaultResourceProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\DefaultResourceProviderFactory.cs" />\r
+    <Compile Include="System.Web.Compilation\DesignTimeResourceProviderFactoryAttribute.cs" />\r
+    <Compile Include="System.Web.Compilation\Directive.cs" />\r
+    <Compile Include="System.Web.Compilation\ExpressionBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\ExpressionBuilderContext.cs" />\r
+    <Compile Include="System.Web.Compilation\ExpressionEditorAttribute.cs" />\r
+    <Compile Include="System.Web.Compilation\ExpressionPrefixAttribute.cs" />\r
+    <Compile Include="System.Web.Compilation\FolderLevelBuildProviderAppliesTo.cs" />\r
+    <Compile Include="System.Web.Compilation\FolderLevelBuildProviderAppliesToAttribute.cs" />\r
+    <Compile Include="System.Web.Compilation\ForceCopyBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\GenericBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\GlobalAsaxCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\IAssemblyPostProcessor.cs" />\r
+    <Compile Include="System.Web.Compilation\IgnoreFileBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\IImplicitResourceProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\ILocation.cs" />\r
+    <Compile Include="System.Web.Compilation\ImplicitResourceKey.cs" />\r
+    <Compile Include="System.Web.Compilation\IResourceProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\LinePragmaCodeInfo.cs" />\r
+    <Compile Include="System.Web.Compilation\Location.cs" />\r
+    <Compile Include="System.Web.Compilation\MasterPageBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\MasterPageCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\PageBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\PageCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\PageThemeCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\ParseException.cs" />\r
+    <Compile Include="System.Web.Compilation\PrecompilationFlags.cs" />\r
+    <Compile Include="System.Web.Compilation\PreservationFile.cs" />\r
+    <Compile Include="System.Web.Compilation\ResourceExpressionBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\ResourceExpressionFields.cs" />\r
+    <Compile Include="System.Web.Compilation\ResourceProviderFactory.cs" />\r
+    <Compile Include="System.Web.Compilation\RouteUrlExpressionBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\RouteValueExpressionBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\SimpleBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\TagAttributes.cs" />\r
+    <Compile Include="System.Web.Compilation\TagType.cs" />\r
+    <Compile Include="System.Web.Compilation\TemplateBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\TemplateControlCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\ThemeDirectoryBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\ThemeDirectoryCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\UserControlBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\UserControlCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\WebHandlerBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\WebServiceBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\WebServiceCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\WsdlBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\XsdBuildProvider.cs" />\r
+    <Compile Include="System.Web.Configuration.Internal\IInternalConfigWebHost.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AdapterDictionary.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AnonymousIdentificationSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ApplicationSettingsConfigurationFileMap.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AssemblyCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AssemblyInfo.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AuthenticationMode.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AuthenticationSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AuthorizationRule.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AuthorizationRuleAction.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AuthorizationRuleCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AuthorizationSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\BufferModesCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\BufferModeSettings.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\BuildProvider.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\BuildProviderCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CacheSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CapabilitiesBuild.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CapabilitiesResult.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ClientTarget.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ClientTargetCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ClientTargetSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CodeSubDirectoriesCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CodeSubDirectory.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CompilationSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\Compiler.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CompilerCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CustomError.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CustomErrorCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CustomErrorsMode.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CustomErrorsRedirectMode.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CustomErrorsSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\DeploymentSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\EventMappingSettings.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\EventMappingSettingsCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ExpressionBuilder.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ExpressionBuilderCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationConfiguration.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationCredentials.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationUser.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationUserCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\FormsAuthPasswordFormat.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\FormsProtectionEnum.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\GlobalizationSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HandlersUtil.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HealthMonitoringSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HostingEnvironmentSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpCapabilitiesBase.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpCapabilitiesDefaultProvider.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpCapabilitiesProvider.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpConfigurationContext.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpConfigurationSystem.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpCookiesSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpHandlerAction.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpHandlerActionCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpHandlersSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpModuleAction.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpModuleActionCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpModulesSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpRuntimeSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ICapabilitiesProcess.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\IConfigMapPath.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\IConfigMapPathFactory.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\IdentitySection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\IRemoteWebConfigurationHostServer.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\LowerCaseStringConverter.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\LruCache.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\MachineKeyCompatibilityMode.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\MachineKeyRegistryStorage.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\MachineKeySection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\MachineKeyValidation.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\MachineKeyValidationConverter.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\MembershipSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\MonoSettingsSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\NamespaceCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\NamespaceInfo.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\nBrowser\Build.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\nBrowser\Exception.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\nBrowser\File.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\nBrowser\Identification.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\nBrowser\Node.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\nBrowser\NodeTypes.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\nBrowser\Result.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\NullableStringValidator.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\OutputCacheProfile.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\OutputCacheProfileCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\OutputCacheSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\OutputCacheSettingsSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\PagesEnableSessionState.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\PagesSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\PassportAuthentication.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\PositiveTimeSpanValidator.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProcessModelComAuthenticationLevel.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProcessModelComImpersonationLevel.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProcessModelLogLevel.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProcessModelSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfileGroupSettings.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfileGroupSettingsCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfilePropertyNameValidator.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfilePropertySettings.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfilePropertySettingsCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfileSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfileSettings.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfileSettingsCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\PropertyHelper.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProvidersHelper.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\RegexWorker.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\RoleManagerSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\RootProfilePropertySettingsCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\RuleSettings.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\RuleSettingsCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SecurityPolicySection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SerializationMode.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SessionPageStateSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SessionStateSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SiteMapSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SqlCacheDependencyDatabase.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SqlCacheDependencyDatabaseCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SqlCacheDependencySection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SystemWebCachingSectionGroup.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SystemWebSectionGroup.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TagMapCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TagMapInfo.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TagPrefixCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TagPrefixInfo.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TraceDisplayMode.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TraceSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TransformerInfo.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TransformerInfoCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TrustLevel.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TrustLevelCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TrustSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\UrlMapping.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\UrlMappingCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\UrlMappingsSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\VersionConverter.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\VirtualDirectoryMapping.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\VirtualDirectoryMappingCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebApplicationLevel.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebConfigurationFileMap.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebConfigurationHost.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebConfigurationManager.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebContext.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebControlsSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebPartsPersonalization.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebPartsPersonalizationAuthorization.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebPartsSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\XhtmlConformanceMode.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\XhtmlConformanceSection.cs" />\r
+    <Compile Include="System.Web.Handlers\AssemblyResourceLoader.cs" />\r
+    <Compile Include="System.Web.Handlers\TraceHandler.cs" />\r
+    <Compile Include="System.Web.Hosting\AppDomainFactory.cs" />\r
+    <Compile Include="System.Web.Hosting\ApplicationHost.cs" />\r
+    <Compile Include="System.Web.Hosting\ApplicationInfo.cs" />\r
+    <Compile Include="System.Web.Hosting\ApplicationManager.cs" />\r
+    <Compile Include="System.Web.Hosting\AppManagerAppDomainFactory.cs" />\r
+    <Compile Include="System.Web.Hosting\BareApplicationHost.cs" />\r
+    <Compile Include="System.Web.Hosting\DefaultVirtualDirectory.cs" />\r
+    <Compile Include="System.Web.Hosting\DefaultVirtualFile.cs" />\r
+    <Compile Include="System.Web.Hosting\DefaultVirtualPathProvider.cs" />\r
+    <Compile Include="System.Web.Hosting\HostingEnvironment.cs" />\r
+    <Compile Include="System.Web.Hosting\IAppDomainFactory.cs" />\r
+    <Compile Include="System.Web.Hosting\IApplicationHost.cs" />\r
+    <Compile Include="System.Web.Hosting\IAppManagerAppDomainFactory.cs" />\r
+    <Compile Include="System.Web.Hosting\IISAPIRuntime.cs" />\r
+    <Compile Include="System.Web.Hosting\IRegisteredObject.cs" />\r
+    <Compile Include="System.Web.Hosting\ISAPIRuntime.cs" />\r
+    <Compile Include="System.Web.Hosting\SimpleWorkerRequest.cs" />\r
+    <Compile Include="System.Web.Hosting\VirtualDirectory.cs" />\r
+    <Compile Include="System.Web.Hosting\VirtualFile.cs" />\r
+    <Compile Include="System.Web.Hosting\VirtualFileBase.cs" />\r
+    <Compile Include="System.Web.Hosting\VirtualPathProvider.cs" />\r
+    <Compile Include="System.Web.Mail\Base64AttachmentEncoder.cs" />\r
+    <Compile Include="System.Web.Mail\IAttachmentEncoder.cs" />\r
+    <Compile Include="System.Web.Mail\MailAddress.cs" />\r
+    <Compile Include="System.Web.Mail\MailAddressCollection.cs" />\r
+    <Compile Include="System.Web.Mail\MailAttachment.cs" />\r
+    <Compile Include="System.Web.Mail\MailEncoding.cs" />\r
+    <Compile Include="System.Web.Mail\MailFormat.cs" />\r
+    <Compile Include="System.Web.Mail\MailHeader.cs" />\r
+    <Compile Include="System.Web.Mail\MailMessage.cs" />\r
+    <Compile Include="System.Web.Mail\MailMessageWrapper.cs" />\r
+    <Compile Include="System.Web.Mail\MailPriority.cs" />\r
+    <Compile Include="System.Web.Mail\MailUtil.cs" />\r
+    <Compile Include="System.Web.Mail\RelatedBodyPart.cs" />\r
+    <Compile Include="System.Web.Mail\SmtpClient.cs" />\r
+    <Compile Include="System.Web.Mail\SmtpException.cs" />\r
+    <Compile Include="System.Web.Mail\SmtpMail.cs" />\r
+    <Compile Include="System.Web.Mail\SmtpResponse.cs" />\r
+    <Compile Include="System.Web.Mail\SmtpStream.cs" />\r
+    <Compile Include="System.Web.Mail\ToUUEncodingTransform.cs" />\r
+    <Compile Include="System.Web.Mail\UUAttachmentEncoder.cs" />\r
+    <Compile Include="System.Web.Management\EventNotificationType.cs" />\r
+    <Compile Include="System.Web.Management\IRegiisUtility.cs" />\r
+    <Compile Include="System.Web.Management\IWebEventCustomEvaluator.cs" />\r
+    <Compile Include="System.Web.Management\RuleFiringRecord.cs" />\r
+    <Compile Include="System.Web.Management\SessionStateType.cs" />\r
+    <Compile Include="System.Web.Management\SqlFeatures.cs" />\r
+    <Compile Include="System.Web.Management\WebApplicationInformation.cs" />\r
+    <Compile Include="System.Web.Management\WebBaseEvent.cs" />\r
+    <Compile Include="System.Web.Management\WebEventCodes.cs" />\r
+    <Compile Include="System.Web.Management\WebEventFormatter.cs" />\r
+    <Compile Include="System.Web.Profile\CustomProviderDataAttribute.cs" />\r
+    <Compile Include="System.Web.Profile\DefaultProfile.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileAuthenticationOption.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileAutoSaveEventArgs.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileAutoSaveEventHandler.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileBase.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileEventArgs.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileEventHandler.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileInfo.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileInfoCollection.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileManager.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileMigrateEventArgs.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileMigrateEventHandler.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileModule.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileParser.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileProvider.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileProviderAttribute.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileProviderCollection.cs" />\r
+    <Compile Include="System.Web.Profile\SettingsAllowAnonymousAttribute.cs" />\r
+    <Compile Include="System.Web.Profile\SqliteProfileProvider.cs" />\r
+    <Compile Include="System.Web.Profile\SqlProfileProvider.cs" />\r
+    <Compile Include="System.Web.Properties\TranslationProperties.Designer.cs" />\r
+    <Compile Include="System.Web.Routing\HttpMethodConstraint.cs" />\r
+    <Compile Include="System.Web.Routing\IRouteConstraint.cs" />\r
+    <Compile Include="System.Web.Routing\IRouteHandler.cs" />\r
+    <Compile Include="System.Web.Routing\PageRouteHandler.cs" />\r
+    <Compile Include="System.Web.Routing\PatternParser.cs" />\r
+    <Compile Include="System.Web.Routing\PatternToken.cs" />\r
+    <Compile Include="System.Web.Routing\PatternTokenType.cs" />\r
+    <Compile Include="System.Web.Routing\RequestContext.cs" />\r
+    <Compile Include="System.Web.Routing\Route.cs" />\r
+    <Compile Include="System.Web.Routing\RouteCollection.cs" />\r
+    <Compile Include="System.Web.Routing\RouteData.cs" />\r
+    <Compile Include="System.Web.Routing\RouteDirection.cs" />\r
+    <Compile Include="System.Web.Routing\RouteTable.cs" />\r
+    <Compile Include="System.Web.Routing\RouteValueDictionary.cs" />\r
+    <Compile Include="System.Web.Routing\RouteValueDictionaryExtensions.cs" />\r
+    <Compile Include="System.Web.Routing\StopRoutingHandler.cs" />\r
+    <Compile Include="System.Web.Routing\UrlRoutingHandler.cs" />\r
+    <Compile Include="System.Web.Routing\UrlRoutingModule.cs" />\r
+    <Compile Include="System.Web.Routing\VirtualPathData.cs" />\r
+    <Compile Include="System.Web.Security\ActiveDirectoryConnectionProtection.cs" />\r
+    <Compile Include="System.Web.Security\ActiveDirectoryMembershipProvider.cs" />\r
+    <Compile Include="System.Web.Security\AnonymousIdentificationEventArgs.cs" />\r
+    <Compile Include="System.Web.Security\AnonymousIdentificationEventHandler.cs" />\r
+    <Compile Include="System.Web.Security\AnonymousIdentificationModule.cs" />\r
+    <Compile Include="System.Web.Security\AspNetDBSchemaChecker.cs" />\r
+    <Compile Include="System.Web.Security\CookieProtection.cs" />\r
+    <Compile Include="System.Web.Security\DefaultAuthenticationEventArgs.cs" />\r
+    <Compile Include="System.Web.Security\DefaultAuthenticationEventHandler.cs" />\r
+    <Compile Include="System.Web.Security\DefaultAuthenticationModule.cs" />\r
+    <Compile Include="System.Web.Security\FileAuthorizationModule.cs" />\r
+    <Compile Include="System.Web.Security\FormsAuthentication.cs" />\r
+    <Compile Include="System.Web.Security\FormsAuthenticationEventArgs.cs" />\r
+    <Compile Include="System.Web.Security\FormsAuthenticationEventHandler.cs" />\r
+    <Compile Include="System.Web.Security\FormsAuthenticationModule.cs" />\r
+    <Compile Include="System.Web.Security\FormsAuthenticationTicket.cs" />\r
+    <Compile Include="System.Web.Security\FormsIdentity.cs" />\r
+    <Compile Include="System.Web.Security\MachineKey.cs" />\r
+    <Compile Include="System.Web.Security\MachineKeyProtection.cs" />\r
+    <Compile Include="System.Web.Security\Membership.cs" />\r
+    <Compile Include="System.Web.Security\MembershipHelper.cs" />\r
+    <Compile Include="System.Web.Security\MembershipPasswordAttribute.cs" />\r
+    <Compile Include="System.Web.Security\PassportAuthenticationEventArgs.cs" />\r
+    <Compile Include="System.Web.Security\PassportAuthenticationEventHandler.cs" />\r
+    <Compile Include="System.Web.Security\PassportAuthenticationModule.cs" />\r
+    <Compile Include="System.Web.Security\PassportIdentity.cs" />\r
+    <Compile Include="System.Web.Security\RoleManagerEventArgs.cs" />\r
+    <Compile Include="System.Web.Security\RoleManagerEventHandler.cs" />\r
+    <Compile Include="System.Web.Security\RoleManagerModule.cs" />\r
+    <Compile Include="System.Web.Security\RolePrincipal.cs" />\r
+    <Compile Include="System.Web.Security\RoleProviderCollection.cs" />\r
+    <Compile Include="System.Web.Security\Roles.cs" />\r
+    <Compile Include="System.Web.Security\SqliteMembershipProvider.cs" />\r
+    <Compile Include="System.Web.Security\SqliteRoleProvider.cs" />\r
+    <Compile Include="System.Web.Security\SqlMembershipProvider.cs" />\r
+    <Compile Include="System.Web.Security\SqlRoleProvider.cs" />\r
+    <Compile Include="System.Web.Security\UrlAuthorizationModule.cs" />\r
+    <Compile Include="System.Web.Security\WindowsAuthenticationEventArgs.cs" />\r
+    <Compile Include="System.Web.Security\WindowsAuthenticationEventHandler.cs" />\r
+    <Compile Include="System.Web.Security\WindowsAuthenticationModule.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\HttpSessionState.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\HttpSessionStateContainer.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\IHttpSessionState.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\IReadOnlySessionState.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\IRequiresSessionState.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\ISessionIDManager.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\ISessionStateItemCollection.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\IStateRuntime.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\RemoteStateServer.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionId.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionIDManager.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionInProcHandler.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionSQLServerHandler.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateActions.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateBehavior.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateItemCollection.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateItemExpireCallback.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateMode.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateModule.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateServerHandler.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateStoreData.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateStoreProviderBase.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateUtility.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\StateRuntime.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\StateServerItem.cs" />\r
+    <Compile Include="System.Web.UI.Adapters\ControlAdapter.cs" />\r
+    <Compile Include="System.Web.UI.Adapters\PageAdapter.cs" />\r
+    <Compile Include="System.Web.UI.Adapters\WmlPostFieldType.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlAnchor.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlButton.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlContainerControl.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlControl.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlEmptyTagControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlForm.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlGenericControl.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlHead.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlHeadBuilder.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlImage.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputButton.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputCheckBox.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputControl.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputFile.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputHidden.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputImage.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputPassword.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputRadioButton.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputReset.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputSubmit.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputText.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlLink.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlMeta.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlSelect.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlSelectBuilder.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlTable.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlTableCell.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlTableCellCollection.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlTableRow.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlTableRowCollection.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlTextArea.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlTitle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.Adapters\DataBoundControlAdapter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.Adapters\HideDisabledControlAdapter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.Adapters\HierarchicalDataBoundControlAdapter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.Adapters\MenuAdapter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.Adapters\WebControlAdapter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionConsumerCallback.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionInterfaceCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionPoint.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionPointType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionProviderCallback.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ConsumerConnectionPoint.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\EditorPart.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\EditorPartCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IPersonalizable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ITrackingPersonalizable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ITransformerConfigurationControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IVersioningPersonalizable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebActionable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebEditable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPart.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartHttpHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartParameters.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartTable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\Part.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\PartChromeState.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\PartChromeType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\PersonalizableAttribute.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\PersonalizationScope.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ProviderConnectionPoint.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\TypeCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPart.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartAuthorizationEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartAuthorizationEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartCancelEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartCancelEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartExportMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartHelpMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartPageMenuMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerb.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerbCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerbsEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerbsEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AccessDataSource.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AccessDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AdCreatedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AdCreatedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AdRotator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AssociatedControlConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AuthenticateEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AuthenticateEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AutoCompleteType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AutoGeneratedField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AutoGeneratedFieldProperties.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BaseCompareValidator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BaseDataBoundControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BaseDataList.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BaseMenuRenderer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BaseValidator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BorderStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BoundColumn.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BoundField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BulletedList.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BulletedListDisplayMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BulletedListEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BulletedListEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BulletStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Button.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ButtonColumn.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ButtonColumnType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ButtonField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ButtonFieldBase.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ButtonType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Calendar.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CalendarDay.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CalendarSelectionMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ChangePassword.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CheckBox.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CheckBoxField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CheckBoxList.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ChildTable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CircleHotSpot.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CollectionDataSource.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CommandField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CompareValidator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CompleteWizardStep.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CompositeControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CompositeDataBoundControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ContainedTable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Content.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ContentControlBuilderInternal.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ContentDirection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ContentPlaceHolder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ContentPlaceHolderBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ControlIDConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ControlParameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ControlPropertyNameConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CookieParameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CreateUserErrorEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CreateUserErrorEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CreateUserWizard.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CreateUserWizardStep.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CustomValidator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataBoundControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataBoundControlMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlButton.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlCellType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlCommands.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlFieldCell.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlFieldCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlFieldHeaderCell.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlRowState.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlRowType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGrid.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridColumn.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridColumnCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridItem.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridItemCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridItemEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridItemEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridPageChangedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridPageChangedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridPagerStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridSortCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridSortCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataKey.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataKeyArray.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataKeyCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataList.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataListCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataListCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataListItem.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataListItemCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataListItemEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataListItemEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataSourceCacheManager.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DayNameFormat.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DayRenderEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DayRenderEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewDeletedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewDeletedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewDeleteEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewDeleteEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewModeEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewModeEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewPageEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewPageEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewPagerRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewRowCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdatedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdatedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdateEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdateEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DropDownList.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\EditCommandColumn.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\EmbeddedMailObject.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\EmbeddedMailObjectsCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FileUpload.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FirstDayOfWeek.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FontInfo.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FontNamesConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FontSize.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FontUnit.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FontUnitConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormParameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewDeletedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewDeletedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewDeleteEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewDeleteEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewInsertedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewInsertedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewInsertEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewInsertEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewModeEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewModeEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewPageEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewPageEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewPagerRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewUpdatedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewUpdatedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewUpdateEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewUpdateEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridLines.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewCancelEditEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewCancelEditEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewDeletedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewDeletedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewDeleteEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewDeleteEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewEditEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewEditEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewPageEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewPageEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewRowCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewRowEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewRowEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewSelectEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewSelectEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewSortEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewSortEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewUpdatedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewUpdatedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewUpdateEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewUpdateEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HiddenField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HierarchicalDataBoundControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HorizontalAlign.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HorizontalAlignConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HotSpot.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HotSpotCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HotSpotMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HyperLink.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HyperLinkColumn.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HyperLinkControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HyperLinkField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IButtonControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ICallbackContainer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ICompositeControlDesignerAccessor.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IDataBoundControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IDataBoundItemControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IDataBoundListControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IFieldControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Image.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ImageAlign.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ImageButton.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ImageField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ImageMap.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ImageMapEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ImageMapEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IMenuRenderer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IPersistedSelector.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IPostBackContainer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IRenderOuterTable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IRepeatInfoUser.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Label.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LabelControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LinkButton.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LinkButtonControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ListBox.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ListControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ListItem.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ListItemCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ListItemControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ListItemType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ListSelectionMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Literal.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LiteralControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LiteralMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Localize.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Login.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LoginCancelEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LoginCancelEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LoginFailureAction.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LoginName.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LoginStatus.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LoginTextLayout.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LoginView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LogoutAction.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MailDefinition.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MailMessageEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MailMessageEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Menu.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuItem.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuItemBinding.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuItemBindingCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuItemCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuItemStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuItemStyleCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuItemTemplateContainer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuListRenderer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuRenderingMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuTableRenderer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MonthChangedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MonthChangedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MultiView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MultiViewControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\NamedCssStyleCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\NextPrevFormat.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSource.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceDisposingEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceDisposingEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceFilteringEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceFilteringEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceMethodEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceMethodEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceSelectingEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceSelectingEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceStatusEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceStatusEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Orientation.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PagedDataSource.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PagerButtons.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PagerMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PagerPosition.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PagerSettings.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Panel.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PanelStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Parameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ParameterCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PasswordRecovery.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PathDirection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PlaceHolder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PlaceHolderControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PolygonHotSpot.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ProfileParameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\QueryStringParameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RadioButton.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RadioButtonList.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RangeValidator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RectangleHotSpot.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RegularExpressionValidator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeatDirection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Repeater.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeaterCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeaterCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeaterItem.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeaterItemCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeaterItemEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeaterItemEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeatInfo.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeatLayout.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RequiredFieldValidator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RoleGroup.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RoleGroupCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RouteParameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ScrollBars.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SelectedDatesCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SendMailErrorEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SendMailErrorEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ServerValidateEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ServerValidateEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SessionParameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapDataSource.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapHierarchicalDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItem.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItemEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItemEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItemType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapPath.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapViewType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SortDirection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSource.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceCommandType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceFilteringEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceFilteringEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceSelectingEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceSelectingEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceStatusEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceStatusEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\StringArrayConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Style.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\StyleBlock.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\StyleCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SubMenuStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SubMenuStyleCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Substitution.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Table.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableCaptionAlign.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableCell.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableCellCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableCellControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableFooterRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableHeaderCell.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableHeaderRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableHeaderScope.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableItemStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableRowCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableRowSection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableSectionStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TargetConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TemplateColumn.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TemplatedWizardStep.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TemplateField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TextAlign.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TextBox.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TextBoxControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TextBoxMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TitleFormat.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeBinding.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeBindingCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeSelectAction.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeStyleCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeTypes.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeViewImageSet.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Unit.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\UnitConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\UnitType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ValidatedControlConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ValidationCompareOperator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ValidationDataType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ValidationSummary.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ValidationSummaryDisplayMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ValidatorDisplay.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\VerticalAlign.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\VerticalAlignConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\View.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ViewCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WebColorConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WebControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Wizard.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardLayoutContainer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardLayoutNavigationContainer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardNavigationEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardNavigationEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardStep.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardStepBase.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardStepCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardStepControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardStepType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Xml.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlDataSource.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlDataSourceNodeDescriptor.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlDataSourcePropertyDescriptor.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlHierarchicalDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlHierarchicalEnumerable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlHierarchyData.cs" />\r
+    <Compile Include="System.Web.UI\ApplicationFileParser.cs" />\r
+    <Compile Include="System.Web.UI\AttributeCollection.cs" />\r
+    <Compile Include="System.Web.UI\BaseParser.cs" />\r
+    <Compile Include="System.Web.UI\BasePartialCachingControl.cs" />\r
+    <Compile Include="System.Web.UI\BaseTemplateParser.cs" />\r
+    <Compile Include="System.Web.UI\BoundPropertyEntry.cs" />\r
+    <Compile Include="System.Web.UI\BuilderPropertyEntry.cs" />\r
+    <Compile Include="System.Web.UI\BuildMethod.cs" />\r
+    <Compile Include="System.Web.UI\BuildTemplateMethod.cs" />\r
+    <Compile Include="System.Web.UI\ChtmlTextWriter.cs" />\r
+    <Compile Include="System.Web.UI\ClientIDMode.cs" />\r
+    <Compile Include="System.Web.UI\ClientScriptManager.cs" />\r
+    <Compile Include="System.Web.UI\CodeBuilder.cs" />\r
+    <Compile Include="System.Web.UI\CodeConstructType.cs" />\r
+    <Compile Include="System.Web.UI\CodeRenderBuilder.cs" />\r
+    <Compile Include="System.Web.UI\CollectionBuilder.cs" />\r
+    <Compile Include="System.Web.UI\CompilationMode.cs" />\r
+    <Compile Include="System.Web.UI\CompiledBindableTemplateBuilder.cs" />\r
+    <Compile Include="System.Web.UI\CompiledTemplateBuilder.cs" />\r
+    <Compile Include="System.Web.UI\ComplexPropertyEntry.cs" />\r
+    <Compile Include="System.Web.UI\ConflictOptions.cs" />\r
+    <Compile Include="System.Web.UI\ConstructorNeedsTagAttribute.cs" />\r
+    <Compile Include="System.Web.UI\Control.cs" />\r
+    <Compile Include="System.Web.UI\ControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI\ControlBuilderAttribute.cs" />\r
+    <Compile Include="System.Web.UI\ControlCachePolicy.cs" />\r
+    <Compile Include="System.Web.UI\ControlCollection.cs" />\r
+    <Compile Include="System.Web.UI\ControlSkin.cs" />\r
+    <Compile Include="System.Web.UI\ControlSkinDelegate.cs" />\r
+    <Compile Include="System.Web.UI\ControlValuePropertyAttribute.cs" />\r
+    <Compile Include="System.Web.UI\CssClassPropertyAttribute.cs" />\r
+    <Compile Include="System.Web.UI\CssStyleCollection.cs" />\r
+    <Compile Include="System.Web.UI\DataBinder.cs" />\r
+    <Compile Include="System.Web.UI\DataBinding.cs" />\r
+    <Compile Include="System.Web.UI\DataBindingBuilder.cs" />\r
+    <Compile Include="System.Web.UI\DataBindingCollection.cs" />\r
+    <Compile Include="System.Web.UI\DataBindingHandlerAttribute.cs" />\r
+    <Compile Include="System.Web.UI\DataBoundLiteralControl.cs" />\r
+    <Compile Include="System.Web.UI\DataKeyPropertyAttribute.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceCacheDurationConverter.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceCacheExpiry.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceCapabilities.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceControl.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceOperation.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceSelectArguments.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceView.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceViewOperationCallback.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceViewSelectCallback.cs" />\r
+    <Compile Include="System.Web.UI\DesignerDataBoundLiteralControl.cs" />\r
+    <Compile Include="System.Web.UI\DesignTimeParseData.cs" />\r
+    <Compile Include="System.Web.UI\DesignTimeTemplateParser.cs" />\r
+    <Compile Include="System.Web.UI\EmptyControlCollection.cs" />\r
+    <Compile Include="System.Web.UI\EventEntry.cs" />\r
+    <Compile Include="System.Web.UI\ExpressionBinding.cs" />\r
+    <Compile Include="System.Web.UI\ExpressionBindingCollection.cs" />\r
+    <Compile Include="System.Web.UI\ExtractTemplateValuesMethod.cs" />\r
+    <Compile Include="System.Web.UI\FileLevelControlBuilderAttribute.cs" />\r
+    <Compile Include="System.Web.UI\FileLevelMasterPageControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI\FileLevelPageControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI\FileLevelUserControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI\FilterableAttribute.cs" />\r
+    <Compile Include="System.Web.UI\HiddenFieldPageStatePersister.cs" />\r
+    <Compile Include="System.Web.UI\HierarchicalDataSourceControl.cs" />\r
+    <Compile Include="System.Web.UI\HierarchicalDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI\Html32TextWriter.cs" />\r
+    <Compile Include="System.Web.UI\HtmlControlPersistableAttribute.cs" />\r
+    <Compile Include="System.Web.UI\HtmlTextWriter.cs" />\r
+    <Compile Include="System.Web.UI\HtmlTextWriterAttribute.cs" />\r
+    <Compile Include="System.Web.UI\HtmlTextWriterStyle.cs" />\r
+    <Compile Include="System.Web.UI\HtmlTextWriterTag.cs" />\r
+    <Compile Include="System.Web.UI\IAttributeAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IAutoFieldGenerator.cs" />\r
+    <Compile Include="System.Web.UI\IBindableControl.cs" />\r
+    <Compile Include="System.Web.UI\IBindableTemplate.cs" />\r
+    <Compile Include="System.Web.UI\ICallbackEventHandler.cs" />\r
+    <Compile Include="System.Web.UI\ICheckBoxControl.cs" />\r
+    <Compile Include="System.Web.UI\IControlBuilderAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IControlDesignerAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IDataBindingsAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IDataItemContainer.cs" />\r
+    <Compile Include="System.Web.UI\IDataKeysControl.cs" />\r
+    <Compile Include="System.Web.UI\IDataSource.cs" />\r
+    <Compile Include="System.Web.UI\IDataSourceViewSchemaAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IDReferencePropertyAttribute.cs" />\r
+    <Compile Include="System.Web.UI\IEditableTextControl.cs" />\r
+    <Compile Include="System.Web.UI\IExpressionsAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IFilterResolutionService.cs" />\r
+    <Compile Include="System.Web.UI\IgnoreUnknownContentAttribute.cs" />\r
+    <Compile Include="System.Web.UI\IHierarchicalDataSource.cs" />\r
+    <Compile Include="System.Web.UI\IHierarchicalEnumerable.cs" />\r
+    <Compile Include="System.Web.UI\IHierarchyData.cs" />\r
+    <Compile Include="System.Web.UI\ImageClickEventArgs.cs" />\r
+    <Compile Include="System.Web.UI\ImageClickEventHandler.cs" />\r
+    <Compile Include="System.Web.UI\INamingContainer.cs" />\r
+    <Compile Include="System.Web.UI\INavigateUIData.cs" />\r
+    <Compile Include="System.Web.UI\IndexedString.cs" />\r
+    <Compile Include="System.Web.UI\INonBindingContainer.cs" />\r
+    <Compile Include="System.Web.UI\IParserAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IPostBackDataHandler.cs" />\r
+    <Compile Include="System.Web.UI\IPostBackEventHandler.cs" />\r
+    <Compile Include="System.Web.UI\IResourceUrlGenerator.cs" />\r
+    <Compile Include="System.Web.UI\IScriptManager.cs" />\r
+    <Compile Include="System.Web.UI\IStateFormatter.cs" />\r
+    <Compile Include="System.Web.UI\IStateManager.cs" />\r
+    <Compile Include="System.Web.UI\IStyleSheet.cs" />\r
+    <Compile Include="System.Web.UI\ITagNameToTypeMapper.cs" />\r
+    <Compile Include="System.Web.UI\ITemplate.cs" />\r
+    <Compile Include="System.Web.UI\ITextControl.cs" />\r
+    <Compile Include="System.Web.UI\IThemeResolutionService.cs" />\r
+    <Compile Include="System.Web.UI\IUrlResolutionService.cs" />\r
+    <Compile Include="System.Web.UI\IUserControlDesignerAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IUserControlTypeResolutionService.cs" />\r
+    <Compile Include="System.Web.UI\IValidator.cs" />\r
+    <Compile Include="System.Web.UI\ListSourceHelper.cs" />\r
+    <Compile Include="System.Web.UI\LiteralControl.cs" />\r
+    <Compile Include="System.Web.UI\LosFormatter.cs" />\r
+    <Compile Include="System.Web.UI\MainDirectiveAttribute.cs" />\r
+    <Compile Include="System.Web.UI\MasterPage.cs" />\r
+    <Compile Include="System.Web.UI\MasterPageControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI\MasterPageParser.cs" />\r
+    <Compile Include="System.Web.UI\MinimizableAttributeTypeConverter.cs" />\r
+    <Compile Include="System.Web.UI\NonVisualControlAttribute.cs" />\r
+    <Compile Include="System.Web.UI\ObjectConverter.cs" />\r
+    <Compile Include="System.Web.UI\ObjectPersistData.cs" />\r
+    <Compile Include="System.Web.UI\ObjectStateFormatter.cs" />\r
+    <Compile Include="System.Web.UI\ObjectTag.cs" />\r
+    <Compile Include="System.Web.UI\ObjectTagBuilder.cs" />\r
+    <Compile Include="System.Web.UI\OutputCacheLocation.cs" />\r
+    <Compile Include="System.Web.UI\OutputCacheParameters.cs" />\r
+    <Compile Include="System.Web.UI\Page.cs" />\r
+    <Compile Include="System.Web.UI\PageAsyncTask.cs" />\r
+    <Compile Include="System.Web.UI\PageHandlerFactory.cs" />\r
+    <Compile Include="System.Web.UI\PageLifeCycle.cs" />\r
+    <Compile Include="System.Web.UI\PageParser.cs" />\r
+    <Compile Include="System.Web.UI\PageParserFilter.cs" />\r
+    <Compile Include="System.Web.UI\PageStatePersister.cs" />\r
+    <Compile Include="System.Web.UI\PageTheme.cs" />\r
+    <Compile Include="System.Web.UI\PageThemeBuilder.cs" />\r
+    <Compile Include="System.Web.UI\PageThemeFileParser.cs" />\r
+    <Compile Include="System.Web.UI\PageThemeParser.cs" />\r
+    <Compile Include="System.Web.UI\Pair.cs" />\r
+    <Compile Include="System.Web.UI\ParseChildrenAttribute.cs" />\r
+    <Compile Include="System.Web.UI\PartialCachingAttribute.cs" />\r
+    <Compile Include="System.Web.UI\PartialCachingControl.cs" />\r
+    <Compile Include="System.Web.UI\PersistChildrenAttribute.cs" />\r
+    <Compile Include="System.Web.UI\PersistenceMode.cs" />\r
+    <Compile Include="System.Web.UI\PersistenceModeAttribute.cs" />\r
+    <Compile Include="System.Web.UI\PostBackOptions.cs" />\r
+    <Compile Include="System.Web.UI\PropertyConverter.cs" />\r
+    <Compile Include="System.Web.UI\PropertyEntry.cs" />\r
+    <Compile Include="System.Web.UI\ReadOnlyDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI\RenderMethod.cs" />\r
+    <Compile Include="System.Web.UI\ResourceBasedLiteralControl.cs" />\r
+    <Compile Include="System.Web.UI\RootBuilder.cs" />\r
+    <Compile Include="System.Web.UI\SessionPageStatePersister.cs" />\r
+    <Compile Include="System.Web.UI\SimpleHandlerFactory.cs" />\r
+    <Compile Include="System.Web.UI\SimplePropertyEntry.cs" />\r
+    <Compile Include="System.Web.UI\SimpleWebHandlerParser.cs" />\r
+    <Compile Include="System.Web.UI\SkinBuilder.cs" />\r
+    <Compile Include="System.Web.UI\StateBag.cs" />\r
+    <Compile Include="System.Web.UI\StateItem.cs" />\r
+    <Compile Include="System.Web.UI\StateManagedCollection.cs" />\r
+    <Compile Include="System.Web.UI\StaticPartialCachingControl.cs" />\r
+    <Compile Include="System.Web.UI\StringPropertyBuilder.cs" />\r
+    <Compile Include="System.Web.UI\SupportsEventValidationAttribute.cs" />\r
+    <Compile Include="System.Web.UI\TagPrefixAttribute.cs" />\r
+    <Compile Include="System.Web.UI\TemplateBuilder.cs" />\r
+    <Compile Include="System.Web.UI\TemplateContainerAttribute.cs" />\r
+    <Compile Include="System.Web.UI\TemplateContentType.cs" />\r
+    <Compile Include="System.Web.UI\TemplateControl.cs" />\r
+    <Compile Include="System.Web.UI\TemplateControlParser.cs" />\r
+    <Compile Include="System.Web.UI\TemplateInstance.cs" />\r
+    <Compile Include="System.Web.UI\TemplateInstanceAttribute.cs" />\r
+    <Compile Include="System.Web.UI\TemplateParser.cs" />\r
+    <Compile Include="System.Web.UI\TemplatePropertyEntry.cs" />\r
+    <Compile Include="System.Web.UI\ThemeableAttribute.cs" />\r
+    <Compile Include="System.Web.UI\ThemeProvider.cs" />\r
+    <Compile Include="System.Web.UI\ToolboxDataAttribute.cs" />\r
+    <Compile Include="System.Web.UI\Triplet.cs" />\r
+    <Compile Include="System.Web.UI\UnknownAttributeDescriptor.cs" />\r
+    <Compile Include="System.Web.UI\UrlPropertyAttribute.cs" />\r
+    <Compile Include="System.Web.UI\UrlTypes.cs" />\r
+    <Compile Include="System.Web.UI\UserControl.cs" />\r
+    <Compile Include="System.Web.UI\UserControlControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI\UserControlParser.cs" />\r
+    <Compile Include="System.Web.UI\ValidationPropertyAttribute.cs" />\r
+    <Compile Include="System.Web.UI\ValidatorCollection.cs" />\r
+    <Compile Include="System.Web.UI\VerificationAttribute.cs" />\r
+    <Compile Include="System.Web.UI\VerificationConditionalOperator.cs" />\r
+    <Compile Include="System.Web.UI\VerificationReportLevel.cs" />\r
+    <Compile Include="System.Web.UI\VerificationRule.cs" />\r
+    <Compile Include="System.Web.UI\ViewStateEncryptionMode.cs" />\r
+    <Compile Include="System.Web.UI\ViewStateException.cs" />\r
+    <Compile Include="System.Web.UI\ViewStateMode.cs" />\r
+    <Compile Include="System.Web.UI\ViewStateModeByIdAttribute.cs" />\r
+    <Compile Include="System.Web.UI\VirtualReferenceType.cs" />\r
+    <Compile Include="System.Web.UI\WebHandlerParser.cs" />\r
+    <Compile Include="System.Web.UI\WebResourceAttribute.cs" />\r
+    <Compile Include="System.Web.UI\WebServiceParser.cs" />\r
+    <Compile Include="System.Web.UI\XhtmlMobileDocType.cs" />\r
+    <Compile Include="System.Web.UI\XhtmlTextWriter.cs" />\r
+    <Compile Include="System.Web.UI\XPathBinder.cs" />\r
+    <Compile Include="System.Web.Util\AltSerialization.cs" />\r
+    <Compile Include="System.Web.Util\DataSourceHelper.cs" />\r
+    <Compile Include="System.Web.Util\DataSourceResolver.cs" />\r
+    <Compile Include="System.Web.Util\FileUtils.cs" />\r
+    <Compile Include="System.Web.Util\Helpers.cs" />\r
+    <Compile Include="System.Web.Util\HttpEncoder.cs" />\r
+    <Compile Include="System.Web.Util\ICalls.cs" />\r
+    <Compile Include="System.Web.Util\IWebObjectFactory.cs" />\r
+    <Compile Include="System.Web.Util\IWebPropertyAccessor.cs" />\r
+    <Compile Include="System.Web.Util\MachineKeySectionUtils.cs" />\r
+    <Compile Include="System.Web.Util\RequestValidationSource.cs" />\r
+    <Compile Include="System.Web.Util\RequestValidator.cs" />\r
+    <Compile Include="System.Web.Util\RuntimeHelpers.cs" />\r
+    <Compile Include="System.Web.Util\SearchPattern.cs" />\r
+    <Compile Include="System.Web.Util\SecureHashCodeProvider.cs" />\r
+    <Compile Include="System.Web.Util\SerializationHelper.cs" />\r
+    <Compile Include="System.Web.Util\SimpleWebObjectFactory.cs" />\r
+    <Compile Include="System.Web.Util\StrUtils.cs" />\r
+    <Compile Include="System.Web.Util\TimeUtil.cs" />\r
+    <Compile Include="System.Web.Util\TransactedCallback.cs" />\r
+    <Compile Include="System.Web.Util\Transactions.cs" />\r
+    <Compile Include="System.Web.Util\UrlUtils.cs" />\r
+    <Compile Include="System.Web.Util\WebEncoding.cs" />\r
+    <Compile Include="System.Web.Util\WebTrace.cs" />\r
+    <Compile Include="System.Web.Util\WorkItem.cs" />\r
+    <Compile Include="System.Web.Util\WorkItemCallback.cs" />\r
+    <Compile Include="System.Web\ApplicationShutdownReason.cs" />\r
+    <Compile Include="System.Web\BaseParamsCollection.cs" />\r
+    <Compile Include="System.Web\BeginEventHandler.cs" />\r
+    <Compile Include="System.Web\BrowserCapabilities.cs" />\r
+    <Compile Include="System.Web\CapabilitiesLoader.cs" />\r
+    <Compile Include="System.Web\DefaultExceptionPageTemplate.cs" />\r
+    <Compile Include="System.Web\DefaultHttpHandler.cs" />\r
+    <Compile Include="System.Web\DynamicModuleManager.cs" />\r
+    <Compile Include="System.Web\EndEventHandler.cs" />\r
+    <Compile Include="System.Web\EventHandlerTaskAsyncHelper.cs" />\r
+    <Compile Include="System.Web\ExceptionPageTemplate.cs" />\r
+    <Compile Include="System.Web\ExceptionPageTemplateFragment.cs" />\r
+    <Compile Include="System.Web\ExceptionPageTemplateFragmentValue.cs" />\r
+    <Compile Include="System.Web\ExceptionPageTemplateType.cs" />\r
+    <Compile Include="System.Web\ExceptionPageTemplateValues.cs" />\r
+    <Compile Include="System.Web\HeadersCollection.cs" />\r
+    <Compile Include="System.Web\HtmlizedException.cs" />\r
+    <Compile Include="System.Web\HtmlString.cs" />\r
+    <Compile Include="System.Web\HttpApplication.cs" />\r
+    <Compile Include="System.Web\HttpApplicationFactory.cs" />\r
+    <Compile Include="System.Web\HttpApplicationState.cs" />\r
+    <Compile Include="System.Web\HttpApplicationStateWrapper.cs" />\r
+    <Compile Include="System.Web\HttpBrowserCapabilities.cs" />\r
+    <Compile Include="System.Web\HttpBrowserCapabilitiesWrapper.cs" />\r
+    <Compile Include="System.Web\HttpCacheability.cs" />\r
+    <Compile Include="System.Web\HttpCachePolicy.cs" />\r
+    <Compile Include="System.Web\HttpCachePolicyWrapper.cs" />\r
+    <Compile Include="System.Web\HttpCacheRevalidation.cs" />\r
+    <Compile Include="System.Web\HttpCacheValidateHandler.cs" />\r
+    <Compile Include="System.Web\HttpCacheVaryByContentEncodings.cs" />\r
+    <Compile Include="System.Web\HttpCacheVaryByHeaders.cs" />\r
+    <Compile Include="System.Web\HttpCacheVaryByParams.cs" />\r
+    <Compile Include="System.Web\HttpClientCertificate.cs" />\r
+    <Compile Include="System.Web\HttpCompileException.cs" />\r
+    <Compile Include="System.Web\HttpContext.cs" />\r
+    <Compile Include="System.Web\HttpContextBase.cs" />\r
+    <Compile Include="System.Web\HttpContextWrapper.cs" />\r
+    <Compile Include="System.Web\HttpCookie.cs" />\r
+    <Compile Include="System.Web\HttpCookieCollection.cs" />\r
+    <Compile Include="System.Web\HttpCookieMode.cs" />\r
+    <Compile Include="System.Web\HttpException.cs" />\r
+    <Compile Include="System.Web\HttpFileCollection.cs" />\r
+    <Compile Include="System.Web\HttpFileCollectionWrapper.cs" />\r
+    <Compile Include="System.Web\HttpForbiddenHandler.cs" />\r
+    <Compile Include="System.Web\HttpHeaderCollection.cs" />\r
+    <Compile Include="System.Web\HttpMethodNotAllowedHandler.cs" />\r
+    <Compile Include="System.Web\HttpModuleCollection.cs" />\r
+    <Compile Include="System.Web\HttpNotFoundHandler.cs" />\r
+    <Compile Include="System.Web\HttpNotImplementedHandler.cs" />\r
+    <Compile Include="System.Web\HttpParamsCollection.cs" />\r
+    <Compile Include="System.Web\HttpParseException.cs" />\r
+    <Compile Include="System.Web\HttpPostedFile.cs" />\r
+    <Compile Include="System.Web\HttpRequest.cs" />\r
+    <Compile Include="System.Web\HttpRequestValidationException.cs" />\r
+    <Compile Include="System.Web\HttpRequestWrapper.cs" />\r
+    <Compile Include="System.Web\HttpResponse.cs" />\r
+    <Compile Include="System.Web\HttpResponseHeader.cs" />\r
+    <Compile Include="System.Web\HttpResponseStream.cs" />\r
+    <Compile Include="System.Web\HttpResponseSubstitutionCallback.cs" />\r
+    <Compile Include="System.Web\HttpResponseWrapper.cs" />\r
+    <Compile Include="System.Web\HttpRuntime.cs" />\r
+    <Compile Include="System.Web\HttpServerUtility.cs" />\r
+    <Compile Include="System.Web\HttpServerUtilityWrapper.cs" />\r
+    <Compile Include="System.Web\HttpSessionStateWrapper.cs" />\r
+    <Compile Include="System.Web\HttpStaticObjectsCollection.cs" />\r
+    <Compile Include="System.Web\HttpTaskAsyncHandler.cs" />\r
+    <Compile Include="System.Web\HttpUnhandledException.cs" />\r
+    <Compile Include="System.Web\HttpUtility.cs" />\r
+    <Compile Include="System.Web\HttpValidationStatus.cs" />\r
+    <Compile Include="System.Web\HttpWorkerRequest.cs" />\r
+    <Compile Include="System.Web\HttpWriter.cs" />\r
+    <Compile Include="System.Web\IHtmlString.cs" />\r
+    <Compile Include="System.Web\IHttpAsyncHandler.cs" />\r
+    <Compile Include="System.Web\IHttpHandler.cs" />\r
+    <Compile Include="System.Web\IHttpHandlerFactory.cs" />\r
+    <Compile Include="System.Web\IHttpMapPath.cs" />\r
+    <Compile Include="System.Web\IHttpModule.cs" />\r
+    <Compile Include="System.Web\IisTraceListener.cs" />\r
+    <Compile Include="System.Web\InputFilterStream.cs" />\r
+    <Compile Include="System.Web\IntPtrStream.cs" />\r
+    <Compile Include="System.Web\IPartitionResolver.cs" />\r
+    <Compile Include="System.Web\MimeMapping.cs" />\r
+    <Compile Include="System.Web\MimeTypes.cs" />\r
+    <Compile Include="System.Web\NoParamsInvoker.cs" />\r
+    <Compile Include="System.Web\OutputFilterStream.cs" />\r
+    <Compile Include="System.Web\ParserError.cs" />\r
+    <Compile Include="System.Web\ParserErrorCollection.cs" />\r
+    <Compile Include="System.Web\PreApplicationStartMethodAttribute.cs" />\r
+    <Compile Include="System.Web\ProcessInfo.cs" />\r
+    <Compile Include="System.Web\ProcessModelInfo.cs" />\r
+    <Compile Include="System.Web\ProcessShutdownReason.cs" />\r
+    <Compile Include="System.Web\ProcessStatus.cs" />\r
+    <Compile Include="System.Web\QueueManager.cs" />\r
+    <Compile Include="System.Web\ReadEntityBodyMode.cs" />\r
+    <Compile Include="System.Web\RequestNotification.cs" />\r
+    <Compile Include="System.Web\RequestNotificationStatus.cs" />\r
+    <Compile Include="System.Web\ServerVariablesCollection.cs" />\r
+    <Compile Include="System.Web\SiteMap.cs" />\r
+    <Compile Include="System.Web\SiteMapNode.cs" />\r
+    <Compile Include="System.Web\SiteMapNodeCollection.cs" />\r
+    <Compile Include="System.Web\SiteMapProvider.cs" />\r
+    <Compile Include="System.Web\SiteMapProviderCollection.cs" />\r
+    <Compile Include="System.Web\SiteMapResolveEventArgs.cs" />\r
+    <Compile Include="System.Web\StaticFileHandler.cs" />\r
+    <Compile Include="System.Web\StaticSiteMapProvider.cs" />\r
+    <Compile Include="System.Web\TaskAsyncResult.cs" />\r
+    <Compile Include="System.Web\TaskEventHandler.cs" />\r
+    <Compile Include="System.Web\TempFileStream.cs" />\r
+    <Compile Include="System.Web\TraceContext.cs" />\r
+    <Compile Include="System.Web\TraceContextEventArgs.cs" />\r
+    <Compile Include="System.Web\TraceContextEventHandler.cs" />\r
+    <Compile Include="System.Web\TraceContextRecord.cs" />\r
+    <Compile Include="System.Web\TraceData.cs" />\r
+    <Compile Include="System.Web\TraceManager.cs" />\r
+    <Compile Include="System.Web\TraceMode.cs" />\r
+    <Compile Include="System.Web\UnvalidatedRequestValues.cs" />\r
+    <Compile Include="System.Web\VirtualPath.cs" />\r
+    <Compile Include="System.Web\VirtualPathUtility.cs" />\r
+    <Compile Include="System.Web\WebCategoryAttribute.cs" />\r
+    <Compile Include="System.Web\WebPageTraceListener.cs" />\r
+    <Compile Include="System.Web\WebROCollection.cs" />\r
+    <Compile Include="System.Web\WebSysDescriptionAttribute.cs" />\r
+    <Compile Include="System.Web\XmlSiteMapProvider.cs" />\r
+    <Compile Include="System.Web\UplevelHelper.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Data.Sqlite/Mono.Data.Sqlite-net_4_x.csproj">\r
+      <Project>{371560EA-7BD3-4025-90CB-F1B112403CF2}</Project>\r
+      <Name>Mono.Data.Sqlite-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.ApplicationServices/System.Web.ApplicationServices-net_4_x.csproj">\r
+      <Project>{928432BE-3518-4103-97F6-48B9658588A6}</Project>\r
+      <Name>System.Web.ApplicationServices-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Drawing/System.Drawing-net_4_x.csproj">\r
+      <Project>{584A5E46-2958-4CB2-8DF9-188B420D0BB0}</Project>\r
+      <Name>System.Drawing-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.EnterpriseServices/System.EnterpriseServices-net_4_x.csproj">\r
+      <Project>{61E3D008-E273-4E12-860A-8ADA031098C2}</Project>\r
+      <Name>System.EnterpriseServices-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-net_4_x.csproj">\r
+      <Project>{A157AD69-59D4-49DE-94B3-DB883B2BEAA5}</Project>\r
+      <Name>System.Runtime.Serialization.Formatters.Soap-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_4_x.csproj">\r
+      <Project>{8F86C287-38A5-49F8-BE6D-1E0E3D74AF39}</Project>\r
+      <Name>System.ComponentModel.DataAnnotations-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.Services/System.Web.Services-net_4_x.csproj">\r
+      <Project>{E43ADBA7-5DB9-466B-90C6-FFFDA520848D}</Project>\r
+      <Name>System.Web.Services-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Design/System.Design-net_4_x.csproj">\r
+      <Project>{EFEDC380-2CB0-4B40-9566-D2302867A4D9}</Project>\r
+      <Name>System.Design-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="resources/TranslationResources.resources">\r
+      <LogicalName>TranslationResources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/WebUIValidation.js">\r
+      <LogicalName>WebUIValidation.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/folder.gif">\r
+      <LogicalName>folder.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/file.gif">\r
+      <LogicalName>file.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/computer.gif">\r
+      <LogicalName>computer.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/arrow_minus.gif">\r
+      <LogicalName>arrow_minus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/arrow_noexpand.gif">\r
+      <LogicalName>arrow_noexpand.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/arrow_plus.gif">\r
+      <LogicalName>arrow_plus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/arrow_up.gif">\r
+      <LogicalName>arrow_up.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/arrow_down.gif">\r
+      <LogicalName>arrow_down.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/box_full.gif">\r
+      <LogicalName>box_full.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/box_empty.gif">\r
+      <LogicalName>box_empty.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/box_minus.gif">\r
+      <LogicalName>box_minus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/box_noexpand.gif">\r
+      <LogicalName>box_noexpand.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/box_plus.gif">\r
+      <LogicalName>box_plus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/contact.gif">\r
+      <LogicalName>contact.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/dot_empty.gif">\r
+      <LogicalName>dot_empty.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/dot_full.gif">\r
+      <LogicalName>dot_full.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/dots.gif">\r
+      <LogicalName>dots.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/inbox.gif">\r
+      <LogicalName>inbox.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/star_empty.gif">\r
+      <LogicalName>star_empty.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/star_full.gif">\r
+      <LogicalName>star_full.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/warning.gif">\r
+      <LogicalName>warning.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_noexpand.gif">\r
+      <LogicalName>TreeView_noexpand.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_dash.gif">\r
+      <LogicalName>TreeView_dash.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_dashminus.gif">\r
+      <LogicalName>TreeView_dashminus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_dashplus.gif">\r
+      <LogicalName>TreeView_dashplus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_i.gif">\r
+      <LogicalName>TreeView_i.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_l.gif">\r
+      <LogicalName>TreeView_l.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_lminus.gif">\r
+      <LogicalName>TreeView_lminus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_lplus.gif">\r
+      <LogicalName>TreeView_lplus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_minus.gif">\r
+      <LogicalName>TreeView_minus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_plus.gif">\r
+      <LogicalName>TreeView_plus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_r.gif">\r
+      <LogicalName>TreeView_r.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_rminus.gif">\r
+      <LogicalName>TreeView_rminus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_rplus.gif">\r
+      <LogicalName>TreeView_rplus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_t.gif">\r
+      <LogicalName>TreeView_t.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_tminus.gif">\r
+      <LogicalName>TreeView_tminus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_tplus.gif">\r
+      <LogicalName>TreeView_tplus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/transparent.gif">\r
+      <LogicalName>transparent.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/webform.js">\r
+      <LogicalName>webform.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/WebUIValidation_2.0.js">\r
+      <LogicalName>WebUIValidation_2.0.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/ErrorTemplateCommon_Top.html">\r
+      <LogicalName>ErrorTemplateCommon_Top.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/DefaultErrorTemplate_CustomErrorDefault.html">\r
+      <LogicalName>DefaultErrorTemplate_CustomErrorDefault.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/ErrorTemplateCommon_Bottom.html">\r
+      <LogicalName>ErrorTemplateCommon_Bottom.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/DefaultErrorTemplate_StandardPage.html">\r
+      <LogicalName>DefaultErrorTemplate_StandardPage.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/HtmlizedExceptionPage_Top.html">\r
+      <LogicalName>HtmlizedExceptionPage_Top.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/HtmlizedExceptionPage_FileLongSource.html">\r
+      <LogicalName>HtmlizedExceptionPage_FileLongSource.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/HtmlizedExceptionPage_FileShortSource.html">\r
+      <LogicalName>HtmlizedExceptionPage_FileShortSource.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/HtmlizedExceptionPage_CompilerOutput.html">\r
+      <LogicalName>HtmlizedExceptionPage_CompilerOutput.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.UI.WebControls/GridView.js">\r
+      <LogicalName>GridView.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.UI.WebControls/DetailsView.js">\r
+      <LogicalName>DetailsView.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.UI.WebControls/TreeView.js">\r
+      <LogicalName>TreeView.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.UI.WebControls/Menu.js">\r
+      <LogicalName>Menu.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.UI.WebControls/MenuModern.js">\r
+      <LogicalName>MenuModern.js</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web/System.Web-plainweb-net_4_x.csproj b/mcs/class/System.Web/System.Web-plainweb-net_4_x.csproj
new file mode 100644 (file)
index 0000000..97642fd
--- /dev/null
@@ -0,0 +1,1619 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{DE51B021-D51C-4F26-99EE-B0729D97631E}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,612,618,618</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x/plainweb</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Web</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699,612,618,618</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;INSIDE_SYSTEM_WEB</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,612,618,618</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;INSIDE_SYSTEM_WEB</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpApplicationStateBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpBrowserCapabilitiesBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpCachePolicyBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpFileCollectionBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpPostedFileBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpPostedFileWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpRequestBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpResponseBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpServerUtilityBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpSessionStateBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpStaticObjectsCollectionBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Abstractions\HttpStaticObjectsCollectionWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ISubscriptionToken.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ModelBinding\BindingBehavior.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ModelBinding\BindingBehaviorAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ModelBinding\BindNeverAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ModelBinding\BindRequiredAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ModelBinding\ExtensibleModelBinderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ModelBinding\IModelNameProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\ModelBinding\ModelBinderProviderOptionsAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Profile\HttpProfileGroupBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Routing\RouteBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\Security\AntiXss\CodeCharts.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\UI\WebParts\WebBrowsableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\UI\WebParts\WebDescriptionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\UI\WebParts\WebDisplayNameAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\UnvalidatedRequestValuesBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\UnvalidatedRequestValuesWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\WebSockets\AspNetWebSocketOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Web\WebSockets\SubprotocolUtil.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\System.Design\System.Data.Design\TypedDataSetGenerator.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\AssemblyNamesTypeResolutionService.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ByteArrayFromResXHandler.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\FileRefHandler.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\InMemoryHandler.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\NullRefHandler.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ResXDataNode.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ResXDataNodeHandler.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ResXFileRef.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ResXNullRef.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ResXResourceReader.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ResXResourceSet.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\ResXResourceWriter.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\SerializedFromResXHandler.cs" />\r
+    <Compile Include="..\System.Windows.Forms\System.Resources\TypeConverterFromResXHandler.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.Web.Util\ISectionSettingsMapper.cs" />\r
+    <Compile Include="Mono.Web.Util\MembershipSectionMapper.cs" />\r
+    <Compile Include="Mono.Web.Util\RoleManagerSectionMapper.cs" />\r
+    <Compile Include="Mono.Web.Util\SettingsMapping.cs" />\r
+    <Compile Include="Mono.Web.Util\SettingsMappingManager.cs" />\r
+    <Compile Include="Mono.Web.Util\SettingsMappingWhat.cs" />\r
+    <Compile Include="System.Collections.Concurrent\SplitOrderedList.cs" />\r
+    <Compile Include="System.Web.Caching\AggregateCacheDependency.cs" />\r
+    <Compile Include="System.Web.Caching\Cache.cs" />\r
+    <Compile Include="System.Web.Caching\CacheDependency.cs" />\r
+    <Compile Include="System.Web.Caching\CachedRawResponse.cs" />\r
+    <Compile Include="System.Web.Caching\CachedVaryBy.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItem.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemEnumerator.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemLRU.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemPriority.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemPriorityQueue.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemPriorityQueueDebug.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemRemovedCallback.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemRemovedReason.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemUpdateCallback.cs" />\r
+    <Compile Include="System.Web.Caching\CacheItemUpdateReason.cs" />\r
+    <Compile Include="System.Web.Caching\DatabaseNotEnabledForNotificationException.cs" />\r
+    <Compile Include="System.Web.Caching\FileResponseElement.cs" />\r
+    <Compile Include="System.Web.Caching\HeaderElement.cs" />\r
+    <Compile Include="System.Web.Caching\InMemoryOutputCacheProvider.cs" />\r
+    <Compile Include="System.Web.Caching\IOutputCacheEntry.cs" />\r
+    <Compile Include="System.Web.Caching\MemoryResponseElement.cs" />\r
+    <Compile Include="System.Web.Caching\OutputCache.cs" />\r
+    <Compile Include="System.Web.Caching\OutputCacheModule.cs" />\r
+    <Compile Include="System.Web.Caching\OutputCacheProvider.cs" />\r
+    <Compile Include="System.Web.Caching\OutputCacheProviderCollection.cs" />\r
+    <Compile Include="System.Web.Caching\ResponseElement.cs" />\r
+    <Compile Include="System.Web.Caching\SqlCacheDependency.cs" />\r
+    <Compile Include="System.Web.Caching\SqlCacheDependencyAdmin.cs" />\r
+    <Compile Include="System.Web.Caching\SubstitutionResponseElement.cs" />\r
+    <Compile Include="System.Web.Caching\TableNotEnabledForNotificationException.cs" />\r
+    <Compile Include="System.Web.Compilation\AppCodeCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\ApplicationFileBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\AppResourceFileInfo.cs" />\r
+    <Compile Include="System.Web.Compilation\AppResourceFilesCollection.cs" />\r
+    <Compile Include="System.Web.Compilation\AppResourcesAssemblyBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\AppResourcesCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\AppSettingsExpressionBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\AppWebReferencesCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\AspComponent.cs" />\r
+    <Compile Include="System.Web.Compilation\AspComponentFoundry.cs" />\r
+    <Compile Include="System.Web.Compilation\AspGenerator.cs" />\r
+    <Compile Include="System.Web.Compilation\AspParser.cs" />\r
+    <Compile Include="System.Web.Compilation\AspTokenizer.cs" />\r
+    <Compile Include="System.Web.Compilation\AssemblyBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\BaseCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildDependencySet.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildManager.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildManagerCacheItem.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildManagerDirectoryBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildManagerHost.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildManagerHostUnloadEventArgs.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildManagerHostUnloadEventHandler.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildManagerRemoveEntryEventHandler.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildProviderAppliesTo.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildProviderAppliesToAttribute.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildProviderGroup.cs" />\r
+    <Compile Include="System.Web.Compilation\BuildProviderResultFlags.cs" />\r
+    <Compile Include="System.Web.Compilation\CachingCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\ClientBuildManager.cs" />\r
+    <Compile Include="System.Web.Compilation\ClientBuildManagerCallback.cs" />\r
+    <Compile Include="System.Web.Compilation\ClientBuildManagerParameter.cs" />\r
+    <Compile Include="System.Web.Compilation\CompilationException.cs" />\r
+    <Compile Include="System.Web.Compilation\CompilerType.cs" />\r
+    <Compile Include="System.Web.Compilation\ConnectionStringsExpressionBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\DefaultResourceProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\DefaultResourceProviderFactory.cs" />\r
+    <Compile Include="System.Web.Compilation\DesignTimeResourceProviderFactoryAttribute.cs" />\r
+    <Compile Include="System.Web.Compilation\Directive.cs" />\r
+    <Compile Include="System.Web.Compilation\ExpressionBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\ExpressionBuilderContext.cs" />\r
+    <Compile Include="System.Web.Compilation\ExpressionEditorAttribute.cs" />\r
+    <Compile Include="System.Web.Compilation\ExpressionPrefixAttribute.cs" />\r
+    <Compile Include="System.Web.Compilation\FolderLevelBuildProviderAppliesTo.cs" />\r
+    <Compile Include="System.Web.Compilation\FolderLevelBuildProviderAppliesToAttribute.cs" />\r
+    <Compile Include="System.Web.Compilation\ForceCopyBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\GenericBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\GlobalAsaxCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\IAssemblyPostProcessor.cs" />\r
+    <Compile Include="System.Web.Compilation\IgnoreFileBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\IImplicitResourceProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\ILocation.cs" />\r
+    <Compile Include="System.Web.Compilation\ImplicitResourceKey.cs" />\r
+    <Compile Include="System.Web.Compilation\IResourceProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\LinePragmaCodeInfo.cs" />\r
+    <Compile Include="System.Web.Compilation\Location.cs" />\r
+    <Compile Include="System.Web.Compilation\MasterPageBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\MasterPageCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\PageBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\PageCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\PageThemeCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\ParseException.cs" />\r
+    <Compile Include="System.Web.Compilation\PrecompilationFlags.cs" />\r
+    <Compile Include="System.Web.Compilation\PreservationFile.cs" />\r
+    <Compile Include="System.Web.Compilation\ResourceExpressionBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\ResourceExpressionFields.cs" />\r
+    <Compile Include="System.Web.Compilation\ResourceProviderFactory.cs" />\r
+    <Compile Include="System.Web.Compilation\RouteUrlExpressionBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\RouteValueExpressionBuilder.cs" />\r
+    <Compile Include="System.Web.Compilation\SimpleBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\TagAttributes.cs" />\r
+    <Compile Include="System.Web.Compilation\TagType.cs" />\r
+    <Compile Include="System.Web.Compilation\TemplateBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\TemplateControlCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\ThemeDirectoryBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\ThemeDirectoryCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\UserControlBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\UserControlCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\WebHandlerBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\WebServiceBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\WebServiceCompiler.cs" />\r
+    <Compile Include="System.Web.Compilation\WsdlBuildProvider.cs" />\r
+    <Compile Include="System.Web.Compilation\XsdBuildProvider.cs" />\r
+    <Compile Include="System.Web.Configuration.Internal\IInternalConfigWebHost.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AdapterDictionary.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AnonymousIdentificationSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ApplicationSettingsConfigurationFileMap.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AssemblyCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AssemblyInfo.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AuthenticationMode.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AuthenticationSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AuthorizationRule.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AuthorizationRuleAction.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AuthorizationRuleCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\AuthorizationSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\BufferModesCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\BufferModeSettings.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\BuildProvider.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\BuildProviderCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CacheSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CapabilitiesBuild.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CapabilitiesResult.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ClientTarget.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ClientTargetCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ClientTargetSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CodeSubDirectoriesCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CodeSubDirectory.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CompilationSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\Compiler.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CompilerCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CustomError.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CustomErrorCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CustomErrorsMode.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CustomErrorsRedirectMode.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\CustomErrorsSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\DeploymentSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\EventMappingSettings.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\EventMappingSettingsCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ExpressionBuilder.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ExpressionBuilderCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationConfiguration.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationCredentials.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationUser.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\FormsAuthenticationUserCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\FormsAuthPasswordFormat.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\FormsProtectionEnum.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\GlobalizationSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HandlersUtil.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HealthMonitoringSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HostingEnvironmentSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpCapabilitiesBase.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpCapabilitiesDefaultProvider.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpCapabilitiesProvider.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpConfigurationContext.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpConfigurationSystem.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpCookiesSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpHandlerAction.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpHandlerActionCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpHandlersSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpModuleAction.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpModuleActionCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpModulesSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\HttpRuntimeSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ICapabilitiesProcess.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\IConfigMapPath.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\IConfigMapPathFactory.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\IdentitySection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\IRemoteWebConfigurationHostServer.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\LowerCaseStringConverter.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\LruCache.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\MachineKeyCompatibilityMode.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\MachineKeyRegistryStorage.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\MachineKeySection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\MachineKeyValidation.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\MachineKeyValidationConverter.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\MembershipSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\MonoSettingsSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\NamespaceCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\NamespaceInfo.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\nBrowser\Build.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\nBrowser\Exception.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\nBrowser\File.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\nBrowser\Identification.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\nBrowser\Node.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\nBrowser\NodeTypes.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\nBrowser\Result.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\NullableStringValidator.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\OutputCacheProfile.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\OutputCacheProfileCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\OutputCacheSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\OutputCacheSettingsSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\PagesEnableSessionState.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\PagesSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\PassportAuthentication.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\PositiveTimeSpanValidator.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProcessModelComAuthenticationLevel.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProcessModelComImpersonationLevel.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProcessModelLogLevel.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProcessModelSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfileGroupSettings.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfileGroupSettingsCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfilePropertyNameValidator.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfilePropertySettings.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfilePropertySettingsCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfileSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfileSettings.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProfileSettingsCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\PropertyHelper.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\ProvidersHelper.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\RegexWorker.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\RoleManagerSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\RootProfilePropertySettingsCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\RuleSettings.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\RuleSettingsCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SecurityPolicySection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SerializationMode.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SessionPageStateSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SessionStateSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SiteMapSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SqlCacheDependencyDatabase.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SqlCacheDependencyDatabaseCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SqlCacheDependencySection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SystemWebCachingSectionGroup.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\SystemWebSectionGroup.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TagMapCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TagMapInfo.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TagPrefixCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TagPrefixInfo.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TraceDisplayMode.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TraceSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TransformerInfo.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TransformerInfoCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TrustLevel.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TrustLevelCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\TrustSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\UrlMapping.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\UrlMappingCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\UrlMappingsSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\VersionConverter.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\VirtualDirectoryMapping.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\VirtualDirectoryMappingCollection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebApplicationLevel.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebConfigurationFileMap.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebConfigurationHost.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebConfigurationManager.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebContext.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebControlsSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebPartsPersonalization.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebPartsPersonalizationAuthorization.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\WebPartsSection.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\XhtmlConformanceMode.cs" />\r
+    <Compile Include="System.Web.Configuration_2.0\XhtmlConformanceSection.cs" />\r
+    <Compile Include="System.Web.Handlers\AssemblyResourceLoader.cs" />\r
+    <Compile Include="System.Web.Handlers\TraceHandler.cs" />\r
+    <Compile Include="System.Web.Hosting\AppDomainFactory.cs" />\r
+    <Compile Include="System.Web.Hosting\ApplicationHost.cs" />\r
+    <Compile Include="System.Web.Hosting\ApplicationInfo.cs" />\r
+    <Compile Include="System.Web.Hosting\ApplicationManager.cs" />\r
+    <Compile Include="System.Web.Hosting\AppManagerAppDomainFactory.cs" />\r
+    <Compile Include="System.Web.Hosting\BareApplicationHost.cs" />\r
+    <Compile Include="System.Web.Hosting\DefaultVirtualDirectory.cs" />\r
+    <Compile Include="System.Web.Hosting\DefaultVirtualFile.cs" />\r
+    <Compile Include="System.Web.Hosting\DefaultVirtualPathProvider.cs" />\r
+    <Compile Include="System.Web.Hosting\HostingEnvironment.cs" />\r
+    <Compile Include="System.Web.Hosting\IAppDomainFactory.cs" />\r
+    <Compile Include="System.Web.Hosting\IApplicationHost.cs" />\r
+    <Compile Include="System.Web.Hosting\IAppManagerAppDomainFactory.cs" />\r
+    <Compile Include="System.Web.Hosting\IISAPIRuntime.cs" />\r
+    <Compile Include="System.Web.Hosting\IRegisteredObject.cs" />\r
+    <Compile Include="System.Web.Hosting\ISAPIRuntime.cs" />\r
+    <Compile Include="System.Web.Hosting\SimpleWorkerRequest.cs" />\r
+    <Compile Include="System.Web.Hosting\VirtualDirectory.cs" />\r
+    <Compile Include="System.Web.Hosting\VirtualFile.cs" />\r
+    <Compile Include="System.Web.Hosting\VirtualFileBase.cs" />\r
+    <Compile Include="System.Web.Hosting\VirtualPathProvider.cs" />\r
+    <Compile Include="System.Web.Mail\Base64AttachmentEncoder.cs" />\r
+    <Compile Include="System.Web.Mail\IAttachmentEncoder.cs" />\r
+    <Compile Include="System.Web.Mail\MailAddress.cs" />\r
+    <Compile Include="System.Web.Mail\MailAddressCollection.cs" />\r
+    <Compile Include="System.Web.Mail\MailAttachment.cs" />\r
+    <Compile Include="System.Web.Mail\MailEncoding.cs" />\r
+    <Compile Include="System.Web.Mail\MailFormat.cs" />\r
+    <Compile Include="System.Web.Mail\MailHeader.cs" />\r
+    <Compile Include="System.Web.Mail\MailMessage.cs" />\r
+    <Compile Include="System.Web.Mail\MailMessageWrapper.cs" />\r
+    <Compile Include="System.Web.Mail\MailPriority.cs" />\r
+    <Compile Include="System.Web.Mail\MailUtil.cs" />\r
+    <Compile Include="System.Web.Mail\RelatedBodyPart.cs" />\r
+    <Compile Include="System.Web.Mail\SmtpClient.cs" />\r
+    <Compile Include="System.Web.Mail\SmtpException.cs" />\r
+    <Compile Include="System.Web.Mail\SmtpMail.cs" />\r
+    <Compile Include="System.Web.Mail\SmtpResponse.cs" />\r
+    <Compile Include="System.Web.Mail\SmtpStream.cs" />\r
+    <Compile Include="System.Web.Mail\ToUUEncodingTransform.cs" />\r
+    <Compile Include="System.Web.Mail\UUAttachmentEncoder.cs" />\r
+    <Compile Include="System.Web.Management\EventNotificationType.cs" />\r
+    <Compile Include="System.Web.Management\IRegiisUtility.cs" />\r
+    <Compile Include="System.Web.Management\IWebEventCustomEvaluator.cs" />\r
+    <Compile Include="System.Web.Management\RuleFiringRecord.cs" />\r
+    <Compile Include="System.Web.Management\SessionStateType.cs" />\r
+    <Compile Include="System.Web.Management\SqlFeatures.cs" />\r
+    <Compile Include="System.Web.Management\WebApplicationInformation.cs" />\r
+    <Compile Include="System.Web.Management\WebBaseEvent.cs" />\r
+    <Compile Include="System.Web.Management\WebEventCodes.cs" />\r
+    <Compile Include="System.Web.Management\WebEventFormatter.cs" />\r
+    <Compile Include="System.Web.Profile\CustomProviderDataAttribute.cs" />\r
+    <Compile Include="System.Web.Profile\DefaultProfile.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileAuthenticationOption.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileAutoSaveEventArgs.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileAutoSaveEventHandler.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileBase.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileEventArgs.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileEventHandler.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileInfo.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileInfoCollection.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileManager.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileMigrateEventArgs.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileMigrateEventHandler.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileModule.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileParser.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileProvider.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileProviderAttribute.cs" />\r
+    <Compile Include="System.Web.Profile\ProfileProviderCollection.cs" />\r
+    <Compile Include="System.Web.Profile\SettingsAllowAnonymousAttribute.cs" />\r
+    <Compile Include="System.Web.Profile\SqliteProfileProvider.cs" />\r
+    <Compile Include="System.Web.Profile\SqlProfileProvider.cs" />\r
+    <Compile Include="System.Web.Properties\TranslationProperties.Designer.cs" />\r
+    <Compile Include="System.Web.Routing\HttpMethodConstraint.cs" />\r
+    <Compile Include="System.Web.Routing\IRouteConstraint.cs" />\r
+    <Compile Include="System.Web.Routing\IRouteHandler.cs" />\r
+    <Compile Include="System.Web.Routing\PageRouteHandler.cs" />\r
+    <Compile Include="System.Web.Routing\PatternParser.cs" />\r
+    <Compile Include="System.Web.Routing\PatternToken.cs" />\r
+    <Compile Include="System.Web.Routing\PatternTokenType.cs" />\r
+    <Compile Include="System.Web.Routing\RequestContext.cs" />\r
+    <Compile Include="System.Web.Routing\Route.cs" />\r
+    <Compile Include="System.Web.Routing\RouteCollection.cs" />\r
+    <Compile Include="System.Web.Routing\RouteData.cs" />\r
+    <Compile Include="System.Web.Routing\RouteDirection.cs" />\r
+    <Compile Include="System.Web.Routing\RouteTable.cs" />\r
+    <Compile Include="System.Web.Routing\RouteValueDictionary.cs" />\r
+    <Compile Include="System.Web.Routing\RouteValueDictionaryExtensions.cs" />\r
+    <Compile Include="System.Web.Routing\StopRoutingHandler.cs" />\r
+    <Compile Include="System.Web.Routing\UrlRoutingHandler.cs" />\r
+    <Compile Include="System.Web.Routing\UrlRoutingModule.cs" />\r
+    <Compile Include="System.Web.Routing\VirtualPathData.cs" />\r
+    <Compile Include="System.Web.Security\ActiveDirectoryConnectionProtection.cs" />\r
+    <Compile Include="System.Web.Security\ActiveDirectoryMembershipProvider.cs" />\r
+    <Compile Include="System.Web.Security\AnonymousIdentificationEventArgs.cs" />\r
+    <Compile Include="System.Web.Security\AnonymousIdentificationEventHandler.cs" />\r
+    <Compile Include="System.Web.Security\AnonymousIdentificationModule.cs" />\r
+    <Compile Include="System.Web.Security\AspNetDBSchemaChecker.cs" />\r
+    <Compile Include="System.Web.Security\CookieProtection.cs" />\r
+    <Compile Include="System.Web.Security\DefaultAuthenticationEventArgs.cs" />\r
+    <Compile Include="System.Web.Security\DefaultAuthenticationEventHandler.cs" />\r
+    <Compile Include="System.Web.Security\DefaultAuthenticationModule.cs" />\r
+    <Compile Include="System.Web.Security\FileAuthorizationModule.cs" />\r
+    <Compile Include="System.Web.Security\FormsAuthentication.cs" />\r
+    <Compile Include="System.Web.Security\FormsAuthenticationEventArgs.cs" />\r
+    <Compile Include="System.Web.Security\FormsAuthenticationEventHandler.cs" />\r
+    <Compile Include="System.Web.Security\FormsAuthenticationModule.cs" />\r
+    <Compile Include="System.Web.Security\FormsAuthenticationTicket.cs" />\r
+    <Compile Include="System.Web.Security\FormsIdentity.cs" />\r
+    <Compile Include="System.Web.Security\MachineKey.cs" />\r
+    <Compile Include="System.Web.Security\MachineKeyProtection.cs" />\r
+    <Compile Include="System.Web.Security\Membership.cs" />\r
+    <Compile Include="System.Web.Security\MembershipHelper.cs" />\r
+    <Compile Include="System.Web.Security\MembershipPasswordAttribute.cs" />\r
+    <Compile Include="System.Web.Security\PassportAuthenticationEventArgs.cs" />\r
+    <Compile Include="System.Web.Security\PassportAuthenticationEventHandler.cs" />\r
+    <Compile Include="System.Web.Security\PassportAuthenticationModule.cs" />\r
+    <Compile Include="System.Web.Security\PassportIdentity.cs" />\r
+    <Compile Include="System.Web.Security\RoleManagerEventArgs.cs" />\r
+    <Compile Include="System.Web.Security\RoleManagerEventHandler.cs" />\r
+    <Compile Include="System.Web.Security\RoleManagerModule.cs" />\r
+    <Compile Include="System.Web.Security\RolePrincipal.cs" />\r
+    <Compile Include="System.Web.Security\RoleProviderCollection.cs" />\r
+    <Compile Include="System.Web.Security\Roles.cs" />\r
+    <Compile Include="System.Web.Security\SqliteMembershipProvider.cs" />\r
+    <Compile Include="System.Web.Security\SqliteRoleProvider.cs" />\r
+    <Compile Include="System.Web.Security\SqlMembershipProvider.cs" />\r
+    <Compile Include="System.Web.Security\SqlRoleProvider.cs" />\r
+    <Compile Include="System.Web.Security\UrlAuthorizationModule.cs" />\r
+    <Compile Include="System.Web.Security\WindowsAuthenticationEventArgs.cs" />\r
+    <Compile Include="System.Web.Security\WindowsAuthenticationEventHandler.cs" />\r
+    <Compile Include="System.Web.Security\WindowsAuthenticationModule.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\HttpSessionState.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\HttpSessionStateContainer.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\IHttpSessionState.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\IReadOnlySessionState.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\IRequiresSessionState.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\ISessionIDManager.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\ISessionStateItemCollection.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\IStateRuntime.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\RemoteStateServer.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionId.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionIDManager.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionInProcHandler.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionSQLServerHandler.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateActions.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateBehavior.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateItemCollection.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateItemExpireCallback.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateMode.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateModule.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateServerHandler.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateStoreData.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateStoreProviderBase.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\SessionStateUtility.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\StateRuntime.cs" />\r
+    <Compile Include="System.Web.SessionState_2.0\StateServerItem.cs" />\r
+    <Compile Include="System.Web.UI.Adapters\ControlAdapter.cs" />\r
+    <Compile Include="System.Web.UI.Adapters\PageAdapter.cs" />\r
+    <Compile Include="System.Web.UI.Adapters\WmlPostFieldType.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlAnchor.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlButton.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlContainerControl.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlControl.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlEmptyTagControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlForm.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlGenericControl.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlHead.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlHeadBuilder.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlImage.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputButton.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputCheckBox.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputControl.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputFile.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputHidden.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputImage.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputPassword.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputRadioButton.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputReset.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputSubmit.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlInputText.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlLink.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlMeta.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlSelect.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlSelectBuilder.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlTable.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlTableCell.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlTableCellCollection.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlTableRow.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlTableRowCollection.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlTextArea.cs" />\r
+    <Compile Include="System.Web.UI.HtmlControls\HtmlTitle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.Adapters\DataBoundControlAdapter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.Adapters\HideDisabledControlAdapter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.Adapters\HierarchicalDataBoundControlAdapter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.Adapters\MenuAdapter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.Adapters\WebControlAdapter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionConsumerCallback.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionInterfaceCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionPoint.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionPointType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ConnectionProviderCallback.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ConsumerConnectionPoint.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\EditorPart.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\EditorPartCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IPersonalizable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ITrackingPersonalizable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ITransformerConfigurationControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IVersioningPersonalizable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebActionable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebEditable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPart.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartHttpHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartParameters.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\IWebPartTable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\Part.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\PartChromeState.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\PartChromeType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\PersonalizableAttribute.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\PersonalizationScope.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\ProviderConnectionPoint.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\TypeCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPart.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartAuthorizationEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartAuthorizationEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartCancelEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartCancelEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartExportMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartHelpMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartPageMenuMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerb.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerbCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerbsEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls.WebParts\WebPartVerbsEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AccessDataSource.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AccessDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AdCreatedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AdCreatedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AdRotator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AssociatedControlConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AuthenticateEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AuthenticateEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AutoCompleteType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AutoGeneratedField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\AutoGeneratedFieldProperties.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BaseCompareValidator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BaseDataBoundControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BaseDataList.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BaseMenuRenderer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BaseValidator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BorderStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BoundColumn.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BoundField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BulletedList.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BulletedListDisplayMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BulletedListEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BulletedListEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\BulletStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Button.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ButtonColumn.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ButtonColumnType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ButtonField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ButtonFieldBase.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ButtonType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Calendar.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CalendarDay.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CalendarSelectionMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ChangePassword.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CheckBox.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CheckBoxField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CheckBoxList.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ChildTable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CircleHotSpot.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CollectionDataSource.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CommandField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CompareValidator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CompleteWizardStep.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CompositeControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CompositeDataBoundControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ContainedTable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Content.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ContentControlBuilderInternal.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ContentDirection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ContentPlaceHolder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ContentPlaceHolderBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ControlIDConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ControlParameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ControlPropertyNameConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CookieParameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CreateUserErrorEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CreateUserErrorEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CreateUserWizard.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CreateUserWizardStep.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\CustomValidator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataBoundControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataBoundControlMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlButton.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlCellType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlCommands.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlFieldCell.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlFieldCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlFieldHeaderCell.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlRowState.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataControlRowType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGrid.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridColumn.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridColumnCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridItem.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridItemCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridItemEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridItemEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridPageChangedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridPageChangedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridPagerStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridSortCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataGridSortCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataKey.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataKeyArray.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataKeyCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataList.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataListCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataListCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataListItem.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataListItemCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataListItemEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataListItemEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DataSourceCacheManager.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DayNameFormat.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DayRenderEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DayRenderEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewDeletedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewDeletedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewDeleteEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewDeleteEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewInsertEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewModeEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewModeEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewPageEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewPageEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewPagerRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewRowCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdatedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdatedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdateEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DetailsViewUpdateEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\DropDownList.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\EditCommandColumn.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\EmbeddedMailObject.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\EmbeddedMailObjectsCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FileUpload.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FirstDayOfWeek.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FontInfo.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FontNamesConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FontSize.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FontUnit.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FontUnitConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormParameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewDeletedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewDeletedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewDeleteEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewDeleteEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewInsertedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewInsertedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewInsertEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewInsertEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewModeEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewModeEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewPageEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewPageEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewPagerRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewUpdatedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewUpdatedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewUpdateEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\FormViewUpdateEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridLines.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewCancelEditEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewCancelEditEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewDeletedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewDeletedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewDeleteEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewDeleteEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewEditEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewEditEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewPageEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewPageEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewRowCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewRowEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewRowEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewSelectEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewSelectEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewSortEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewSortEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewUpdatedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewUpdatedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewUpdateEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\GridViewUpdateEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HiddenField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HierarchicalDataBoundControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HorizontalAlign.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HorizontalAlignConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HotSpot.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HotSpotCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HotSpotMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HyperLink.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HyperLinkColumn.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HyperLinkControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\HyperLinkField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IButtonControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ICallbackContainer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ICompositeControlDesignerAccessor.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IDataBoundControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IDataBoundItemControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IDataBoundListControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IFieldControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Image.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ImageAlign.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ImageButton.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ImageField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ImageMap.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ImageMapEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ImageMapEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IMenuRenderer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IPersistedSelector.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IPostBackContainer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IRenderOuterTable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\IRepeatInfoUser.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Label.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LabelControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LinkButton.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LinkButtonControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ListBox.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ListControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ListItem.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ListItemCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ListItemControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ListItemType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ListSelectionMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Literal.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LiteralControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LiteralMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Localize.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Login.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LoginCancelEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LoginCancelEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LoginFailureAction.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LoginName.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LoginStatus.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LoginTextLayout.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LoginView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\LogoutAction.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MailDefinition.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MailMessageEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MailMessageEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Menu.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuItem.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuItemBinding.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuItemBindingCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuItemCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuItemStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuItemStyleCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuItemTemplateContainer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuListRenderer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuRenderingMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MenuTableRenderer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MonthChangedEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MonthChangedEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MultiView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\MultiViewControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\NamedCssStyleCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\NextPrevFormat.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSource.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceDisposingEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceDisposingEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceFilteringEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceFilteringEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceMethodEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceMethodEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceSelectingEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceSelectingEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceStatusEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceStatusEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ObjectDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Orientation.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PagedDataSource.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PagerButtons.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PagerMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PagerPosition.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PagerSettings.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Panel.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PanelStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Parameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ParameterCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PasswordRecovery.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PathDirection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PlaceHolder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PlaceHolderControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\PolygonHotSpot.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ProfileParameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\QueryStringParameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RadioButton.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RadioButtonList.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RangeValidator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RectangleHotSpot.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RegularExpressionValidator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeatDirection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Repeater.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeaterCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeaterCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeaterItem.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeaterItemCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeaterItemEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeaterItemEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeatInfo.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RepeatLayout.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RequiredFieldValidator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RoleGroup.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RoleGroupCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\RouteParameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ScrollBars.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SelectedDatesCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SendMailErrorEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SendMailErrorEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ServerValidateEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ServerValidateEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SessionParameter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapDataSource.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapHierarchicalDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItem.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItemEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItemEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapNodeItemType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapPath.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SiteMapViewType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SortDirection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSource.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceCommandEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceCommandEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceCommandType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceFilteringEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceFilteringEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceSelectingEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceSelectingEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceStatusEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceStatusEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SqlDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\StringArrayConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Style.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\StyleBlock.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\StyleCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SubMenuStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\SubMenuStyleCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Substitution.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Table.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableCaptionAlign.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableCell.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableCellCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableCellControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableFooterRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableHeaderCell.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableHeaderRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableHeaderScope.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableItemStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableRow.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableRowCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableRowSection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableSectionStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TableStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TargetConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TemplateColumn.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TemplatedWizardStep.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TemplateField.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TextAlign.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TextBox.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TextBoxControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TextBoxMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TitleFormat.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeBinding.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeBindingCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeSelectAction.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeStyle.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeStyleCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeNodeTypes.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\TreeViewImageSet.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Unit.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\UnitConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\UnitType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ValidatedControlConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ValidationCompareOperator.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ValidationDataType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ValidationSummary.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ValidationSummaryDisplayMode.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ValidatorDisplay.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\VerticalAlign.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\VerticalAlignConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\View.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\ViewCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WebColorConverter.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WebControl.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Wizard.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardLayoutContainer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardLayoutNavigationContainer.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardNavigationEventArgs.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardNavigationEventHandler.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardStep.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardStepBase.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardStepCollection.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardStepControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\WizardStepType.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\Xml.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlBuilder.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlDataSource.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlDataSourceNodeDescriptor.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlDataSourcePropertyDescriptor.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlHierarchicalDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlHierarchicalEnumerable.cs" />\r
+    <Compile Include="System.Web.UI.WebControls\XmlHierarchyData.cs" />\r
+    <Compile Include="System.Web.UI\ApplicationFileParser.cs" />\r
+    <Compile Include="System.Web.UI\AttributeCollection.cs" />\r
+    <Compile Include="System.Web.UI\BaseParser.cs" />\r
+    <Compile Include="System.Web.UI\BasePartialCachingControl.cs" />\r
+    <Compile Include="System.Web.UI\BaseTemplateParser.cs" />\r
+    <Compile Include="System.Web.UI\BoundPropertyEntry.cs" />\r
+    <Compile Include="System.Web.UI\BuilderPropertyEntry.cs" />\r
+    <Compile Include="System.Web.UI\BuildMethod.cs" />\r
+    <Compile Include="System.Web.UI\BuildTemplateMethod.cs" />\r
+    <Compile Include="System.Web.UI\ChtmlTextWriter.cs" />\r
+    <Compile Include="System.Web.UI\ClientIDMode.cs" />\r
+    <Compile Include="System.Web.UI\ClientScriptManager.cs" />\r
+    <Compile Include="System.Web.UI\CodeBuilder.cs" />\r
+    <Compile Include="System.Web.UI\CodeConstructType.cs" />\r
+    <Compile Include="System.Web.UI\CodeRenderBuilder.cs" />\r
+    <Compile Include="System.Web.UI\CollectionBuilder.cs" />\r
+    <Compile Include="System.Web.UI\CompilationMode.cs" />\r
+    <Compile Include="System.Web.UI\CompiledBindableTemplateBuilder.cs" />\r
+    <Compile Include="System.Web.UI\CompiledTemplateBuilder.cs" />\r
+    <Compile Include="System.Web.UI\ComplexPropertyEntry.cs" />\r
+    <Compile Include="System.Web.UI\ConflictOptions.cs" />\r
+    <Compile Include="System.Web.UI\ConstructorNeedsTagAttribute.cs" />\r
+    <Compile Include="System.Web.UI\Control.cs" />\r
+    <Compile Include="System.Web.UI\ControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI\ControlBuilderAttribute.cs" />\r
+    <Compile Include="System.Web.UI\ControlCachePolicy.cs" />\r
+    <Compile Include="System.Web.UI\ControlCollection.cs" />\r
+    <Compile Include="System.Web.UI\ControlSkin.cs" />\r
+    <Compile Include="System.Web.UI\ControlSkinDelegate.cs" />\r
+    <Compile Include="System.Web.UI\ControlValuePropertyAttribute.cs" />\r
+    <Compile Include="System.Web.UI\CssClassPropertyAttribute.cs" />\r
+    <Compile Include="System.Web.UI\CssStyleCollection.cs" />\r
+    <Compile Include="System.Web.UI\DataBinder.cs" />\r
+    <Compile Include="System.Web.UI\DataBinding.cs" />\r
+    <Compile Include="System.Web.UI\DataBindingBuilder.cs" />\r
+    <Compile Include="System.Web.UI\DataBindingCollection.cs" />\r
+    <Compile Include="System.Web.UI\DataBindingHandlerAttribute.cs" />\r
+    <Compile Include="System.Web.UI\DataBoundLiteralControl.cs" />\r
+    <Compile Include="System.Web.UI\DataKeyPropertyAttribute.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceCacheDurationConverter.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceCacheExpiry.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceCapabilities.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceControl.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceOperation.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceSelectArguments.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceView.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceViewOperationCallback.cs" />\r
+    <Compile Include="System.Web.UI\DataSourceViewSelectCallback.cs" />\r
+    <Compile Include="System.Web.UI\DesignerDataBoundLiteralControl.cs" />\r
+    <Compile Include="System.Web.UI\DesignTimeParseData.cs" />\r
+    <Compile Include="System.Web.UI\DesignTimeTemplateParser.cs" />\r
+    <Compile Include="System.Web.UI\EmptyControlCollection.cs" />\r
+    <Compile Include="System.Web.UI\EventEntry.cs" />\r
+    <Compile Include="System.Web.UI\ExpressionBinding.cs" />\r
+    <Compile Include="System.Web.UI\ExpressionBindingCollection.cs" />\r
+    <Compile Include="System.Web.UI\ExtractTemplateValuesMethod.cs" />\r
+    <Compile Include="System.Web.UI\FileLevelControlBuilderAttribute.cs" />\r
+    <Compile Include="System.Web.UI\FileLevelMasterPageControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI\FileLevelPageControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI\FileLevelUserControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI\FilterableAttribute.cs" />\r
+    <Compile Include="System.Web.UI\HiddenFieldPageStatePersister.cs" />\r
+    <Compile Include="System.Web.UI\HierarchicalDataSourceControl.cs" />\r
+    <Compile Include="System.Web.UI\HierarchicalDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI\Html32TextWriter.cs" />\r
+    <Compile Include="System.Web.UI\HtmlControlPersistableAttribute.cs" />\r
+    <Compile Include="System.Web.UI\HtmlTextWriter.cs" />\r
+    <Compile Include="System.Web.UI\HtmlTextWriterAttribute.cs" />\r
+    <Compile Include="System.Web.UI\HtmlTextWriterStyle.cs" />\r
+    <Compile Include="System.Web.UI\HtmlTextWriterTag.cs" />\r
+    <Compile Include="System.Web.UI\IAttributeAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IAutoFieldGenerator.cs" />\r
+    <Compile Include="System.Web.UI\IBindableControl.cs" />\r
+    <Compile Include="System.Web.UI\IBindableTemplate.cs" />\r
+    <Compile Include="System.Web.UI\ICallbackEventHandler.cs" />\r
+    <Compile Include="System.Web.UI\ICheckBoxControl.cs" />\r
+    <Compile Include="System.Web.UI\IControlBuilderAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IControlDesignerAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IDataBindingsAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IDataItemContainer.cs" />\r
+    <Compile Include="System.Web.UI\IDataKeysControl.cs" />\r
+    <Compile Include="System.Web.UI\IDataSource.cs" />\r
+    <Compile Include="System.Web.UI\IDataSourceViewSchemaAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IDReferencePropertyAttribute.cs" />\r
+    <Compile Include="System.Web.UI\IEditableTextControl.cs" />\r
+    <Compile Include="System.Web.UI\IExpressionsAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IFilterResolutionService.cs" />\r
+    <Compile Include="System.Web.UI\IgnoreUnknownContentAttribute.cs" />\r
+    <Compile Include="System.Web.UI\IHierarchicalDataSource.cs" />\r
+    <Compile Include="System.Web.UI\IHierarchicalEnumerable.cs" />\r
+    <Compile Include="System.Web.UI\IHierarchyData.cs" />\r
+    <Compile Include="System.Web.UI\ImageClickEventArgs.cs" />\r
+    <Compile Include="System.Web.UI\ImageClickEventHandler.cs" />\r
+    <Compile Include="System.Web.UI\INamingContainer.cs" />\r
+    <Compile Include="System.Web.UI\INavigateUIData.cs" />\r
+    <Compile Include="System.Web.UI\IndexedString.cs" />\r
+    <Compile Include="System.Web.UI\INonBindingContainer.cs" />\r
+    <Compile Include="System.Web.UI\IParserAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IPostBackDataHandler.cs" />\r
+    <Compile Include="System.Web.UI\IPostBackEventHandler.cs" />\r
+    <Compile Include="System.Web.UI\IResourceUrlGenerator.cs" />\r
+    <Compile Include="System.Web.UI\IScriptManager.cs" />\r
+    <Compile Include="System.Web.UI\IStateFormatter.cs" />\r
+    <Compile Include="System.Web.UI\IStateManager.cs" />\r
+    <Compile Include="System.Web.UI\IStyleSheet.cs" />\r
+    <Compile Include="System.Web.UI\ITagNameToTypeMapper.cs" />\r
+    <Compile Include="System.Web.UI\ITemplate.cs" />\r
+    <Compile Include="System.Web.UI\ITextControl.cs" />\r
+    <Compile Include="System.Web.UI\IThemeResolutionService.cs" />\r
+    <Compile Include="System.Web.UI\IUrlResolutionService.cs" />\r
+    <Compile Include="System.Web.UI\IUserControlDesignerAccessor.cs" />\r
+    <Compile Include="System.Web.UI\IUserControlTypeResolutionService.cs" />\r
+    <Compile Include="System.Web.UI\IValidator.cs" />\r
+    <Compile Include="System.Web.UI\ListSourceHelper.cs" />\r
+    <Compile Include="System.Web.UI\LiteralControl.cs" />\r
+    <Compile Include="System.Web.UI\LosFormatter.cs" />\r
+    <Compile Include="System.Web.UI\MainDirectiveAttribute.cs" />\r
+    <Compile Include="System.Web.UI\MasterPage.cs" />\r
+    <Compile Include="System.Web.UI\MasterPageControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI\MasterPageParser.cs" />\r
+    <Compile Include="System.Web.UI\MinimizableAttributeTypeConverter.cs" />\r
+    <Compile Include="System.Web.UI\NonVisualControlAttribute.cs" />\r
+    <Compile Include="System.Web.UI\ObjectConverter.cs" />\r
+    <Compile Include="System.Web.UI\ObjectPersistData.cs" />\r
+    <Compile Include="System.Web.UI\ObjectStateFormatter.cs" />\r
+    <Compile Include="System.Web.UI\ObjectTag.cs" />\r
+    <Compile Include="System.Web.UI\ObjectTagBuilder.cs" />\r
+    <Compile Include="System.Web.UI\OutputCacheLocation.cs" />\r
+    <Compile Include="System.Web.UI\OutputCacheParameters.cs" />\r
+    <Compile Include="System.Web.UI\Page.cs" />\r
+    <Compile Include="System.Web.UI\PageAsyncTask.cs" />\r
+    <Compile Include="System.Web.UI\PageHandlerFactory.cs" />\r
+    <Compile Include="System.Web.UI\PageLifeCycle.cs" />\r
+    <Compile Include="System.Web.UI\PageParser.cs" />\r
+    <Compile Include="System.Web.UI\PageParserFilter.cs" />\r
+    <Compile Include="System.Web.UI\PageStatePersister.cs" />\r
+    <Compile Include="System.Web.UI\PageTheme.cs" />\r
+    <Compile Include="System.Web.UI\PageThemeBuilder.cs" />\r
+    <Compile Include="System.Web.UI\PageThemeFileParser.cs" />\r
+    <Compile Include="System.Web.UI\PageThemeParser.cs" />\r
+    <Compile Include="System.Web.UI\Pair.cs" />\r
+    <Compile Include="System.Web.UI\ParseChildrenAttribute.cs" />\r
+    <Compile Include="System.Web.UI\PartialCachingAttribute.cs" />\r
+    <Compile Include="System.Web.UI\PartialCachingControl.cs" />\r
+    <Compile Include="System.Web.UI\PersistChildrenAttribute.cs" />\r
+    <Compile Include="System.Web.UI\PersistenceMode.cs" />\r
+    <Compile Include="System.Web.UI\PersistenceModeAttribute.cs" />\r
+    <Compile Include="System.Web.UI\PostBackOptions.cs" />\r
+    <Compile Include="System.Web.UI\PropertyConverter.cs" />\r
+    <Compile Include="System.Web.UI\PropertyEntry.cs" />\r
+    <Compile Include="System.Web.UI\ReadOnlyDataSourceView.cs" />\r
+    <Compile Include="System.Web.UI\RenderMethod.cs" />\r
+    <Compile Include="System.Web.UI\ResourceBasedLiteralControl.cs" />\r
+    <Compile Include="System.Web.UI\RootBuilder.cs" />\r
+    <Compile Include="System.Web.UI\SessionPageStatePersister.cs" />\r
+    <Compile Include="System.Web.UI\SimpleHandlerFactory.cs" />\r
+    <Compile Include="System.Web.UI\SimplePropertyEntry.cs" />\r
+    <Compile Include="System.Web.UI\SimpleWebHandlerParser.cs" />\r
+    <Compile Include="System.Web.UI\SkinBuilder.cs" />\r
+    <Compile Include="System.Web.UI\StateBag.cs" />\r
+    <Compile Include="System.Web.UI\StateItem.cs" />\r
+    <Compile Include="System.Web.UI\StateManagedCollection.cs" />\r
+    <Compile Include="System.Web.UI\StaticPartialCachingControl.cs" />\r
+    <Compile Include="System.Web.UI\StringPropertyBuilder.cs" />\r
+    <Compile Include="System.Web.UI\SupportsEventValidationAttribute.cs" />\r
+    <Compile Include="System.Web.UI\TagPrefixAttribute.cs" />\r
+    <Compile Include="System.Web.UI\TemplateBuilder.cs" />\r
+    <Compile Include="System.Web.UI\TemplateContainerAttribute.cs" />\r
+    <Compile Include="System.Web.UI\TemplateContentType.cs" />\r
+    <Compile Include="System.Web.UI\TemplateControl.cs" />\r
+    <Compile Include="System.Web.UI\TemplateControlParser.cs" />\r
+    <Compile Include="System.Web.UI\TemplateInstance.cs" />\r
+    <Compile Include="System.Web.UI\TemplateInstanceAttribute.cs" />\r
+    <Compile Include="System.Web.UI\TemplateParser.cs" />\r
+    <Compile Include="System.Web.UI\TemplatePropertyEntry.cs" />\r
+    <Compile Include="System.Web.UI\ThemeableAttribute.cs" />\r
+    <Compile Include="System.Web.UI\ThemeProvider.cs" />\r
+    <Compile Include="System.Web.UI\ToolboxDataAttribute.cs" />\r
+    <Compile Include="System.Web.UI\Triplet.cs" />\r
+    <Compile Include="System.Web.UI\UnknownAttributeDescriptor.cs" />\r
+    <Compile Include="System.Web.UI\UrlPropertyAttribute.cs" />\r
+    <Compile Include="System.Web.UI\UrlTypes.cs" />\r
+    <Compile Include="System.Web.UI\UserControl.cs" />\r
+    <Compile Include="System.Web.UI\UserControlControlBuilder.cs" />\r
+    <Compile Include="System.Web.UI\UserControlParser.cs" />\r
+    <Compile Include="System.Web.UI\ValidationPropertyAttribute.cs" />\r
+    <Compile Include="System.Web.UI\ValidatorCollection.cs" />\r
+    <Compile Include="System.Web.UI\VerificationAttribute.cs" />\r
+    <Compile Include="System.Web.UI\VerificationConditionalOperator.cs" />\r
+    <Compile Include="System.Web.UI\VerificationReportLevel.cs" />\r
+    <Compile Include="System.Web.UI\VerificationRule.cs" />\r
+    <Compile Include="System.Web.UI\ViewStateEncryptionMode.cs" />\r
+    <Compile Include="System.Web.UI\ViewStateException.cs" />\r
+    <Compile Include="System.Web.UI\ViewStateMode.cs" />\r
+    <Compile Include="System.Web.UI\ViewStateModeByIdAttribute.cs" />\r
+    <Compile Include="System.Web.UI\VirtualReferenceType.cs" />\r
+    <Compile Include="System.Web.UI\WebHandlerParser.cs" />\r
+    <Compile Include="System.Web.UI\WebResourceAttribute.cs" />\r
+    <Compile Include="System.Web.UI\WebServiceParser.cs" />\r
+    <Compile Include="System.Web.UI\XhtmlMobileDocType.cs" />\r
+    <Compile Include="System.Web.UI\XhtmlTextWriter.cs" />\r
+    <Compile Include="System.Web.UI\XPathBinder.cs" />\r
+    <Compile Include="System.Web.Util\AltSerialization.cs" />\r
+    <Compile Include="System.Web.Util\DataSourceHelper.cs" />\r
+    <Compile Include="System.Web.Util\DataSourceResolver.cs" />\r
+    <Compile Include="System.Web.Util\FileUtils.cs" />\r
+    <Compile Include="System.Web.Util\Helpers.cs" />\r
+    <Compile Include="System.Web.Util\HttpEncoder.cs" />\r
+    <Compile Include="System.Web.Util\ICalls.cs" />\r
+    <Compile Include="System.Web.Util\IWebObjectFactory.cs" />\r
+    <Compile Include="System.Web.Util\IWebPropertyAccessor.cs" />\r
+    <Compile Include="System.Web.Util\MachineKeySectionUtils.cs" />\r
+    <Compile Include="System.Web.Util\RequestValidationSource.cs" />\r
+    <Compile Include="System.Web.Util\RequestValidator.cs" />\r
+    <Compile Include="System.Web.Util\RuntimeHelpers.cs" />\r
+    <Compile Include="System.Web.Util\SearchPattern.cs" />\r
+    <Compile Include="System.Web.Util\SecureHashCodeProvider.cs" />\r
+    <Compile Include="System.Web.Util\SerializationHelper.cs" />\r
+    <Compile Include="System.Web.Util\SimpleWebObjectFactory.cs" />\r
+    <Compile Include="System.Web.Util\StrUtils.cs" />\r
+    <Compile Include="System.Web.Util\TimeUtil.cs" />\r
+    <Compile Include="System.Web.Util\TransactedCallback.cs" />\r
+    <Compile Include="System.Web.Util\Transactions.cs" />\r
+    <Compile Include="System.Web.Util\UrlUtils.cs" />\r
+    <Compile Include="System.Web.Util\WebEncoding.cs" />\r
+    <Compile Include="System.Web.Util\WebTrace.cs" />\r
+    <Compile Include="System.Web.Util\WorkItem.cs" />\r
+    <Compile Include="System.Web.Util\WorkItemCallback.cs" />\r
+    <Compile Include="System.Web\ApplicationShutdownReason.cs" />\r
+    <Compile Include="System.Web\BaseParamsCollection.cs" />\r
+    <Compile Include="System.Web\BeginEventHandler.cs" />\r
+    <Compile Include="System.Web\BrowserCapabilities.cs" />\r
+    <Compile Include="System.Web\CapabilitiesLoader.cs" />\r
+    <Compile Include="System.Web\DefaultExceptionPageTemplate.cs" />\r
+    <Compile Include="System.Web\DefaultHttpHandler.cs" />\r
+    <Compile Include="System.Web\DynamicModuleManager.cs" />\r
+    <Compile Include="System.Web\EndEventHandler.cs" />\r
+    <Compile Include="System.Web\EventHandlerTaskAsyncHelper.cs" />\r
+    <Compile Include="System.Web\ExceptionPageTemplate.cs" />\r
+    <Compile Include="System.Web\ExceptionPageTemplateFragment.cs" />\r
+    <Compile Include="System.Web\ExceptionPageTemplateFragmentValue.cs" />\r
+    <Compile Include="System.Web\ExceptionPageTemplateType.cs" />\r
+    <Compile Include="System.Web\ExceptionPageTemplateValues.cs" />\r
+    <Compile Include="System.Web\HeadersCollection.cs" />\r
+    <Compile Include="System.Web\HtmlizedException.cs" />\r
+    <Compile Include="System.Web\HtmlString.cs" />\r
+    <Compile Include="System.Web\HttpApplication.cs" />\r
+    <Compile Include="System.Web\HttpApplicationFactory.cs" />\r
+    <Compile Include="System.Web\HttpApplicationState.cs" />\r
+    <Compile Include="System.Web\HttpApplicationStateWrapper.cs" />\r
+    <Compile Include="System.Web\HttpBrowserCapabilities.cs" />\r
+    <Compile Include="System.Web\HttpBrowserCapabilitiesWrapper.cs" />\r
+    <Compile Include="System.Web\HttpCacheability.cs" />\r
+    <Compile Include="System.Web\HttpCachePolicy.cs" />\r
+    <Compile Include="System.Web\HttpCachePolicyWrapper.cs" />\r
+    <Compile Include="System.Web\HttpCacheRevalidation.cs" />\r
+    <Compile Include="System.Web\HttpCacheValidateHandler.cs" />\r
+    <Compile Include="System.Web\HttpCacheVaryByContentEncodings.cs" />\r
+    <Compile Include="System.Web\HttpCacheVaryByHeaders.cs" />\r
+    <Compile Include="System.Web\HttpCacheVaryByParams.cs" />\r
+    <Compile Include="System.Web\HttpClientCertificate.cs" />\r
+    <Compile Include="System.Web\HttpCompileException.cs" />\r
+    <Compile Include="System.Web\HttpContext.cs" />\r
+    <Compile Include="System.Web\HttpContextBase.cs" />\r
+    <Compile Include="System.Web\HttpContextWrapper.cs" />\r
+    <Compile Include="System.Web\HttpCookie.cs" />\r
+    <Compile Include="System.Web\HttpCookieCollection.cs" />\r
+    <Compile Include="System.Web\HttpCookieMode.cs" />\r
+    <Compile Include="System.Web\HttpException.cs" />\r
+    <Compile Include="System.Web\HttpFileCollection.cs" />\r
+    <Compile Include="System.Web\HttpFileCollectionWrapper.cs" />\r
+    <Compile Include="System.Web\HttpForbiddenHandler.cs" />\r
+    <Compile Include="System.Web\HttpHeaderCollection.cs" />\r
+    <Compile Include="System.Web\HttpMethodNotAllowedHandler.cs" />\r
+    <Compile Include="System.Web\HttpModuleCollection.cs" />\r
+    <Compile Include="System.Web\HttpNotFoundHandler.cs" />\r
+    <Compile Include="System.Web\HttpNotImplementedHandler.cs" />\r
+    <Compile Include="System.Web\HttpParamsCollection.cs" />\r
+    <Compile Include="System.Web\HttpParseException.cs" />\r
+    <Compile Include="System.Web\HttpPostedFile.cs" />\r
+    <Compile Include="System.Web\HttpRequest.cs" />\r
+    <Compile Include="System.Web\HttpRequestValidationException.cs" />\r
+    <Compile Include="System.Web\HttpRequestWrapper.cs" />\r
+    <Compile Include="System.Web\HttpResponse.cs" />\r
+    <Compile Include="System.Web\HttpResponseHeader.cs" />\r
+    <Compile Include="System.Web\HttpResponseStream.cs" />\r
+    <Compile Include="System.Web\HttpResponseSubstitutionCallback.cs" />\r
+    <Compile Include="System.Web\HttpResponseWrapper.cs" />\r
+    <Compile Include="System.Web\HttpRuntime.cs" />\r
+    <Compile Include="System.Web\HttpServerUtility.cs" />\r
+    <Compile Include="System.Web\HttpServerUtilityWrapper.cs" />\r
+    <Compile Include="System.Web\HttpSessionStateWrapper.cs" />\r
+    <Compile Include="System.Web\HttpStaticObjectsCollection.cs" />\r
+    <Compile Include="System.Web\HttpTaskAsyncHandler.cs" />\r
+    <Compile Include="System.Web\HttpUnhandledException.cs" />\r
+    <Compile Include="System.Web\HttpUtility.cs" />\r
+    <Compile Include="System.Web\HttpValidationStatus.cs" />\r
+    <Compile Include="System.Web\HttpWorkerRequest.cs" />\r
+    <Compile Include="System.Web\HttpWriter.cs" />\r
+    <Compile Include="System.Web\IHtmlString.cs" />\r
+    <Compile Include="System.Web\IHttpAsyncHandler.cs" />\r
+    <Compile Include="System.Web\IHttpHandler.cs" />\r
+    <Compile Include="System.Web\IHttpHandlerFactory.cs" />\r
+    <Compile Include="System.Web\IHttpMapPath.cs" />\r
+    <Compile Include="System.Web\IHttpModule.cs" />\r
+    <Compile Include="System.Web\IisTraceListener.cs" />\r
+    <Compile Include="System.Web\InputFilterStream.cs" />\r
+    <Compile Include="System.Web\IntPtrStream.cs" />\r
+    <Compile Include="System.Web\IPartitionResolver.cs" />\r
+    <Compile Include="System.Web\MimeMapping.cs" />\r
+    <Compile Include="System.Web\MimeTypes.cs" />\r
+    <Compile Include="System.Web\NoParamsInvoker.cs" />\r
+    <Compile Include="System.Web\OutputFilterStream.cs" />\r
+    <Compile Include="System.Web\ParserError.cs" />\r
+    <Compile Include="System.Web\ParserErrorCollection.cs" />\r
+    <Compile Include="System.Web\PreApplicationStartMethodAttribute.cs" />\r
+    <Compile Include="System.Web\ProcessInfo.cs" />\r
+    <Compile Include="System.Web\ProcessModelInfo.cs" />\r
+    <Compile Include="System.Web\ProcessShutdownReason.cs" />\r
+    <Compile Include="System.Web\ProcessStatus.cs" />\r
+    <Compile Include="System.Web\QueueManager.cs" />\r
+    <Compile Include="System.Web\ReadEntityBodyMode.cs" />\r
+    <Compile Include="System.Web\RequestNotification.cs" />\r
+    <Compile Include="System.Web\RequestNotificationStatus.cs" />\r
+    <Compile Include="System.Web\ServerVariablesCollection.cs" />\r
+    <Compile Include="System.Web\SiteMap.cs" />\r
+    <Compile Include="System.Web\SiteMapNode.cs" />\r
+    <Compile Include="System.Web\SiteMapNodeCollection.cs" />\r
+    <Compile Include="System.Web\SiteMapProvider.cs" />\r
+    <Compile Include="System.Web\SiteMapProviderCollection.cs" />\r
+    <Compile Include="System.Web\SiteMapResolveEventArgs.cs" />\r
+    <Compile Include="System.Web\StaticFileHandler.cs" />\r
+    <Compile Include="System.Web\StaticSiteMapProvider.cs" />\r
+    <Compile Include="System.Web\TaskAsyncResult.cs" />\r
+    <Compile Include="System.Web\TaskEventHandler.cs" />\r
+    <Compile Include="System.Web\TempFileStream.cs" />\r
+    <Compile Include="System.Web\TraceContext.cs" />\r
+    <Compile Include="System.Web\TraceContextEventArgs.cs" />\r
+    <Compile Include="System.Web\TraceContextEventHandler.cs" />\r
+    <Compile Include="System.Web\TraceContextRecord.cs" />\r
+    <Compile Include="System.Web\TraceData.cs" />\r
+    <Compile Include="System.Web\TraceManager.cs" />\r
+    <Compile Include="System.Web\TraceMode.cs" />\r
+    <Compile Include="System.Web\UnvalidatedRequestValues.cs" />\r
+    <Compile Include="System.Web\VirtualPath.cs" />\r
+    <Compile Include="System.Web\VirtualPathUtility.cs" />\r
+    <Compile Include="System.Web\WebCategoryAttribute.cs" />\r
+    <Compile Include="System.Web\WebPageTraceListener.cs" />\r
+    <Compile Include="System.Web\WebROCollection.cs" />\r
+    <Compile Include="System.Web\WebSysDescriptionAttribute.cs" />\r
+    <Compile Include="System.Web\XmlSiteMapProvider.cs" />\r
+    <Compile Include="System.Web\UplevelHelper.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Data.Sqlite/Mono.Data.Sqlite-net_4_x.csproj">\r
+      <Project>{371560EA-7BD3-4025-90CB-F1B112403CF2}</Project>\r
+      <Name>Mono.Data.Sqlite-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web.ApplicationServices/System.Web.ApplicationServices-net_4_x.csproj">\r
+      <Project>{928432BE-3518-4103-97F6-48B9658588A6}</Project>\r
+      <Name>System.Web.ApplicationServices-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Drawing/System.Drawing-net_4_x.csproj">\r
+      <Project>{584A5E46-2958-4CB2-8DF9-188B420D0BB0}</Project>\r
+      <Name>System.Drawing-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.EnterpriseServices/System.EnterpriseServices-net_4_x.csproj">\r
+      <Project>{61E3D008-E273-4E12-860A-8ADA031098C2}</Project>\r
+      <Name>System.EnterpriseServices-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-net_4_x.csproj">\r
+      <Project>{A157AD69-59D4-49DE-94B3-DB883B2BEAA5}</Project>\r
+      <Name>System.Runtime.Serialization.Formatters.Soap-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_4_x.csproj">\r
+      <Project>{8F86C287-38A5-49F8-BE6D-1E0E3D74AF39}</Project>\r
+      <Name>System.ComponentModel.DataAnnotations-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="resources/TranslationResources.resources">\r
+      <LogicalName>TranslationResources.resources</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/WebUIValidation.js">\r
+      <LogicalName>WebUIValidation.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/folder.gif">\r
+      <LogicalName>folder.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/file.gif">\r
+      <LogicalName>file.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/computer.gif">\r
+      <LogicalName>computer.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/arrow_minus.gif">\r
+      <LogicalName>arrow_minus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/arrow_noexpand.gif">\r
+      <LogicalName>arrow_noexpand.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/arrow_plus.gif">\r
+      <LogicalName>arrow_plus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/arrow_up.gif">\r
+      <LogicalName>arrow_up.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/arrow_down.gif">\r
+      <LogicalName>arrow_down.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/box_full.gif">\r
+      <LogicalName>box_full.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/box_empty.gif">\r
+      <LogicalName>box_empty.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/box_minus.gif">\r
+      <LogicalName>box_minus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/box_noexpand.gif">\r
+      <LogicalName>box_noexpand.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/box_plus.gif">\r
+      <LogicalName>box_plus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/contact.gif">\r
+      <LogicalName>contact.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/dot_empty.gif">\r
+      <LogicalName>dot_empty.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/dot_full.gif">\r
+      <LogicalName>dot_full.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/dots.gif">\r
+      <LogicalName>dots.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/inbox.gif">\r
+      <LogicalName>inbox.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/star_empty.gif">\r
+      <LogicalName>star_empty.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/star_full.gif">\r
+      <LogicalName>star_full.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/warning.gif">\r
+      <LogicalName>warning.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_noexpand.gif">\r
+      <LogicalName>TreeView_noexpand.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_dash.gif">\r
+      <LogicalName>TreeView_dash.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_dashminus.gif">\r
+      <LogicalName>TreeView_dashminus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_dashplus.gif">\r
+      <LogicalName>TreeView_dashplus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_i.gif">\r
+      <LogicalName>TreeView_i.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_l.gif">\r
+      <LogicalName>TreeView_l.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_lminus.gif">\r
+      <LogicalName>TreeView_lminus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_lplus.gif">\r
+      <LogicalName>TreeView_lplus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_minus.gif">\r
+      <LogicalName>TreeView_minus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_plus.gif">\r
+      <LogicalName>TreeView_plus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_r.gif">\r
+      <LogicalName>TreeView_r.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_rminus.gif">\r
+      <LogicalName>TreeView_rminus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_rplus.gif">\r
+      <LogicalName>TreeView_rplus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_t.gif">\r
+      <LogicalName>TreeView_t.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_tminus.gif">\r
+      <LogicalName>TreeView_tminus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/TreeView_tplus.gif">\r
+      <LogicalName>TreeView_tplus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/transparent.gif">\r
+      <LogicalName>transparent.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/webform.js">\r
+      <LogicalName>webform.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/WebUIValidation_2.0.js">\r
+      <LogicalName>WebUIValidation_2.0.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/ErrorTemplateCommon_Top.html">\r
+      <LogicalName>ErrorTemplateCommon_Top.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/DefaultErrorTemplate_CustomErrorDefault.html">\r
+      <LogicalName>DefaultErrorTemplate_CustomErrorDefault.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/ErrorTemplateCommon_Bottom.html">\r
+      <LogicalName>ErrorTemplateCommon_Bottom.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/DefaultErrorTemplate_StandardPage.html">\r
+      <LogicalName>DefaultErrorTemplate_StandardPage.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/HtmlizedExceptionPage_Top.html">\r
+      <LogicalName>HtmlizedExceptionPage_Top.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/HtmlizedExceptionPage_FileLongSource.html">\r
+      <LogicalName>HtmlizedExceptionPage_FileLongSource.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/HtmlizedExceptionPage_FileShortSource.html">\r
+      <LogicalName>HtmlizedExceptionPage_FileShortSource.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/HtmlizedExceptionPage_CompilerOutput.html">\r
+      <LogicalName>HtmlizedExceptionPage_CompilerOutput.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.UI.WebControls/GridView.js">\r
+      <LogicalName>GridView.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.UI.WebControls/DetailsView.js">\r
+      <LogicalName>DetailsView.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.UI.WebControls/TreeView.js">\r
+      <LogicalName>TreeView.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.UI.WebControls/Menu.js">\r
+      <LogicalName>Menu.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="System.Web.UI.WebControls/MenuModern.js">\r
+      <LogicalName>MenuModern.js</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Web/System.Web.Caching/IOutputCacheEntry.cs b/mcs/class/System.Web/System.Web.Caching/IOutputCacheEntry.cs
deleted file mode 100644 (file)
index 1f788ed..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// Authors:
-//   Marek Habersack <mhabersack@novell.com>
-//
-// (C) 2010 Novell, Inc (http://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.Collections.Generic;
-
-namespace System.Web.Caching
-{
-       public interface IOutputCacheEntry
-       {
-               List<HeaderElement> HeaderElements { get; set; }
-               List<ResponseElement> ResponseElements { get; set; }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Caching/ResponseElement.cs b/mcs/class/System.Web/System.Web.Caching/ResponseElement.cs
deleted file mode 100644 (file)
index 2775278..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// Authors:
-//   Marek Habersack <mhabersack@novell.com>
-//
-// (C) 2010 Novell, Inc (http://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.
-//
-
-namespace System.Web.Caching
-{
-       [Serializable]
-       public abstract class ResponseElement
-       {
-               protected ResponseElement ()
-               {
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Compilation/BuildProviderAppliesTo.cs b/mcs/class/System.Web/System.Web.Compilation/BuildProviderAppliesTo.cs
deleted file mode 100644 (file)
index f49eedf..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// System.Web.Compilation.BuildProviderAppliesTo
-//
-// Authors:
-//     Chris Toshok (toshok@ximian.com)
-//
-// (C) 2006 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.
-//
-
-namespace System.Web.Compilation
-{
-       [Flags]
-       public enum BuildProviderAppliesTo
-       {
-               Web = 1,            /* generate code from files in directories *other* than App_Code,
-                                      App_LocalResources, and App_GlobalResources */
-               Code = 1 << 1,      /* generate code only for App_Code/* */
-               Resources = 1 << 2, /* generate code only for App_LocalResources/* and App_GlobalResources/* */
-               All = 7             /* generate code for everything.  default value for the attribute */
-       }
-}
-
-
diff --git a/mcs/class/System.Web/System.Web.Compilation/BuildProviderAppliesToAttribute.cs b/mcs/class/System.Web/System.Web.Compilation/BuildProviderAppliesToAttribute.cs
deleted file mode 100644 (file)
index 3ec58fe..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// System.Web.Compilation.BuildProviderAppliesToAttribute
-//
-// Authors:
-//     Chris Toshok (toshok@ximian.com)
-//
-// (C) 2006-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.
-//
-
-namespace System.Web.Compilation
-{
-       [AttributeUsage (AttributeTargets.Class)]
-       public sealed class BuildProviderAppliesToAttribute : Attribute
-       {
-               BuildProviderAppliesTo appliesTo;
-
-               public BuildProviderAppliesToAttribute (BuildProviderAppliesTo appliesTo)
-               {
-                       this.appliesTo = appliesTo;
-               }
-
-               public BuildProviderAppliesTo AppliesTo {
-                       get { return appliesTo; }
-               }
-       }
-
-}
-
-
diff --git a/mcs/class/System.Web/System.Web.Compilation/DesignTimeResourceProviderFactoryAttribute.cs b/mcs/class/System.Web/System.Web.Compilation/DesignTimeResourceProviderFactoryAttribute.cs
deleted file mode 100644 (file)
index 4992586..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-//
-// System.Web.Compilation.DesignTimeResourceProviderFactoryAttribute
-//
-// Authors:
-//     Chris Toshok (toshok@ximian.com)
-//
-// (C) 2006 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.CodeDom;
-using System.Web.UI;
-
-namespace System.Web.Compilation {
-
-       [AttributeUsage (AttributeTargets.Class)]
-       public sealed class DesignTimeResourceProviderFactoryAttribute : Attribute
-       {
-               string factoryTypeName;
-
-               public DesignTimeResourceProviderFactoryAttribute (string factoryTypeName)
-               {
-                       this.factoryTypeName = factoryTypeName;
-               }
-
-               public DesignTimeResourceProviderFactoryAttribute (System.Type factoryType)
-               {
-                       this.factoryTypeName = factoryType.AssemblyQualifiedName;
-               }
-
-               public override bool IsDefaultAttribute ()
-               {
-                       return factoryTypeName == null;
-               }
-
-               public string FactoryTypeName {
-                       get { return factoryTypeName; }
-               }
-
-       }
-
-}
-
-
diff --git a/mcs/class/System.Web/System.Web.Compilation/ExpressionEditorAttribute.cs b/mcs/class/System.Web/System.Web.Compilation/ExpressionEditorAttribute.cs
deleted file mode 100644 (file)
index 9234a6b..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-// System.Web.Compilation.ExpressionEditorAttribute
-//
-// Authors:
-//     Chris Toshok (toshok@ximian.com)
-//
-// (C) 2006 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.
-//
-
-
-
-namespace System.Web.Compilation {
-
-       [AttributeUsage (AttributeTargets.Class)]
-       public sealed class ExpressionEditorAttribute : Attribute
-       {
-               string typeName;
-
-               public ExpressionEditorAttribute (string typeName)
-               {
-                       this.typeName = typeName;
-               }
-               
-               public ExpressionEditorAttribute (Type type)
-               {
-                       this.typeName = type.AssemblyQualifiedName;
-               }
-
-               public string EditorTypeName {
-                       get { return typeName; }
-               }
-
-               [MonoTODO ("Not implemented")]
-               public override bool Equals (object obj)
-               {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO ("Not implemented")]
-               public override int GetHashCode ()
-               {
-                       throw new NotImplementedException ();
-               }
-
-       }
-}
-
-
diff --git a/mcs/class/System.Web/System.Web.Compilation/ExpressionPrefixAttribute.cs b/mcs/class/System.Web/System.Web.Compilation/ExpressionPrefixAttribute.cs
deleted file mode 100644 (file)
index edea592..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-//
-// System.Web.Compilation.ExpressionPrefixAttribute
-//
-// Authors:
-//     Chris Toshok (toshok@ximian.com)
-//
-// (C) 2006 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.
-//
-
-
-
-namespace System.Web.Compilation {
-
-       [AttributeUsage (AttributeTargets.Class)]
-       public sealed class ExpressionPrefixAttribute : Attribute
-       {
-               string expressionPrefix;
-
-               public ExpressionPrefixAttribute (string expressionPrefix)
-               {
-                       this.expressionPrefix = expressionPrefix;
-               }
-
-               public string ExpressionPrefix {
-                       get { return expressionPrefix; }
-               }
-       }
-}
-
-
diff --git a/mcs/class/System.Web/System.Web.Compilation/FolderLevelBuildProviderAppliesTo.cs b/mcs/class/System.Web/System.Web.Compilation/FolderLevelBuildProviderAppliesTo.cs
deleted file mode 100644 (file)
index 9a03ab2..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// Authors:
-//   Marek Habersack <mhabersack@novell.com>
-//
-// (C) 2010 Novell, Inc (http://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;
-
-namespace System.Web.Compilation
-{
-       [FlagsAttribute]
-       public enum FolderLevelBuildProviderAppliesTo
-       {
-               None = 0x00,
-               Code = 0x01,
-               WebReferences = 0x02,
-               LocalResources = 0x04,
-               GlobalResources = 0x08
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Compilation/FolderLevelBuildProviderAppliesToAttribute.cs b/mcs/class/System.Web/System.Web.Compilation/FolderLevelBuildProviderAppliesToAttribute.cs
deleted file mode 100644 (file)
index 3e1db07..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// Authors:
-//   Marek Habersack <mhabersack@novell.com>
-//
-// (C) 2010 Novell, Inc (http://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;
-
-namespace System.Web.Compilation
-{
-       [AttributeUsage (AttributeTargets.Class, AllowMultiple = false)]
-       public sealed class FolderLevelBuildProviderAppliesToAttribute : Attribute
-       {
-               public FolderLevelBuildProviderAppliesTo AppliesTo {
-                       get; private set;
-               }
-               
-               public FolderLevelBuildProviderAppliesToAttribute (FolderLevelBuildProviderAppliesTo appliesTo)
-               {
-                       this.AppliesTo = appliesTo;
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Compilation/IAssemblyPostProcessor.cs b/mcs/class/System.Web/System.Web.Compilation/IAssemblyPostProcessor.cs
deleted file mode 100644 (file)
index 5c1d4fc..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.Compilation.IAssemblyPostProcessor
-//
-// Authors:
-//     Chris Toshok (toshok@ximian.com)
-//
-// (C) 2006-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.
-//
-
-namespace System.Web.Compilation
-{
-       public interface IAssemblyPostProcessor : IDisposable
-       {
-               void PostProcessAssembly (string path);
-       }
-}
-
-
diff --git a/mcs/class/System.Web/System.Web.Compilation/IImplicitResourceProvider.cs b/mcs/class/System.Web/System.Web.Compilation/IImplicitResourceProvider.cs
deleted file mode 100644 (file)
index bb204bd..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// System.Web.Compilation.IImplicitResourceProvider.cs
-//
-// Authors:
-//     Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-
-
-using System.Collections;
-using System.Globalization;
-
-namespace System.Web.Compilation
-{
-        public interface IImplicitResourceProvider
-        {
-                object GetObject (ImplicitResourceKey key, CultureInfo culture);
-               ICollection GetImplicitResourceKeys (string keyPrefix);
-        }
-}
-
diff --git a/mcs/class/System.Web/System.Web.Compilation/ImplicitResourceKey.cs b/mcs/class/System.Web/System.Web.Compilation/ImplicitResourceKey.cs
deleted file mode 100644 (file)
index 4f3357a..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-// System.Web.Compilation.IImplicitResourceProvider.cs
-//
-// Authors:
-//     Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.Compilation
-{
-        public sealed class ImplicitResourceKey
-        {
-               string filter;
-               string keyPrefix;
-               string property;
-
-               public ImplicitResourceKey (string filter, string keyPrefix, string property)
-               {
-                       this.filter = filter;
-                       this.keyPrefix = keyPrefix;
-                       this.property = property;
-               }
-
-                public ImplicitResourceKey ()
-                {
-                }
-
-                public string Filter {
-                       get { return filter; }
-                       set { filter = value; }
-               }
-
-                public string KeyPrefix {
-                       get { return keyPrefix; }
-                       set { keyPrefix = value; }
-               }
-
-                public string Property {
-                       get { return property; }
-                       set { property = value; }
-               }
-        }
-}
-
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/AdapterDictionary.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/AdapterDictionary.cs
deleted file mode 100644 (file)
index bddb721..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-// System.Web.Configuration.AdapterDictionary
-//
-// Authors:
-//     Lluis Sanchez Gual (lluis@novell.com)
-//
-// (C) 2004 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.Collections.Specialized;
-using System.Runtime.Serialization;
-
-namespace System.Web.Configuration
-{
-       [Serializable]
-       public class AdapterDictionary: OrderedDictionary, IDeserializationCallback
-       {
-               public string this [string key] {
-                       get { return (string) base [key]; }
-                       set { base [key] = value; }
-               }
-
-               [MonoTODO ("Not implemented")]
-               void IDeserializationCallback.OnDeserialization (object sender)
-               {
-                       throw new NotImplementedException ();
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/AuthenticationMode.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/AuthenticationMode.cs
deleted file mode 100644 (file)
index a42b964..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.Configuration.AuthenticationMode.cs
-//
-// Authors:
-//   Miguel de Icaza (miguel@novell.com)
-//
-// (C) 2005 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.
-//
-
-namespace System.Web.Configuration {
-       public enum AuthenticationMode {
-               None,
-               Windows,
-               Passport,
-               Forms
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/AuthorizationRuleAction.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/AuthorizationRuleAction.cs
deleted file mode 100644 (file)
index 9f8aef4..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// System.Web.Configuration.AuthorizationRuleAction.cs
-//
-// Authors:
-//     Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.Configuration
-{
-        public enum AuthorizationRuleAction
-        {
-                Deny,
-                Allow
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/CustomErrorsMode.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/CustomErrorsMode.cs
deleted file mode 100644 (file)
index 174484f..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.Configuration.CustomErrorsMode.cs
-//
-// Authors:
-//     Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.Configuration
-{
-        public enum CustomErrorsMode
-        {
-                RemoteOnly,
-                On,
-                Off
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/CustomErrorsRedirectMode.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/CustomErrorsRedirectMode.cs
deleted file mode 100644 (file)
index 49656c0..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// Authors:
-//   Marek Habersack <grendel@twistedcode.net>
-//
-// Copyright (C) 2011 Novell, Inc (http://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;
-
-namespace System.Web.Configuration
-{
-       public enum CustomErrorsRedirectMode
-       {
-               ResponseRedirect,
-               ResponseRewrite
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/FormsAuthPasswordFormat.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/FormsAuthPasswordFormat.cs
deleted file mode 100644 (file)
index 5ac12e1..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.Configuration.FormsAuthPasswordFormat.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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;
-
-namespace System.Web.Configuration {
-
-       public enum FormsAuthPasswordFormat
-       {
-               Clear,
-               SHA1,
-               MD5
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/FormsProtectionEnum.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/FormsProtectionEnum.cs
deleted file mode 100644 (file)
index 2b14f12..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.Configuration.FormsProtectionEnum.cs
-//
-// Author:
-//     Gonzalo Paniagua Javier <gonzalo@ximian.com>
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.Configuration {
-       public enum FormsProtectionEnum {
-               All, 
-               None, 
-               Encryption, 
-               Validation
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/IConfigMapPath.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/IConfigMapPath.cs
deleted file mode 100644 (file)
index e81a4e5..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// System.Web.IConfigMapPath
-//
-// Authors:
-//   Marek Habersack (mhabersack@novell.com)
-//
-// (C) 2007 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;
-
-namespace System.Web.Configuration
-{
-       public interface IConfigMapPath
-       {
-               string GetAppPathForPath (string siteID, string path);
-               void GetDefaultSiteNameAndID (out string siteName, out string siteID);
-               string GetMachineConfigFilename ();
-               void GetPathConfigFilename (string siteID, string path, out string directory, out string baseName);
-               string GetRootWebConfigFilename ();
-               string MapPath (string siteID, string path);
-               void ResolveSiteArgument (string siteArgument, out string siteName, out string siteID);
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/IConfigMapPathFactory.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/IConfigMapPathFactory.cs
deleted file mode 100644 (file)
index 3220f0a..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.HttpCacheVaryByContentEncodings
-//
-// Authors:
-//   Marek Habersack (mhabersack@novell.com)
-//
-// (C) 2007 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.Security.Permissions;
-
-namespace System.Web.Configuration
-{
-       public interface IConfigMapPathFactory
-       {
-               IConfigMapPath Create (string virtualPath, string physicalPath);
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/IRemoteWebConfigurationHostServer.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/IRemoteWebConfigurationHostServer.cs
deleted file mode 100644 (file)
index f47b0fd..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// System.Web.Configuration.IRemoteWebConfigurationHostServer.cs
-//
-// Authors:
-//     Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-using System.Resources;
-using System.Runtime.InteropServices;
-
-namespace System.Web.Configuration
-{
-       [ComVisibleAttribute (true)]
-       [GuidAttribute ("A99B591A-23C6-4238-8452-C7B0E895063D")]
-       public interface IRemoteWebConfigurationHostServer
-       {
-               string DoEncryptOrDecrypt (
-                   bool do_encrypt, string xml_string, string protection_provider_name,
-                   string protection_provider_type, string [] params_keys, string [] param_values);
-
-               byte [] GetData (string filename, bool getReadTimeOnly, out long readTime);
-
-               void GetFileDetails (string name, out bool exists, out long size, out long create_data, out long last_write_date);
-
-               string GetFilePaths (int webLevel, string path, string site, string locationSubPath);
-
-               void WriteData (string fileName, string templateFileName, byte [] data, ref long readTime);
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/MachineKeyCompatibilityMode.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/MachineKeyCompatibilityMode.cs
deleted file mode 100644 (file)
index 38c5e55..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// System.Web.Configuration.MachineKeyCompatibilityMode
-//
-// Authors:
-//     Sebastien Pouliot  <sebastien@ximian.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.
-//
-
-namespace System.Web.Configuration {
-
-       public enum MachineKeyCompatibilityMode {
-               Framework20SP1 = 0,
-               Framework20SP2 = 1
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/MachineKeyValidation.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/MachineKeyValidation.cs
deleted file mode 100644 (file)
index 47d7ef1..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// System.Web.Configuration.MachineKeyValidation.cs
-//
-// Authors:
-//     Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004, 2010 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.Configuration
-{
-       public
-       enum MachineKeyValidation
-       {
-               MD5 = 0,
-               SHA1 = 1,
-               TripleDES = 2,
-               AES = 3,
-               HMACSHA256 = 4,
-               HMACSHA384 = 5,
-               HMACSHA512 = 6,
-               Custom = 7
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/PagesEnableSessionState.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/PagesEnableSessionState.cs
deleted file mode 100644 (file)
index fd4b3f9..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.Configuration.PagesEnableSessionState.cs
-//
-// Authors:
-//     Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-using System.Resources;
-
-namespace System.Web.Configuration
-{
-               public
-               enum PagesEnableSessionState
-               {
-                       False = 0,
-                       ReadOnly = 1,
-                       True = 2
-               }
-}
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/ProcessModelComAuthenticationLevel.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/ProcessModelComAuthenticationLevel.cs
deleted file mode 100644 (file)
index 5fc0be9..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// System.Web.Configuration.ProcessModelComAuthenticationLevel.cs
-//
-// Authors:
-//     Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.Configuration
-{
-        public enum ProcessModelComAuthenticationLevel
-        {
-                None,
-                Call,
-                Connect,
-                Default,
-                Pkt,
-                PktIntegrity,
-                PktPrivacy
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/ProcessModelComImpersonationLevel.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/ProcessModelComImpersonationLevel.cs
deleted file mode 100644 (file)
index dbc587f..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.Configuration.ProcessModelComImpersonationLevel.cs
-//
-// Authors:
-//     Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.Configuration
-{
-        public enum ProcessModelComImpersonationLevel
-        {
-                Default,
-                Anonymous,
-                Delegate,
-                Identify,
-                Impersonate
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/ProcessModelLogLevel.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/ProcessModelLogLevel.cs
deleted file mode 100644 (file)
index 8c48062..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.Configuration.ProcessModelLogLevel.cs
-//
-// Authors:
-//     Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.Configuration
-{
-        public enum ProcessModelLogLevel
-        {
-                None,
-                All,
-                Errors
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/SerializationMode.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/SerializationMode.cs
deleted file mode 100644 (file)
index 05ba2c8..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.Configuration.SerializationMode.cs
-//
-// Authors:
-//     Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-using System.Resources;
-
-namespace System.Web.Configuration
-{
-        public enum SerializationMode
-        {
-                String = 0,
-                Xml = 1,
-                Binary = 2,
-                ProviderSpecific = 3
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/SystemWebCachingSectionGroup.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/SystemWebCachingSectionGroup.cs
deleted file mode 100644 (file)
index 3451f50..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-//
-// System.Web.Configuration.SystemWebCachingSectionGroup
-//
-// Authors:
-//     Chris Toshok (toshok@ximian.com)
-//
-// (C) 2005 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.Configuration;
-
-
-namespace System.Web.Configuration {
-
-       public sealed class SystemWebCachingSectionGroup : ConfigurationSectionGroup
-       {
-               [ConfigurationProperty ("cache")]
-               public CacheSection Cache {
-                       get { return (CacheSection) Sections ["cache"];}
-               }
-
-               [ConfigurationProperty ("outputCache")]
-               public OutputCacheSection OutputCache {
-                       get { return (OutputCacheSection) Sections ["outputCache"];}
-               }
-
-               [ConfigurationProperty ("outputCacheSettings")]
-               public OutputCacheSettingsSection OutputCacheSettings {
-                       get { return (OutputCacheSettingsSection) Sections ["outputCacheSettings"];}
-               }
-
-               [ConfigurationProperty ("sqlCacheDependency")]
-               public SqlCacheDependencySection SqlCacheDependency {
-                       get { return (SqlCacheDependencySection) Sections ["sqlCacheDependency"];}
-               }
-
-       }
-
-}
-
-
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/TraceDisplayMode.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/TraceDisplayMode.cs
deleted file mode 100644 (file)
index e3dc717..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.Configuration.TraceDisplayMode.cs
-//
-// Authors:
-//     Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-using System.Resources;
-
-namespace System.Web.Configuration
-{
-        public enum TraceDisplayMode
-        {
-                SortByTime = 1,
-                SortByCategory = 2
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/WebApplicationLevel.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/WebApplicationLevel.cs
deleted file mode 100644 (file)
index a70dd9a..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.Configuration.WebApplicationLevel enum
-//
-// Author:
-//     Sebastien Pouliot  <sebastien@ximian.com>
-//
-// Copyright (C) 2005 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.
-//
-
-
-namespace System.Web.Configuration {
-
-       public enum WebApplicationLevel {
-               AboveApplication = 10,
-               AtApplication = 20,
-               BelowApplication = 30
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.Configuration_2.0/XhtmlConformanceMode.cs b/mcs/class/System.Web/System.Web.Configuration_2.0/XhtmlConformanceMode.cs
deleted file mode 100644 (file)
index 279e0fe..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.Configuration.XhtmlConformanceMode.cs
-//
-// Authors:
-//     Chris Toshok (toshok@ximian.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.
-//
-// Copyright (C) 2005 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.Configuration
-{
-       public enum XhtmlConformanceMode
-       {
-               Transitional,
-               Legacy,
-               Strict
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Hosting/IApplicationHost.cs b/mcs/class/System.Web/System.Web.Hosting/IApplicationHost.cs
deleted file mode 100644 (file)
index ae6eb68..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// System.Web.IConfigMapPath
-//
-// Authors:
-//   Marek Habersack (mhabersack@novell.com)
-//
-// (C) 2009 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.Security.Permissions;
-using System.Web.Configuration;
-
-namespace System.Web.Hosting
-{
-       [AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       [AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public interface IApplicationHost
-       {
-               IConfigMapPathFactory GetConfigMapPathFactory ();
-               IntPtr GetConfigToken ();
-               string GetPhysicalPath ();
-               string GetSiteID ();
-               string GetSiteName ();
-               string GetVirtualPath ();
-               void MessageReceived ();
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Hosting/IRegisteredObject.cs b/mcs/class/System.Web/System.Web.Hosting/IRegisteredObject.cs
deleted file mode 100644 (file)
index 4a30949..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.Hosting.IRegisteredObject.cs
-//
-// Authors:
-//     Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-using System;
-using System.Runtime.InteropServices;
-
-namespace System.Web.Hosting
-{
-        public interface IRegisteredObject
-        {
-                void Stop (bool immediate);
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.Profile/ProfileEventArgs.cs b/mcs/class/System.Web/System.Web.Profile/ProfileEventArgs.cs
deleted file mode 100644 (file)
index 5e4813b..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// System.Web.UI.WebControls.ProfileEventArgs.cs
-//
-// Authors:
-//     Chris Toshok (toshok@ximian.com)
-//
-// (C) 2005 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;
-
-namespace System.Web.Profile
-{
-
-       public sealed class ProfileEventArgs : EventArgs
-       {
-               public ProfileEventArgs (HttpContext context)
-               {
-                       this.context = context;
-               }
-
-               public HttpContext Context {
-                       get {
-                               return context;
-                       }
-               }
-
-               public ProfileBase Profile {
-                       get {
-                               return profile;
-                       }
-                       set {
-                               profile = value;
-                       }
-               }
-
-               ProfileBase profile;
-               HttpContext context;
-       }
-
-}
-
diff --git a/mcs/class/System.Web/System.Web.Profile/ProfileEventHandler.cs b/mcs/class/System.Web/System.Web.Profile/ProfileEventHandler.cs
deleted file mode 100644 (file)
index 8ee7aaa..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.ProfileEventHandler.cs
-//
-// Authors:
-//     Chris Toshok (toshok@ximian.com)
-//
-// (C) 2005 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;
-
-namespace System.Web.Profile
-{
-       public delegate void ProfileEventHandler (object sender, ProfileEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.Routing/IRouteConstraint.cs b/mcs/class/System.Web/System.Web.Routing/IRouteConstraint.cs
deleted file mode 100644 (file)
index 0011843..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// IRouteConstraint.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://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.Runtime.CompilerServices;
-using System.Security.Permissions;
-using System.Web;
-
-namespace System.Web.Routing
-{
-       [TypeForwardedFrom ("System.Web.Routing, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")]
-       public interface IRouteConstraint
-       {
-               bool Match (HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection);
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Routing/IRouteHandler.cs b/mcs/class/System.Web/System.Web.Routing/IRouteHandler.cs
deleted file mode 100644 (file)
index a9a0d09..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// IRouteHandler.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://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.Runtime.CompilerServices;
-using System.Security.Permissions;
-using System.Web;
-
-namespace System.Web.Routing
-{
-       [TypeForwardedFrom ("System.Web.Routing, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")]
-       public interface IRouteHandler
-       {
-               IHttpHandler GetHttpHandler (RequestContext requestContext);
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Routing/RequestContext.cs b/mcs/class/System.Web/System.Web.Routing/RequestContext.cs
deleted file mode 100644 (file)
index 62c6957..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-//
-// RequestContext.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://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.Runtime.CompilerServices;
-using System.Security.Permissions;
-using System.Web;
-
-namespace System.Web.Routing
-{
-       [TypeForwardedFrom ("System.Web.Routing, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")]
-       [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public class RequestContext
-       {
-               public RequestContext ()
-               {
-                       HttpContext = null;
-                       RouteData = null;
-               }
-               public RequestContext (HttpContextBase httpContext, RouteData routeData)
-               {
-                       if (httpContext == null)
-                               throw new ArgumentNullException ("httpContext");
-                       if (routeData == null)
-                               throw new ArgumentNullException ("routeData");
-
-                       HttpContext = httpContext;
-                       RouteData = routeData;
-               }
-
-               public virtual HttpContextBase HttpContext { get; set; }
-               public virtual RouteData RouteData { get; set; }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Routing/RouteDirection.cs b/mcs/class/System.Web/System.Web.Routing/RouteDirection.cs
deleted file mode 100644 (file)
index 693d1dc..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// RouteDirection.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://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.Runtime.CompilerServices;
-
-namespace System.Web.Routing
-{
-       [TypeForwardedFrom ("System.Web.Routing, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")]
-       public enum RouteDirection
-       {
-               IncomingRequest,
-               UrlGeneration
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Routing/RouteTable.cs b/mcs/class/System.Web/System.Web.Routing/RouteTable.cs
deleted file mode 100644 (file)
index ff0bc2e..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// RouteTable.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://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.Runtime.CompilerServices;
-using System.Security.Permissions;
-using System.Web;
-
-namespace System.Web.Routing
-{
-       [TypeForwardedFrom ("System.Web.Routing, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")]
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public class RouteTable
-       {
-               static RouteTable ()
-               {
-                       Routes = new RouteCollection ();
-               }
-
-               public static RouteCollection Routes { get; private set; }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Routing/RouteValueDictionary.cs b/mcs/class/System.Web/System.Web.Routing/RouteValueDictionary.cs
deleted file mode 100644 (file)
index eeef0dd..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-//
-// RouteValueDictionary.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://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;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Runtime.CompilerServices;
-using System.Security.Permissions;
-using System.Web;
-
-using PairCollection = System.Collections.Generic.ICollection<System.Collections.Generic.KeyValuePair<string, object>>;
-
-namespace System.Web.Routing
-{
-       [TypeForwardedFrom ("System.Web.Routing, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")]
-       [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public class RouteValueDictionary : IDictionary<string, object>
-       {
-               internal class CaseInsensitiveStringComparer : IEqualityComparer<string>
-               {
-                       public static readonly CaseInsensitiveStringComparer Instance = new CaseInsensitiveStringComparer ();
-
-                       public int GetHashCode (string obj)
-                       {
-                               return obj.ToLower (CultureInfo.InvariantCulture).GetHashCode ();
-                       }
-
-                       public bool Equals (string obj1, string obj2)
-                       {
-                               return String.Equals (obj1, obj2, StringComparison.OrdinalIgnoreCase);
-                       }
-               }
-
-               Dictionary<string,object> d = new Dictionary<string,object> (CaseInsensitiveStringComparer.Instance);
-
-               public RouteValueDictionary ()
-               {
-               }
-
-               public RouteValueDictionary (IDictionary<string, object> dictionary)
-               {
-                       if (dictionary == null)
-                               throw new ArgumentNullException ("dictionary");
-                       foreach (var p in dictionary)
-                               Add (p.Key, p.Value);
-               }
-
-               public RouteValueDictionary (object values) // anonymous type instance
-               {
-                       if (values == null)
-                               return;
-
-                       foreach (var pi in values.GetType ().GetProperties ()) {
-                               try {
-                                       Add (pi.Name, pi.GetValue (values, null));
-                               } catch {
-                                       // ignore
-                               }
-                       }
-               }
-
-               public int Count {
-                       get { return d.Count; }
-               }
-
-               bool PairCollection.IsReadOnly {
-                       get { return ((PairCollection) d).IsReadOnly; }
-               }
-
-               ICollection<string> IDictionary<string, object>.Keys {
-                       get { return d.Keys; }
-               }
-
-               ICollection<Object> IDictionary<string, object>.Values {
-                       get { return d.Values; }
-               }
-
-               public object this [string key] {
-                       get { object v; return d.TryGetValue (key, out v) ? v : null; }
-                       set { d [key] = value; }
-               }
-
-               public Dictionary<string, object>.KeyCollection Keys {
-                       get { return d.Keys; }
-               }
-
-               public Dictionary<string, object>.ValueCollection Values {
-                       get { return d.Values; }
-               }
-
-               public void Add (string key, object value)
-               {
-                       d.Add (key, value);
-               }
-
-               public void Clear ()
-               {
-                       d.Clear ();
-               }
-
-               public bool ContainsKey (string key)
-               {
-                       return d.ContainsKey (key);
-               }
-
-               public bool ContainsValue (object value)
-               {
-                       return d.ContainsValue (value);
-               }
-
-               public Dictionary<string, object>.Enumerator GetEnumerator ()
-               {
-                       return d.GetEnumerator ();
-               }
-
-               void ICollection<KeyValuePair<string, object>>.Add (KeyValuePair<string, object> item)
-               {
-                       ((PairCollection) d).Add (item);
-               }
-
-               bool ICollection<KeyValuePair<string, object>>.Contains (KeyValuePair<string, object> item)
-               {
-                       return ((PairCollection) d).Contains (item);
-               }
-
-               void ICollection<KeyValuePair<string, object>>.CopyTo (KeyValuePair<string, object> [] array, int arrayIndex)
-               {
-                       ((PairCollection) d).CopyTo (array, arrayIndex);
-               }
-
-               bool ICollection<KeyValuePair<string, object>>.Remove (KeyValuePair<string, object> item)
-               {
-                       return ((PairCollection) d).Remove (item);
-               }
-
-               IEnumerator<KeyValuePair<string, object>> IEnumerable<KeyValuePair<string, object>>.GetEnumerator()
-               {
-                       return d.GetEnumerator ();
-               }
-
-               IEnumerator IEnumerable.GetEnumerator ()
-               {
-                       return d.GetEnumerator ();
-               }
-
-               public bool Remove (string key)
-               {
-                       return d.Remove (key);
-               }
-
-               public bool TryGetValue (string key, out object value)
-               {
-                       return d.TryGetValue (key, out value);
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Routing/VirtualPathData.cs b/mcs/class/System.Web/System.Web.Routing/VirtualPathData.cs
deleted file mode 100644 (file)
index 3449b3b..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// VirtualPathData.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://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.Runtime.CompilerServices;
-using System.Security.Permissions;
-using System.Web;
-
-namespace System.Web.Routing
-{
-       [TypeForwardedFrom ("System.Web.Routing, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")]
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public class VirtualPathData
-       {
-               public VirtualPathData (RouteBase route, string virtualPath)
-               {
-                       // arguments can be null.
-                       Route = route;
-                       VirtualPath = virtualPath;
-                       DataTokens = new RouteValueDictionary ();
-               }
-
-               public RouteValueDictionary DataTokens { get; private set; }
-
-               public RouteBase Route { get; set; }
-
-               public string VirtualPath { get; set; }
-       }
-}
index ab273d4970bb7a4cd641996ed585173d01bd1379..491d74f6c4d49884b7a72f0fe70695f6c068871e 100644 (file)
@@ -213,22 +213,19 @@ namespace System.Web.Security
 
                        DateTime now = DateTime.Now;
                        DateTime then;
-                       if (createPersistentCookie)
-                               then = now.AddYears (50);
-                       else
-                               then = now.AddMinutes (timeout);
+                       if (createPersistentCookie)
+                               then = now.AddMinutes(timeout);
+                       else
+                               then = DateTime.MinValue;
 
                        FormsAuthenticationTicket ticket = new FormsAuthenticationTicket (1,
                                                                                          userName,
                                                                                          now,
-                                                                                         then,
+                                              createPersistentCookie?then:now.AddYears (50),
                                                                                          createPersistentCookie,
                                                                                          String.Empty,
                                                                                          cookiePath);
 
-                       if (!createPersistentCookie)
-                               then = DateTime.MinValue;
-
                        HttpCookie cookie = new HttpCookie (cookieName, Encrypt (ticket), strCookiePath, then);
                        if (requireSSL)
                                cookie.Secure = true;
diff --git a/mcs/class/System.Web/System.Web.Security/FormsAuthenticationEventArgs.cs b/mcs/class/System.Web/System.Web.Security/FormsAuthenticationEventArgs.cs
deleted file mode 100644 (file)
index c1fc437..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-//
-// System.Web.Security.FormsAuthenticationEventArgs
-//
-// Authors:
-//     Gonzalo Paniagua Javier (gonzalo@ximian.com)
-//
-// (C) 2002 Ximian, Inc (http://www.ximian.com)
-// Copyright (C) 2005 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.Security.Permissions;
-using System.Security.Principal;
-
-namespace System.Web.Security
-{
-       // CAS - no InheritanceDemand here as the class is sealed
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public sealed class FormsAuthenticationEventArgs : EventArgs
-       {
-               IPrincipal user;
-               HttpContext context;
-
-               public FormsAuthenticationEventArgs (HttpContext context)
-               {
-                       this.context = context;
-               }
-
-               public HttpContext Context
-               {
-                       get {
-                               return context;
-                       }
-               }
-
-               public IPrincipal User
-               {
-                       get {
-                               return user;
-                       }
-
-                       [SecurityPermission (SecurityAction.Demand, ControlPrincipal = true)]
-                       set {
-                               user = value;
-                       }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.Security/FormsAuthenticationEventHandler.cs b/mcs/class/System.Web/System.Web.Security/FormsAuthenticationEventHandler.cs
deleted file mode 100644 (file)
index 710aa55..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.Security.FormsAuthenticationEventHandler
-//
-// Authors:
-//     Gonzalo Paniagua Javier (gonzalo@ximian.com)
-//
-// (C) 2002 Ximian, Inc (http://www.ximian.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.
-//
-
-namespace System.Web.Security
-{
-       public delegate void FormsAuthenticationEventHandler (object sender, FormsAuthenticationEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.Security/PassportAuthenticationEventArgs.cs b/mcs/class/System.Web/System.Web.Security/PassportAuthenticationEventArgs.cs
deleted file mode 100644 (file)
index 292e815..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-//
-// System.Web.Security.PassportAuthenticationEventArgs
-//
-// Authors:
-//     Gonzalo Paniagua Javier (gonzalo@ximian.com)
-//
-// (C) 2002 Ximian, Inc (http://www.ximian.com)
-// Copyright (C) 2005-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.Security.Permissions;
-using System.Security.Principal;
-
-namespace System.Web.Security
-{
-       // CAS - no InheritanceDemand here as the class is sealed
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       [Obsolete ("This type is obsolete. The Passport authentication product is no longer supported and has been superseded by Live ID.")]
-       public sealed class PassportAuthenticationEventArgs : EventArgs
-       {
-               PassportIdentity identity;
-               HttpContext context;
-               IPrincipal user;
-
-               public PassportAuthenticationEventArgs (PassportIdentity identity, HttpContext context)
-               {
-                       this.identity = identity;
-                       this.context = context;
-               }
-
-               public HttpContext Context
-               {
-                       get {
-                               return context;
-                       }
-               }
-
-               public PassportIdentity Identity
-               {
-                       get {
-                               return identity;
-                       }
-               }
-
-               public IPrincipal User
-               {
-                       get {
-                               return user;
-                       }
-
-                       [SecurityPermission (SecurityAction.Demand, ControlPrincipal = true)]
-                       set {
-                               user = value;
-                       }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.Security/PassportAuthenticationEventHandler.cs b/mcs/class/System.Web/System.Web.Security/PassportAuthenticationEventHandler.cs
deleted file mode 100644 (file)
index 3cad8b5..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.Security.PassportAuthenticationEventHandler
-//
-// Authors:
-//     Gonzalo Paniagua Javier (gonzalo@ximian.com)
-//
-// (C) 2002 Ximian, Inc (http://www.ximian.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.
-//
-
-namespace System.Web.Security
-{
-       [Obsolete ("This type is obsolete. The Passport authentication product is no longer supported and has been superseded by Live ID.")]
-       public delegate void PassportAuthenticationEventHandler (object sender,
-                                                                PassportAuthenticationEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.Security/RoleManagerEventArgs.cs b/mcs/class/System.Web/System.Web.Security/RoleManagerEventArgs.cs
deleted file mode 100644 (file)
index 874e817..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-//
-// System.Web.Security.RoleManagerEventArgs
-//
-// Authors:
-//     Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// (C) 2003 Ben Maurer
-//
-
-//
-// 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.Collections;
-using System.Collections.Specialized;
-using System.Text;
-
-namespace System.Web.Security {
-       public sealed class RoleManagerEventArgs : EventArgs {
-               public RoleManagerEventArgs (HttpContext context)
-               {
-                       this.context = context;
-               }
-               
-               HttpContext context;
-               public HttpContext Context {
-                       get { return context; }
-               }
-               
-               bool rolesPopulated;
-               public bool RolesPopulated {
-                       get { return rolesPopulated; }
-                       set { rolesPopulated = value; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.Security/RoleManagerEventHandler.cs b/mcs/class/System.Web/System.Web.Security/RoleManagerEventHandler.cs
deleted file mode 100644 (file)
index ad0cabe..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.Security.RoleManagerEventHandler
-//
-// Authors:
-//     Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// (C) 2003 Ben Maurer
-//
-
-//
-// 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.
-//
-
-namespace System.Web.Security {
-       public delegate void RoleManagerEventHandler (object sender, RoleManagerEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.Security/WindowsAuthenticationEventArgs.cs b/mcs/class/System.Web/System.Web.Security/WindowsAuthenticationEventArgs.cs
deleted file mode 100644 (file)
index 519ab29..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-//
-// System.Web.Security.WindowsAuthenticationEventArgs
-//
-// Authors:
-//     Gonzalo Paniagua Javier (gonzalo@ximian.com)
-//
-// (C) 2002 Ximian, Inc (http://www.ximian.com)
-// Copyright (C) 2005 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.Security.Permissions;
-using System.Security.Principal;
-
-namespace System.Web.Security
-{
-       // CAS - no InheritanceDemand here as the class is sealed
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public sealed class WindowsAuthenticationEventArgs : EventArgs
-       {
-               WindowsIdentity identity;
-               HttpContext context;
-               IPrincipal user;
-
-               public WindowsAuthenticationEventArgs (WindowsIdentity identity, HttpContext context)
-               {
-                       this.identity = identity;
-                       this.context = context;
-               }
-
-               public System.Web.HttpContext Context
-               {
-                       get {
-                               return context;
-                       }
-               }
-
-               public WindowsIdentity Identity
-               {
-                       get {
-                               return identity;
-                       }
-               }
-
-               public IPrincipal User
-               {
-                       get {
-                               return user;
-                       }
-
-                       [SecurityPermission (SecurityAction.Demand, ControlPrincipal = true)]
-                       set {
-                               user = value;
-                       }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.Security/WindowsAuthenticationEventHandler.cs b/mcs/class/System.Web/System.Web.Security/WindowsAuthenticationEventHandler.cs
deleted file mode 100644 (file)
index 29b67e2..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// System.Web.Security.WindowsAuthenticationEventHandler
-//
-// Authors:
-//     Gonzalo Paniagua Javier (gonzalo@ximian.com)
-//
-// (C) 2002 Ximian, Inc (http://www.ximian.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.
-//
-
-namespace System.Web.Security
-{
-       public delegate void WindowsAuthenticationEventHandler (object sender,
-                                                               WindowsAuthenticationEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.SessionState_2.0/IReadOnlySessionState.cs b/mcs/class/System.Web/System.Web.SessionState_2.0/IReadOnlySessionState.cs
deleted file mode 100644 (file)
index 5d71a0d..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// System.Web.SessionState.IReadOnlySessionState
-//
-// Authors:
-//     Gonzalo Paniagua Javier (gonzalo@ximian.com)
-//
-// (C) 2002 Ximian, Inc (http://www.ximian.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.
-//
-
-namespace System.Web.SessionState {
-public interface IReadOnlySessionState : IRequiresSessionState
-{
-}
-}
-
diff --git a/mcs/class/System.Web/System.Web.SessionState_2.0/IRequiresSessionState.cs b/mcs/class/System.Web/System.Web.SessionState_2.0/IRequiresSessionState.cs
deleted file mode 100644 (file)
index 4d0264d..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// System.Web.SessionState.IRequiresSessionState
-//
-// Authors:
-//     Gonzalo Paniagua Javier (gonzalo@ximian.com)
-//
-// (C) 2002 Ximian, Inc (http://www.ximian.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.
-//
-
-namespace System.Web.SessionState {
-public interface IRequiresSessionState
-{
-}
-}
-
diff --git a/mcs/class/System.Web/System.Web.SessionState_2.0/SessionStateBehavior.cs b/mcs/class/System.Web/System.Web.SessionState_2.0/SessionStateBehavior.cs
deleted file mode 100644 (file)
index 488104f..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-//
-// Authors:
-//      Marek Habersack <mhabersack@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;
-
-namespace System.Web.SessionState
-{
-       public enum SessionStateBehavior
-       {
-               Default,
-               Required,
-               ReadOnly,
-               Disabled
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.Adapters/WmlPostFieldType.cs b/mcs/class/System.Web/System.Web.UI.Adapters/WmlPostFieldType.cs
deleted file mode 100644 (file)
index c1cb480..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.UI.Adapters.WmlPostFieldType.cs
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// Copyright (C) 2004-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.
-//
-
-namespace System.Web.UI.Adapters {
-       public enum WmlPostFieldType {
-               Normal = 0,
-               Submit = 1,
-               Variable = 2,
-               Raw = 3
-       } 
-}
-
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/ITrackingPersonalizable.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/ITrackingPersonalizable.cs
deleted file mode 100644 (file)
index bbb78fa..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.ITrackingPersonalizable.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.Collections.Specialized;
-
-namespace System.Web.UI.WebControls.WebParts
-{
-       public interface ITrackingPersonalizable
-       {
-               void BeginLoad ();
-               void BeginSave ();
-               void EndLoad ();
-               void EndSave ();
-               
-               bool TracksChanges { get; }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/ITransformerConfigurationControl.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/ITransformerConfigurationControl.cs
deleted file mode 100644 (file)
index bae77ef..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.ITransformerConfigurationControl.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-
-
-namespace System.Web.UI.WebControls.WebParts
-{
-       public interface ITransformerConfigurationControl
-       {
-               event EventHandler Cancelled;
-               event EventHandler Succeeded;
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IVersioningPersonalizable.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IVersioningPersonalizable.cs
deleted file mode 100644 (file)
index 861d633..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.IVersioningPersonalizable.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.Collections;
-
-namespace System.Web.UI.WebControls.WebParts
-{
-       public interface IVersioningPersonalizable
-       {
-               void Load (IDictionary unknownProperties);
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebActionable.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebActionable.cs
deleted file mode 100644 (file)
index 314e7bf..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.IWebActionable.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-
-
-namespace System.Web.UI.WebControls.WebParts
-{
-       public interface IWebActionable
-       {
-               WebPartVerbCollection Verbs { get; }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebEditable.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebEditable.cs
deleted file mode 100644 (file)
index f0c2f51..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.IWebEditable.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-
-
-namespace System.Web.UI.WebControls.WebParts
-{
-       public interface IWebEditable
-       {
-               EditorPartCollection CreateEditorParts ();
-               
-               object WebBrowsableObject { get; }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPart.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPart.cs
deleted file mode 100644 (file)
index 5ccf191..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.IWebPart.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-
-
-namespace System.Web.UI.WebControls.WebParts
-{
-       public interface IWebPart
-       {
-               string CatalogIconImageUrl { get; set; }
-               string Description { get; set; }
-               string Subtitle { get; }
-               string Title { get; set; }
-               string TitleIconImageUrl { get; set; }
-               string TitleUrl { get; set; }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartField.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartField.cs
deleted file mode 100644 (file)
index 94f7d45..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.IWebPartField.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.ComponentModel;
-
-namespace System.Web.UI.WebControls.WebParts
-{
-       public interface IWebPartField
-       {
-               void GetFieldValue (FieldCallback callback);
-               PropertyDescriptor Schema { get; }
-       }
-
-       public delegate void FieldCallback (object fieldValue);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartHttpHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartHttpHandler.cs
deleted file mode 100644 (file)
index d9b7ca9..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.IWebPartHttpHandler.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-
-
-namespace System.Web.UI.WebControls.WebParts
-{
-       public interface IWebPartHttpHandler
-       {
-               PersonalizationScope DesiredScope { get; }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartParameters.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartParameters.cs
deleted file mode 100644 (file)
index 739c975..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.IWebPartParameters.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.ComponentModel;
-using System.Collections;
-
-namespace System.Web.UI.WebControls.WebParts
-{
-       public interface IWebPartParameters
-       {
-               void SetConsumerSchema (PropertyDescriptorCollection schema);
-               
-               void GetParametersData (ParametersCallback callback);
-               PropertyDescriptorCollection Schema { get; }
-       }
-
-       public delegate void ParametersCallback (IDictionary parametersData);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartRow.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartRow.cs
deleted file mode 100644 (file)
index f5bcdcd..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.IWebPartRow.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.ComponentModel;
-
-namespace System.Web.UI.WebControls.WebParts
-{
-       public interface IWebPartRow
-       {
-               void GetRowData (RowCallback callback);
-               PropertyDescriptorCollection Schema { get; }
-       }
-
-       public delegate void RowCallback (object rowData);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartTable.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/IWebPartTable.cs
deleted file mode 100644 (file)
index 74fac3a..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.IWebPartTable.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.Collections;
-using System.ComponentModel;
-
-namespace System.Web.UI.WebControls.WebParts
-{
-       public interface IWebPartTable
-       {
-               PropertyDescriptorCollection Schema { get; }
-               void GetTableData (TableCallback callback);
-       }
-
-       public delegate void TableCallback (ICollection tableData);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/PartChromeState.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/PartChromeState.cs
deleted file mode 100644 (file)
index 034a7e5..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.PartChromeState.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls.WebParts {
-        public enum PartChromeState {
-                Normal = 0,
-               Minimized = 1           
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/PartChromeType.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/PartChromeType.cs
deleted file mode 100644 (file)
index d8a22ab..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.PartChromeType.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls.WebParts {
-        public enum PartChromeType {
-                Default = 0,
-               TitleAndBorder = 1,
-               None = 2,
-               TitleOnly = 3,
-               BorderOnly = 4          
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/PersonalizationScope.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/PersonalizationScope.cs
deleted file mode 100644 (file)
index e951ca2..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.PersonalizationScope.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls.WebParts {
-        public enum PersonalizationScope {
-                User = 0,
-               Shared = 1
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartAuthorizationEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartAuthorizationEventHandler.cs
deleted file mode 100644 (file)
index bfa5bb1..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.WebPartAuthorizationEventHandler.cs
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-namespace System.Web.UI.WebControls.WebParts {
-       public delegate void WebPartAuthorizationEventHandler (object source, WebPartAuthorizationEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartCancelEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartCancelEventArgs.cs
deleted file mode 100644 (file)
index 6c082fa..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.WebPartCancelEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.ComponentModel;
-
-namespace System.Web.UI.WebControls.WebParts
-{
-       public class WebPartCancelEventArgs : CancelEventArgs
-       {
-               WebPart part;
-               
-               public WebPartCancelEventArgs (WebPart part)
-               {
-                       this.part = part;
-               }
-               
-               public WebPart WebPart {
-                       get { return part; }
-                       set { part = value; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartCancelEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartCancelEventHandler.cs
deleted file mode 100644 (file)
index 74b22bd..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.WebPartCancelEventHandler.cs
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-namespace System.Web.UI.WebControls.WebParts {
-       public delegate void WebPartCancelEventHandler (object source, WebPartCancelEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartEventArgs.cs
deleted file mode 100644 (file)
index d033e6a..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.WebPartEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-
-namespace System.Web.UI.WebControls.WebParts
-{
-       public class WebPartEventArgs : EventArgs
-       {
-               WebPart part;
-               
-               public WebPartEventArgs (WebPart part) 
-               {
-                       this.part = part; 
-               }
-               
-               public WebPart WebPart {
-                       get { return part; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartEventHandler.cs
deleted file mode 100644 (file)
index a57c67d..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.WebPartEventHandler.cs
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-namespace System.Web.UI.WebControls.WebParts {
-       public delegate void WebPartEventHandler (object source, WebPartEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartExportMode.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartExportMode.cs
deleted file mode 100644 (file)
index c761b46..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.WebPartExportMode.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls.WebParts {
-        public enum WebPartExportMode {
-                None = 0,
-               All = 1,
-               NonSensitiveData = 2
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartHelpMode.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartHelpMode.cs
deleted file mode 100644 (file)
index cb5acaa..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.WebPartHelpMode.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls.WebParts {
-        public enum WebPartHelpMode {
-                Modal = 0,
-               Modeless = 1,
-               Navigate = 2
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartVerbsEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartVerbsEventArgs.cs
deleted file mode 100644 (file)
index 3a33897..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.WebPartVerbsEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-
-namespace System.Web.UI.WebControls.WebParts
-{
-       public class WebPartVerbsEventArgs : EventArgs
-       {
-               WebPartVerbCollection verbs;
-               
-               public WebPartVerbsEventArgs ()
-               {}
-
-               public WebPartVerbsEventArgs (WebPartVerbCollection verbs)
-               {
-                       this.verbs = verbs;
-               }
-               
-               public WebPartVerbCollection Verbs {
-                       get { return verbs; }
-                       set { verbs = value; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartVerbsEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls.WebParts/WebPartVerbsEventHandler.cs
deleted file mode 100644 (file)
index 302abe8..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.WebParts.WebPartVerbsEventHandler.cs
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-namespace System.Web.UI.WebControls.WebParts {
-       public delegate void WebPartVerbsEventHandler (object source, WebPartVerbsEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/AdCreatedEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/AdCreatedEventHandler.cs
deleted file mode 100644 (file)
index 87cc6a2..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-// 
-// System.Web.UI.WebControls.AdCreatedEventHandler
-//
-// Author:
-//        Ben Maurer <bmaurer@novell.com>
-//
-// (c) 2005 Novell
-//
-// 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.
-//
-
-namespace System.Web.UI.WebControls {
-       public delegate void AdCreatedEventHandler (object sender, AdCreatedEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/AuthenticateEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/AuthenticateEventArgs.cs
deleted file mode 100644 (file)
index 57ecfb8..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-//
-// System.Web.UI.WebControls.AuthenticateEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public class AuthenticateEventArgs : EventArgs 
-       {
-               bool authenticated;
-               
-               public AuthenticateEventArgs (): this (false)
-               {
-               }
-               
-               public AuthenticateEventArgs (bool authenticated)
-               {
-                       this.authenticated = authenticated;
-               }
-               
-               public bool Authenticated { 
-                       get { return authenticated; } 
-                       set { authenticated = value; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/AuthenticateEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/AuthenticateEventHandler.cs
deleted file mode 100644 (file)
index d7643b4..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.AuthenticateEventHandler.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-namespace System.Web.UI.WebControls
-{
-       public delegate void AuthenticateEventHandler (object sender, AuthenticateEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/AutoCompleteType.cs b/mcs/class/System.Web/System.Web.UI.WebControls/AutoCompleteType.cs
deleted file mode 100644 (file)
index 2f9adb9..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-//
-// System.Web.UI.WebControls.AutoCompleteType.cs
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// Copyright (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public enum AutoCompleteType
-       {
-               None = 0,
-               Disabled = 1,
-               Cellular = 2,
-               Company = 3,
-               Department = 4,
-               DisplayName = 5,
-               Email = 6,
-               FirstName = 7,
-               Gender = 8,
-               HomeCity = 9,
-               HomeCountryRegion = 10,
-               HomeFax = 11,
-               HomePhone = 12,
-               HomeState = 13,
-               HomeStreetAddress = 14,
-               HomeZipCode = 15,
-               Homepage = 16,
-               JobTitle = 17,
-               LastName = 18,
-               MiddleName = 19,
-               Notes = 20,
-               Office = 21,
-               Pager = 22,
-               BusinessCity = 23,
-               BusinessCountryRegion = 24,
-               BusinessFax = 25,
-               BusinessPhone = 26,
-               BusinessState = 27,
-               BusinessStreetAddress = 28,
-               BusinessUrl = 29,
-               BusinessZipCode = 30,
-               Search = 31,
-       } 
-}
-
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/BorderStyle.cs b/mcs/class/System.Web/System.Web.UI.WebControls/BorderStyle.cs
deleted file mode 100644 (file)
index c3d11ef..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// System.Web.UI.WebControls.BorderStyle.cs
-//
-// Author:
-//      Dick Porter  <dick@ximian.com>
-//
-// Copyright (C) 2005-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public enum BorderStyle
-       {
-               NotSet,
-               None,
-               Dotted,
-               Dashed,
-               Solid,
-               Double,
-               Groove,
-               Ridge,
-               Inset,
-               Outset
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/BulletedListEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/BulletedListEventArgs.cs
deleted file mode 100644 (file)
index c39ba5d..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// System.Web.UI.WebControls.BulletedListEventArgs.cs
-//
-// Authors:
-//   Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// (C) 2003 Ben Maurer
-//
-
-//
-// 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.
-//
-namespace System.Web.UI.WebControls
-{
-       public class BulletedListEventArgs : EventArgs
-       {
-               int index;
-               
-               public BulletedListEventArgs (int index)
-               {
-                       this.index = index;
-               }
-               
-               public int Index { get { return index; } }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/BulletedListEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/BulletedListEventHandler.cs
deleted file mode 100644 (file)
index f6a44d2..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// System.Web.UI.WebControls.BulletedListEventHandler.cs
-//
-// Authors:
-//   Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// (C) 2003 Ben Maurer
-//
-
-//
-// 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.
-//
-namespace System.Web.UI.WebControls
-{
-       public delegate void BulletedListEventHandler (object sender, BulletedListEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ButtonColumnType.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ButtonColumnType.cs
deleted file mode 100644 (file)
index b18eeb9..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.UI.WebControls.ButtonColumnType.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005-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;
-
-namespace System.Web.UI.WebControls
-{
-       public enum ButtonColumnType
-       {
-               LinkButton,
-               PushButton
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ButtonType.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ButtonType.cs
deleted file mode 100644 (file)
index afcaa14..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.UI.WebControls.ButtonType.cs
-//
-// Author: Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls
-{
-        public enum ButtonType
-        {
-                Button = 0,
-                Image = 1,
-                Link = 2,
-        }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/CalendarSelectionMode.cs b/mcs/class/System.Web/System.Web.UI.WebControls/CalendarSelectionMode.cs
deleted file mode 100644 (file)
index 3820c52..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.UI.WebControls.CalendarSelectionMode.cs
-//
-// Author:
-//      Jordi Mas i Hernandez  <jordi@ximian.com>
-//
-// Copyright (C) 2005-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public enum CalendarSelectionMode
-       {
-               None,
-               Day,
-               DayWeek,
-               DayWeekMonth
-       }
-}
index 905740a1ea9d9f4d4e896cadb7e7ceaa1e177f25..27c3a7fb9dc870f7018c9a6956ef0871173ecb54 100644 (file)
@@ -370,7 +370,11 @@ namespace System.Web.UI.WebControls
                                Page page = Page;
                                string onclick = page != null ? page.ClientScript.GetPostBackEventReference (GetPostBackOptions (), true) : String.Empty;
                                onclick = String.Concat ("setTimeout('", onclick.Replace ("\\", "\\\\").Replace ("'", "\\'"), "', 0)");
-                               w.AddAttribute (HtmlTextWriterAttribute.Onclick, BuildScriptAttribute ("onclick", onclick));
+                               if (common_attrs != null && common_attrs ["onclick"] != null) {
+                                       onclick = ClientScriptManager.EnsureEndsWithSemicolon (common_attrs ["onclick"]) + onclick;
+                                       common_attrs.Remove ("onclick");
+                               }
+                               w.AddAttribute (HtmlTextWriterAttribute.Onclick, onclick);
                        }
 
                        if (AccessKey.Length > 0)
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/CommandEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/CommandEventArgs.cs
deleted file mode 100644 (file)
index e3cc943..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// System.Web.UI.WebControls.CommandEventArgs.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public class CommandEventArgs : EventArgs
-       {
-               object argument;
-               string name; 
-
-               public CommandEventArgs (CommandEventArgs e)
-               {
-                       this.argument = e.CommandArgument;
-                       this.name = e.CommandName;
-               }
-
-               public CommandEventArgs (string name, object argument)
-               {
-                       this.argument = argument;
-                       this.name = name;
-               }
-
-               public object CommandArgument {
-                       get { return argument; }
-               }
-
-               public string CommandName {
-                       get { return name; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/CommandEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/CommandEventHandler.cs
deleted file mode 100644 (file)
index 1ed9272..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-//
-// System.Web.UI.WebControls.CommandEventHandler.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public delegate void CommandEventHandler (object sender, CommandEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ContentDirection.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ContentDirection.cs
deleted file mode 100644 (file)
index 7dd164e..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.UI.WebControls.ContentDirection.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls
-{
-        public enum ContentDirection
-       {
-                NotSet = 0,
-               LeftToRight = 1,
-               RightToLeft = 2
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/CreateUserErrorEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/CreateUserErrorEventArgs.cs
deleted file mode 100644 (file)
index 580c655..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// System.Web.UI.WebControls.CreateUserErrorEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.Web.Security;
-
-namespace System.Web.UI.WebControls
-{
-       public class CreateUserErrorEventArgs : EventArgs 
-       {
-               MembershipCreateStatus status;
-               
-               public CreateUserErrorEventArgs (MembershipCreateStatus status)
-               {
-                       this.status = status;
-               }
-               
-               public MembershipCreateStatus CreateUserError { 
-                       get { return status; } 
-                       set { status = value; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/CreateUserErrorEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/CreateUserErrorEventHandler.cs
deleted file mode 100644 (file)
index 708b204..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.CreateUserErrorEventHandler.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void CreateUserErrorEventHandler (object sender, CreateUserErrorEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataBoundControlMode.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataBoundControlMode.cs
deleted file mode 100644 (file)
index df8d68f..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-// 
-// System.Web.UI.WebControls.DataBoundControlMode
-//
-// Author:
-//        Atsushi Enomoto  <atsushi@ximian.com>
-//
-// Copyright (c) 2008-2010 Novell, Inc (http://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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public enum DataBoundControlMode
-       {
-               ReadOnly,
-               Edit,
-               Insert
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataControlCellType.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataControlCellType.cs
deleted file mode 100644 (file)
index bda308a..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// System.Web.UI.WebControls.DataControlCellType.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
-//
-namespace System.Web.UI.WebControls
-{
-        public enum DataControlCellType
-       {
-                Header = 0,
-               Footer = 1,
-               DataCell = 2
-        }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataControlRowState.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataControlRowState.cs
deleted file mode 100644 (file)
index cf0ecfa..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.UI.WebControls.DataControlRowState.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
-//
-namespace System.Web.UI.WebControls
-{
-       [Flags]
-        public enum DataControlRowState
-       {
-                Normal = 0,
-               Alternate = 1,
-               Selected = 2,
-               Edit = 4,
-               Insert = 8
-        }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataControlRowType.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataControlRowType.cs
deleted file mode 100644 (file)
index 6d02c79..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.UI.WebControls.DataControlRowType.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
-//
-namespace System.Web.UI.WebControls
-{
-        public enum DataControlRowType
-       {
-                Header = 0,
-               Footer = 1,
-               DataRow = 2,
-               Separator = 3,
-               Pager = 4,
-               EmptyDataRow = 5                                
-        }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataGridCommandEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataGridCommandEventArgs.cs
deleted file mode 100644 (file)
index 8c29dfc..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// System.Web.UI.WebControls.DataGridCommandEventArgs.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public class DataGridCommandEventArgs : CommandEventArgs
-       {
-               DataGridItem item;
-               object source;
-               
-               public DataGridCommandEventArgs (DataGridItem item, object source, CommandEventArgs args)
-                       : base (args)
-               {
-                       this.item = item;
-                       this.source = source;
-               }
-
-               public DataGridItem Item {
-                       get { return item; }
-               }
-
-               public object CommandSource {
-                       get { return source; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataGridCommandEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataGridCommandEventHandler.cs
deleted file mode 100644 (file)
index a9d198e..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.DataGridCommandEventHandler.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public delegate void DataGridCommandEventHandler (
-               object sender,
-               DataGridCommandEventArgs e);
-
-}
\ No newline at end of file
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataGridItemEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataGridItemEventArgs.cs
deleted file mode 100644 (file)
index 5469882..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// System.Web.UI.WebControls.DataGridItemEventArgs.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public class DataGridItemEventArgs : EventArgs
-       {
-               DataGridItem item;
-               
-               public DataGridItemEventArgs (DataGridItem item)
-               {
-                       this.item = item;
-               }
-
-               public DataGridItem Item {
-                       get { return item; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataGridItemEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataGridItemEventHandler.cs
deleted file mode 100644 (file)
index 7047c04..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// System.Web.UI.WebControls.DataGridItemEventHandler.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public delegate void DataGridItemEventHandler (
-               object sender,
-               DataGridItemEventArgs e);
-}
\ No newline at end of file
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataGridPageChangedEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataGridPageChangedEventArgs.cs
deleted file mode 100644 (file)
index fbcccf7..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// System.Web.UI.WebControls.DataGridPageChangedEventArgs.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public class DataGridPageChangedEventArgs : EventArgs
-       {
-               object source;
-               int index;
-
-               public DataGridPageChangedEventArgs (object source, int index)
-               {
-                       this.source = source;
-                       this.index = index;
-               }
-
-               public object CommandSource {
-                       get { return source; }
-               }
-
-               public int NewPageIndex {
-                       get { return index; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataGridPageChangedEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataGridPageChangedEventHandler.cs
deleted file mode 100644 (file)
index ce8adc8..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// System.Web.UI.WebControls.DataGridPageChangedEventHandler.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public delegate void DataGridPageChangedEventHandler (
-               object sender,
-               DataGridPageChangedEventArgs e);
-}
\ No newline at end of file
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataGridSortCommandEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataGridSortCommandEventArgs.cs
deleted file mode 100644 (file)
index c85d7df..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-//
-// System.Web.UI.WebControls.DataGridSortCommandEventArgs.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005-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.Web.UI.WebControls;
-
-namespace System.Web.UI.WebControls
-{
-       public class DataGridSortCommandEventArgs : EventArgs
-       {
-               object source;
-               string expr;
-
-               public DataGridSortCommandEventArgs (object source, DataGridCommandEventArgs args)
-               {
-                       this.source = source;
-                       this.expr = args.CommandArgument.ToString ();
-               }
-
-               public object CommandSource {
-                       get { return source; }
-               }
-
-               public string SortExpression {
-                       get { return expr; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataGridSortCommandEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataGridSortCommandEventHandler.cs
deleted file mode 100644 (file)
index b88303b..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// System.Web.UI.WebControls.DataGridSortCommandEventHandler.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public delegate void DataGridSortCommandEventHandler (
-               object sender,
-               DataGridSortCommandEventArgs e);
-}
\ No newline at end of file
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataListCommandEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataListCommandEventArgs.cs
deleted file mode 100644 (file)
index 083d82f..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// System.Web.UI.WebControls.DataListCommandEventArgs.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public class DataListCommandEventArgs : CommandEventArgs
-       {
-               DataListItem item;
-               object source;
-               
-               public DataListCommandEventArgs (DataListItem item, object source, CommandEventArgs args)
-                       : base (args)
-               {
-                       this.item = item;
-                       this.source = source;
-               }
-
-               public DataListItem Item {
-                       get { return item; }
-               }
-
-               public object CommandSource {
-                       get { return source; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataListCommandEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataListCommandEventHandler.cs
deleted file mode 100644 (file)
index b36c526..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.DataListCommandEventHandler.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public delegate void DataListCommandEventHandler (
-               object sender,
-               DataListCommandEventArgs e);
-
-}
\ No newline at end of file
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataListItemEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataListItemEventArgs.cs
deleted file mode 100644 (file)
index 666487f..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// System.Web.UI.WebControls.DataListCommandEventArgs.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public class DataListItemEventArgs : EventArgs
-       {
-               DataListItem item;
-
-               public DataListItemEventArgs (DataListItem item)
-               {
-                       this.item = item;
-               }
-
-               public DataListItem Item {
-                       get { return item; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DataListItemEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DataListItemEventHandler.cs
deleted file mode 100644 (file)
index 5fb9d3c..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-//
-// System.Web.UI.WebControls.DataListItemEventHandler
-//
-// Author: Ben Maurer <bmaurer@novell.com>
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-       public delegate void DataListItemEventHandler (object sender, DataListItemEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DayNameFormat.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DayNameFormat.cs
deleted file mode 100644 (file)
index e7e0075..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.WebControls.DayNameFormat.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005-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;
-
-namespace System.Web.UI.WebControls
-{
-       public enum DayNameFormat
-       {
-               Full,
-               Short,
-               FirstLetter,
-               FirstTwoLetters,
-               Shortest
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DayRenderEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DayRenderEventHandler.cs
deleted file mode 100644 (file)
index 022c8e2..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// System.Web.UI.WebControls.DayRenderEventHandler.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public delegate void DayRenderEventHandler (
-               object sender,
-               DayRenderEventArgs e);
-}
\ No newline at end of file
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewCommandEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewCommandEventArgs.cs
deleted file mode 100644 (file)
index b45abd5..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// System.Web.UI.WebControls.DetailsViewCommandEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public class DetailsViewCommandEventArgs : CommandEventArgs
-       {
-               object source;
-               
-               public DetailsViewCommandEventArgs (object source, CommandEventArgs arguments) : base (arguments)
-               {
-                       this.source = source;
-               }
-               
-               public object CommandSource {
-                       get { return source; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewCommandEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewCommandEventHandler.cs
deleted file mode 100644 (file)
index da199dd..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.DetailsViewCommandEventHandler.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-namespace System.Web.UI.WebControls
-{
-       public delegate void DetailsViewCommandEventHandler (object sender, DetailsViewCommandEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewDeleteEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewDeleteEventHandler.cs
deleted file mode 100644 (file)
index 8ce41dc..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.DetailsViewDeleteEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void DetailsViewDeleteEventHandler (object sender, DetailsViewDeleteEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewDeletedEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewDeletedEventHandler.cs
deleted file mode 100644 (file)
index ff6007a..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.DetailsViewDeletedEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-namespace System.Web.UI.WebControls
-{
-       public delegate void DetailsViewDeletedEventHandler (object sender, DetailsViewDeletedEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewInsertEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewInsertEventHandler.cs
deleted file mode 100644 (file)
index c9a3865..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.DetailsViewInsertEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void DetailsViewInsertEventHandler (object sender, DetailsViewInsertEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewInsertedEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewInsertedEventHandler.cs
deleted file mode 100644 (file)
index 4f9fa82..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.DetailsViewInsertedEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void DetailsViewInsertedEventHandler (object sender, DetailsViewInsertedEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewMode.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewMode.cs
deleted file mode 100644 (file)
index 8f2904b..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.UI.WebControls.DetailsViewMode.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls
-{
-        public enum DetailsViewMode
-       {
-                ReadOnly = 0,
-               Edit = 1,
-               Insert = 2                              
-        }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewModeEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewModeEventArgs.cs
deleted file mode 100644 (file)
index ff3bbec..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// System.Web.UI.WebControls.DetailsViewModeEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.ComponentModel;
-
-namespace System.Web.UI.WebControls
-{
-       public class DetailsViewModeEventArgs : CancelEventArgs
-       {
-               DetailsViewMode mode;
-               bool cancelEdit;
-               
-               public DetailsViewModeEventArgs (DetailsViewMode mode, bool cancelingEdit)
-               {
-                       this.mode = mode;
-                       this.cancelEdit = cancelingEdit;
-               }
-               
-               public bool CancelingEdit {
-                       get { return cancelEdit; }
-               }
-
-               public DetailsViewMode NewMode {
-                       get { return mode; }
-                       set { mode = value;}
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewModeEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewModeEventHandler.cs
deleted file mode 100644 (file)
index 817c6f3..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.DetailsViewModeEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-namespace System.Web.UI.WebControls
-{
-       public delegate void DetailsViewModeEventHandler (object sender, DetailsViewModeEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewPageEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewPageEventArgs.cs
deleted file mode 100644 (file)
index 9ea2972..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// System.Web.UI.WebControls.DetailsViewPageEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.ComponentModel;
-
-namespace System.Web.UI.WebControls
-{
-       public class DetailsViewPageEventArgs : CancelEventArgs
-       {
-               private int pageIndex;
-               
-               public DetailsViewPageEventArgs (int pageIndex )
-               {
-                       this.pageIndex = pageIndex; 
-               }
-               
-               public int NewPageIndex {
-                       get { return pageIndex; }
-                       set { pageIndex = value;}
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewPageEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewPageEventHandler.cs
deleted file mode 100644 (file)
index bc17846..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.DetailsViewPageEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-namespace System.Web.UI.WebControls
-{
-       public delegate void DetailsViewPageEventHandler (object sender, DetailsViewPageEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewUpdateEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewUpdateEventHandler.cs
deleted file mode 100644 (file)
index 07f1461..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.DetailsViewUpdateEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void DetailsViewUpdateEventHandler (object sender, DetailsViewUpdateEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewUpdatedEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/DetailsViewUpdatedEventHandler.cs
deleted file mode 100644 (file)
index b3cfdd8..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.DetailsViewUpdatedEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-namespace System.Web.UI.WebControls
-{
-       public delegate void DetailsViewUpdatedEventHandler (object sender, DetailsViewUpdatedEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/FirstDayOfWeek.cs b/mcs/class/System.Web/System.Web.UI.WebControls/FirstDayOfWeek.cs
deleted file mode 100644 (file)
index 540daba..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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.
-//
-// Copyright (c) 2005 Novell, Inc. (http://www.novell.com)
-//
-// Authors:
-//     Peter Bartok    (pbartok@novell.com)
-//
-//
-
-namespace System.Web.UI.WebControls {
-       public enum FirstDayOfWeek {
-               Sunday          = 0,
-               Monday          = 1,
-               Tuesday         = 2,
-               Wednesday       = 3,
-               Thursday        = 4,
-               Friday          = 5,
-               Saturday        = 6,
-               Default         = 7
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/FontSize.cs b/mcs/class/System.Web/System.Web.UI.WebControls/FontSize.cs
deleted file mode 100644 (file)
index 8ef4eae..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-//
-// System.Web.UI.WebControls.FontSize.cs
-//
-// Authors:
-//   Miguel de Icaza (miguel@novell.com)
-//
-// (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-       public enum FontSize {
-               NotSet,
-               AsUnit,
-               Smaller,
-               Larger,
-               XXSmall,
-               XSmall,
-               Small,
-               Medium,
-               Large,
-               XLarge,
-               XXLarge
-               
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/FormViewCommandEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/FormViewCommandEventHandler.cs
deleted file mode 100644 (file)
index 1c34d9e..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.FormViewCommandEventHandler.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void FormViewCommandEventHandler (object sender, FormViewCommandEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/FormViewDeleteEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/FormViewDeleteEventHandler.cs
deleted file mode 100644 (file)
index 13cd81e..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.FormViewDeleteEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void FormViewDeleteEventHandler (object sender, FormViewDeleteEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/FormViewDeletedEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/FormViewDeletedEventHandler.cs
deleted file mode 100644 (file)
index a35e161..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.FormViewDeletedEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-namespace System.Web.UI.WebControls
-{
-       public delegate void FormViewDeletedEventHandler (object sender, FormViewDeletedEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/FormViewInsertEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/FormViewInsertEventHandler.cs
deleted file mode 100644 (file)
index e7de479..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.FormViewInsertEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void FormViewInsertEventHandler (object sender, FormViewInsertEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/FormViewInsertedEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/FormViewInsertedEventHandler.cs
deleted file mode 100644 (file)
index 6b835cb..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.FormViewInsertedEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void FormViewInsertedEventHandler (object sender, FormViewInsertedEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/FormViewMode.cs b/mcs/class/System.Web/System.Web.UI.WebControls/FormViewMode.cs
deleted file mode 100644 (file)
index 4858c4e..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.UI.WebControls.FormViewMode.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls
-{
-        public enum FormViewMode
-       {
-                ReadOnly = 0,
-               Edit = 1,
-               Insert = 2              
-        }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/FormViewModeEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/FormViewModeEventArgs.cs
deleted file mode 100644 (file)
index 68a6f26..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// System.Web.UI.WebControls.FormViewModeEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.ComponentModel;
-
-namespace System.Web.UI.WebControls
-{
-       public class FormViewModeEventArgs : CancelEventArgs
-       {
-               FormViewMode mode;
-               bool cancelEdit;
-               
-               public FormViewModeEventArgs (FormViewMode mode, bool cancelingEdit)
-               {
-                       this.mode = mode;
-                       this.cancelEdit = cancelingEdit;
-               }
-               
-               public bool CancelingEdit {
-                       get { return cancelEdit; }
-               }
-
-               public FormViewMode NewMode {
-                       get { return mode; }
-                       set { mode = value;}
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/FormViewModeEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/FormViewModeEventHandler.cs
deleted file mode 100644 (file)
index 0cdee23..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebContrls.FormViewModeEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-namespace System.Web.UI.WebControls
-{
-       public delegate void FormViewModeEventHandler (object sender, FormViewModeEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/FormViewPageEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/FormViewPageEventArgs.cs
deleted file mode 100644 (file)
index b5f9f43..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// System.Web.UI.WebControls.FormViewPageEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.ComponentModel;
-
-namespace System.Web.UI.WebControls
-{
-       public class FormViewPageEventArgs : CancelEventArgs
-       {
-               int pageIndex;
-               
-               public FormViewPageEventArgs (int pageIndex )
-               {
-                       this.pageIndex = pageIndex; 
-               }
-               
-               public int NewPageIndex {
-                       get { return pageIndex; }
-                       set { pageIndex = value;}
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/FormViewPageEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/FormViewPageEventHandler.cs
deleted file mode 100644 (file)
index 9a77a43..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.FormViewPageEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void FormViewPageEventHandler (object sender, FormViewPageEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/FormViewUpdateEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/FormViewUpdateEventHandler.cs
deleted file mode 100644 (file)
index 0b1b8c5..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebContrls.FormViewUpdateEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-namespace System.Web.UI.WebControls
-{
-       public delegate void FormViewUpdateEventHandler (object sender, FormViewUpdateEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/FormViewUpdatedEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/FormViewUpdatedEventHandler.cs
deleted file mode 100644 (file)
index fa8df60..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.FormViewUpdatedEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void FormViewUpdatedEventHandler (object sender, FormViewUpdatedEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridLines.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridLines.cs
deleted file mode 100644 (file)
index ad247e4..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.UI.HtmlControls.GridLines.cs
-//
-// Author:
-//     Sebastien Pouliot  <sebastien@ximian.com>
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public enum GridLines {
-               None,
-               Horizontal,
-               Vertical,
-               Both
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewCancelEditEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewCancelEditEventArgs.cs
deleted file mode 100644 (file)
index 5d26d91..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewCancelEditEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.ComponentModel;
-
-namespace System.Web.UI.WebControls
-{
-       public class GridViewCancelEditEventArgs : CancelEventArgs
-       {
-               int rowIndex;
-               
-               public GridViewCancelEditEventArgs (int index)
-               {
-                       this.rowIndex = index;
-               }
-               
-               public int RowIndex {
-                       get { return rowIndex; }
-               }
-
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewCancelEditEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewCancelEditEventHandler.cs
deleted file mode 100644 (file)
index 7a98246..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewCancelEditEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-namespace System.Web.UI.WebControls
-{
-       public delegate void GridViewCancelEditEventHandler (object sender, GridViewCancelEditEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewCommandEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewCommandEventArgs.cs
deleted file mode 100644 (file)
index 2a205b3..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewCommandEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// Copyright (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public class GridViewCommandEventArgs : CommandEventArgs
-       {
-               object source;
-               GridViewRow row;
-               
-               public GridViewCommandEventArgs (object source, CommandEventArgs arguments) : base (arguments)
-               {
-                       this.source = source;
-                       this.row = null;
-               }
-               
-               public GridViewCommandEventArgs (GridViewRow row, object source, CommandEventArgs arguments) : base (arguments)
-               {
-                       this.source = source;
-                       this.row = row;
-               }
-               
-               public object CommandSource {
-                       get { return source; }
-               }
-               
-               internal GridViewRow Row {
-                       get { return row; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewCommandEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewCommandEventHandler.cs
deleted file mode 100644 (file)
index 807aec7..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewCommandEventHandler.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// Copyright (C) 2004-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.
-//
-namespace System.Web.UI.WebControls
-{
-       public delegate void GridViewCommandEventHandler (object sender, GridViewCommandEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewDeleteEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewDeleteEventHandler.cs
deleted file mode 100644 (file)
index 42bf971..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewDeleteEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void GridViewDeleteEventHandler (object sender, GridViewDeleteEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewDeletedEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewDeletedEventHandler.cs
deleted file mode 100644 (file)
index cb17de0..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewDeletedEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void GridViewDeletedEventHandler (object sender, GridViewDeletedEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewEditEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewEditEventArgs.cs
deleted file mode 100644 (file)
index ecc38b8..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewEditEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.ComponentModel;
-
-namespace System.Web.UI.WebControls
-{
-       public class GridViewEditEventArgs : CancelEventArgs
-       {
-               public GridViewEditEventArgs (int editIndex)
-               {
-                       this.NewEditIndex = editIndex;
-               }
-               
-               public int NewEditIndex {
-                       get;
-                       set;
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewEditEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewEditEventHandler.cs
deleted file mode 100644 (file)
index 621ffd9..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewEditEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void GridViewEditEventHandler (object sender, GridViewEditEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewPageEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewPageEventArgs.cs
deleted file mode 100644 (file)
index 68ff1ff..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewPageEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.ComponentModel;
-
-namespace System.Web.UI.WebControls
-{
-       public class GridViewPageEventArgs : CancelEventArgs
-       {
-               public GridViewPageEventArgs (int pageIndex )
-               {
-                       this.NewPageIndex = pageIndex; 
-               }
-               
-               public int NewPageIndex {
-                       get;
-                       set;
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewPageEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewPageEventHandler.cs
deleted file mode 100644 (file)
index 39b638a..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewPageEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void GridViewPageEventHandler (object sender, GridViewPageEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewRowEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewRowEventArgs.cs
deleted file mode 100644 (file)
index e1bffc6..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewRowEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public class GridViewRowEventArgs : EventArgs
-       {
-               GridViewRow row; 
-               
-               public GridViewRowEventArgs (GridViewRow row )
-               {
-                       this.row = row;
-               }
-               
-               public GridViewRow Row {
-                       get { return row; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewRowEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewRowEventHandler.cs
deleted file mode 100644 (file)
index 3ab9a8e..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewRowEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-namespace System.Web.UI.WebControls
-{
-       public delegate void GridViewRowEventHandler (object sender, GridViewRowEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewSelectEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewSelectEventArgs.cs
deleted file mode 100644 (file)
index 93d96fe..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewSelectEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.ComponentModel;
-
-namespace System.Web.UI.WebControls
-{
-       public class GridViewSelectEventArgs : CancelEventArgs
-       {
-               public GridViewSelectEventArgs (int selectedIndex )
-               {
-                       this.NewSelectedIndex = selectedIndex; 
-               }
-               
-               public int NewSelectedIndex {
-                       get;
-                       set;
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewSelectEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewSelectEventHandler.cs
deleted file mode 100644 (file)
index 62b2ca2..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewSelectEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void GridViewSelectEventHandler (object sender, GridViewSelectEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewSortEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewSortEventArgs.cs
deleted file mode 100644 (file)
index 752aa45..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewSortEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.ComponentModel;
-
-namespace System.Web.UI.WebControls
-{
-       public class GridViewSortEventArgs : CancelEventArgs
-       {
-               public GridViewSortEventArgs (string expression, SortDirection sortDirection)
-               {
-                       this.SortExpression = expression;
-                       this.SortDirection = sortDirection;
-               }
-               
-               public string SortExpression {
-                       get;
-                       set;
-               }
-               
-               public SortDirection SortDirection {
-                       get;
-                       set;
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewSortEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewSortEventHandler.cs
deleted file mode 100644 (file)
index a285525..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewSortEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void GridViewSortEventHandler (object sender, GridViewSortEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewUpdateEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewUpdateEventHandler.cs
deleted file mode 100644 (file)
index 7161bd4..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebContrls.GridViewUpdateEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void GridViewUpdateEventHandler (object sender, GridViewUpdateEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/GridViewUpdatedEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/GridViewUpdatedEventHandler.cs
deleted file mode 100644 (file)
index 94abf59..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.GridViewUpdatedEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void GridViewUpdatedEventHandler (object sender, GridViewUpdatedEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/HorizontalAlign.cs b/mcs/class/System.Web/System.Web.UI.WebControls/HorizontalAlign.cs
deleted file mode 100644 (file)
index 8b41202..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// System.Web.UI.WebControls.HorizontalAlign.cs
-//
-// Author:
-//     Sebastien Pouliot  <sebastien@ximian.com>
-//
-// Copyright (C) 2005 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.ComponentModel;
-
-namespace System.Web.UI.WebControls {
-
-       [TypeConverter (typeof (System.Web.UI.WebControls.HorizontalAlignConverter))]
-       public enum HorizontalAlign {
-               NotSet,
-               Left,
-               Center,
-               Right,
-               Justify
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/HotSpotMode.cs b/mcs/class/System.Web/System.Web.UI.WebControls/HotSpotMode.cs
deleted file mode 100644 (file)
index 0ee5fa6..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.UI.WebControls.HotSpotMode.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004-2010 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls
-{
-        public enum HotSpotMode
-       {
-                NotSet = 0,
-               Navigate = 1,
-               PostBack = 2,
-               Inactive = 3            
-        }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/IButtonControl.cs b/mcs/class/System.Web/System.Web.UI.WebControls/IButtonControl.cs
deleted file mode 100644 (file)
index 6d591af..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// System.Web.UI.WebControls.IButtonControl.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI.WebControls
-{
-       public interface IButtonControl
-       {
-               bool CausesValidation { get; set; }
-               string CommandArgument { get; set; }
-               string CommandName { get; set; }
-               string PostBackUrl { get; set; }
-               string Text { get; set; }
-               string ValidationGroup { get; set; }
-
-               event EventHandler Click;
-               event CommandEventHandler Command;
-       }
-}
-
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ICallbackContainer.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ICallbackContainer.cs
deleted file mode 100644 (file)
index ea46c05..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.WebControls.ICallbackContainer.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI.WebControls
-{
-       public interface ICallbackContainer
-       {
-               string GetCallbackScript (IButtonControl control, string argument);
-       }
-}
-
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ICompositeControlDesignerAccessor.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ICompositeControlDesignerAccessor.cs
deleted file mode 100644 (file)
index a8317ed..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.WebControls. ICompositeControlDesignerAccessor.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI.WebControls
-{
-       public interface ICompositeControlDesignerAccessor
-       {
-               void RecreateChildControls ();
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/IDataBoundControl.cs b/mcs/class/System.Web/System.Web.UI.WebControls/IDataBoundControl.cs
deleted file mode 100644 (file)
index 2504d41..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// System.Web.UI.WebControls.IDataBoundControl
-//
-// Authors:
-//     Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2009 Novell, Inc (http://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.ComponentModel;
-using System.Collections;
-using System.Security.Permissions;
-using System.Web.UI.WebControls;
-
-namespace System.Web.UI.WebControls
-{
-       public interface IDataBoundControl
-       {
-               string[] DataKeyNames { get; set; }
-               string DataMember { get; set; }
-               object DataSource { get; set; }
-               string DataSourceID { get; set; }
-               IDataSource DataSourceObject { get; }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/IDataBoundItemControl.cs b/mcs/class/System.Web/System.Web.UI.WebControls/IDataBoundItemControl.cs
deleted file mode 100644 (file)
index 71e8612..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// System.Web.UI.WebControls.IDataBoundItemControl
-//
-// Authors:
-//     Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2009 Novell, Inc (http://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.ComponentModel;
-using System.Collections;
-using System.Security.Permissions;
-using System.Web.UI.WebControls;
-
-namespace System.Web.UI.WebControls
-{
-       public interface IDataBoundItemControl : IDataBoundControl
-       {
-               DataKey DataKey { get; }
-               DataBoundControlMode Mode { get; }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/IDataBoundListControl.cs b/mcs/class/System.Web/System.Web.UI.WebControls/IDataBoundListControl.cs
deleted file mode 100644 (file)
index 4982e2d..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// System.Web.UI.WebControls.IDataBoundListControl
-//
-// Authors:
-//     Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2009 Novell, Inc (http://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.ComponentModel;
-using System.Collections;
-using System.Security.Permissions;
-using System.Web.UI.WebControls;
-
-namespace System.Web.UI.WebControls
-{
-       public interface IDataBoundListControl : IDataBoundControl
-       {
-               string[] ClientIDRowSuffix { get; set; }
-               DataKeyArray DataKeys { get; }
-               bool EnablePersistedSelection { get; set; }
-               DataKey SelectedDataKey { get; }
-               int SelectedIndex { get; set; }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/IFieldControl.cs b/mcs/class/System.Web/System.Web.UI.WebControls/IFieldControl.cs
deleted file mode 100644 (file)
index 840faf0..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.WebControls.IFieldControl
-//
-// Authors:
-//     Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2009 Novell, Inc (http://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.ComponentModel;
-using System.Collections;
-using System.Security.Permissions;
-using System.Web.UI.WebControls;
-
-namespace System.Web.UI.WebControls
-{
-       public interface IFieldControl
-       {
-               IAutoFieldGenerator FieldsGenerator { get; set; }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/IPersistedSelector.cs b/mcs/class/System.Web/System.Web.UI.WebControls/IPersistedSelector.cs
deleted file mode 100644 (file)
index 85a62d5..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// System.Web.UI.WebControls.IPersistedSelector.cs
-//
-// Author:
-//      Atsushi Enomoto  <atsushi@ximian.com>
-//
-// (C) 2008-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.Security.Permissions;
-using System.Web;
-
-namespace System.Web.UI.WebControls
-{
-       public interface IPersistedSelector
-       {
-               DataKey DataKey { get; set; }
-       }
-}
-
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/IRepeatInfoUser.cs b/mcs/class/System.Web/System.Web.UI.WebControls/IRepeatInfoUser.cs
deleted file mode 100644 (file)
index 3348d9a..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// 
-// System.Web.UI.WebControls.IRepeatInfoUser
-//
-// Author:
-//        Ben Maurer <bmaurer@novell.com>
-//
-// (c) 2005 Novell
-//
-// 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.
-//
-
-namespace System.Web.UI.WebControls {
-       
-       public interface IRepeatInfoUser {
-       
-               Style GetItemStyle (ListItemType itemType, int repeatIndex);
-               void RenderItem (WebControls.ListItemType itemType, int repeatIndex, RepeatInfo repeatInfo, HtmlTextWriter writer);
-       
-               bool HasFooter {
-                       get;
-               }
-               bool HasHeader {
-                       get;
-               }
-               bool HasSeparators {
-                       get;
-               }
-               int RepeatedItemCount {
-                       get;
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ImageAlign.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ImageAlign.cs
deleted file mode 100644 (file)
index a8bd885..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// System.Web.UI.WebControls.ImageAlign.cs
-//
-// Author:
-//     Sebastien Pouliot  <sebastien@ximian.com>
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public enum ImageAlign {
-               NotSet,
-               Left,
-               Right,
-               Baseline,
-               Top,
-               Middle,
-               Bottom,
-               AbsBottom,
-               AbsMiddle,
-               TextTop
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ImageMapEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ImageMapEventArgs.cs
deleted file mode 100644 (file)
index 9327e67..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// System.Web.UI.WebControls.ImageMapEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public class ImageMapEventArgs : EventArgs
-       {
-               string value;
-               
-               public ImageMapEventArgs (string value)
-               {
-                       this.value = value;
-               }
-               
-               public string PostBackValue {
-                       get { return value; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ImageMapEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ImageMapEventHandler.cs
deleted file mode 100644 (file)
index ad0566f..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.ImageMapEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.
-//
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void ImageMapEventHandler (object sender, ImageMapEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ListItemType.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ListItemType.cs
deleted file mode 100644 (file)
index 539cad6..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// System.Web.UI.WebControls.ListItemType.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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;
-
-namespace System.Web.UI.WebControls {
-
-       public enum ListItemType
-       {
-               Header,
-               Footer,
-               Item,
-               AlternatingItem,
-               SelectedItem,
-               EditItem,
-               Separator,
-               Pager
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ListSelectionMode.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ListSelectionMode.cs
deleted file mode 100644 (file)
index 64ee486..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.UI.WebControls.ListItemType.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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;
-
-namespace System.Web.UI.WebControls {
-
-       public enum ListSelectionMode
-       {
-                  Single,
-                  Multiple
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/LiteralMode.cs b/mcs/class/System.Web/System.Web.UI.WebControls/LiteralMode.cs
deleted file mode 100644 (file)
index c23f344..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.LiteralMode.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls {
-        public enum LiteralMode {
-                Transform = 0,
-               PassThrough = 1,
-               Encode = 2              
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/LoginCancelEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/LoginCancelEventArgs.cs
deleted file mode 100644 (file)
index 6e72687..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// System.Web.UI.WebControls.LoginCancelEventArgs class
-//
-// Author:
-//     Sebastien Pouliot  <sebastien@ximian.com>
-//
-// Copyright (C) 2005 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.
-//
-
-
-namespace System.Web.UI.WebControls {
-
-       public class LoginCancelEventArgs : EventArgs 
-       {
-               bool cancel;
-
-               public LoginCancelEventArgs ()
-               {
-                       cancel = false;
-               }
-
-               public LoginCancelEventArgs (bool cancel)
-               {
-                       this.cancel = cancel;
-               }
-
-               public bool Cancel {
-                       get { return cancel; }
-                       set { cancel = value; }
-               }
-
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/LoginCancelEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/LoginCancelEventHandler.cs
deleted file mode 100644 (file)
index 8953b48..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.LoginCancelEventHandler delegate
-//
-// Author:
-//     Sebastien Pouliot  <sebastien@ximian.com>
-//
-// Copyright (C) 2005 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.
-//
-
-
-namespace System.Web.UI.WebControls {
-
-       public delegate void LoginCancelEventHandler (object sender, LoginCancelEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/LoginFailureAction.cs b/mcs/class/System.Web/System.Web.UI.WebControls/LoginFailureAction.cs
deleted file mode 100644 (file)
index e4fb167..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// System.Web.UI.WebControls.LoginFailureAction.cs
-//
-// Author: Duncan Mak (duncan@ximian.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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls {
-
-        public enum LoginFailureAction
-        {
-                Refresh = 0,                
-                RedirectToLoginPage = 1,
-        }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/LogoutAction.cs b/mcs/class/System.Web/System.Web.UI.WebControls/LogoutAction.cs
deleted file mode 100644 (file)
index e942866..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.LogoutAction.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls {
-        public enum LogoutAction {
-                Refresh = 0,
-               Redirect = 1,
-               RedirectToLoginPage = 2         
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/MailMessageEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/MailMessageEventArgs.cs
deleted file mode 100644 (file)
index 778f037..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// System.Web.UI.WebControls.MalMessageEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.Net.Mail;
-
-namespace System.Web.UI.WebControls
-{
-       public class MailMessageEventArgs : LoginCancelEventArgs
-       {
-               MailMessage message; 
-               
-               public MailMessageEventArgs (MailMessage message)
-               {
-                       this.message = message;
-               }
-               
-               public MailMessage Message {
-                       get { return message; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/MailMessageEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/MailMessageEventHandler.cs
deleted file mode 100644 (file)
index a9baaf1..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// System.Web.UI.WebControls.MailMessageEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-namespace System.Web.UI.WebControls {
-       public delegate void MailMessageEventHandler (object sender, MailMessageEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/MenuEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/MenuEventArgs.cs
deleted file mode 100644 (file)
index 83da6ea..0000000
+++ /dev/null
@@ -1,60 +0,0 @@
-//
-// System.Web.UI.WebControls.MenuEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-
-namespace System.Web.UI.WebControls
-{
-       public sealed class MenuEventArgs : CommandEventArgs
-       {
-               MenuItem item; 
-               object source;
-       
-               public MenuEventArgs (MenuItem item) : base ("", null)
-               {
-                       this.item = item;
-                       this.source = null;
-               }
-                       
-               public MenuEventArgs (MenuItem item, object source, CommandEventArgs arguments) : base (arguments)
-               {
-                       this.item = item;
-                       this.source = source;
-               }
-               
-               public object CommandSource {
-                       get { return source; }
-               }
-
-               public MenuItem Item {
-                       get { return item; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/MenuEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/MenuEventHandler.cs
deleted file mode 100644 (file)
index 0286227..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// System.Web.UI.WebControls.MenuEventHandler.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-namespace System.Web.UI.WebControls {
-       public delegate void MenuEventHandler (object sender, MenuEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/MenuRenderingMode.cs b/mcs/class/System.Web/System.Web.UI.WebControls/MenuRenderingMode.cs
deleted file mode 100644 (file)
index 9baa741..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// Authors:
-//   Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2010 Novell, Inc (http://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;
-
-namespace System.Web.UI.WebControls
-{
-       public enum MenuRenderingMode
-       {
-               Default,
-               Table,
-               List,
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/MonthChangedEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/MonthChangedEventArgs.cs
deleted file mode 100644 (file)
index 0cfc749..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// System.Web.UI.WebControls.MonthChangedEventArgs.cs
-//
-// Authors:
-//     Jackson Harper (jackson@ximian.com)
-//
-// (C) 2005 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.Security.Permissions;
-
-namespace System.Web.UI.WebControls {
-
-       // CAS
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public class MonthChangedEventArgs {
-
-               DateTime new_date;
-               DateTime prev_date;
-
-               public MonthChangedEventArgs (DateTime newDate, DateTime previousDate)
-               {
-                       new_date = newDate;
-                       prev_date = previousDate;
-               }
-
-               public DateTime NewDate {
-                       get { return new_date; }
-               }
-
-               public DateTime PreviousDate {
-                       get { return prev_date; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/MonthChangedEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/MonthChangedEventHandler.cs
deleted file mode 100644 (file)
index 1bc2cec..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.UI.WebControls.MonthChangedEventHandler.cs
-//
-// Authors:
-//     Jackson Harper (jackson@ximian.com)
-//
-// (C) 2005 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;
-
-namespace System.Web.UI.WebControls {
-
-       public delegate void MonthChangedEventHandler (object sender,
-                       MonthChangedEventArgs e);
-
-}
-
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/NextPrevFormat.cs b/mcs/class/System.Web/System.Web.UI.WebControls/NextPrevFormat.cs
deleted file mode 100644 (file)
index 0fa4064..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.UI.WebControls.NextPrevFormat.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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;
-
-namespace System.Web.UI.WebControls {
-
-       public enum NextPrevFormat
-       {
-               CustomText,
-               ShortMonth,
-               FullMonth
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceDisposingEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceDisposingEventArgs.cs
deleted file mode 100644 (file)
index 68ca641..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// System.Web.UI.WebControls.ObjectDataSourceDisposingEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.ComponentModel;
-
-namespace System.Web.UI.WebControls
-{
-       public class ObjectDataSourceDisposingEventArgs : CancelEventArgs
-       {
-               object objectInstance; 
-               
-               public ObjectDataSourceDisposingEventArgs (object objectInstance)
-               {
-                       this.objectInstance = objectInstance;
-               }
-               
-               public object ObjectInstance {
-                       get { return objectInstance; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceDisposingEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceDisposingEventHandler.cs
deleted file mode 100644 (file)
index f90e1b1..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// System.Web.UI.WebContrls.ObjectDataSourceDisposingEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-namespace System.Web.UI.WebControls {
-       public delegate void ObjectDataSourceDisposingEventHandler (object sender, ObjectDataSourceDisposingEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceEventArgs.cs
deleted file mode 100644 (file)
index ea48fd7..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// System.Web.UI.WebControls.ObjectDataSourceEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-
-namespace System.Web.UI.WebControls
-{
-       public class ObjectDataSourceEventArgs : EventArgs
-       {
-               object objectInstance; 
-               
-               public ObjectDataSourceEventArgs (object objectInstance)
-               {
-                       this.objectInstance = objectInstance;
-               }
-               
-               public object ObjectInstance {
-                       get { return objectInstance; }
-                       set { objectInstance = value; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceFilteringEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceFilteringEventArgs.cs
deleted file mode 100644 (file)
index 7c2dbd9..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// System.Web.UI.WebControls.ObjectDataSourceFilteringEventArgs.cs
-//
-// Authors:
-//     Lluis Sanchez Gual (lluis@novell.com)
-//
-// (C) 2005 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.Collections;
-using System.Collections.Specialized;
-
-namespace System.Web.UI.WebControls
-{
-       public class ObjectDataSourceFilteringEventArgs : System.ComponentModel.CancelEventArgs
-       {
-               IOrderedDictionary parameters; 
-               
-               public ObjectDataSourceFilteringEventArgs (IOrderedDictionary parameterValues)
-               {
-                       this.parameters = parameterValues;
-               }
-               
-               public IOrderedDictionary ParameterValues {
-                       get { return parameters; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceFilteringEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceFilteringEventHandler.cs
deleted file mode 100644 (file)
index b806640..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.ObjectDataSourceFilteringEventHandler.cs
-//
-// Authors:
-//     Lluis Sanchez Gual (lluis@novell.com)
-//
-// (C) 2005 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.
-//
-
-
-
-namespace System.Web.UI.WebControls
-{
-       public delegate void ObjectDataSourceFilteringEventHandler (object sender, ObjectDataSourceFilteringEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceMethodEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceMethodEventArgs.cs
deleted file mode 100644 (file)
index 5becedb..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-//
-// System.Web.UI.WebControls.ObjectDataSourceMethodEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.Collections;
-using System.Collections.Specialized;
-
-namespace System.Web.UI.WebControls
-{
-       public class ObjectDataSourceMethodEventArgs : System.ComponentModel.CancelEventArgs
-       {
-               IOrderedDictionary parameters; 
-               
-               public ObjectDataSourceMethodEventArgs (IOrderedDictionary inputParameters)
-               {
-                       this.parameters = inputParameters;
-               }
-               
-               public IOrderedDictionary InputParameters {
-                       get { return parameters; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceMethodEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceMethodEventHandler.cs
deleted file mode 100644 (file)
index 8814e61..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// System.Web.UI.WebContrls.ObjectDataSourceMethodEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-namespace System.Web.UI.WebControls {
-       public delegate void ObjectDataSourceMethodEventHandler (object sender, ObjectDataSourceMethodEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceSelectingEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceSelectingEventArgs.cs
deleted file mode 100644 (file)
index c5908d4..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-//
-// System.Web.UI.WebControls.ObjectDataSourceSelectingEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.Collections;
-using System.Collections.Specialized;
-
-namespace System.Web.UI.WebControls
-{
-       public class ObjectDataSourceSelectingEventArgs: ObjectDataSourceMethodEventArgs
-       {
-               private bool executeSelectCount;
-               private DataSourceSelectArguments arguments;
-               
-               public ObjectDataSourceSelectingEventArgs (IOrderedDictionary inputParameters, DataSourceSelectArguments arguments, bool executeSelectCount) : base (inputParameters)
-               {
-                       this.executeSelectCount = executeSelectCount;
-                       this.arguments = arguments;
-               }
-               
-               public bool ExecutingSelectCount {
-                       get { return executeSelectCount; }
-               }
-               
-               public DataSourceSelectArguments Arguments {
-                       get { return arguments; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceSelectingEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceSelectingEventHandler.cs
deleted file mode 100644 (file)
index a4abf86..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// System.Web.UI.WebContrls.ObjectDataSourceSelectingEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-namespace System.Web.UI.WebControls {
-       public delegate void ObjectDataSourceSelectingEventHandler (object sender, ObjectDataSourceSelectingEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceStatusEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceStatusEventArgs.cs
deleted file mode 100644 (file)
index ea9c728..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// System.Web.UI.WebControls.ObjectDataSourceStatusEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.Collections;
-
-namespace System.Web.UI.WebControls
-{
-       public class ObjectDataSourceStatusEventArgs : EventArgs
-       {
-               readonly object returnVal;
-               readonly IDictionary outPutParam;
-               readonly Exception exception;
-               bool exceptionHandled;
-               int affectedRows;
-
-               public ObjectDataSourceStatusEventArgs (object returnVal, IDictionary outPutParam)
-                       :
-                       this (returnVal, outPutParam, null) { }
-               
-               public ObjectDataSourceStatusEventArgs (object returnVal, IDictionary outPutParam, Exception e)
-               {
-                       this.returnVal = returnVal;
-                       this.outPutParam = outPutParam;
-                       this.exception = e;
-                       this.exceptionHandled = false;
-                       this.affectedRows = -1;
-               }
-
-               public int AffectedRows {
-                       get { return affectedRows; }
-                       set { affectedRows = value; }
-               }
-               
-               public Exception Exception {
-                       get { return exception; }
-               }
-
-               public bool ExceptionHandled {
-                       get { return exceptionHandled; }
-                       set { exceptionHandled = value; }
-               }
-
-               public IDictionary OutputParameters {
-                       get { return outPutParam; }
-               }
-               
-               public object ReturnValue {
-                       get { return returnVal; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceStatusEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ObjectDataSourceStatusEventHandler.cs
deleted file mode 100644 (file)
index 9d96763..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// System.Web.UI.WebContrls.ObjectDataSourceStatusEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-namespace System.Web.UI.WebControls {
-       public delegate void ObjectDataSourceStatusEventHandler (object sender, ObjectDataSourceStatusEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/Orientation.cs b/mcs/class/System.Web/System.Web.UI.WebControls/Orientation.cs
deleted file mode 100644 (file)
index 6f9ff79..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// System.Web.UI.WebControls.Orientation.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls {
-        public enum Orientation {
-                Horizontal = 0,
-               Vertical = 1
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/PagerButtons.cs b/mcs/class/System.Web/System.Web.UI.WebControls/PagerButtons.cs
deleted file mode 100644 (file)
index dfb8dce..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.PagerButtons.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls {
-        public enum PagerButtons {
-                NextPrevious = 0,
-               Numeric = 1,
-               NextPreviousFirstLast = 2,
-               NumericFirstLast = 3
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/PagerMode.cs b/mcs/class/System.Web/System.Web.UI.WebControls/PagerMode.cs
deleted file mode 100644 (file)
index 20dcf26..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.UI.WebControls.PagerMode.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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;
-
-namespace System.Web.UI.WebControls {
-
-       public enum PagerMode
-       {
-               NextPrev,
-               NumericPages
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/PagerPosition.cs b/mcs/class/System.Web/System.Web.UI.WebControls/PagerPosition.cs
deleted file mode 100644 (file)
index 7793a71..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.UI.WebControls.PagerPosition.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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;
-
-namespace System.Web.UI.WebControls {
-
-       public enum PagerPosition
-       {
-               Bottom,
-               Top,
-               TopAndBottom
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/PathDirection.cs b/mcs/class/System.Web/System.Web.UI.WebControls/PathDirection.cs
deleted file mode 100644 (file)
index c124802..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// System.Web.UI.WebControls.PathDirection.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls {
-        public enum PathDirection {
-                RootToCurrent = 0,
-               CurrentToRoot = 1
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/RepeatDirection.cs b/mcs/class/System.Web/System.Web.UI.WebControls/RepeatDirection.cs
deleted file mode 100644 (file)
index 21eb560..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.UI.WebControls.RepeatDirection.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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;
-
-namespace System.Web.UI.WebControls {
-
-       public enum RepeatDirection
-       {
-               Horizontal,
-               Vertical
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/RepeatLayout.cs b/mcs/class/System.Web/System.Web.UI.WebControls/RepeatLayout.cs
deleted file mode 100644 (file)
index d0ff4c5..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.UI.WebControls.RepeatLayout.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005-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;
-
-namespace System.Web.UI.WebControls {
-
-       public enum RepeatLayout
-       {
-               Table,
-               Flow,
-               UnorderedList,
-               OrderedList
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/RepeaterCommandEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/RepeaterCommandEventArgs.cs
deleted file mode 100644 (file)
index 0e707f1..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-//
-// System.Web.UI.WebControls.RepeaterCommandEventArgs.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public
-       class RepeaterCommandEventArgs : CommandEventArgs
-       {
-               RepeaterItem item;
-               object source;
-               
-               public RepeaterCommandEventArgs (
-                       RepeaterItem item,
-                       object source,
-                       CommandEventArgs args)
-                       : base (args)
-               {
-                       this.item = item;
-                       this.source = source;
-               }
-
-               public RepeaterItem Item {
-                       get { return item; }
-               }
-
-               public object CommandSource {
-                       get { return source; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/RepeaterCommandEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/RepeaterCommandEventHandler.cs
deleted file mode 100644 (file)
index 828b25d..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// System.Web.UI.WebControls.RepeaterEventHandler.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public delegate void RepeaterCommandEventHandler (
-               object sender,
-               RepeaterCommandEventArgs e);
-}
\ No newline at end of file
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/RepeaterItemEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/RepeaterItemEventArgs.cs
deleted file mode 100644 (file)
index f008a2a..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// System.Web.UI.WebControls.RepeaterItemEventArgs.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public
-       class RepeaterItemEventArgs : EventArgs
-       {
-               RepeaterItem item;
-               
-               public RepeaterItemEventArgs (RepeaterItem item)
-               {
-                       this.item = item;
-               }
-
-               public RepeaterItem Item {
-                       get { return item; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/RepeaterItemEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/RepeaterItemEventHandler.cs
deleted file mode 100644 (file)
index 56c2d6a..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-//
-// System.Web.UI.WebControls.RepeaterItemEventHandler
-//
-// Author: Ben Maurer <bmaurer@novell.com>
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-       public delegate void RepeaterItemEventHandler (object sender, RepeaterItemEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SendMailErrorEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SendMailErrorEventHandler.cs
deleted file mode 100644 (file)
index 9ca58aa..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// System.Web.UI.WebContrls.SendMailErrorEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-namespace System.Web.UI.WebControls {
-       public delegate void SendMailErrorEventHandler (object sender, SendMailErrorEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ServerValidateEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ServerValidateEventHandler.cs
deleted file mode 100644 (file)
index 99f86e8..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//
-// System.Web.UI.WebControls.ServerValidateEventHandler.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public delegate void ServerValidateEventHandler (
-               object sender,
-               ServerValidateEventArgs e);
-}
\ No newline at end of file
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SiteMapNodeItemEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SiteMapNodeItemEventArgs.cs
deleted file mode 100644 (file)
index fc54cfe..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// System.Web.UI.WebControls.SiteMapNodeItemEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-
-namespace System.Web.UI.WebControls
-{
-       public class SiteMapNodeItemEventArgs : EventArgs
-       {
-               SiteMapNodeItem item;
-               
-               public SiteMapNodeItemEventArgs (SiteMapNodeItem item)
-               {
-                       this.item = item; 
-               }
-               
-               public SiteMapNodeItem Item {
-                       get { return item; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SiteMapNodeItemEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SiteMapNodeItemEventHandler.cs
deleted file mode 100644 (file)
index 03d4d16..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// System.Web.UI.WebControls.SiteMapNodeItemEventHandler.cs;
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-namespace System.Web.UI.WebControls {
-       public delegate void SiteMapNodeItemEventHandler (object sender, SiteMapNodeItemEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SiteMapNodeItemType.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SiteMapNodeItemType.cs
deleted file mode 100644 (file)
index 20def31..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.SiteMapNodeItemType.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls {
-        public enum SiteMapNodeItemType {
-                Root = 0,
-               Parent = 1,
-               Current = 2,
-               PathSeparator = 3
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SortDirection.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SortDirection.cs
deleted file mode 100644 (file)
index b6d6ac2..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.SortDirection.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls
-{
-        public enum SortDirection
-        {
-                       Ascending = 0,
-                       Descending = 1          
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceCommandEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceCommandEventArgs.cs
deleted file mode 100644 (file)
index 6e8fd89..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-//
-// System.Web.UI.WebControls.SqlDataSourceCommandEventArgs
-//
-// Authors:
-//     Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// (C) 2003 Ben Maurer
-//
-
-//
-// 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.Collections;
-using System.Collections.Specialized;
-using System.Text;
-using System.Data.Common;
-using System.ComponentModel;
-
-namespace System.Web.UI.WebControls {
-       public class SqlDataSourceCommandEventArgs : CancelEventArgs {
-               
-               public SqlDataSourceCommandEventArgs (DbCommand command)
-               {
-                       this.command = command;
-               }
-               
-               DbCommand command;
-               public DbCommand Command {
-                       get { return command; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceCommandEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceCommandEventHandler.cs
deleted file mode 100644 (file)
index 477e8e9..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.SqlDataSourceCommandEventHandler
-//
-// Authors:
-//     Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// (C) 2003 Ben Maurer
-//
-
-//
-// 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.
-//
-
-namespace System.Web.UI.WebControls {
-       public delegate void SqlDataSourceCommandEventHandler (object source, SqlDataSourceCommandEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceCommandType.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceCommandType.cs
deleted file mode 100644 (file)
index ba766e6..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.UI.WebControls.SqlDataSourceCommandType
-//
-// Authors:
-//     Chris Toshok (toshok@ximian.com)
-//
-// (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-
-       public enum SqlDataSourceCommandType
-       {
-               Text = 0,
-               StoredProcedure = 1
-       }
-
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceFilteringEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceFilteringEventArgs.cs
deleted file mode 100644 (file)
index 4300d87..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// System.Web.UI.WebControls.SqlDataSourceFilteringEventArgs
-//
-// Authors:
-//     Chris Toshok (toshok@ximian.com)
-//
-// (C) 2005 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.Collections.Specialized;
-using System.ComponentModel;
-
-namespace System.Web.UI.WebControls
-{
-       public class SqlDataSourceFilteringEventArgs :  CancelEventArgs
-       {
-               public SqlDataSourceFilteringEventArgs (IOrderedDictionary param_values)
-               {
-                       this.param_values = param_values;
-               }
-
-               public IOrderedDictionary ParameterValues
-               {
-                       get { return param_values; }
-               }
-
-               IOrderedDictionary param_values;
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceFilteringEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceFilteringEventHandler.cs
deleted file mode 100644 (file)
index b5c8cd9..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-//
-// System.Web.UI.WebControls.SqlDataSourceFilteringEventHandler
-//
-// Authors:
-//     Chris Toshok (toshok@ximian.com)
-//
-// (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-       public delegate void SqlDataSourceFilteringEventHandler (object sender, SqlDataSourceFilteringEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceMode.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceMode.cs
deleted file mode 100644 (file)
index f30828e..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// System.Web.UI.WebControls.SqlDataSourceMode
-//
-// Authors:
-//     Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// (C) 2003 Ben Maurer
-//
-
-//
-// 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.Collections;
-using System.Collections.Specialized;
-using System.Text;
-
-namespace System.Web.UI.WebControls {
-       public enum SqlDataSourceMode {
-               DataReader,
-               DataSet
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceSelectingEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceSelectingEventArgs.cs
deleted file mode 100644 (file)
index bb3bc4a..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// System.Web.UI.WebControls.SqlDataSourceSelectinEventArgs.cs
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.Data.Common;
-
-namespace System.Web.UI.WebControls {
-       public class SqlDataSourceSelectingEventArgs : SqlDataSourceCommandEventArgs {
-               DataSourceSelectArguments arguments;
-               
-               public SqlDataSourceSelectingEventArgs (DbCommand command, DataSourceSelectArguments argument)
-                       : base (command)
-               {
-                       this.arguments = argument;
-               }
-               
-               public DataSourceSelectArguments Arguments {
-                       get { return arguments; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceSelectingEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceSelectingEventHandler.cs
deleted file mode 100644 (file)
index f2bbad3..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.SqlDataSourceSelectingEventHandler
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-namespace System.Web.UI.WebControls {
-       public delegate void SqlDataSourceSelectingEventHandler (object source, SqlDataSourceSelectingEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceStatusEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceStatusEventArgs.cs
deleted file mode 100644 (file)
index cd8447f..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-//
-// System.Web.UI.WebControls.SqlDataSourceStatusEventArgs
-//
-// Authors:
-//     Ben Maurer (bmaurer@users.sourceforge.net)
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2003 Ben Maurer
-// (C) 2004 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.Collections;
-using System.Collections.Specialized;
-using System.Text;
-using System.Data.Common;
-
-namespace System.Web.UI.WebControls {
-       public class SqlDataSourceStatusEventArgs : EventArgs {
-               public SqlDataSourceStatusEventArgs (DbCommand command, int rowsAffected, Exception exception)
-               {
-                       this.command = command;
-                       this.rowsAffected = rowsAffected;
-                       this.exception = exception;
-                       this.exceptionHandled = false;
-               }
-               
-               DbCommand command;
-               Exception exception;
-               int rowsAffected;
-               bool exceptionHandled;
-               
-               public DbCommand Command {
-                       get { return command; }
-               }
-               
-               public Exception Exception {
-                       get { return exception; }
-               }
-               
-               public int AffectedRows {
-                       get { return rowsAffected; }
-               }
-
-               public bool ExceptionHandled {
-                       get { return exceptionHandled; }
-                       set { exceptionHandled = value; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceStatusEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/SqlDataSourceStatusEventHandler.cs
deleted file mode 100644 (file)
index 90176d6..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.SqlDataSourceStatusEventHandler
-//
-// Authors:
-//     Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// (C) 2003 Ben Maurer
-//
-
-//
-// 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.
-//
-
-namespace System.Web.UI.WebControls {
-       public delegate void SqlDataSourceStatusEventHandler (object source, SqlDataSourceStatusEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/TableCaptionAlign.cs b/mcs/class/System.Web/System.Web.UI.WebControls/TableCaptionAlign.cs
deleted file mode 100644 (file)
index 47fbf84..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.UI.WebControls.TableCaptionAlign.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls {
-
-       // present in Fx 1.1 SP1
-        public enum TableCaptionAlign {
-                NotSet = 0,
-               Top = 1,
-               Bottom = 2,
-               Left = 3,
-               Right = 4               
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/TableHeaderScope.cs b/mcs/class/System.Web/System.Web.UI.WebControls/TableHeaderScope.cs
deleted file mode 100644 (file)
index 0e92808..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.TableHeaderScope.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls {
-        public enum TableHeaderScope {
-                NotSet = 0,
-               Row = 1,
-               Column = 2              
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/TableRowSection.cs b/mcs/class/System.Web/System.Web.UI.WebControls/TableRowSection.cs
deleted file mode 100644 (file)
index 09246fe..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.TableRowSection.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls {
-        public enum TableRowSection {
-                       TableHeader = 0,
-                       TableBody = 1,
-                       TableFooter = 2                         
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/TextAlign.cs b/mcs/class/System.Web/System.Web.UI.WebControls/TextAlign.cs
deleted file mode 100644 (file)
index b792f8a..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.TextAlign.cs
-//
-// Author:
-//      Dick Porter  <dick@ximian.com>
-//
-// Copyright (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-       public enum TextAlign {
-               Left = 0x01,
-               Right
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/TextBoxMode.cs b/mcs/class/System.Web/System.Web.UI.WebControls/TextBoxMode.cs
deleted file mode 100644 (file)
index eb3287b..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.UI.WebControls.TextBoxMode.cs
-//
-// Authors:
-//     Jordi Mas i Hernandez (jordi@ximian.com)
-//
-// (C) 2005 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.
-//
-
-
-namespace System.Web.UI.WebControls {
-       public enum TextBoxMode {
-               SingleLine,
-               MultiLine,
-               Password,
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/TitleFormat.cs b/mcs/class/System.Web/System.Web.UI.WebControls/TitleFormat.cs
deleted file mode 100644 (file)
index 50a3976..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.WebControls.TitleFormat.cs
-//
-// Authors:
-//     Jordi Mas i Hernandez (jordi@ximian.com)
-//
-// (C) 2005 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.
-//
-
-
-namespace System.Web.UI.WebControls
-{
-       public enum TitleFormat
-       {
-               Month,
-               MonthYear
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/TreeNodeEventArgs.cs b/mcs/class/System.Web/System.Web.UI.WebControls/TreeNodeEventArgs.cs
deleted file mode 100644 (file)
index d7baad9..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-//
-// System.Web.UI.WebControls.TreeNodeEventArgs.cs
-//
-// Authors:
-//   Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-
-namespace System.Web.UI.WebControls
-{
-       public sealed class TreeNodeEventArgs : EventArgs
-       {
-               TreeNode node;
-               
-               public TreeNodeEventArgs (TreeNode node)
-               {
-                       this.node = node;
-               }
-               
-               public TreeNode Node {
-                       get { return node; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/TreeNodeEventHandler.cs b/mcs/class/System.Web/System.Web.UI.WebControls/TreeNodeEventHandler.cs
deleted file mode 100644 (file)
index b63cd3c..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// System.Web.UI.WebControls.TreeNodeEventHandler.cs
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 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.
-//
-
-namespace System.Web.UI.WebControls {
-       public delegate void TreeNodeEventHandler (object source, TreeNodeEventArgs e);
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/TreeNodeSelectAction.cs b/mcs/class/System.Web/System.Web.UI.WebControls/TreeNodeSelectAction.cs
deleted file mode 100644 (file)
index 03ac383..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.WebControls.TreeNodeSelectAction.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls {
-       public enum TreeNodeSelectAction {
-               Select = 0,
-               Expand = 1,
-               SelectExpand = 2,
-               None = 3                                
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/TreeViewImageSet.cs b/mcs/class/System.Web/System.Web.UI.WebControls/TreeViewImageSet.cs
deleted file mode 100644 (file)
index bafa273..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// System.Web.UI.WebControls.TreeViewImageSet.cs
-//
-// Author: Sanjay Gupta (gsanjay@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.
-//
-// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
-//
-
-namespace System.Web.UI.WebControls {
-        public enum TreeViewImageSet {
-                Custom = 0,
-               XPFileExplorer = 1,
-               Msdn = 2,
-               WindowsHelp = 3,
-               Simple = 4,
-               Simple2 = 5,
-               BulletedList = 6,
-               BulletedList2 = 7,
-               BulletedList3 = 8,
-               BulletedList4 = 9,
-               Arrows = 10,
-               News = 11,
-               Contacts = 12,
-               Inbox = 13,
-               Events = 14,
-               Faq = 15                                
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/UnitType.cs b/mcs/class/System.Web/System.Web.UI.WebControls/UnitType.cs
deleted file mode 100644 (file)
index dfe59ff..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// System.Web.UI.WebControls.UnitType.cs
-//
-// Authors:
-//   Miguel de Icaza (miguel@novell.com)
-//
-// (C) 2005 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.
-//
-
-namespace System.Web.UI.WebControls {
-       public enum UnitType {
-               // Empty
-               Pixel = 1,
-               Point,
-               Pica,
-               Inch,
-               Mm,
-               Cm,
-               Percentage,
-               Em,
-               Ex
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ValidationCompareOperator.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ValidationCompareOperator.cs
deleted file mode 100644 (file)
index b6333ac..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// System.Web.UI.WebControls.ValidationCompareOperator.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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;
-
-namespace System.Web.UI.WebControls {
-
-       public enum ValidationCompareOperator
-       {
-               Equal,
-               NotEqual,
-               GreaterThan,
-               GreaterThanEqual,
-               LessThan,
-               LessThanEqual,
-               DataTypeCheck
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ValidationDataType.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ValidationDataType.cs
deleted file mode 100644 (file)
index 5d25210..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.WebControls.ValidationSummaryDisplayMode.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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;
-
-namespace System.Web.UI.WebControls {
-
-       public enum ValidationDataType
-       {
-               String,
-               Integer,
-               Double,
-               Date,
-               Currency
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ValidationSummaryDisplayMode.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ValidationSummaryDisplayMode.cs
deleted file mode 100644 (file)
index 73a3ffb..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.UI.WebControls.ValidationSummaryDisplayMode.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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;
-
-namespace System.Web.UI.WebControls {
-
-       public enum ValidationSummaryDisplayMode
-       {
-               List,
-               BulletList,
-               SingleParagraph
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/ValidatorDisplay.cs b/mcs/class/System.Web/System.Web.UI.WebControls/ValidatorDisplay.cs
deleted file mode 100644 (file)
index 172c228..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.UI.WebControls.ValidatorDisplay.cs
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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;
-
-namespace System.Web.UI.WebControls {
-
-       public enum ValidatorDisplay
-       {
-               None,
-               Static,
-               Dynamic
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI.WebControls/VerticalAlign.cs b/mcs/class/System.Web/System.Web.UI.WebControls/VerticalAlign.cs
deleted file mode 100644 (file)
index efe067d..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.WebControls.VerticalAlign.cs
-//
-// Author:
-//     Sebastien Pouliot  <sebastien@ximian.com>
-//
-// Copyright (C) 2005 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.ComponentModel;
-
-namespace System.Web.UI.WebControls {
-
-       [TypeConverter (typeof (System.Web.UI.WebControls.VerticalAlignConverter))]
-       public enum VerticalAlign {
-               NotSet,
-               Top,
-               Middle,
-               Bottom
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/ClientIDMode.cs b/mcs/class/System.Web/System.Web.UI/ClientIDMode.cs
deleted file mode 100644 (file)
index 75a4af7..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// Authors:
-//   Marek Habersack (mhabersack@novell.com)
-//
-// (C) 2002,2003 Ximian, Inc. (http://www.ximian.com)
-// Copyright (C) 2003-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;
-
-namespace System.Web.UI
-{
-       public enum ClientIDMode
-       {
-               Inherit,
-               AutoID,
-               Predictable,
-               Static
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/ConflictOptions.cs b/mcs/class/System.Web/System.Web.UI/ConflictOptions.cs
deleted file mode 100644 (file)
index 4480548..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.ConflictOptions.cs
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// Copyright (C) 2004-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.
-//
-
-namespace System.Web.UI {
-       public enum ConflictOptions {
-               OverwriteChanges = 0,
-               CompareAllValues = 1
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/ConstructorNeedsTagAttribute.cs b/mcs/class/System.Web/System.Web.UI/ConstructorNeedsTagAttribute.cs
deleted file mode 100644 (file)
index 3e30cba..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// System.Web.UI.ConstructorNeedsTagAttribute.cs
-//
-// Duncan Mak  (duncan@ximian.com)
-//
-// (C) Ximian, Inc.
-// Copyright (C) 2005 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.Security.Permissions;
-
-namespace System.Web.UI {
-
-       // CAS - no InheritanceDemand here as the class is sealed
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       // attributes
-       [AttributeUsage (AttributeTargets.Class)]
-       public sealed class ConstructorNeedsTagAttribute : Attribute
-       {
-               bool needsTag;
-
-               public ConstructorNeedsTagAttribute ()
-               {
-                       needsTag = false;
-               }
-
-               public ConstructorNeedsTagAttribute (bool needsTag)
-               {
-                       this.needsTag = needsTag;
-               }
-
-               public bool NeedsTag {
-                       get { return needsTag; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/ControlBuilderAttribute.cs b/mcs/class/System.Web/System.Web.UI/ControlBuilderAttribute.cs
deleted file mode 100644 (file)
index be84ba2..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-//
-// System.Web.UI.ControlBuilderAttribute.cs
-//
-// Authors:
-//     Duncan Mak  (duncan@ximian.com)
-//     Gonzalo Paniagua Javier (gonzalo@ximian.com)
-//     Sebastien Pouliot  <sebastien@ximian.com>
-//
-// (C) 2002 Ximian, Inc. (http://www.ximian.com)
-// Copyright (C) 2005 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.Security.Permissions;
-
-namespace System.Web.UI {
-
-       // CAS - no InheritanceDemand here as the class is sealed
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       // attributes
-       [AttributeUsage (AttributeTargets.Class)]
-       public sealed class ControlBuilderAttribute : Attribute
-       {
-               Type builderType;
-               public static readonly ControlBuilderAttribute Default = new ControlBuilderAttribute (null);
-               
-               public ControlBuilderAttribute (Type builderType)
-               {
-                       this.builderType = builderType;
-               }
-
-               public Type BuilderType {
-                       get { return builderType; }
-               }
-
-               public override bool Equals (object obj)
-               {
-                       ControlBuilderAttribute cba = (obj as ControlBuilderAttribute);
-                       if (cba == null)
-                               return false;
-                       return (cba.builderType == builderType);
-               }
-
-               public override int GetHashCode ()
-               {
-                       return base.GetHashCode ();
-               }
-
-               public override bool IsDefaultAttribute ()
-               {
-                       return (builderType == null);
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/CssClassPropertyAttribute.cs b/mcs/class/System.Web/System.Web.UI/CssClassPropertyAttribute.cs
deleted file mode 100644 (file)
index 10d77ed..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// System.Web.UI.CssClassPropertyAttribute
-//
-// Authors:
-//     Atsushi Enomoto  <atsushi@ximian.com>
-//
-// (C) 2008-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.ComponentModel;
-using System.Security.Permissions;
-
-namespace System.Web.UI {
-       [AttributeUsage (AttributeTargets.Property)]
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public sealed class CssClassPropertyAttribute : Attribute
-       {
-               public CssClassPropertyAttribute ()
-               {
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/DataBindingHandlerAttribute.cs b/mcs/class/System.Web/System.Web.UI/DataBindingHandlerAttribute.cs
deleted file mode 100644 (file)
index d5ff984..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-//
-// System.Web.UI.WebControls.DataBindingHandlerAttribute class
-//
-// Author: Duncan Mak (duncan@novell.com)
-//
-// Copyright (C) 2005 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.Security.Permissions;
-
-namespace System.Web.UI {
-
-       // CAS - no InheritanceDemand here as the class is sealed
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       // attributes
-       [AttributeUsage (AttributeTargets.Class)]
-       public sealed class DataBindingHandlerAttribute : Attribute
-       {
-               string name;            
-
-               static DataBindingHandlerAttribute ()
-               {
-                       Default = new DataBindingHandlerAttribute ();
-               }
-
-               public DataBindingHandlerAttribute ()
-                       : this (String.Empty)
-               {
-               }
-
-               public DataBindingHandlerAttribute (string name)
-               {
-                       this.name = (name != null) ? name : String.Empty;
-               }
-
-               public DataBindingHandlerAttribute (Type type)
-               {
-                       this.name = type.AssemblyQualifiedName;
-               }
-
-               public static readonly DataBindingHandlerAttribute Default;
-
-               public override bool Equals (object obj) 
-               {
-                       DataBindingHandlerAttribute other = obj as DataBindingHandlerAttribute;
-                       if (other == null) {
-                               return false;
-                       }
-
-                       return HandlerTypeName.Equals (other.HandlerTypeName);
-               }
-
-               public override int GetHashCode () 
-               {
-                       return HandlerTypeName.GetHashCode ();
-               }
-
-               public string HandlerTypeName {
-                       get { return name; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/DataKeyPropertyAttribute.cs b/mcs/class/System.Web/System.Web.UI/DataKeyPropertyAttribute.cs
deleted file mode 100644 (file)
index efb9c58..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-//
-// Authors:
-//     Marek Habersack <mhabersack@novell.com>
-//
-// (C) 2010 Novell, Inc (http://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;
-
-namespace System.Web.UI
-{
-       [AttributeUsage (AttributeTargets.Class)]
-       public sealed class DataKeyPropertyAttribute : Attribute
-       {
-               public string Name { get; private set; }
-               
-               public DataKeyPropertyAttribute (string name)
-               {
-                       this.Name = name;
-               }
-
-               public override bool Equals (object obj)
-               {
-                       var attr = obj as DataKeyPropertyAttribute;
-                       if (attr == null)
-                               return false;
-
-                       return String.Compare (this.Name, attr.Name, StringComparison.Ordinal) == 0;
-               }
-
-               public override int GetHashCode ()
-               {
-                       string name = Name;
-                       if (name == null)
-                               return 0;
-
-                       return name.GetHashCode ();
-               }               
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/DataSourceCacheExpiry.cs b/mcs/class/System.Web/System.Web.UI/DataSourceCacheExpiry.cs
deleted file mode 100644 (file)
index 8413fc9..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.UI.DataSourceCacheExpiry.cs
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// Copyright (C) 2004-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.
-//
-
-namespace System.Web.UI {
-       public enum DataSourceCacheExpiry {
-               Absolute = 0,
-               Sliding = 1
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/DataSourceCapabilities.cs b/mcs/class/System.Web/System.Web.UI/DataSourceCapabilities.cs
deleted file mode 100644 (file)
index 0de8d95..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.UI.DataSourceCapabilities.cs
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// Copyright (C) 2004-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.
-//
-
-namespace System.Web.UI {
-       [Flags]
-       public enum DataSourceCapabilities {
-               None = 0,
-               Sort = 1,
-               Page = 2,
-               RetrieveTotalRowCount = 4
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/DataSourceOperation.cs b/mcs/class/System.Web/System.Web.UI/DataSourceOperation.cs
deleted file mode 100644 (file)
index 6cea69c..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.UI.DataSourceOperation.cs
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// Copyright (C) 2004-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.
-//
-
-namespace System.Web.UI {
-       public enum DataSourceOperation {
-               Delete = 0,
-               Insert = 1,
-               Select = 2,
-               Update = 3,
-               SelectCount = 4 
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/FileLevelControlBuilderAttribute.cs b/mcs/class/System.Web/System.Web.UI/FileLevelControlBuilderAttribute.cs
deleted file mode 100644 (file)
index 16f6fba..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// System.Web.UI.FileLevelControlBuilderAttribute.cs
-//
-// Authors:
-//     Arina Itkes (arinai@mainsoft.com)
-//     Marek Habersack (mhabersack@novell.com)
-//
-// (C) 2007 Mainsoft Co. (http://www.mainsoft.com)
-// (C) 2009-2010 Novell, Inc (http://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.
-//
-
-namespace System.Web.UI
-{
-       [AttributeUsageAttribute (AttributeTargets.Class)]
-       public sealed class FileLevelControlBuilderAttribute : Attribute
-       {
-               public static readonly FileLevelControlBuilderAttribute Default = new FileLevelControlBuilderAttribute (null);
-               
-               public FileLevelControlBuilderAttribute (Type builderType)
-               {
-                       this.BuilderType = builderType;
-               }
-               
-               public Type BuilderType {
-                       get;
-                       private set;
-               }
-               
-               public override bool Equals (Object obj)
-               {
-                       var attr = obj as FileLevelControlBuilderAttribute;
-                       return ((attr != null) && this.BuilderType == attr.BuilderType);
-               }
-               
-               public new static bool Equals (Object objA, Object objB)
-               {
-                       var attrA = objA as FileLevelControlBuilderAttribute;
-                       if (attrA == null)
-                               return false;
-
-                       var attrB = objB as FileLevelControlBuilderAttribute;
-                       if (attrB == null)
-                               return false;
-
-                       return (attrA.BuilderType == attrB.BuilderType);
-               }
-                       
-               public override int GetHashCode ()
-               {
-                       Type type = BuilderType;
-                       if (type == null)
-                               return base.GetHashCode ();
-
-                       return type.GetHashCode ();
-               }
-               
-               public override bool IsDefaultAttribute ()
-               {
-                       return this == Default;
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/FilterableAttribute.cs b/mcs/class/System.Web/System.Web.UI/FilterableAttribute.cs
deleted file mode 100644 (file)
index afbfb3b..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-//
-// System.Web.UI.FilterableAttribute
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.ComponentModel;
-
-namespace System.Web.UI {
-       [AttributeUsage (AttributeTargets.Class | AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
-       public sealed class FilterableAttribute : Attribute
-       {
-               bool filterable;
-
-               public FilterableAttribute (bool filterable) 
-               {
-                       this.filterable = filterable;
-               }
-
-               public static readonly FilterableAttribute Default = new FilterableAttribute (true);
-
-               public static readonly FilterableAttribute No = new FilterableAttribute (false);
-
-               public static readonly FilterableAttribute Yes = new FilterableAttribute (true);
-               
-               public bool Filterable { 
-                       get { return filterable; } 
-               }
-
-               public override bool Equals (object obj)
-               {
-                       if (obj != null && obj is FilterableAttribute) {
-                               FilterableAttribute fa = (FilterableAttribute) obj;
-                               return (this.filterable == fa.filterable);
-                       }
-                       return false;
-               }
-
-               public override int GetHashCode ()
-               {
-                       return this.filterable.GetHashCode ();
-               }
-
-               public override bool IsDefaultAttribute ()
-               {
-                       return Equals (Default);
-               }
-
-               public static bool IsObjectFilterable (object obj)
-               {
-                       return IsTypeFilterable (obj.GetType ());
-               }
-
-               public static bool IsPropertyFilterable (PropertyDescriptor propDesc)
-               {
-                       System.ComponentModel.AttributeCollection attributes = propDesc.Attributes;
-                       if (attributes.Count != 0) {
-                               foreach (Attribute attrib in attributes)
-                                       if (attrib is FilterableAttribute)
-                                               return true;
-                       }
-                       return false;
-               }
-
-               public static bool IsTypeFilterable (Type type)
-               {
-                       Object [] attributes = type.GetCustomAttributes (typeof (FilterableAttribute), false);
-                       if (attributes.Length != 0) {
-                               foreach (Attribute attrib in attributes)
-                                       if (attrib is FilterableAttribute)
-                                               return true;
-                       }
-                       return false;
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/HtmlTextWriterAttribute.cs b/mcs/class/System.Web/System.Web.UI/HtmlTextWriterAttribute.cs
deleted file mode 100644 (file)
index e4d334f..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-// 
-// System.Web.UI.HtmlTextWriterTag
-//
-// Author:
-//        Ben Maurer <bmaurer@novell.com>
-//
-// (c) 2005-2010 Novell
-//
-// 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.
-//
-
-namespace System.Web.UI
-{
-       public enum HtmlTextWriterAttribute {
-               Accesskey,
-               Align,
-               Alt,
-               Background,
-               Bgcolor,
-               Border,
-               Bordercolor,
-               Cellpadding,
-               Cellspacing,
-               Checked,
-               Class,
-               Cols,
-               Colspan,
-               Disabled,
-               For,
-               Height,
-               Href,
-               Id,
-               Maxlength,
-               Multiple,
-               Name,
-               Nowrap,
-               Onchange,
-               Onclick,
-               ReadOnly,
-               Rows,
-               Rowspan,
-               Rules,
-               Selected,
-               Size,
-               Src,
-               Style,
-               Tabindex,
-               Target,
-               Title,
-               Type,
-               Valign,
-               Value,
-               Width,
-               Wrap,
-               Abbr,
-               AutoComplete,
-               Axis,
-               Content,
-               Coords,
-               DesignerRegion,
-               Dir,
-               Headers,
-               Longdesc,
-               Rel,
-               Scope,
-               Shape,
-               Usemap,
-               VCardName
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/HtmlTextWriterStyle.cs b/mcs/class/System.Web/System.Web.UI/HtmlTextWriterStyle.cs
deleted file mode 100644 (file)
index 95c33db..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-// 
-// System.Web.UI.HtmlTextWriterStyle
-//
-// Author:
-//        Ben Maurer <bmaurer@novell.com>
-//
-// (c) 2005-2010 Novell, Inc (http://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.
-//
-
-namespace System.Web.UI
-{
-       public enum HtmlTextWriterStyle {
-               BackgroundColor,
-               BackgroundImage,
-               BorderCollapse,
-               BorderColor,
-               BorderStyle,
-               BorderWidth,
-               Color,
-               FontFamily,
-               FontSize,
-               FontStyle,
-               FontWeight,
-               Height,
-               TextDecoration,
-               Width,
-               ListStyleImage,
-               ListStyleType,
-               Cursor,
-               Direction,
-               Display,
-               Filter,
-               FontVariant,
-               Left,
-               Margin,
-               MarginBottom,
-               MarginLeft,
-               MarginRight,
-               MarginTop,
-               Overflow,
-               OverflowX,
-               OverflowY,
-               Padding,
-               PaddingBottom,
-               PaddingLeft,
-               PaddingRight,
-               PaddingTop,
-               Position,
-               TextAlign,
-               VerticalAlign,
-               TextOverflow,
-               Top,
-               Visibility,
-               WhiteSpace,
-               ZIndex
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/HtmlTextWriterTag.cs b/mcs/class/System.Web/System.Web.UI/HtmlTextWriterTag.cs
deleted file mode 100644 (file)
index 37277f5..0000000
+++ /dev/null
@@ -1,130 +0,0 @@
-// 
-// System.Web.UI.HtmlTextWriterTag
-//
-// Author:
-//        Ben Maurer <bmaurer@novell.com>
-//
-// (c) 2005-2010 Novell, Inc (http://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.
-//
-
-namespace System.Web.UI
-{
-       public enum HtmlTextWriterTag {
-               Unknown,
-               A,
-               Acronym,
-               Address,
-               Area,
-               B,
-               Base,
-               Basefont,
-               Bdo,
-               Bgsound,
-               Big,
-               Blockquote,
-               Body,
-               Br,
-               Button,
-               Caption,
-               Center,
-               Cite,
-               Code,
-               Col,
-               Colgroup,
-               Dd,
-               Del,
-               Dfn,
-               Dir,
-               Div,
-               Dl,
-               Dt,
-               Em,
-               Embed,
-               Fieldset,
-               Font,
-               Form,
-               Frame,
-               Frameset,
-               H1,
-               H2,
-               H3,
-               H4,
-               H5,
-               H6,
-               Head,
-               Hr,
-               Html,
-               I,
-               Iframe,
-               Img,
-               Input,
-               Ins,
-               Isindex,
-               Kbd,
-               Label,
-               Legend,
-               Li,
-               Link,
-               Map,
-               Marquee,
-               Menu,
-               Meta,
-               Nobr,
-               Noframes,
-               Noscript,
-               Object,
-               Ol,
-               Option,
-               P,
-               Param,
-               Pre,
-               Q,
-               Rt,
-               Ruby,
-               S,
-               Samp,
-               Script,
-               Select,
-               Small,
-               Span,
-               Strike,
-               Strong,
-               Style,
-               Sub,
-               Sup,
-               Table,
-               Tbody,
-               Td,
-               Textarea,
-               Tfoot,
-               Th,
-               Thead,
-               Title,
-               Tr,
-               Tt,
-               U,
-               Ul,
-               Var,
-               Wbr,
-               Xml
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/IAttributeAccessor.cs b/mcs/class/System.Web/System.Web.UI/IAttributeAccessor.cs
deleted file mode 100644 (file)
index 1b67f20..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// System.Web.UI.IAttributeAccessor.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.Web;
-
-namespace System.Web.UI
-{
-        public interface IAttributeAccessor
-        {
-                string GetAttribute(string key);
-                void SetAttribute(string key, string value);
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/IAutoFieldGenerator.cs b/mcs/class/System.Web/System.Web.UI/IAutoFieldGenerator.cs
deleted file mode 100644 (file)
index 22708f4..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// System.Web.UI.WebControls.IPersistedSelector.cs
-//
-// Author:
-//      Atsushi Enomoto  <atsushi@ximian.com>
-//
-// (C) 2008-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;
-using System.Security.Permissions;
-using System.Web;
-
-namespace System.Web.UI
-{
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public interface IAutoFieldGenerator
-       {
-               ICollection GenerateFields (Control control);
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IBindableControl.cs b/mcs/class/System.Web/System.Web.UI/IBindableControl.cs
deleted file mode 100644 (file)
index 6135da9..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// System.Web.UI.IBindableControl.cs
-//
-// Authors:
-//      Atsushi Enomoto  <atsushi@ximian.com>
-//
-// (C) 2008-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.Specialized;
-using System.Security.Permissions;
-using System.Web;
-
-namespace System.Web.UI
-{
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public interface IBindableControl
-       {
-               void ExtractValues (IOrderedDictionary dictionary);
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IBindableTemplate.cs b/mcs/class/System.Web/System.Web.UI/IBindableTemplate.cs
deleted file mode 100644 (file)
index 0fbb1fc..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.IBindableTemplate.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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.Specialized;
-
-namespace System.Web.UI
-{
-       public interface IBindableTemplate: ITemplate
-       {
-               IOrderedDictionary ExtractValues (Control control);
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/ICallbackEventHandler.cs b/mcs/class/System.Web/System.Web.UI/ICallbackEventHandler.cs
deleted file mode 100644 (file)
index cd2a65b..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.ICallbackEventHandler.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI
-{
-       public interface ICallbackEventHandler
-       {
-               string GetCallbackResult ();
-               void RaiseCallbackEvent (string eventArgs);
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IControlBuilderAccessor.cs b/mcs/class/System.Web/System.Web.UI/IControlBuilderAccessor.cs
deleted file mode 100644 (file)
index cfd9a1d..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.UI.IControlBuilderAccessor.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI
-{
-       public interface IControlBuilderAccessor
-       {
-               ControlBuilder ControlBuilder { get; }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IControlDesignerAccessor.cs b/mcs/class/System.Web/System.Web.UI/IControlDesignerAccessor.cs
deleted file mode 100644 (file)
index 51f1152..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-//
-// System.Web.UI.IControlDesignerAccessor.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI
-{
-       public interface IControlDesignerAccessor
-       {
-
-               IDictionary GetDesignModeState ();
-               void SetDesignModeState (IDictionary designData);
-               void SetOwnerControl (Control control);
-               
-               IDictionary UserData { get; }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/IDReferencePropertyAttribute.cs b/mcs/class/System.Web/System.Web.UI/IDReferencePropertyAttribute.cs
deleted file mode 100644 (file)
index bfc7a33..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-// System.Web.UI.IDReferencePropertyAttribute.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI
-{
-       public sealed class IDReferencePropertyAttribute : Attribute
-       {
-               Type controlType;
-
-               public IDReferencePropertyAttribute ()
-               {
-               }
-
-               public IDReferencePropertyAttribute (Type controlReferenceType)
-               {
-                       controlType = controlReferenceType;
-               }
-               
-               public override bool Equals (object obj)
-               {
-                       if (obj != null && obj is IDReferencePropertyAttribute) 
-                               return (this.controlType == ((IDReferencePropertyAttribute) obj).controlType);
-                       return false;
-               }
-               
-               public override int GetHashCode ()
-               {
-                       return controlType.GetHashCode ();
-               }
-
-               public Type ReferencedControlType { 
-                       get { return controlType; }
-               }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IDataBindingsAccessor.cs b/mcs/class/System.Web/System.Web.UI/IDataBindingsAccessor.cs
deleted file mode 100644 (file)
index 83cb047..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// System.Web.UI.IDataBindingsAccessor.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.Web;
-
-namespace System.Web.UI
-{
-        public interface IDataBindingsAccessor
-        {
-                DataBindingCollection DataBindings {get;}
-                bool HasDataBindings {get;}
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/IDataItemContainer.cs b/mcs/class/System.Web/System.Web.UI/IDataItemContainer.cs
deleted file mode 100644 (file)
index ba9e3ab..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// System.Web.UI.IDataItemContainer.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI
-{
-       public interface IDataItemContainer: INamingContainer
-       {
-               object DataItem { get; }
-               int DataItemIndex { get; }
-               int DisplayIndex { get; }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IDataKeysControl.cs b/mcs/class/System.Web/System.Web.UI/IDataKeysControl.cs
deleted file mode 100644 (file)
index d819c52..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// Authors:
-//   Marek Habersack <mhabersack@novell.com>
-//
-// (C) 2010 Novell, Inc. (http://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.Web.UI.WebControls;
-
-namespace System.Web.UI
-{
-       public interface IDataKeysControl
-       {
-               string[] ClientIDRowSuffix { get; }
-               DataKeyArray ClientIDRowSuffixDataKeys { get; }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/IDataSource.cs b/mcs/class/System.Web/System.Web.UI/IDataSource.cs
deleted file mode 100644 (file)
index 33a21d3..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// System.Web.UI.IDataSource
-//
-// Authors:
-//     Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// (C) 2003 Ben Maurer
-//
-
-//
-// 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.Collections;
-using System.Collections.Specialized;
-using System.Text;
-
-namespace System.Web.UI {
-       public interface IDataSource {
-               event EventHandler DataSourceChanged;
-               DataSourceView GetView (string viewName);
-               ICollection GetViewNames ();
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IDataSourceViewSchemaAccessor.cs b/mcs/class/System.Web/System.Web.UI/IDataSourceViewSchemaAccessor.cs
deleted file mode 100644 (file)
index 63d4f2e..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.UI.IDataSourceViewSchemaAccessor.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI
-{
-       public interface IDataSourceViewSchemaAccessor
-       {
-               object DataSourceViewSchema { get; set; }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IExpressionsAccessor.cs b/mcs/class/System.Web/System.Web.UI/IExpressionsAccessor.cs
deleted file mode 100644 (file)
index 22f497d..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.IExpressionsAccessor.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI
-{
-       public interface IExpressionsAccessor
-       {
-               ExpressionBindingCollection Expressions { get; }
-               bool HasExpressions { get; }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IFilterResolutionService.cs b/mcs/class/System.Web/System.Web.UI/IFilterResolutionService.cs
deleted file mode 100644 (file)
index a6111e5..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.IFilterResolutionService.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI
-{
-       public interface IFilterResolutionService
-       {
-               int CompareFilters (string filter1, string filter2);
-               bool EvaluateFilter (string filterName);
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IHierarchicalDataSource.cs b/mcs/class/System.Web/System.Web.UI/IHierarchicalDataSource.cs
deleted file mode 100644 (file)
index 5416a4c..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// System.Web.UI.IHierarchicalDataSource
-//
-// Authors:
-//     Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// (C) 2003 Ben Maurer
-//
-
-//
-// 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.Collections;
-using System.Collections.Specialized;
-using System.Text;
-
-namespace System.Web.UI {
-       public interface IHierarchicalDataSource {
-               event EventHandler DataSourceChanged;
-               HierarchicalDataSourceView GetHierarchicalView (string viewPath);
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IHierarchicalEnumerable.cs b/mcs/class/System.Web/System.Web.UI/IHierarchicalEnumerable.cs
deleted file mode 100644 (file)
index ca3f1a5..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.UI.IHierarchicalEnumerable
-//
-// Authors:
-//     Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// (C) 2003 Ben Maurer
-//
-
-//
-// 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.Collections;
-
-namespace System.Web.UI {
-       public interface IHierarchicalEnumerable : IEnumerable {
-               IHierarchyData GetHierarchyData (object enumeratedItem);
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IHierarchyData.cs b/mcs/class/System.Web/System.Web.UI/IHierarchyData.cs
deleted file mode 100644 (file)
index 800e732..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.UI.IHierarchyData
-//
-// Authors:
-//     Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// (C) 2003 Ben Maurer
-//
-// 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.
-//
-
-namespace System.Web.UI {
-       public interface IHierarchyData {
-               IHierarchicalEnumerable GetChildren ();
-               IHierarchyData GetParent ();
-               bool HasChildren { get; }
-               object Item { get; }
-               string Path { get; }
-               string Type { get; }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/INamingContainer.cs b/mcs/class/System.Web/System.Web.UI/INamingContainer.cs
deleted file mode 100644 (file)
index 62cf065..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.UI.INamingContainer.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.Web;
-
-namespace System.Web.UI
-{
-        public interface INamingContainer
-        {
-               }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/INavigateUIData.cs b/mcs/class/System.Web/System.Web.UI/INavigateUIData.cs
deleted file mode 100644 (file)
index d48d595..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.INavigateUIData
-//
-// Authors:
-//     Ben Maurer (bmaurer@users.sourceforge.net)
-//
-// (C) 2003 Ben Maurer
-//
-
-//
-// 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.
-//
-
-namespace System.Web.UI 
-{
-       public interface INavigateUIData {
-               string Name { get; }
-               string NavigateUrl { get; }
-               string Value { get; }    
-               string Description { get; }
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/INonBindingContainer.cs b/mcs/class/System.Web/System.Web.UI/INonBindingContainer.cs
deleted file mode 100644 (file)
index 5f428e5..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// System.Web.UI.INonBindingContainer
-//
-// Authors:
-//   Marek Habersack (mhabersack@novell.com)
-//
-// (C) 2008-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.
-//
-namespace System.Web.UI 
-{
-       // Apparently this attribute is used in place of our BINDING_CONTAINER control mask bit,
-       // which makes sense as in certain scenarios (e.g. TemplateControlAttribute naming a
-       // container type which cannot be used for two-way binding) the check must be made on type,
-       // not on object.
-       //
-       // This interface is briefly mentioned in:
-       //  http://www.developmentnow.com/g/10_2006_6_0_0_776419/DataBinding-to-SubProperties.htm
-       //
-       // For a sample of why this is needed, see:
-       //
-       //  http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.templatepagerfield.pagertemplate.aspx
-       //  The C# code on the above page won't work without this interface being implemented and
-       //  used in ControlBuilder.BindingContainerType. The reason why the sample wouldn't work is
-       //  that the TemplatePagerField.PagerTemplate property carries a custom TemplateContainer
-       //  (typeof (DataPagerFieldItem)) attribute and, without INonBindingContainer interface
-       //  attached to DataPagerFieldItem, mono would generate code with the Container and
-       //  BindingContainer referring to DataPagerFieldItem. In such case, attempting to access
-       //  DataPager properties would obviously fail. Looking at the MS.NET generated code,
-       //  Container and BindingContainer are of the DataPager type in this instance.
-       //
-       internal interface INonBindingContainer
-       {
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/IParserAccessor.cs b/mcs/class/System.Web/System.Web.UI/IParserAccessor.cs
deleted file mode 100644 (file)
index f49d833..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.IParserAccessor.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.Web;
-
-namespace System.Web.UI
-{
-        public interface IParserAccessor
-        {
-                void AddParsedSubObject(object obj);
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/IPostBackDataHandler.cs b/mcs/class/System.Web/System.Web.UI/IPostBackDataHandler.cs
deleted file mode 100644 (file)
index 4b3ff91..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// System.Web.UI.IPostBackDataHandler.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.Web;
-using System.Collections.Specialized;
-
-namespace System.Web.UI
-{
-        public interface IPostBackDataHandler
-        {
-                bool LoadPostData(string postDataKey, NameValueCollection postCollection);
-                void RaisePostDataChangedEvent();
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/IPostBackEventHandler.cs b/mcs/class/System.Web/System.Web.UI/IPostBackEventHandler.cs
deleted file mode 100644 (file)
index 94daa50..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.IPostBackEventHandler.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.Web;
-
-namespace System.Web.UI
-{
-        public interface IPostBackEventHandler
-        {
-                void RaisePostBackEvent(string eventArgument);
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/IResourceUrlGenerator.cs b/mcs/class/System.Web/System.Web.UI/IResourceUrlGenerator.cs
deleted file mode 100644 (file)
index 496cc99..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.UI.IResourceUrlGenerator.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI
-{
-       public interface IResourceUrlGenerator
-       {
-               string GetResourceUrl (Type type, string resource);
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IStateFormatter.cs b/mcs/class/System.Web/System.Web.UI/IStateFormatter.cs
deleted file mode 100644 (file)
index 10378d3..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// System.Web.UI.IStateFormatter.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI
-{
-       public interface IStateFormatter
-       {
-               object Deserialize (string serializationState);
-               string Serialize (object state);
-       }
-}
-
-
diff --git a/mcs/class/System.Web/System.Web.UI/IStateManager.cs b/mcs/class/System.Web/System.Web.UI/IStateManager.cs
deleted file mode 100644 (file)
index 64a1894..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// System.Web.UI.IStateManager.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.Web;
-
-namespace System.Web.UI
-{
-        public interface IStateManager
-        {
-                void LoadViewState(object state);
-                object SaveViewState();
-                void TrackViewState();
-                   bool IsTrackingViewState { get; }
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/IStyleSheet.cs b/mcs/class/System.Web/System.Web.UI/IStyleSheet.cs
deleted file mode 100644 (file)
index dc1256c..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.UI.IStyleSheet.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// Copyright (C) 2004-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.Web.UI.WebControls;
-
-namespace System.Web.UI
-{
-       public interface IStyleSheet
-       {
-               void CreateStyleRule (Style style, IUrlResolutionService urlResolver, string selection);
-               void RegisterStyle (Style style, IUrlResolutionService urlResolver);
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/ITemplate.cs b/mcs/class/System.Web/System.Web.UI/ITemplate.cs
deleted file mode 100644 (file)
index 9ebb6a4..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.ITemplate.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.Web;
-
-namespace System.Web.UI
-{
-        public interface ITemplate
-        {
-                void InstantiateIn(Control container);
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/IThemeResolutionService.cs b/mcs/class/System.Web/System.Web.UI/IThemeResolutionService.cs
deleted file mode 100644 (file)
index df19c8c..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// System.Web.UI.IThemeResolutionService.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI
-{
-       public interface IThemeResolutionService
-       {
-               ThemeProvider [] GetAllThemeProviders ();
-               ThemeProvider GetStylesheetThemeProvider ();
-               ThemeProvider GetThemeProvider ();
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/IUrlResolutionService.cs b/mcs/class/System.Web/System.Web.UI/IUrlResolutionService.cs
deleted file mode 100644 (file)
index 8b01605..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.IUrlResolutionService.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI
-{
-       public interface IUrlResolutionService
-       {
-               string ResolveClientUrl (string url);
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IUserControlDesignerAccessor.cs b/mcs/class/System.Web/System.Web.UI/IUserControlDesignerAccessor.cs
deleted file mode 100644 (file)
index 064d994..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.UI.IUserControlDesignerAccessor.cs
-//
-// Author:
-//   Andreas Nahr (ClassDevelopment@A-SoftTech.com)
-//
-// (C) 2003 Andreas Nahr
-//
-
-//
-// 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.
-//
-
-namespace System.Web.UI
-{
-       public interface IUserControlDesignerAccessor
-        {
-                string InnerText { get; set; }
-               string TagName { get; set; }
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/IUserControlTypeResolutionService.cs b/mcs/class/System.Web/System.Web.UI/IUserControlTypeResolutionService.cs
deleted file mode 100644 (file)
index 3629bde..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.UI.IUserControlTypeResolutionService.cs
-//
-// Authors:
-//      Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004-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;
-
-namespace System.Web.UI
-{
-       public interface IUserControlTypeResolutionService
-       {
-               Type GetType (string prefixTag, string tagName);
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/IValidator.cs b/mcs/class/System.Web/System.Web.UI/IValidator.cs
deleted file mode 100644 (file)
index 60aed88..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// System.Web.UI.IValidator.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.Web;
-
-namespace System.Web.UI
-{
-        public interface IValidator
-        {
-                void Validate();
-                string ErrorMessage {get; set;}
-                bool IsValid {get; set;}
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/ImageClickEventHandler.cs b/mcs/class/System.Web/System.Web.UI/ImageClickEventHandler.cs
deleted file mode 100644 (file)
index b360905..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.UI.ImageClickEventHandler.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.Web;
-
-namespace System.Web.UI
-{
-        public delegate void ImageClickEventHandler(object sender, ImageClickEventArgs e);
-}
diff --git a/mcs/class/System.Web/System.Web.UI/NonVisualControlAttribute.cs b/mcs/class/System.Web/System.Web.UI/NonVisualControlAttribute.cs
deleted file mode 100644 (file)
index e5950e6..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-//
-// System.Web.UI.WebControls.NonVisualControlAttribute.cs
-//
-// Authors:
-//     Lluis Sanchez Gual (lluis@novell.com)
-//
-// (C) 2005-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;
-
-namespace System.Web.UI
-{
-       public sealed class NonVisualControlAttribute: Attribute
-       {
-               public static readonly NonVisualControlAttribute Visual = new NonVisualControlAttribute (false);
-               public static readonly NonVisualControlAttribute NonVisual = new NonVisualControlAttribute (true);
-               public static readonly NonVisualControlAttribute Default = Visual;
-               
-               bool nonVisual;
-               
-               public NonVisualControlAttribute (): this (true)
-               {
-               }
-               
-               public NonVisualControlAttribute (bool nonVisual)
-               {
-                       this.nonVisual = nonVisual; 
-               }
-               
-               public override bool Equals (object obj)
-               {
-                       NonVisualControlAttribute ot = obj as NonVisualControlAttribute;
-                       return ot != null && ot.nonVisual == nonVisual;
-               }
-               
-               public override int GetHashCode ()
-               {
-                       return GetType().GetHashCode () + nonVisual.GetHashCode ();
-               }
-               
-               public override bool IsDefaultAttribute ()
-               {
-                       return Equals (Default);
-               }
-               
-               public bool IsNonVisual {
-                       get { return nonVisual; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/PersistChildrenAttribute.cs b/mcs/class/System.Web/System.Web.UI/PersistChildrenAttribute.cs
deleted file mode 100644 (file)
index 35f6fad..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-//
-// System.Web.UI.PersistChildrenAttribute.cs
-//
-// Duncan Mak  (duncan@ximian.com)
-//
-// (C) Ximian, Inc.
-// Copyright (C) 2005-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.Security.Permissions;
-
-namespace System.Web.UI {
-
-       // CAS - no InheritanceDemand here as the class is sealed
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       // attributes
-       [AttributeUsage (AttributeTargets.Class)]
-       public sealed class PersistChildrenAttribute : Attribute
-       {
-               bool persist;
-               bool usesCustomPersistence;
-               
-               public PersistChildrenAttribute (bool persist)
-               {
-                       this.persist = persist;
-               }
-
-               public PersistChildrenAttribute (bool persist,
-                                                bool usesCustomPersistence)
-               {
-                       this.persist = persist;
-                       this.usesCustomPersistence = usesCustomPersistence;
-               }
-               
-               public static readonly PersistChildrenAttribute Default = new PersistChildrenAttribute (true);
-               public static readonly PersistChildrenAttribute Yes = new PersistChildrenAttribute (true);
-               public static readonly PersistChildrenAttribute No = new PersistChildrenAttribute (false);
-
-               public bool Persist {
-                       get { return persist; }
-               }
-
-               public bool UsesCustomPersistence 
-               {
-                       get {
-                               return (usesCustomPersistence);
-                       }
-               }
-               
-               public override bool Equals (object obj)
-               {
-                       PersistChildrenAttribute pobj = (obj as PersistChildrenAttribute);
-                       if (pobj == null)
-                               return false;
-
-                       return (pobj.persist == persist && pobj.usesCustomPersistence == usesCustomPersistence);
-               }
-
-               public override int GetHashCode ()
-               {
-                       return persist ? 1 : 0;
-               }
-
-               public override bool IsDefaultAttribute ()
-               {
-                       /* No idea what the usesCustomPersistence
-                        * default is (I assume false, but its not
-                        * documented)
-                        */
-                       return (persist == true);
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/PersistenceMode.cs b/mcs/class/System.Web/System.Web.UI/PersistenceMode.cs
deleted file mode 100644 (file)
index 125ed53..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// System.Web.UI.PersistenceMode.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.Web;
-
-namespace System.Web.UI
-{
-        public enum PersistenceMode
-        {
-                Attribute = 0,
-               InnerProperty = 1,
-               InnerDefaultProperty = 2,
-                EncodedInnerDefaultProperty = 3,
-        }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/SupportsEventValidationAttribute.cs b/mcs/class/System.Web/System.Web.UI/SupportsEventValidationAttribute.cs
deleted file mode 100644 (file)
index f0f1662..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// System.Web.UI.SupportsEventValidationAttribute class
-//
-// Author:
-//     Sebastien Pouliot  <sebastien@ximian.com>
-//
-// Copyright (C) 2005-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.Security.Permissions;
-
-namespace System.Web.UI 
-{
-       // CAS - no InheritanceDemand here as the class is sealed
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       // attributes
-       [AttributeUsage (AttributeTargets.Class)]
-       public sealed class SupportsEventValidationAttribute : Attribute 
-       {
-               public SupportsEventValidationAttribute ()
-               {
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/TemplateInstance.cs b/mcs/class/System.Web/System.Web.UI/TemplateInstance.cs
deleted file mode 100644 (file)
index 6cf743d..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Web.UI.TemplateInstance.cs
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// Copyright (C) 2004-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.
-//
-
-namespace System.Web.UI 
-{
-       public enum TemplateInstance 
-       {
-               Multiple = 0,
-               Single = 1
-       } 
-}
-
diff --git a/mcs/class/System.Web/System.Web.UI/TemplateInstanceAttribute.cs b/mcs/class/System.Web/System.Web.UI/TemplateInstanceAttribute.cs
deleted file mode 100644 (file)
index 282915e..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-//
-// System.Web.UI.TemplateInstanceAttribute.cs
-//
-// Noam Lampert  (noaml@mainsoft.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.ComponentModel;
-using System.Security.Permissions;
-
-namespace System.Web.UI
-{
-       // attributes
-       [AttributeUsage (AttributeTargets.Property)]
-       public sealed class TemplateInstanceAttribute : Attribute
-       {
-               #region Fields
-
-               readonly TemplateInstance _instance;
-
-               public static readonly TemplateInstanceAttribute Single;
-               public static readonly TemplateInstanceAttribute Multiple;
-               public static readonly TemplateInstanceAttribute Default;
-
-               #endregion
-
-               #region Constructors
-
-               static TemplateInstanceAttribute () {
-                       Single = new TemplateInstanceAttribute (TemplateInstance.Single);
-                       Multiple = new TemplateInstanceAttribute (TemplateInstance.Multiple);
-                       Default = Multiple;
-               }
-
-               #endregion
-
-               #region Properties
-
-               public TemplateInstance Instances { get { return _instance; } }
-
-               #endregion
-
-               #region Methods
-
-               public TemplateInstanceAttribute (TemplateInstance instance) {
-                       _instance = instance;
-               }
-
-               public override bool IsDefaultAttribute () {
-                       return Equals (Default);
-               }
-
-               public override bool Equals (object obj) {
-                       if (this == obj)
-                               return true;
-
-                       TemplateInstanceAttribute other = obj as TemplateInstanceAttribute;
-                       if (obj == null)
-                               return false;
-
-                       return Instances == other.Instances;
-               }
-
-               public override int GetHashCode () {
-                       return (int) Instances;
-               }
-
-               #endregion
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/ThemeableAttribute.cs b/mcs/class/System.Web/System.Web.UI/ThemeableAttribute.cs
deleted file mode 100644 (file)
index 6dc7d59..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-//
-// System.Web.UI.ThemeableAttribute
-//
-// Authors:
-//     Sanjay Gupta (gsanjay@novell.com)
-//
-// (C) 2004 Novell, Inc. (http://www.novell.com)
-// Copyright (C) 2005-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.ComponentModel;
-using System.Security.Permissions;
-
-namespace System.Web.UI 
-{
-       // CAS - no InheritanceDemand here as the class is sealed
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       // attributes
-       [AttributeUsage (AttributeTargets.Class | AttributeTargets.Property, AllowMultiple = false, Inherited = true)]
-       public sealed class ThemeableAttribute : Attribute {
-
-               bool themeable;
-               public ThemeableAttribute (bool themeable) 
-               {
-                       this.themeable = themeable;
-               }
-
-               public static readonly ThemeableAttribute Default = new ThemeableAttribute (true);
-
-               public static readonly ThemeableAttribute No = new ThemeableAttribute (false);
-
-               public static readonly ThemeableAttribute Yes = new ThemeableAttribute (true);
-               
-               public bool Themeable { 
-                       get { return themeable; } 
-               }
-
-               public override bool Equals (object obj)
-               {
-                       if (obj != null && obj is ThemeableAttribute) {
-                               ThemeableAttribute ta = (ThemeableAttribute) obj;
-                               return (this.themeable == ta.themeable);
-                       }
-                       return false;
-               }
-
-               public override int GetHashCode ()
-               {
-                       return this.themeable.GetHashCode ();
-               }
-
-               public override bool IsDefaultAttribute()
-               {
-                       return Equals (Default);
-               }
-
-               public static bool IsObjectThemeable (object obj)
-               {
-                       return IsTypeThemeable (obj.GetType ());
-               }
-
-               public static bool IsTypeThemeable (Type type)
-               {
-                       Object [] attributes = type.GetCustomAttributes (typeof (ThemeableAttribute), false);
-                       if (attributes.Length != 0) {
-                               foreach (Attribute attrib in attributes)
-                                       if (attrib is ThemeableAttribute)
-                                               return true;
-                       }
-                       return false;
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/ViewStateEncryptionMode.cs b/mcs/class/System.Web/System.Web.UI/ViewStateEncryptionMode.cs
deleted file mode 100644 (file)
index 03593a0..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.Configuration.ViewStateEncryptionMode
-//
-// Authors:
-//     Chris Toshok (toshok@ximian.com)
-//
-// (C) 2005-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.
-//
-
-namespace System.Web.UI
-{
-       public enum ViewStateEncryptionMode
-       {
-               Auto,
-               Always,
-               Never
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.UI/ViewStateMode.cs b/mcs/class/System.Web/System.Web.UI/ViewStateMode.cs
deleted file mode 100644 (file)
index 1243f60..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-//
-// Authors:
-//   Marek Habersack <mhabersack@novell.com>
-//
-// (C) 2010 Novell, Inc (http://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.
-//
-namespace System.Web.UI
-{
-       public enum ViewStateMode
-       {
-               Inherit,
-               Enabled,
-               Disabled
-       }
-}
diff --git a/mcs/class/System.Web/System.Web.Util/IWebObjectFactory.cs b/mcs/class/System.Web/System.Web.Util/IWebObjectFactory.cs
deleted file mode 100644 (file)
index 890d1d5..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.Web.Util.IWebObjectFactory interface
-//
-// Author:
-//     Sebastien Pouliot  <sebastien@ximian.com>
-//
-// Copyright (C) 2005 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.
-//
-
-
-namespace System.Web.Util {
-
-       public interface IWebObjectFactory {
-
-               object CreateInstance ();
-       }
-}
-
diff --git a/mcs/class/System.Web/System.Web.Util/RequestValidationSource.cs b/mcs/class/System.Web/System.Web.Util/RequestValidationSource.cs
deleted file mode 100644 (file)
index 7153d71..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// Authors:
-//   Marek Habersack <mhabersack@novell.com>
-//
-// Copyright (C) 2010 Novell, Inc (http://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.
-//
-namespace System.Web.Util
-{
-       public enum RequestValidationSource
-       {
-               QueryString,
-               Form,
-               Cookies,
-               Files,
-               RawUrl,
-               Path,
-               PathInfo,
-               Headers
-       }
-}
index c300b3d90010ee658e1e822157ecd1a83a220402..8f9f3439a1b99d2861f7dd89e6b998d2145514ce 100644 (file)
@@ -73,8 +73,8 @@ System.Web.Compilation/BuildManagerDirectoryBuilder.cs
 System.Web.Compilation/BuildManagerRemoveEntryEventHandler.cs
 System.Web.Compilation/BuildManagerHostUnloadEventArgs.cs
 System.Web.Compilation/BuildManagerHostUnloadEventHandler.cs
-System.Web.Compilation/BuildProviderAppliesToAttribute.cs
-System.Web.Compilation/BuildProviderAppliesTo.cs
+../../../external/referencesource/System.Web/Compilation/BuildProviderAppliesToAttribute.cs
+../../../external/referencesource/System.Web/Compilation/BuildProviderAppliesTo.cs
 System.Web.Compilation/BuildProviderGroup.cs
 System.Web.Compilation/BuildProviderResultFlags.cs
 System.Web.Compilation/BuildProvider.cs
@@ -87,20 +87,19 @@ System.Web.Compilation/CompilerType.cs
 System.Web.Compilation/ConnectionStringsExpressionBuilder.cs
 System.Web.Compilation/DefaultResourceProviderFactory.cs
 System.Web.Compilation/DefaultResourceProvider.cs
-System.Web.Compilation/DesignTimeResourceProviderFactoryAttribute.cs
+../../../external/referencesource/System.Web/Compilation/DesignTimeResourceProviderFactoryAttribute.cs
 System.Web.Compilation/Directive.cs
 System.Web.Compilation/ExpressionBuilderContext.cs
 System.Web.Compilation/ExpressionBuilder.cs
-System.Web.Compilation/ExpressionEditorAttribute.cs
-System.Web.Compilation/ExpressionPrefixAttribute.cs
+../../../external/referencesource/System.Web/Compilation/ExpressionEditorAttribute.cs
+../../../external/referencesource/System.Web/Compilation/ExpressionPrefixAttribute.cs
 System.Web.Compilation/ForceCopyBuildProvider.cs
 System.Web.Compilation/GenericBuildProvider.cs
 System.Web.Compilation/GlobalAsaxCompiler.cs
-System.Web.Compilation/IAssemblyPostProcessor.cs
+../../../external/referencesource/System.Web/Compilation/IAssemblyPostProcessor.cs
 System.Web.Compilation/IgnoreFileBuildProvider.cs
-System.Web.Compilation/IImplicitResourceProvider.cs
+../../../external/referencesource/System.Web/Compilation/IImplicitResourceProvider.cs
 System.Web.Compilation/ILocation.cs
-System.Web.Compilation/ImplicitResourceKey.cs
 System.Web.Compilation/IResourceProvider.cs
 System.Web.Compilation/LinePragmaCodeInfo.cs
 System.Web.Compilation/Location.cs
@@ -140,14 +139,14 @@ System.Web.Configuration_2.0/nBrowser/File.cs
 System.Web.Configuration_2.0/nBrowser/Build.cs
 System.Web.Configuration_2.0/nBrowser/Node.cs
 System.Web.Configuration_2.0/nBrowser/Exception.cs
-System.Web.Configuration_2.0/AdapterDictionary.cs
+../../../external/referencesource/System.Web/Configuration/AdapterDictionary.cs
 System.Web.Configuration_2.0/AnonymousIdentificationSection.cs
 System.Web.Configuration_2.0/ApplicationSettingsConfigurationFileMap.cs
 System.Web.Configuration_2.0/AssemblyCollection.cs
 System.Web.Configuration_2.0/AssemblyInfo.cs
-System.Web.Configuration_2.0/AuthenticationMode.cs
+../../../external/referencesource/System.Web/Configuration/AuthenticationMode.cs
 System.Web.Configuration_2.0/AuthenticationSection.cs
-System.Web.Configuration_2.0/AuthorizationRuleAction.cs
+../../../external/referencesource/System.Web/Configuration/AuthorizationRuleAction.cs
 System.Web.Configuration_2.0/AuthorizationRule.cs
 System.Web.Configuration_2.0/AuthorizationRuleCollection.cs
 System.Web.Configuration_2.0/AuthorizationSection.cs
@@ -166,9 +165,9 @@ System.Web.Configuration_2.0/Compiler.cs
 System.Web.Configuration_2.0/CompilerCollection.cs
 System.Web.Configuration_2.0/CustomError.cs
 System.Web.Configuration_2.0/CustomErrorCollection.cs
-System.Web.Configuration_2.0/CustomErrorsMode.cs
+../../../external/referencesource/System.Web/Configuration/CustomErrorsMode.cs
 System.Web.Configuration_2.0/CustomErrorsSection.cs
-System.Web.Configuration_2.0/CustomErrorsRedirectMode.cs
+../../../external/referencesource/System.Web/Configuration/CustomErrorsRedirectMode.cs
 System.Web.Configuration_2.0/DeploymentSection.cs
 System.Web.Configuration_2.0/EventMappingSettings.cs
 System.Web.Configuration_2.0/EventMappingSettingsCollection.cs
@@ -178,8 +177,8 @@ System.Web.Configuration_2.0/FormsAuthenticationConfiguration.cs
 System.Web.Configuration_2.0/FormsAuthenticationCredentials.cs
 System.Web.Configuration_2.0/FormsAuthenticationUser.cs
 System.Web.Configuration_2.0/FormsAuthenticationUserCollection.cs
-System.Web.Configuration_2.0/FormsAuthPasswordFormat.cs
-System.Web.Configuration_2.0/FormsProtectionEnum.cs
+../../../external/referencesource/System.Web/Configuration/FormsAuthPasswordFormat.cs
+../../../external/referencesource/System.Web/Configuration/FormsProtectionEnum.cs
 System.Web.Configuration_2.0/GlobalizationSection.cs
 System.Web.Configuration_2.0/HandlersUtil.cs
 System.Web.Configuration_2.0/HealthMonitoringSection.cs
@@ -196,14 +195,14 @@ System.Web.Configuration_2.0/HttpModuleActionCollection.cs
 System.Web.Configuration_2.0/HttpModulesSection.cs
 System.Web.Configuration_2.0/HttpRuntimeSection.cs
 System.Web.Configuration_2.0/IdentitySection.cs
-System.Web.Configuration_2.0/IConfigMapPath.cs
-System.Web.Configuration_2.0/IConfigMapPathFactory.cs
-System.Web.Configuration_2.0/IRemoteWebConfigurationHostServer.cs
+../../../external/referencesource/System.Web/Configuration/IConfigMapPath.cs
+../../../external/referencesource/System.Web/Configuration/IConfigMapPathFactory.cs
+../../../external/referencesource/System.Web/Configuration/IRemoteWebConfigurationHostServer.cs
 System.Web.Configuration_2.0/LowerCaseStringConverter.cs
 System.Web.Configuration_2.0/LruCache.cs
 System.Web.Configuration_2.0/MachineKeyRegistryStorage.cs
 System.Web.Configuration_2.0/MachineKeySection.cs
-System.Web.Configuration_2.0/MachineKeyValidation.cs
+../../../external/referencesource/System.Web/Configuration/MachineKeyValidation.cs
 System.Web.Configuration_2.0/MachineKeyValidationConverter.cs
 System.Web.Configuration_2.0/MembershipSection.cs
 System.Web.Configuration_2.0/MonoSettingsSection.cs
@@ -214,14 +213,14 @@ System.Web.Configuration_2.0/OutputCacheProfile.cs
 System.Web.Configuration_2.0/OutputCacheProfileCollection.cs
 System.Web.Configuration_2.0/OutputCacheSection.cs
 System.Web.Configuration_2.0/OutputCacheSettingsSection.cs
-System.Web.Configuration_2.0/PagesEnableSessionState.cs
+../../../external/referencesource/System.Web/Configuration/PagesEnableSessionState.cs
 System.Web.Configuration_2.0/PagesSection.cs
 System.Web.Configuration_2.0/PassportAuthentication.cs
 System.Web.Configuration_2.0/PositiveTimeSpanValidator.cs
 System.Web.Configuration_2.0/ProcessModelSection.cs
-System.Web.Configuration_2.0/ProcessModelComAuthenticationLevel.cs
-System.Web.Configuration_2.0/ProcessModelComImpersonationLevel.cs
-System.Web.Configuration_2.0/ProcessModelLogLevel.cs
+../../../external/referencesource/System.Web/Configuration/ProcessModelComAuthenticationLevel.cs
+../../../external/referencesource/System.Web/Configuration/ProcessModelComImpersonationLevel.cs
+../../../external/referencesource/System.Web/Configuration/ProcessModelLogLevel.cs
 System.Web.Configuration_2.0/ProfileGroupSettings.cs
 System.Web.Configuration_2.0/ProfileGroupSettingsCollection.cs
 System.Web.Configuration_2.0/ProfilePropertyNameValidator.cs
@@ -237,7 +236,7 @@ System.Web.Configuration_2.0/RoleManagerSection.cs
 System.Web.Configuration_2.0/RootProfilePropertySettingsCollection.cs
 System.Web.Configuration_2.0/RuleSettings.cs
 System.Web.Configuration_2.0/RuleSettingsCollection.cs
-System.Web.Configuration_2.0/SerializationMode.cs
+../../../external/referencesource/System.Web/Configuration/SerializationMode.cs
 System.Web.Configuration_2.0/SecurityPolicySection.cs
 System.Web.Configuration_2.0/SessionPageStateSection.cs
 System.Web.Configuration_2.0/SessionStateSection.cs
@@ -245,13 +244,13 @@ System.Web.Configuration_2.0/SiteMapSection.cs
 System.Web.Configuration_2.0/SqlCacheDependencyDatabase.cs
 System.Web.Configuration_2.0/SqlCacheDependencyDatabaseCollection.cs
 System.Web.Configuration_2.0/SqlCacheDependencySection.cs
-System.Web.Configuration_2.0/SystemWebCachingSectionGroup.cs
+../../../external/referencesource/System.Web/Configuration/SystemWebCachingSectionGroup.cs
 System.Web.Configuration_2.0/SystemWebSectionGroup.cs
 System.Web.Configuration_2.0/TagMapCollection.cs
 System.Web.Configuration_2.0/TagMapInfo.cs
 System.Web.Configuration_2.0/TagPrefixCollection.cs
 System.Web.Configuration_2.0/TagPrefixInfo.cs
-System.Web.Configuration_2.0/TraceDisplayMode.cs
+../../../external/referencesource/System.Web/Configuration/TraceDisplayMode.cs
 System.Web.Configuration_2.0/TraceSection.cs
 System.Web.Configuration_2.0/TransformerInfo.cs
 System.Web.Configuration_2.0/TransformerInfoCollection.cs
@@ -263,7 +262,7 @@ System.Web.Configuration_2.0/UrlMappingCollection.cs
 System.Web.Configuration_2.0/UrlMappingsSection.cs
 System.Web.Configuration_2.0/VirtualDirectoryMappingCollection.cs
 System.Web.Configuration_2.0/VirtualDirectoryMapping.cs
-System.Web.Configuration_2.0/WebApplicationLevel.cs
+../../../external/referencesource/System.Web/Configuration/WebApplicationLevel.cs
 System.Web.Configuration_2.0/WebConfigurationFileMap.cs
 System.Web.Configuration_2.0/WebConfigurationHost.cs
 System.Web.Configuration_2.0/WebConfigurationManager.cs
@@ -272,7 +271,7 @@ System.Web.Configuration_2.0/WebContext.cs
 System.Web.Configuration_2.0/WebPartsPersonalization.cs
 System.Web.Configuration_2.0/WebPartsPersonalizationAuthorization.cs
 System.Web.Configuration_2.0/WebPartsSection.cs
-System.Web.Configuration_2.0/XhtmlConformanceMode.cs
+../../../external/referencesource/System.Web/Configuration/XhtmlConformanceMode.cs
 System.Web.Configuration_2.0/XhtmlConformanceSection.cs
 System.Web.Configuration.Internal/IInternalConfigWebHost.cs
 System.Web/DefaultHttpHandler.cs
@@ -296,10 +295,10 @@ System.Web.Hosting/DefaultVirtualFile.cs
 System.Web.Hosting/DefaultVirtualPathProvider.cs
 System.Web.Hosting/HostingEnvironment.cs
 System.Web.Hosting/IAppDomainFactory.cs
-System.Web.Hosting/IApplicationHost.cs
+../../../external/referencesource/System.Web/Hosting/IApplicationHost.cs
 System.Web.Hosting/IAppManagerAppDomainFactory.cs
 System.Web.Hosting/IISAPIRuntime.cs
-System.Web.Hosting/IRegisteredObject.cs
+../../../external/referencesource/System.Web/Hosting/IRegisteredObject.cs
 System.Web.Hosting/ISAPIRuntime.cs
 System.Web.Hosting/SimpleWorkerRequest.cs
 System.Web.Hosting/VirtualDirectory.cs
@@ -352,17 +351,17 @@ System.Web/HttpValidationStatus.cs
 System.Web/HttpWorkerRequest.cs
 System.Web/HttpWriter.cs
 System.Web/IntPtrStream.cs
-System.Web/IHttpAsyncHandler.cs
-System.Web/IHttpHandler.cs
-System.Web/IHttpHandlerFactory.cs
+../../../external/referencesource/System.Web/IHttpAsyncHandler.cs
+../../../external/referencesource/System.Web/IHttpHandler.cs
+../../../external/referencesource/System.Web/IHttpHandlerFactory.cs
 System.Web/IHttpMapPath.cs
-System.Web/IHttpModule.cs
+../../../external/referencesource/System.Web/IHttpModule.cs
 System.Web/IisTraceListener.cs
 System.Web/IPartitionResolver.cs
 System.Web/InputFilterStream.cs
 System.Web/OutputFilterStream.cs
-System.Web/RequestNotification.cs
-System.Web/RequestNotificationStatus.cs
+../../../external/referencesource/System.Web/RequestNotification.cs
+../../../external/referencesource/System.Web/RequestNotificationStatus.cs
 System.Web.Mail/Base64AttachmentEncoder.cs
 System.Web.Mail/IAttachmentEncoder.cs
 System.Web.Mail/MailAddressCollection.cs
@@ -407,8 +406,8 @@ System.Web.Profile/ProfileAuthenticationOption.cs
 System.Web.Profile/ProfileAutoSaveEventArgs.cs
 System.Web.Profile/ProfileAutoSaveEventHandler.cs
 System.Web.Profile/ProfileBase.cs
-System.Web.Profile/ProfileEventArgs.cs
-System.Web.Profile/ProfileEventHandler.cs
+../../../external/referencesource/System.Web/Profile/ProfileEventArgs.cs
+../../../external/referencesource/System.Web/Profile/ProfileEventHandler.cs
 ../../../external/referencesource/System.Web/Profile/HttpProfileGroupBase.cs
 System.Web.Profile/ProfileInfoCollection.cs
 System.Web.Profile/ProfileInfo.cs
@@ -437,19 +436,19 @@ System.Web.Security/DefaultAuthenticationEventHandler.cs
 System.Web.Security/DefaultAuthenticationModule.cs
 System.Web.Security/FileAuthorizationModule.cs
 System.Web.Security/FormsAuthentication.cs
-System.Web.Security/FormsAuthenticationEventArgs.cs
-System.Web.Security/FormsAuthenticationEventHandler.cs
+../../../external/referencesource/System.Web/Security/FormsAuthenticationEventArgs.cs
+../../../external/referencesource/System.Web/Security/FormsAuthenticationEventHandler.cs
 System.Web.Security/FormsAuthenticationModule.cs
 System.Web.Security/FormsAuthenticationTicket.cs
 System.Web.Security/FormsIdentity.cs
 System.Web.Security/Membership.cs
 System.Web.Security/MembershipHelper.cs
-System.Web.Security/PassportAuthenticationEventArgs.cs
-System.Web.Security/PassportAuthenticationEventHandler.cs
+../../../external/referencesource/System.Web/Security/PassportAuthenticationEventArgs.cs
+../../../external/referencesource/System.Web/Security/PassportAuthenticationEventHandler.cs
 System.Web.Security/PassportAuthenticationModule.cs
 System.Web.Security/PassportIdentity.cs
-System.Web.Security/RoleManagerEventArgs.cs
-System.Web.Security/RoleManagerEventHandler.cs
+../../../external/referencesource/System.Web/Security/RoleManagerEventArgs.cs
+../../../external/referencesource/System.Web/Security/RoleManagerEventHandler.cs
 System.Web.Security/RoleManagerModule.cs
 System.Web.Security/RolePrincipal.cs
 System.Web.Security/RoleProviderCollection.cs
@@ -459,15 +458,15 @@ System.Web.Security/SqliteRoleProvider.cs
 System.Web.Security/SqlMembershipProvider.cs
 System.Web.Security/SqlRoleProvider.cs
 System.Web.Security/UrlAuthorizationModule.cs
-System.Web.Security/WindowsAuthenticationEventArgs.cs
-System.Web.Security/WindowsAuthenticationEventHandler.cs
+../../../external/referencesource/System.Web/Security/WindowsAuthenticationEventArgs.cs
+../../../external/referencesource/System.Web/Security/WindowsAuthenticationEventHandler.cs
 System.Web.Security/WindowsAuthenticationModule.cs
 System.Web/ServerVariablesCollection.cs
 System.Web.SessionState_2.0/HttpSessionStateContainer.cs
 System.Web.SessionState_2.0/HttpSessionState.cs
 System.Web.SessionState_2.0/IHttpSessionState.cs
-System.Web.SessionState_2.0/IReadOnlySessionState.cs
-System.Web.SessionState_2.0/IRequiresSessionState.cs
+../../../external/referencesource/System.Web/State/IReadOnlySessionState.cs
+../../../external/referencesource/System.Web/State/IRequiresSessionState.cs
 System.Web.SessionState_2.0/ISessionIDManager.cs
 System.Web.SessionState_2.0/ISessionStateItemCollection.cs
 System.Web.SessionState_2.0/IStateRuntime.cs
@@ -497,15 +496,15 @@ System.Web/StaticFileHandler.cs
 System.Web/StaticSiteMapProvider.cs
 System.Web/TempFileStream.cs
 System.Web/TraceContext.cs
-System.Web/TraceContextEventArgs.cs
-System.Web/TraceContextEventHandler.cs
+../../../external/referencesource/System.Web/UI/TraceContextEventArgs.cs
+../../../external/referencesource/System.Web/UI/TraceContextEventHandler.cs
 System.Web/TraceContextRecord.cs
 System.Web/TraceData.cs
 System.Web/TraceManager.cs
 System.Web/TraceMode.cs
 System.Web.UI.Adapters/ControlAdapter.cs
 System.Web.UI.Adapters/PageAdapter.cs
-System.Web.UI.Adapters/WmlPostFieldType.cs
+../../../external/referencesource/System.Web/UI/WebControls/Adapters/WmlPostFieldType.cs
 System.Web.UI/ApplicationFileParser.cs
 System.Web.UI/AttributeCollection.cs
 System.Web.UI/BaseParser.cs
@@ -525,9 +524,9 @@ System.Web.UI/CompilationMode.cs
 System.Web.UI/CompiledBindableTemplateBuilder.cs
 System.Web.UI/CompiledTemplateBuilder.cs
 System.Web.UI/ComplexPropertyEntry.cs
-System.Web.UI/ConflictOptions.cs
-System.Web.UI/ConstructorNeedsTagAttribute.cs
-System.Web.UI/ControlBuilderAttribute.cs
+../../../external/referencesource/System.Web/UI/ConflictOptions.cs
+../../../external/referencesource/System.Web/UI/ConstructorNeedsTagAttribute.cs
+../../../external/referencesource/System.Web/UI/ControlBuilderAttribute.cs
 System.Web.UI/ControlBuilder.cs
 System.Web.UI/ControlCachePolicy.cs
 System.Web.UI/ControlCollection.cs
@@ -535,20 +534,20 @@ System.Web.UI/Control.cs
 System.Web.UI/ControlSkin.cs
 System.Web.UI/ControlSkinDelegate.cs
 System.Web.UI/ControlValuePropertyAttribute.cs
-System.Web.UI/CssClassPropertyAttribute.cs
+../../../external/referencesource/System.Web/UI/CssClassPropertyAttribute.cs
 System.Web.UI/CssStyleCollection.cs
 System.Web.UI/DataBinder.cs
 System.Web.UI/DataBindingBuilder.cs
 System.Web.UI/DataBindingCollection.cs
 System.Web.UI/DataBinding.cs
-System.Web.UI/DataBindingHandlerAttribute.cs
+../../../external/referencesource/System.Web/UI/DataBindingHandlerAttribute.cs
 System.Web.UI/DataBoundLiteralControl.cs
 System.Web.UI/DataSourceCacheDurationConverter.cs
-System.Web.UI/DataSourceCacheExpiry.cs
-System.Web.UI/DataSourceCapabilities.cs
+../../../external/referencesource/System.Web/UI/DataSourceCacheExpiry.cs
+../../../external/referencesource/System.Web/UI/DataSourceCapabilities.cs
 System.Web.UI/DataSourceControl.cs
 System.Web.UI/DataSourceControlBuilder.cs
-System.Web.UI/DataSourceOperation.cs
+../../../external/referencesource/System.Web/UI/DataSourceOperation.cs
 System.Web.UI/DataSourceSelectArguments.cs
 System.Web.UI/DataSourceView.cs
 System.Web.UI/DataSourceViewOperationCallback.cs
@@ -562,9 +561,9 @@ System.Web.UI/ExpressionBindingCollection.cs
 System.Web.UI/ExpressionBinding.cs
 System.Web.UI/ExtractTemplateValuesMethod.cs
 System.Web.UI/FileLevelUserControlBuilder.cs
-System.Web.UI/FileLevelControlBuilderAttribute.cs
+../../../external/referencesource/System.Web/UI/FileLevelControlBuilderAttribute.cs
 System.Web.UI/FileLevelPageControlBuilder.cs
-System.Web.UI/FilterableAttribute.cs
+../../../external/referencesource/System.Web/UI/FilterableAttribute.cs
 System.Web.UI/HiddenFieldPageStatePersister.cs
 System.Web.UI/HierarchicalDataSourceControl.cs
 System.Web.UI/HierarchicalDataSourceView.cs
@@ -603,52 +602,54 @@ System.Web.UI.HtmlControls/HtmlTableRowCollection.cs
 System.Web.UI.HtmlControls/HtmlTableRow.cs
 System.Web.UI.HtmlControls/HtmlTextArea.cs
 System.Web.UI.HtmlControls/HtmlTitle.cs
-System.Web.UI/HtmlTextWriterAttribute.cs
+../../../external/referencesource/System.Web/UI/HtmlTextWriterAttribute.cs
 System.Web.UI/HtmlTextWriter.cs
-System.Web.UI/HtmlTextWriterStyle.cs
-System.Web.UI/HtmlTextWriterTag.cs
-System.Web.UI/IAttributeAccessor.cs
-System.Web.UI/IAutoFieldGenerator.cs
-System.Web.UI/IBindableControl.cs
-System.Web.UI/IBindableTemplate.cs
-System.Web.UI/ICallbackEventHandler.cs
+../../../external/referencesource/System.Web/UI/HtmlTextWriterStyle.cs
+../../../external/referencesource/System.Web/UI/HtmlTextWriterTag.cs
+../../../external/referencesource/System.Web/UI/IAttributeAccessor.cs
+../../../external/referencesource/System.Web/UI/IAutoFieldGenerator.cs
+../../../external/referencesource/System.Web/UI/IBindableControl.cs
+../../../external/referencesource/System.Web/UI/IBindableTemplate.cs
+../../../external/referencesource/System.Web/UI/ICallbackEventHandler.cs
 System.Web.UI/ICheckBoxControl.cs
-System.Web.UI/IControlBuilderAccessor.cs
-System.Web.UI/IControlDesignerAccessor.cs
-System.Web.UI/IDataBindingsAccessor.cs
-System.Web.UI/IDataItemContainer.cs
-System.Web.UI/IDataSource.cs
-System.Web.UI/IDataSourceViewSchemaAccessor.cs
-System.Web.UI/IDReferencePropertyAttribute.cs
+../../../external/referencesource/System.Web/UI/IControlBuilderAccessor.cs
+../../../external/referencesource/System.Web/UI/IControlDesignerAccessor.cs
+../../../external/referencesource/System.Web/UI/IDataBindingsAccessor.cs
+../../../external/referencesource/System.Web/UI/IDataItemContainer.cs
+../../../external/referencesource/System.Web/UI/IDataSource.cs
+../../../external/referencesource/System.Web/UI/IDataSourceViewSchemaAccessor.cs
+../../../external/referencesource/System.Web/UI/IDReferencePropertyAttribute.cs
 System.Web.UI/IEditableTextControl.cs
-System.Web.UI/IExpressionsAccessor.cs
-System.Web.UI/IFilterResolutionService.cs
+../../../external/referencesource/System.Web/UI/IExpressionsAccessor.cs
+../../../external/referencesource/System.Web/UI/IFilterResolutionService.cs
 System.Web.UI/IgnoreUnknownContentAttribute.cs
-System.Web.UI/IHierarchicalDataSource.cs
-System.Web.UI/IHierarchicalEnumerable.cs
-System.Web.UI/IHierarchyData.cs
+../../../external/referencesource/System.Web/UI/IHierarchicalDataSource.cs
+../../../external/referencesource/System.Web/UI/IHierarchicalEnumerable.cs
+../../../external/referencesource/System.Web/UI/IHierarchyData.cs
 System.Web.UI/ImageClickEventArgs.cs
-System.Web.UI/ImageClickEventHandler.cs
+../../../external/referencesource/System.Web/UI/ImageClickEventHandler.cs
 System.Web.UI/IndexedString.cs
-System.Web.UI/INamingContainer.cs
-System.Web.UI/INonBindingContainer.cs
-System.Web.UI/INavigateUIData.cs
-System.Web.UI/IParserAccessor.cs
-System.Web.UI/IPostBackDataHandler.cs
-System.Web.UI/IPostBackEventHandler.cs
-System.Web.UI/IResourceUrlGenerator.cs
-System.Web.UI/IStateFormatter.cs
-System.Web.UI/IStateManager.cs
+../../../external/referencesource/System.Web/UI/INamingContainer.cs
+../../../external/referencesource/System.Web/UI/INonBindingContainer.cs
+../../../external/referencesource/System.Web/UI/INavigateUIData.cs
+../../../external/referencesource/System.Web/UI/IParserAccessor.cs
+../../../external/referencesource/System.Web/UI/IPostBackDataHandler.cs
+../../../external/referencesource/System.Web/UI/IPostBackEventHandler.cs
+../../../external/referencesource/System.Web/UI/IResourceUrlGenerator.cs
+../../../external/referencesource/System.Web/UI/IStateFormatter.cs
+../../../external/referencesource/System.Web/UI/IStateManager.cs
 System.Web.UI/IScriptManager.cs
-System.Web.UI/IStyleSheet.cs
+../../../external/referencesource/System.Web/UI/IStyleSheet.cs
+../../../external/referencesource/System.Web/UI/IScriptResourceDefinition.cs
+../../../external/referencesource/System.Web/UI/IScriptResourceMapping.cs
 System.Web.UI/ITagNameToTypeMapper.cs
-System.Web.UI/ITemplate.cs
+../../../external/referencesource/System.Web/UI/ITemplate.cs
 System.Web.UI/ITextControl.cs
-System.Web.UI/IThemeResolutionService.cs
-System.Web.UI/IUrlResolutionService.cs
-System.Web.UI/IUserControlDesignerAccessor.cs
-System.Web.UI/IUserControlTypeResolutionService.cs
-System.Web.UI/IValidator.cs
+../../../external/referencesource/System.Web/UI/IThemeResolutionService.cs
+../../../external/referencesource/System.Web/UI/IUrlResolutionService.cs
+../../../external/referencesource/System.Web/UI/IUserControlDesignerAccessor.cs
+../../../external/referencesource/System.Web/UI/IUserControlTypeResolutionService.cs
+../../../external/referencesource/System.Web/UI/IValidator.cs
 System.Web.UI/ListSourceHelper.cs
 System.Web.UI/LiteralControl.cs
 System.Web.UI/LosFormatter.cs
@@ -657,7 +658,7 @@ System.Web.UI/MasterPage.cs
 System.Web.UI/MasterPageControlBuilder.cs
 System.Web.UI/MasterPageParser.cs
 System.Web.UI/MinimizableAttributeTypeConverter.cs
-System.Web.UI/NonVisualControlAttribute.cs
+../../../external/referencesource/System.Web/UI/NonVisualControlAttribute.cs
 System.Web.UI/ObjectConverter.cs
 System.Web.UI/ObjectPersistData.cs
 System.Web.UI/ObjectStateFormatter.cs
@@ -680,9 +681,9 @@ System.Web.UI/Pair.cs
 System.Web.UI/ParseChildrenAttribute.cs
 System.Web.UI/PartialCachingAttribute.cs
 System.Web.UI/PartialCachingControl.cs
-System.Web.UI/PersistChildrenAttribute.cs
+../../../external/referencesource/System.Web/UI/PersistChildrenAttribute.cs
 System.Web.UI/PersistenceModeAttribute.cs
-System.Web.UI/PersistenceMode.cs
+../../../external/referencesource/System.Web/UI/PersistenceMode.cs
 System.Web.UI/PostBackOptions.cs
 System.Web.UI/PropertyConverter.cs
 System.Web.UI/PropertyEntry.cs
@@ -700,18 +701,18 @@ System.Web.UI/StateItem.cs
 System.Web.UI/StateManagedCollection.cs
 System.Web.UI/StaticPartialCachingControl.cs
 System.Web.UI/StringPropertyBuilder.cs
-System.Web.UI/SupportsEventValidationAttribute.cs
+../../../external/referencesource/System.Web/UI/SupportsEventValidationAttribute.cs
 System.Web.UI/TagPrefixAttribute.cs
 System.Web.UI/TemplateBuilder.cs
 System.Web.UI/TemplateContainerAttribute.cs
 System.Web.UI/TemplateContentType.cs
 System.Web.UI/TemplateControl.cs
 System.Web.UI/TemplateControlParser.cs
-System.Web.UI/TemplateInstance.cs
-System.Web.UI/TemplateInstanceAttribute.cs
+../../../external/referencesource/System.Web/UI/TemplateInstance.cs
+../../../external/referencesource/System.Web/UI/TemplateInstanceAttribute.cs
 System.Web.UI/TemplateParser.cs
 System.Web.UI/TemplatePropertyEntry.cs
-System.Web.UI/ThemeableAttribute.cs
+../../../external/referencesource/System.Web/UI/ThemeableAttribute.cs
 System.Web.UI/ThemeProvider.cs
 System.Web.UI/ToolboxDataAttribute.cs
 System.Web.UI/Triplet.cs
@@ -727,7 +728,7 @@ System.Web.UI/VerificationAttribute.cs
 System.Web.UI/VerificationConditionalOperator.cs
 System.Web.UI/VerificationReportLevel.cs
 System.Web.UI/VerificationRule.cs
-System.Web.UI/ViewStateEncryptionMode.cs
+../../../external/referencesource/System.Web/UI/ViewStateEncryptionMode.cs
 System.Web.UI/ViewStateException.cs
 System.Web.UI/ViewStateModeByIdAttribute.cs
 System.Web.UI/VirtualReferenceType.cs
@@ -739,12 +740,12 @@ System.Web.UI.WebControls.Adapters/WebControlAdapter.cs
 System.Web.UI.WebControls/AccessDataSource.cs
 System.Web.UI.WebControls/AccessDataSourceView.cs
 System.Web.UI.WebControls/AdCreatedEventArgs.cs
-System.Web.UI.WebControls/AdCreatedEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/AdCreatedEventHandler.cs
 System.Web.UI.WebControls/AdRotator.cs
 System.Web.UI.WebControls/AssociatedControlConverter.cs
-System.Web.UI.WebControls/AuthenticateEventArgs.cs
-System.Web.UI.WebControls/AuthenticateEventHandler.cs
-System.Web.UI.WebControls/AutoCompleteType.cs
+../../../external/referencesource/System.Web/UI/WebControls/AuthenticateEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/AuthenticateEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/AutoCompleteType.cs
 System.Web.UI.WebControls/AutoGeneratedField.cs
 System.Web.UI.WebControls/AutoGeneratedFieldProperties.cs
 System.Web.UI.WebControls/BaseCompareValidator.cs
@@ -752,23 +753,23 @@ System.Web.UI.WebControls/BaseDataBoundControl.cs
 System.Web.UI.WebControls/BaseDataList.cs
 System.Web.UI.WebControls/BaseMenuRenderer.cs
 System.Web.UI.WebControls/BaseValidator.cs
-System.Web.UI.WebControls/BorderStyle.cs
+../../../external/referencesource/System.Web/UI/WebControls/BorderStyle.cs
 System.Web.UI.WebControls/BoundColumn.cs
 System.Web.UI.WebControls/BoundField.cs
 System.Web.UI.WebControls/BulletedList.cs
 System.Web.UI.WebControls/BulletedListDisplayMode.cs
-System.Web.UI.WebControls/BulletedListEventArgs.cs
-System.Web.UI.WebControls/BulletedListEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/BulletedListEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/BulletedListEventHandler.cs
 System.Web.UI.WebControls/BulletStyle.cs
 System.Web.UI.WebControls/ButtonColumn.cs
-System.Web.UI.WebControls/ButtonColumnType.cs
+../../../external/referencesource/System.Web/UI/WebControls/ButtonColumnType.cs
 System.Web.UI.WebControls/Button.cs
 System.Web.UI.WebControls/ButtonFieldBase.cs
 System.Web.UI.WebControls/ButtonField.cs
-System.Web.UI.WebControls/ButtonType.cs
+../../../external/referencesource/System.Web/UI/WebControls/ButtonType.cs
 System.Web.UI.WebControls/Calendar.cs
 System.Web.UI.WebControls/CalendarDay.cs
-System.Web.UI.WebControls/CalendarSelectionMode.cs
+../../../external/referencesource/System.Web/UI/WebControls/CalendarSelectionMode.cs
 System.Web.UI.WebControls/ChangePassword.cs
 System.Web.UI.WebControls/CheckBox.cs
 System.Web.UI.WebControls/CheckBoxField.cs
@@ -776,8 +777,8 @@ System.Web.UI.WebControls/CheckBoxList.cs
 System.Web.UI.WebControls/ChildTable.cs
 System.Web.UI.WebControls/CircleHotSpot.cs
 System.Web.UI.WebControls/CollectionDataSource.cs
-System.Web.UI.WebControls/CommandEventArgs.cs
-System.Web.UI.WebControls/CommandEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/CommandEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/CommandEventHandler.cs
 System.Web.UI.WebControls/CommandField.cs
 System.Web.UI.WebControls/CompareValidator.cs
 System.Web.UI.WebControls/CompleteWizardStep.cs
@@ -786,165 +787,165 @@ System.Web.UI.WebControls/CompositeDataBoundControl.cs
 System.Web.UI.WebControls/ContainedTable.cs
 System.Web.UI.WebControls/ContentControlBuilderInternal.cs
 System.Web.UI.WebControls/Content.cs
-System.Web.UI.WebControls/ContentDirection.cs
+../../../external/referencesource/System.Web/UI/WebControls/ContentDirection.cs
 System.Web.UI.WebControls/ContentPlaceHolderBuilder.cs
 System.Web.UI.WebControls/ContentPlaceHolder.cs
 System.Web.UI.WebControls/ControlIDConverter.cs
 System.Web.UI.WebControls/ControlParameter.cs
 System.Web.UI.WebControls/ControlPropertyNameConverter.cs
 System.Web.UI.WebControls/CookieParameter.cs
-System.Web.UI.WebControls/CreateUserErrorEventArgs.cs
-System.Web.UI.WebControls/CreateUserErrorEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/CreateUserErrorEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/CreateUserErrorEventHandler.cs
 System.Web.UI.WebControls/CreateUserWizard.cs
 System.Web.UI.WebControls/CreateUserWizardStep.cs
 System.Web.UI.WebControls/CustomValidator.cs
 System.Web.UI.WebControls/DataBoundControl.cs
-System.Web.UI.WebControls/DataBoundControlMode.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataBoundControlMode.cs
 System.Web.UI.WebControls/DataControlButton.cs
-System.Web.UI.WebControls/DataControlCellType.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataControlCellType.cs
 System.Web.UI.WebControls/DataControlCommands.cs
 System.Web.UI.WebControls/DataControlFieldCell.cs
 System.Web.UI.WebControls/DataControlFieldCollection.cs
 System.Web.UI.WebControls/DataControlField.cs
 System.Web.UI.WebControls/DataControlFieldHeaderCell.cs
-System.Web.UI.WebControls/DataControlRowState.cs
-System.Web.UI.WebControls/DataControlRowType.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataControlRowState.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataControlRowType.cs
 System.Web.UI.WebControls/DataGridColumnCollection.cs
 System.Web.UI.WebControls/DataGridColumn.cs
-System.Web.UI.WebControls/DataGridCommandEventArgs.cs
-System.Web.UI.WebControls/DataGridCommandEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataGridCommandEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataGridCommandEventHandler.cs
 System.Web.UI.WebControls/DataGrid.cs
 System.Web.UI.WebControls/DataGridItemCollection.cs
 System.Web.UI.WebControls/DataGridItem.cs
-System.Web.UI.WebControls/DataGridItemEventArgs.cs
-System.Web.UI.WebControls/DataGridItemEventHandler.cs
-System.Web.UI.WebControls/DataGridPageChangedEventArgs.cs
-System.Web.UI.WebControls/DataGridPageChangedEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataGridItemEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataGridItemEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataGridPageChangedEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataGridPageChangedEventHandler.cs
 System.Web.UI.WebControls/DataGridPagerStyle.cs
-System.Web.UI.WebControls/DataGridSortCommandEventArgs.cs
-System.Web.UI.WebControls/DataGridSortCommandEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataGridSortCommandEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataGridSortCommandEventHandler.cs
 System.Web.UI.WebControls/DataKeyArray.cs
 System.Web.UI.WebControls/DataKeyCollection.cs
 System.Web.UI.WebControls/DataKey.cs
-System.Web.UI.WebControls/DataListCommandEventArgs.cs
-System.Web.UI.WebControls/DataListCommandEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataListCommandEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataListCommandEventHandler.cs
 System.Web.UI.WebControls/DataList.cs
 System.Web.UI.WebControls/DataListItemCollection.cs
 System.Web.UI.WebControls/DataListItem.cs
-System.Web.UI.WebControls/DataListItemEventArgs.cs
-System.Web.UI.WebControls/DataListItemEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataListItemEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/DataListItemEventHandler.cs
 System.Web.UI.WebControls/DataSourceCacheManager.cs
-System.Web.UI.WebControls/DayNameFormat.cs
+../../../external/referencesource/System.Web/UI/WebControls/DayNameFormat.cs
 System.Web.UI.WebControls/DayRenderEventArgs.cs
-System.Web.UI.WebControls/DayRenderEventHandler.cs
-System.Web.UI.WebControls/DetailsViewCommandEventArgs.cs
-System.Web.UI.WebControls/DetailsViewCommandEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DayRenderEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DetailsViewCommandEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/DetailsViewCommandEventHandler.cs
 System.Web.UI.WebControls/DetailsView.cs
 System.Web.UI.WebControls/DetailsViewDeletedEventArgs.cs
-System.Web.UI.WebControls/DetailsViewDeletedEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DetailsViewDeletedEventHandler.cs
 System.Web.UI.WebControls/DetailsViewDeleteEventArgs.cs
-System.Web.UI.WebControls/DetailsViewDeleteEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DetailsViewDeleteEventHandler.cs
 System.Web.UI.WebControls/DetailsViewInsertedEventArgs.cs
-System.Web.UI.WebControls/DetailsViewInsertedEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DetailsViewInsertedEventHandler.cs
 System.Web.UI.WebControls/DetailsViewInsertEventArgs.cs
-System.Web.UI.WebControls/DetailsViewInsertEventHandler.cs
-System.Web.UI.WebControls/DetailsViewMode.cs
-System.Web.UI.WebControls/DetailsViewModeEventArgs.cs
-System.Web.UI.WebControls/DetailsViewModeEventHandler.cs
-System.Web.UI.WebControls/DetailsViewPageEventArgs.cs
-System.Web.UI.WebControls/DetailsViewPageEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DetailsViewInsertEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DetailsViewMode.cs
+../../../external/referencesource/System.Web/UI/WebControls/DetailsViewModeEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/DetailsViewModeEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DetailsViewPageEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/DetailsViewPageEventHandler.cs
 System.Web.UI.WebControls/DetailsViewPagerRow.cs
 System.Web.UI.WebControls/DetailsViewRowCollection.cs
 System.Web.UI.WebControls/DetailsViewRow.cs
 System.Web.UI.WebControls/DetailsViewUpdatedEventArgs.cs
-System.Web.UI.WebControls/DetailsViewUpdatedEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DetailsViewUpdatedEventHandler.cs
 System.Web.UI.WebControls/DetailsViewUpdateEventArgs.cs
-System.Web.UI.WebControls/DetailsViewUpdateEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/DetailsViewUpdateEventHandler.cs
 System.Web.UI.WebControls/DropDownList.cs
 System.Web.UI.WebControls/EditCommandColumn.cs
 System.Web.UI.WebControls/EmbeddedMailObject.cs
 System.Web.UI.WebControls/EmbeddedMailObjectsCollection.cs
 System.Web.UI.WebControls/FileUpload.cs
-System.Web.UI.WebControls/FirstDayOfWeek.cs
+../../../external/referencesource/System.Web/UI/WebControls/FirstDayOfWeek.cs
 System.Web.UI.WebControls/FontInfo.cs
 System.Web.UI.WebControls/FontNamesConverter.cs
-System.Web.UI.WebControls/FontSize.cs
+../../../external/referencesource/System.Web/UI/WebControls/FontSize.cs
 System.Web.UI.WebControls/FontUnitConverter.cs
 System.Web.UI.WebControls/FontUnit.cs
 System.Web.UI.WebControls/FormParameter.cs
 System.Web.UI.WebControls/FormViewCommandEventArgs.cs
-System.Web.UI.WebControls/FormViewCommandEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/FormViewCommandEventHandler.cs
 System.Web.UI.WebControls/FormView.cs
 System.Web.UI.WebControls/FormViewDeletedEventArgs.cs
-System.Web.UI.WebControls/FormViewDeletedEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/FormViewDeletedEventHandler.cs
 System.Web.UI.WebControls/FormViewDeleteEventArgs.cs
-System.Web.UI.WebControls/FormViewDeleteEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/FormViewDeleteEventHandler.cs
 System.Web.UI.WebControls/FormViewInsertedEventArgs.cs
-System.Web.UI.WebControls/FormViewInsertedEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/FormViewInsertedEventHandler.cs
 System.Web.UI.WebControls/FormViewInsertEventArgs.cs
-System.Web.UI.WebControls/FormViewInsertEventHandler.cs
-System.Web.UI.WebControls/FormViewMode.cs
-System.Web.UI.WebControls/FormViewModeEventArgs.cs
-System.Web.UI.WebControls/FormViewModeEventHandler.cs
-System.Web.UI.WebControls/FormViewPageEventArgs.cs
-System.Web.UI.WebControls/FormViewPageEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/FormViewInsertEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/FormViewMode.cs
+../../../external/referencesource/System.Web/UI/WebControls/FormViewModeEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/FormViewModeEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/FormViewPageEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/FormViewPageEventHandler.cs
 System.Web.UI.WebControls/FormViewRow.cs
 System.Web.UI.WebControls/FormViewPagerRow.cs
 System.Web.UI.WebControls/FormViewUpdatedEventArgs.cs
-System.Web.UI.WebControls/FormViewUpdatedEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/FormViewUpdatedEventHandler.cs
 System.Web.UI.WebControls/FormViewUpdateEventArgs.cs
-System.Web.UI.WebControls/FormViewUpdateEventHandler.cs
-System.Web.UI.WebControls/GridLines.cs
-System.Web.UI.WebControls/GridViewCancelEditEventArgs.cs
-System.Web.UI.WebControls/GridViewCancelEditEventHandler.cs
-System.Web.UI.WebControls/GridViewCommandEventArgs.cs
-System.Web.UI.WebControls/GridViewCommandEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/FormViewUpdateEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridLines.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewCancelEditEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewCancelEditEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewCommandEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewCommandEventHandler.cs
 System.Web.UI.WebControls/GridView.cs
 System.Web.UI.WebControls/GridViewDeletedEventArgs.cs
-System.Web.UI.WebControls/GridViewDeletedEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewDeletedEventHandler.cs
 System.Web.UI.WebControls/GridViewDeleteEventArgs.cs
-System.Web.UI.WebControls/GridViewDeleteEventHandler.cs
-System.Web.UI.WebControls/GridViewEditEventArgs.cs
-System.Web.UI.WebControls/GridViewEditEventHandler.cs
-System.Web.UI.WebControls/GridViewPageEventArgs.cs
-System.Web.UI.WebControls/GridViewPageEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewDeleteEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewEditEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewEditEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewPageEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewPageEventHandler.cs
 System.Web.UI.WebControls/GridViewRowCollection.cs
 System.Web.UI.WebControls/GridViewRow.cs
-System.Web.UI.WebControls/GridViewRowEventArgs.cs
-System.Web.UI.WebControls/GridViewRowEventHandler.cs
-System.Web.UI.WebControls/GridViewSelectEventArgs.cs
-System.Web.UI.WebControls/GridViewSelectEventHandler.cs
-System.Web.UI.WebControls/GridViewSortEventArgs.cs
-System.Web.UI.WebControls/GridViewSortEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewRowEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewRowEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewSelectEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewSelectEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewSortEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewSortEventHandler.cs
 System.Web.UI.WebControls/GridViewUpdatedEventArgs.cs
-System.Web.UI.WebControls/GridViewUpdatedEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewUpdatedEventHandler.cs
 System.Web.UI.WebControls/GridViewUpdateEventArgs.cs
-System.Web.UI.WebControls/GridViewUpdateEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/GridViewUpdateEventHandler.cs
 System.Web.UI.WebControls/HiddenField.cs
 System.Web.UI.WebControls/HierarchicalDataBoundControl.cs
 System.Web.UI.WebControls/HorizontalAlignConverter.cs
-System.Web.UI.WebControls/HorizontalAlign.cs
+../../../external/referencesource/System.Web/UI/WebControls/HorizontalAlign.cs
 System.Web.UI.WebControls/HotSpotCollection.cs
 System.Web.UI.WebControls/HotSpot.cs
-System.Web.UI.WebControls/HotSpotMode.cs
+../../../external/referencesource/System.Web/UI/WebControls/HotSpotMode.cs
 System.Web.UI.WebControls/HyperLinkColumn.cs
 System.Web.UI.WebControls/HyperLinkControlBuilder.cs
 System.Web.UI.WebControls/HyperLink.cs
 System.Web.UI.WebControls/HyperLinkField.cs
-System.Web.UI.WebControls/IButtonControl.cs
-System.Web.UI.WebControls/ICallbackContainer.cs
-System.Web.UI.WebControls/ICompositeControlDesignerAccessor.cs
-System.Web.UI.WebControls/ImageAlign.cs
+../../../external/referencesource/System.Web/UI/WebControls/IButtonControl.cs
+../../../external/referencesource/System.Web/UI/WebControls/ICallbackContainer.cs
+../../../external/referencesource/System.Web/UI/WebControls/ICompositeControlDesignerAccessor.cs
+../../../external/referencesource/System.Web/UI/WebControls/ImageAlign.cs
 System.Web.UI.WebControls/ImageButton.cs
 System.Web.UI.WebControls/Image.cs
 System.Web.UI.WebControls/ImageField.cs
 System.Web.UI.WebControls/ImageMap.cs
-System.Web.UI.WebControls/ImageMapEventArgs.cs
-System.Web.UI.WebControls/ImageMapEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/ImageMapEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/ImageMapEventHandler.cs
 System.Web.UI.WebControls/IMenuRenderer.cs
-System.Web.UI.WebControls/IPersistedSelector.cs
+../../../external/referencesource/System.Web/UI/WebControls/IPersistedSelector.cs
 System.Web.UI.WebControls/IPostBackContainer.cs
-System.Web.UI.WebControls/IRepeatInfoUser.cs
+../../../external/referencesource/System.Web/UI/WebControls/IRepeatInfoUser.cs
 System.Web.UI.WebControls/LabelControlBuilder.cs
 System.Web.UI.WebControls/Label.cs
 System.Web.UI.WebControls/LinkButtonControlBuilder.cs
@@ -954,27 +955,27 @@ System.Web.UI.WebControls/ListControl.cs
 System.Web.UI.WebControls/ListItemCollection.cs
 System.Web.UI.WebControls/ListItemControlBuilder.cs
 System.Web.UI.WebControls/ListItem.cs
-System.Web.UI.WebControls/ListItemType.cs
-System.Web.UI.WebControls/ListSelectionMode.cs
+../../../external/referencesource/System.Web/UI/WebControls/ListItemType.cs
+../../../external/referencesource/System.Web/UI/WebControls/ListSelectionMode.cs
 System.Web.UI.WebControls/LiteralControlBuilder.cs
 System.Web.UI.WebControls/Literal.cs
-System.Web.UI.WebControls/LiteralMode.cs
+../../../external/referencesource/System.Web/UI/WebControls/LiteralMode.cs
 System.Web.UI.WebControls/Localize.cs
 System.Web.UI.WebControls/Login.cs
-System.Web.UI.WebControls/LoginCancelEventArgs.cs
-System.Web.UI.WebControls/LoginCancelEventHandler.cs
-System.Web.UI.WebControls/LoginFailureAction.cs
+../../../external/referencesource/System.Web/UI/WebControls/LoginCancelEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/LoginCancelEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/LoginFailureAction.cs
 System.Web.UI.WebControls/LoginName.cs
 System.Web.UI.WebControls/LoginStatus.cs
 System.Web.UI.WebControls/LoginTextLayout.cs
 System.Web.UI.WebControls/LoginView.cs
-System.Web.UI.WebControls/LogoutAction.cs
+../../../external/referencesource/System.Web/UI/WebControls/LogoutAction.cs
 System.Web.UI.WebControls/MailDefinition.cs
-System.Web.UI.WebControls/MailMessageEventArgs.cs
-System.Web.UI.WebControls/MailMessageEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/MailMessageEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/MailMessageEventHandler.cs
 System.Web.UI.WebControls/Menu.cs
-System.Web.UI.WebControls/MenuEventArgs.cs
-System.Web.UI.WebControls/MenuEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/MenuEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/MenuEventHandler.cs
 System.Web.UI.WebControls/MenuItemBindingCollection.cs
 System.Web.UI.WebControls/MenuItemBinding.cs
 System.Web.UI.WebControls/MenuItemCollection.cs
@@ -983,37 +984,37 @@ System.Web.UI.WebControls/MenuItemStyleCollection.cs
 System.Web.UI.WebControls/MenuItemStyle.cs
 System.Web.UI.WebControls/MenuItemTemplateContainer.cs
 System.Web.UI.WebControls/MenuTableRenderer.cs
-System.Web.UI.WebControls/MonthChangedEventArgs.cs
-System.Web.UI.WebControls/MonthChangedEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/MonthChangedEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/MonthChangedEventHandler.cs
 System.Web.UI.WebControls/MultiView.cs
 System.Web.UI.WebControls/MultiViewControlBuilder.cs
-System.Web.UI.WebControls/NextPrevFormat.cs
+../../../external/referencesource/System.Web/UI/WebControls/NextPrevFormat.cs
 System.Web.UI.WebControls/ObjectDataSource.cs
-System.Web.UI.WebControls/ObjectDataSourceDisposingEventArgs.cs
-System.Web.UI.WebControls/ObjectDataSourceDisposingEventHandler.cs
-System.Web.UI.WebControls/ObjectDataSourceEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/ObjectDataSourceDisposingEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/ObjectDataSourceDisposingEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/ObjectDataSourceEventArgs.cs
 System.Web.UI.WebControls/ObjectDataSourceEventHandler.cs
-System.Web.UI.WebControls/ObjectDataSourceFilteringEventArgs.cs
-System.Web.UI.WebControls/ObjectDataSourceFilteringEventHandler.cs
-System.Web.UI.WebControls/ObjectDataSourceMethodEventArgs.cs
-System.Web.UI.WebControls/ObjectDataSourceMethodEventHandler.cs
-System.Web.UI.WebControls/ObjectDataSourceSelectingEventArgs.cs
-System.Web.UI.WebControls/ObjectDataSourceSelectingEventHandler.cs
-System.Web.UI.WebControls/ObjectDataSourceStatusEventArgs.cs
-System.Web.UI.WebControls/ObjectDataSourceStatusEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/ObjectDataSourceFilteringEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/ObjectDataSourceFilteringEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/ObjectDataSourceMethodEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/ObjectDataSourceMethodEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/ObjectDataSourceSelectingEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/ObjectDataSourceSelectingEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/ObjectDataSourceStatusEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/ObjectDataSourceStatusEventHandler.cs
 System.Web.UI.WebControls/ObjectDataSourceView.cs
-System.Web.UI.WebControls/Orientation.cs
+../../../external/referencesource/System.Web/UI/WebControls/Orientation.cs
 System.Web.UI.WebControls/PagedDataSource.cs
-System.Web.UI.WebControls/PagerButtons.cs
-System.Web.UI.WebControls/PagerMode.cs
-System.Web.UI.WebControls/PagerPosition.cs
+../../../external/referencesource/System.Web/UI/WebControls/PagerButtons.cs
+../../../external/referencesource/System.Web/UI/WebControls/PagerMode.cs
+../../../external/referencesource/System.Web/UI/WebControls/PagerPosition.cs
 System.Web.UI.WebControls/PagerSettings.cs
 System.Web.UI.WebControls/Panel.cs
 System.Web.UI.WebControls/PanelStyle.cs
 System.Web.UI.WebControls/ParameterCollection.cs
 System.Web.UI.WebControls/Parameter.cs
 System.Web.UI.WebControls/PasswordRecovery.cs
-System.Web.UI.WebControls/PathDirection.cs
+../../../external/referencesource/System.Web/UI/WebControls/PathDirection.cs
 System.Web.UI.WebControls/PlaceHolderControlBuilder.cs
 System.Web.UI.WebControls/PlaceHolder.cs
 System.Web.UI.WebControls/PolygonHotSpot.cs
@@ -1024,55 +1025,55 @@ System.Web.UI.WebControls/RadioButtonList.cs
 System.Web.UI.WebControls/RangeValidator.cs
 System.Web.UI.WebControls/RectangleHotSpot.cs
 System.Web.UI.WebControls/RegularExpressionValidator.cs
-System.Web.UI.WebControls/RepeatDirection.cs
-System.Web.UI.WebControls/RepeaterCommandEventArgs.cs
-System.Web.UI.WebControls/RepeaterCommandEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/RepeatDirection.cs
+../../../external/referencesource/System.Web/UI/WebControls/RepeaterCommandEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/RepeaterCommandEventHandler.cs
 System.Web.UI.WebControls/Repeater.cs
 System.Web.UI.WebControls/RepeaterItemCollection.cs
 System.Web.UI.WebControls/RepeaterItem.cs
-System.Web.UI.WebControls/RepeaterItemEventArgs.cs
-System.Web.UI.WebControls/RepeaterItemEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/RepeaterItemEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/RepeaterItemEventHandler.cs
 System.Web.UI.WebControls/RepeatInfo.cs
-System.Web.UI.WebControls/RepeatLayout.cs
+../../../external/referencesource/System.Web/UI/WebControls/RepeatLayout.cs
 System.Web.UI.WebControls/RequiredFieldValidator.cs
 System.Web.UI.WebControls/RoleGroup.cs
 System.Web.UI.WebControls/RoleGroupCollection.cs
 System.Web.UI.WebControls/ScrollBars.cs
 System.Web.UI.WebControls/SelectedDatesCollection.cs
 System.Web.UI.WebControls/SendMailErrorEventArgs.cs
-System.Web.UI.WebControls/SendMailErrorEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/SendMailErrorEventHandler.cs
 System.Web.UI.WebControls/ServerValidateEventArgs.cs
-System.Web.UI.WebControls/ServerValidateEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/ServerValidateEventHandler.cs
 System.Web.UI.WebControls/SessionParameter.cs
 System.Web.UI.WebControls/SiteMapDataSource.cs
 System.Web.UI.WebControls/SiteMapDataSourceView.cs
 System.Web.UI.WebControls/SiteMapHierarchicalDataSourceView.cs
 System.Web.UI.WebControls/SiteMapNodeItem.cs
-System.Web.UI.WebControls/SiteMapNodeItemEventArgs.cs
-System.Web.UI.WebControls/SiteMapNodeItemEventHandler.cs
-System.Web.UI.WebControls/SiteMapNodeItemType.cs
+../../../external/referencesource/System.Web/UI/WebControls/SiteMapNodeItemEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/SiteMapNodeItemEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/SiteMapNodeItemType.cs
 System.Web.UI.WebControls/SiteMapPath.cs
 System.Web.UI.WebControls/SiteMapViewType.cs
-System.Web.UI.WebControls/SortDirection.cs
+../../../external/referencesource/System.Web/UI/WebControls/SortDirection.cs
 System.Web.UI.WebControls/StyleCollection.cs
-System.Web.UI.WebControls/SqlDataSourceCommandEventArgs.cs
-System.Web.UI.WebControls/SqlDataSourceCommandEventHandler.cs
-System.Web.UI.WebControls/SqlDataSourceCommandType.cs
-System.Web.UI.WebControls/SqlDataSourceFilteringEventHandler.cs
-System.Web.UI.WebControls/SqlDataSourceFilteringEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/SqlDataSourceCommandEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/SqlDataSourceCommandEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/SqlDataSourceCommandType.cs
+../../../external/referencesource/System.Web/UI/WebControls/SqlDataSourceFilteringEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/SqlDataSourceFilteringEventArgs.cs
 System.Web.UI.WebControls/SqlDataSource.cs
-System.Web.UI.WebControls/SqlDataSourceMode.cs
-System.Web.UI.WebControls/SqlDataSourceSelectingEventHandler.cs
-System.Web.UI.WebControls/SqlDataSourceSelectingEventArgs.cs
-System.Web.UI.WebControls/SqlDataSourceStatusEventArgs.cs
-System.Web.UI.WebControls/SqlDataSourceStatusEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/SqlDataSourceMode.cs
+../../../external/referencesource/System.Web/UI/WebControls/SqlDataSourceSelectingEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/SqlDataSourceSelectingEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/SqlDataSourceStatusEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/SqlDataSourceStatusEventHandler.cs
 System.Web.UI.WebControls/SqlDataSourceView.cs
 System.Web.UI.WebControls/StringArrayConverter.cs
 System.Web.UI.WebControls/Style.cs
 System.Web.UI.WebControls/SubMenuStyleCollection.cs
 System.Web.UI.WebControls/SubMenuStyle.cs
 System.Web.UI.WebControls/Substitution.cs
-System.Web.UI.WebControls/TableCaptionAlign.cs
+../../../external/referencesource/System.Web/UI/WebControls/TableCaptionAlign.cs
 System.Web.UI.WebControls/TableCellCollection.cs
 System.Web.UI.WebControls/TableCellControlBuilder.cs
 System.Web.UI.WebControls/TableCell.cs
@@ -1080,45 +1081,45 @@ System.Web.UI.WebControls/Table.cs
 System.Web.UI.WebControls/TableFooterRow.cs
 System.Web.UI.WebControls/TableHeaderCell.cs
 System.Web.UI.WebControls/TableHeaderRow.cs
-System.Web.UI.WebControls/TableHeaderScope.cs
+../../../external/referencesource/System.Web/UI/WebControls/TableHeaderScope.cs
 System.Web.UI.WebControls/TableItemStyle.cs
 System.Web.UI.WebControls/TableRowCollection.cs
 System.Web.UI.WebControls/TableRow.cs
-System.Web.UI.WebControls/TableRowSection.cs
+../../../external/referencesource/System.Web/UI/WebControls/TableRowSection.cs
 System.Web.UI.WebControls/TableSectionStyle.cs
 System.Web.UI.WebControls/TableStyle.cs
 System.Web.UI.WebControls/TargetConverter.cs
 System.Web.UI.WebControls/TemplateColumn.cs
 System.Web.UI.WebControls/TemplatedWizardStep.cs
 System.Web.UI.WebControls/TemplateField.cs
-System.Web.UI.WebControls/TextAlign.cs
+../../../external/referencesource/System.Web/UI/WebControls/TextAlign.cs
 System.Web.UI.WebControls/TextBoxControlBuilder.cs
 System.Web.UI.WebControls/TextBox.cs
-System.Web.UI.WebControls/TextBoxMode.cs
-System.Web.UI.WebControls/TitleFormat.cs
+../../../external/referencesource/System.Web/UI/WebControls/TextBoxMode.cs
+../../../external/referencesource/System.Web/UI/WebControls/TitleFormat.cs
 System.Web.UI.WebControls/TreeNodeBindingCollection.cs
 System.Web.UI.WebControls/TreeNodeBinding.cs
 System.Web.UI.WebControls/TreeNodeCollection.cs
 System.Web.UI.WebControls/TreeNode.cs
-System.Web.UI.WebControls/TreeNodeEventArgs.cs
-System.Web.UI.WebControls/TreeNodeEventHandler.cs
-System.Web.UI.WebControls/TreeNodeSelectAction.cs
+../../../external/referencesource/System.Web/UI/WebControls/TreeNodeEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/TreeNodeEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/TreeNodeSelectAction.cs
 System.Web.UI.WebControls/TreeNodeStyleCollection.cs
 System.Web.UI.WebControls/TreeNodeStyle.cs
 System.Web.UI.WebControls/TreeNodeTypes.cs
 System.Web.UI.WebControls/TreeView.cs
-System.Web.UI.WebControls/TreeViewImageSet.cs
+../../../external/referencesource/System.Web/UI/WebControls/TreeViewImageSet.cs
 System.Web.UI.WebControls/UnitConverter.cs
 System.Web.UI.WebControls/Unit.cs
-System.Web.UI.WebControls/UnitType.cs
+../../../external/referencesource/System.Web/UI/WebControls/UnitType.cs
 System.Web.UI.WebControls/ValidatedControlConverter.cs
-System.Web.UI.WebControls/ValidationCompareOperator.cs
-System.Web.UI.WebControls/ValidationDataType.cs
+../../../external/referencesource/System.Web/UI/WebControls/ValidationCompareOperator.cs
+../../../external/referencesource/System.Web/UI/WebControls/ValidationDataType.cs
 System.Web.UI.WebControls/ValidationSummary.cs
-System.Web.UI.WebControls/ValidationSummaryDisplayMode.cs
-System.Web.UI.WebControls/ValidatorDisplay.cs
+../../../external/referencesource/System.Web/UI/WebControls/ValidationSummaryDisplayMode.cs
+../../../external/referencesource/System.Web/UI/WebControls/ValidatorDisplay.cs
 System.Web.UI.WebControls/VerticalAlignConverter.cs
-System.Web.UI.WebControls/VerticalAlign.cs
+../../../external/referencesource/System.Web/UI/WebControls/VerticalAlign.cs
 System.Web.UI.WebControls/ViewCollection.cs
 System.Web.UI.WebControls/View.cs
 System.Web.UI.WebControls/WebColorConverter.cs
@@ -1132,38 +1133,39 @@ System.Web.UI.WebControls.WebParts/ConsumerConnectionPoint.cs
 System.Web.UI.WebControls.WebParts/EditorPart.cs
 System.Web.UI.WebControls.WebParts/EditorPartCollection.cs
 System.Web.UI.WebControls.WebParts/IPersonalizable.cs
-System.Web.UI.WebControls.WebParts/ITrackingPersonalizable.cs
-System.Web.UI.WebControls.WebParts/ITransformerConfigurationControl.cs
-System.Web.UI.WebControls.WebParts/IVersioningPersonalizable.cs
-System.Web.UI.WebControls.WebParts/IWebActionable.cs
-System.Web.UI.WebControls.WebParts/IWebEditable.cs
-System.Web.UI.WebControls.WebParts/IWebPart.cs
-System.Web.UI.WebControls.WebParts/IWebPartHttpHandler.cs
-System.Web.UI.WebControls.WebParts/IWebPartField.cs
-System.Web.UI.WebControls.WebParts/IWebPartParameters.cs
-System.Web.UI.WebControls.WebParts/IWebPartRow.cs
-System.Web.UI.WebControls.WebParts/IWebPartTable.cs
+../../../external/referencesource/System.Web/UI/WebParts/ITrackingPersonalizable.cs
+../../../external/referencesource/System.Web/UI/WebParts/ITransformerConfigurationControl.cs
+../../../external/referencesource/System.Web/UI/WebParts/IVersioningPersonalizable.cs
+../../../external/referencesource/System.Web/UI/WebParts/IWebActionable.cs
+../../../external/referencesource/System.Web/UI/WebParts/IWebEditable.cs
+../../../external/referencesource/System.Web/UI/WebParts/IWebPart.cs
+../../../external/referencesource/System.Web/UI/WebParts/IWebPartHttpHandler.cs
+../../../external/referencesource/System.Web/UI/WebParts/IWebPartField.cs
+../../../external/referencesource/System.Web/UI/WebParts/IWebPartParameters.cs
+../../../external/referencesource/System.Web/UI/WebParts/IWebPartRow.cs
+../../../external/referencesource/System.Web/UI/WebParts/IWebPartTable.cs
 System.Web.UI.WebControls.WebParts/Part.cs
-System.Web.UI.WebControls.WebParts/PartChromeState.cs
-System.Web.UI.WebControls.WebParts/PartChromeType.cs
+../../../external/referencesource/System.Web/UI/WebParts/ParametersCallback.cs
+../../../external/referencesource/System.Web/UI/WebParts/PartChromeState.cs
+../../../external/referencesource/System.Web/UI/WebParts/PartChromeType.cs
 System.Web.UI.WebControls.WebParts/PersonalizableAttribute.cs
-System.Web.UI.WebControls.WebParts/PersonalizationScope.cs
+../../../external/referencesource/System.Web/UI/WebParts/PersonalizationScope.cs
 System.Web.UI.WebControls.WebParts/ProviderConnectionPoint.cs
 System.Web.UI.WebControls.WebParts/TypeCollection.cs
 System.Web.UI.WebControls.WebParts/WebPart.cs
 System.Web.UI.WebControls.WebParts/WebPartAuthorizationEventArgs.cs
-System.Web.UI.WebControls.WebParts/WebPartAuthorizationEventHandler.cs
-System.Web.UI.WebControls.WebParts/WebPartCancelEventArgs.cs
-System.Web.UI.WebControls.WebParts/WebPartCancelEventHandler.cs
-System.Web.UI.WebControls.WebParts/WebPartEventArgs.cs
-System.Web.UI.WebControls.WebParts/WebPartEventHandler.cs
-System.Web.UI.WebControls.WebParts/WebPartExportMode.cs
-System.Web.UI.WebControls.WebParts/WebPartHelpMode.cs
+../../../external/referencesource/System.Web/UI/WebParts/WebPartAuthorizationEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebParts/WebPartCancelEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebParts/WebPartCancelEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebParts/WebPartEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebParts/WebPartEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebParts/WebPartExportMode.cs
+../../../external/referencesource/System.Web/UI/WebParts/WebPartHelpMode.cs
 System.Web.UI.WebControls.WebParts/WebPartPageMenuMode.cs
 System.Web.UI.WebControls.WebParts/WebPartVerbCollection.cs
 System.Web.UI.WebControls.WebParts/WebPartVerb.cs
-System.Web.UI.WebControls.WebParts/WebPartVerbsEventArgs.cs
-System.Web.UI.WebControls.WebParts/WebPartVerbsEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebParts/WebPartVerbsEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebParts/WebPartVerbsEventHandler.cs
 System.Web.UI.WebControls/Wizard.cs
 System.Web.UI.WebControls/WizardNavigationEventArgs.cs
 System.Web.UI.WebControls/WizardNavigationEventHandler.cs
@@ -1194,7 +1196,7 @@ System.Web.Util/FileUtils.cs
 System.Web.Util/Helpers.cs
 System.Web.Util/HttpEncoder.cs
 System.Web.Util/ICalls.cs
-System.Web.Util/IWebObjectFactory.cs
+../../../external/referencesource/System.Web/Util/IObjectFactory.cs
 System.Web.Util/IWebPropertyAccessor.cs
 System.Web.Util/MachineKeySectionUtils.cs
 System.Web.Util/RuntimeHelpers.cs
@@ -1218,77 +1220,79 @@ System.Web/WebROCollection.cs
 System.Web/WebSysDescriptionAttribute.cs
 System.Web/XmlSiteMapProvider.cs
 
-System.Web/IHtmlString.cs
+../../../external/referencesource/System.Web/IHtmlString.cs
 System.Web/HtmlString.cs
-System.Web/PreApplicationStartMethodAttribute.cs
+../../../external/referencesource/System.Web/PreApplicationStartMethodAttribute.cs
 
 System.Web.Caching/FileResponseElement.cs
 System.Web.Caching/HeaderElement.cs
-System.Web.Caching/IOutputCacheEntry.cs
+../../../external/referencesource/System.Web/Cache/IOutputCacheEntry.cs
 System.Web.Caching/MemoryResponseElement.cs
 System.Web.Caching/OutputCache.cs
 System.Web.Caching/OutputCacheProviderCollection.cs
-System.Web.Caching/ResponseElement.cs
+../../../external/referencesource/System.Web/Cache/ResponseElement.cs
 System.Web.Caching/SubstitutionResponseElement.cs
 System.Web.Configuration_2.0/VersionConverter.cs
-System.Web.Configuration_2.0/MachineKeyCompatibilityMode.cs
+../../../external/referencesource/System.Web/Configuration/MachineKeyCompatibilityMode.cs
 System.Web.Configuration_2.0/HttpCapabilitiesProvider.cs
 System.Web.Configuration_2.0/HttpCapabilitiesDefaultProvider.cs
-System.Web.Compilation/FolderLevelBuildProviderAppliesTo.cs
-System.Web.Compilation/FolderLevelBuildProviderAppliesToAttribute.cs
+../../../external/referencesource/System.Web/Compilation/FolderLevelBuildProviderAppliesTo.cs
+../../../external/referencesource/System.Web/Compilation/FolderLevelBuildProviderAppliesToAttribute.cs
 System.Web.Compilation/RouteUrlExpressionBuilder.cs
 System.Web.Compilation/RouteValueExpressionBuilder.cs
 System.Web.Security/MachineKey.cs
 System.Web.Security/MachineKeyProtection.cs
-System.Web.SessionState_2.0/SessionStateBehavior.cs
+../../../external/referencesource/System.Web/State/SessionStateBehavior.cs
 System.Web.Routing/PageRouteHandler.cs
-System.Web.UI/ClientIDMode.cs
-System.Web.UI/DataKeyPropertyAttribute.cs
+../../../external/referencesource/System.Web/UI/ClientIDMode.cs
+../../../external/referencesource/System.Web/UI/DataKeyPropertyAttribute.cs
 System.Web.UI/FileLevelMasterPageControlBuilder.cs
-System.Web.UI/IDataKeysControl.cs
-System.Web.UI/ViewStateMode.cs
-System.Web.UI.WebControls/IDataBoundControl.cs
-System.Web.UI.WebControls/IDataBoundItemControl.cs
-System.Web.UI.WebControls/IDataBoundListControl.cs
-System.Web.UI.WebControls/IFieldControl.cs
+../../../external/referencesource/System.Web/UI/IDataKeysControl.cs
+../../../external/referencesource/System.Web/UI/ViewStateMode.cs
+../../../external/referencesource/System.Web/UI/WebControls/IDataBoundControl.cs
+../../../external/referencesource/System.Web/UI/WebControls/CallingDataMethodsEventHandler.cs
+../../../external/referencesource/System.Web/UI/WebControls/CallingDataMethodsEventArgs.cs
+../../../external/referencesource/System.Web/UI/WebControls/IDataBoundItemControl.cs
+../../../external/referencesource/System.Web/UI/WebControls/IDataBoundListControl.cs
+../../../external/referencesource/System.Web/UI/WebControls/IFieldControl.cs
 System.Web.UI.WebControls/IRenderOuterTable.cs
 System.Web.UI.WebControls/MenuListRenderer.cs
-System.Web.UI.WebControls/MenuRenderingMode.cs
+../../../external/referencesource/System.Web/UI/WebControls/MenuRenderingMode.cs
 System.Web.UI.WebControls/NamedCssStyleCollection.cs
 System.Web.UI.WebControls/RouteParameter.cs
 System.Web.UI.WebControls/StyleBlock.cs
 System.Web.UI.WebControls/WizardLayoutContainer.cs
 System.Web.UI.WebControls/WizardLayoutNavigationContainer.cs
 System.Web.Util/SimpleWebObjectFactory.cs
-System.Web.Util/RequestValidationSource.cs
+../../../external/referencesource/System.Web/Util/RequestValidationSource.cs
 System.Web.Util/RequestValidator.cs
 
 System.Web.Routing/HttpMethodConstraint.cs
-System.Web.Routing/IRouteConstraint.cs
-System.Web.Routing/IRouteHandler.cs
+../../../external/referencesource/System.Web/Routing/IRouteConstraint.cs
+../../../external/referencesource/System.Web/Routing/IRouteHandler.cs
 System.Web.Routing/PatternParser.cs
 System.Web.Routing/PatternToken.cs
 System.Web.Routing/PatternTokenType.cs
-System.Web.Routing/RequestContext.cs
+../../../external/referencesource/System.Web/Routing/RequestContext.cs
 System.Web.Routing/Route.cs
 ../../../external/referencesource/System.Web/Routing/RouteBase.cs
 System.Web.Routing/RouteCollection.cs
 System.Web.Routing/RouteData.cs
-System.Web.Routing/RouteDirection.cs
-System.Web.Routing/RouteTable.cs
-System.Web.Routing/RouteValueDictionary.cs
+../../../external/referencesource/System.Web/Routing/RouteDirection.cs
+../../../external/referencesource/System.Web/Routing/RouteTable.cs
+../../../external/referencesource/System.Web/Routing/RouteValueDictionary.cs
 System.Web.Routing/RouteValueDictionaryExtensions.cs
 System.Web.Routing/StopRoutingHandler.cs
 System.Web.Routing/UrlRoutingHandler.cs
 System.Web.Routing/UrlRoutingModule.cs
-System.Web.Routing/VirtualPathData.cs
+../../../external/referencesource/System.Web/Routing/VirtualPathData.cs
 
 ../../../external/referencesource/System.Web/Abstractions/HttpApplicationStateBase.cs
-System.Web/HttpApplicationStateWrapper.cs
+../../../external/referencesource/System.Web/Abstractions/HttpApplicationStateWrapper.cs
 ../../../external/referencesource/System.Web/Abstractions/HttpBrowserCapabilitiesBase.cs
-System.Web/HttpBrowserCapabilitiesWrapper.cs
+../../../external/referencesource/System.Web/Abstractions/HttpBrowserCapabilitiesWrapper.cs
 ../../../external/referencesource/System.Web/Abstractions/HttpCachePolicyBase.cs
-System.Web/HttpCachePolicyWrapper.cs
+../../../external/referencesource/System.Web/Abstractions/HttpCachePolicyWrapper.cs
 System.Web/HttpContextBase.cs
 System.Web/HttpContextWrapper.cs
 ../../../external/referencesource/System.Web/Abstractions/HttpFileCollectionBase.cs
@@ -1302,7 +1306,7 @@ System.Web/HttpResponseWrapper.cs
 ../../../external/referencesource/System.Web/Abstractions/HttpServerUtilityBase.cs
 System.Web/HttpServerUtilityWrapper.cs
 ../../../external/referencesource/System.Web/Abstractions/HttpSessionStateBase.cs
-System.Web/HttpSessionStateWrapper.cs
+../../../external/referencesource/System.Web/Abstractions/HttpSessionStateWrapper.cs
 ../../../external/referencesource/System.Web/Abstractions/HttpStaticObjectsCollectionBase.cs
 ../../../external/referencesource/System.Web/Abstractions/HttpStaticObjectsCollectionWrapper.cs
 
@@ -1311,7 +1315,7 @@ System.Collections.Concurrent/SplitOrderedList.cs
 System.Web/EventHandlerTaskAsyncHelper.cs
 System.Web/HttpTaskAsyncHandler.cs
 System.Web/MimeMapping.cs
-System.Web/ReadEntityBodyMode.cs
+../../../external/referencesource/System.Web/ReadEntityBodyMode.cs
 System.Web/UnvalidatedRequestValues.cs
 ../../../external/referencesource/System.Web/UnvalidatedRequestValuesWrapper.cs
 ../../../external/referencesource/System.Web/UnvalidatedRequestValuesBase.cs
@@ -1322,6 +1326,7 @@ System.Web/DynamicModuleManager.cs
 
 ../../../external/referencesource/System.Web/ISubscriptionToken.cs
 
+
 ../../../external/referencesource/System.Web/ModelBinding/IModelNameProvider.cs
 ../../../external/referencesource/System.Web/ModelBinding/BindingBehaviorAttribute.cs
 ../../../external/referencesource/System.Web/ModelBinding/BindingBehavior.cs
@@ -1329,12 +1334,38 @@ System.Web/DynamicModuleManager.cs
 ../../../external/referencesource/System.Web/ModelBinding/BindRequiredAttribute.cs
 ../../../external/referencesource/System.Web/ModelBinding/ExtensibleModelBinderAttribute.cs
 ../../../external/referencesource/System.Web/ModelBinding/ModelBinderProviderOptionsAttribute.cs
+../../../external/referencesource/System.Web/ModelBinding/ModelErrorCollection.cs
+../../../external/referencesource/System.Web/ModelBinding/ModelError.cs
+
 
 ../../../external/referencesource/System.Web/Security/AntiXss/CodeCharts.cs
 
 ../../../external/referencesource/System.Web/UI/WebParts/WebBrowsableAttribute.cs
 ../../../external/referencesource/System.Web/UI/WebParts/WebDescriptionAttribute.cs
 ../../../external/referencesource/System.Web/UI/WebParts/WebDisplayNameAttribute.cs
+../../../external/referencesource/System.Web/UI/WebParts/TableCallback.cs
+../../../external/referencesource/System.Web/UI/WebParts/RowCallback.cs
+../../../external/referencesource/System.Web/UI/WebParts/FieldCallback.cs
+
+../../../external/referencesource/System.Web/UI/UnobtrusiveValidationMode.cs
+../../../external/referencesource/System.Web/UI/ValidateRequestMode.cs
+
+../../../external/referencesource/System.Web/Configuration/AsyncPreloadModeFlags.cs
+../../../external/referencesource/System.Web/Configuration/BrowserCapsElementType.cs
+../../../external/referencesource/System.Web/Configuration/BrowserTree.cs
+../../../external/referencesource/System.Web/Configuration/CustomWebEventKey.cs
+../../../external/referencesource/System.Web/Configuration/DelayedRegex.cs
+../../../external/referencesource/System.Web/Configuration/ProfileGuidedOptimizationsFlags.cs
+
+../../../external/referencesource/System.Web/Configuration/RegexMatchTimeoutValidator.cs
+../../../external/referencesource/System.Web/Configuration/RegexMatchTimeoutValidatorAttribute.cs
+../../../external/referencesource/System.Web/Configuration/RpcAuthent.cs
+../../../external/referencesource/System.Web/Configuration/RpcImpers.cs
+../../../external/referencesource/System.Web/Configuration/RpcLevel.cs
+../../../external/referencesource/System.Web/Configuration/TicketCompatibilityMode.cs
+../../../external/referencesource/System.Web/Configuration/WebLevel.cs
 
 ../../../external/referencesource/System.Web/WebSockets/AspNetWebSocketOptions.cs
 ../../../external/referencesource/System.Web/WebSockets/SubprotocolUtil.cs
+../../build/common/SR.cs
+ReferenceSources/SR.cs
diff --git a/mcs/class/System.Web/System.Web/HttpApplicationStateWrapper.cs b/mcs/class/System.Web/System.Web/HttpApplicationStateWrapper.cs
deleted file mode 100644 (file)
index d0299ef..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-//
-// HttpApplicationStateWrapper.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://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;
-using System.Collections.Generic;
-using System.Collections.Specialized;
-using System.Globalization;
-using System.Runtime.CompilerServices;
-using System.Runtime.Serialization;
-using System.Security.Permissions;
-using System.Security.Principal;
-using System.Web.Caching;
-
-namespace System.Web
-{
-        [TypeForwardedFrom ("System.Web.Abstractions, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")]
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public class HttpApplicationStateWrapper : HttpApplicationStateBase
-       {
-               HttpApplicationState w;
-
-               public HttpApplicationStateWrapper (HttpApplicationState httpApplicationState)
-               {
-                       if (httpApplicationState == null)
-                               throw new ArgumentNullException ("httpApplicationState");
-                       w = httpApplicationState;
-               }
-
-               public override string [] AllKeys {
-                       get { return w.AllKeys; }
-               }
-
-               public override HttpApplicationStateBase Contents {
-                       get { return new HttpApplicationStateWrapper (w.Contents); }
-               }
-
-               public override int Count {
-                       get { return w.Count; }
-               }
-
-               public override bool IsSynchronized {
-                       get { return ((ICollection) this).IsSynchronized; }
-               }
-
-               public override object this [int index] {
-                       get { return Get (index); }
-               }
-
-               public override object this [string name] {
-                       get { return Get (name); }
-                       set { Set (name, value); }
-               }
-
-               public override NameObjectCollectionBase.KeysCollection Keys {
-                       get { return w.Keys; }
-               }
-
-               public override HttpStaticObjectsCollectionBase StaticObjects {
-                       get { return new HttpStaticObjectsCollectionWrapper (w.StaticObjects); }
-               }
-
-               public override object SyncRoot {
-                       get { return ((ICollection) this).SyncRoot; }
-               }
-
-               public override void Add (string name, object value)
-               {
-                       w.Add (name, value);
-               }
-
-               public override void Clear ()
-               {
-                       w.Clear ();
-               }
-
-               public override void CopyTo (Array array, int index)
-               {
-                       ((ICollection) this).CopyTo (array, index);
-               }
-
-               public override object Get (int index)
-               {
-                       return w.Get (index);
-               }
-
-               public override object Get (string name)
-               {
-                       return w.Get (name);
-               }
-
-               public override IEnumerator GetEnumerator ()
-               {
-                       return w.GetEnumerator ();
-               }
-
-               public override string GetKey (int index)
-               {
-                       return w.GetKey (index);
-               }
-
-               [MonoTODO]
-               public override void GetObjectData (SerializationInfo info, StreamingContext context)
-               {
-                       w.GetObjectData (info, context);
-
-                       throw new NotImplementedException ();
-               }
-
-               public override void Lock ()
-               {
-                       w.Lock ();
-               }
-
-               public override void OnDeserialization (object sender)
-               {
-                       w.OnDeserialization (sender);
-               }
-
-               public override void Remove (string name)
-               {
-                       w.Remove (name);
-               }
-
-               public override void RemoveAll ()
-               {
-                       w.RemoveAll ();
-               }
-
-               public override void RemoveAt (int index)
-               {
-                       w.RemoveAt (index);
-               }
-
-               public override void Set (string name, object value)
-               {
-                       w.Set (name, value);
-               }
-
-               public override void UnLock ()
-               {
-                       w.UnLock ();
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web/HttpBrowserCapabilitiesWrapper.cs b/mcs/class/System.Web/System.Web/HttpBrowserCapabilitiesWrapper.cs
deleted file mode 100644 (file)
index b5cc963..0000000
+++ /dev/null
@@ -1,548 +0,0 @@
-//
-// HttpBrowserCapabilitiesWrapper.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://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;
-using System.Collections.Generic;
-using System.Globalization;
-using System.IO;
-using System.Runtime.CompilerServices;
-using System.Security.Permissions;
-using System.Security.Principal;
-using System.Web.Caching;
-using System.Web.UI;
-
-namespace System.Web
-{
-        [TypeForwardedFrom ("System.Web.Abstractions, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")]
-       [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public class HttpBrowserCapabilitiesWrapper : HttpBrowserCapabilitiesBase
-       {
-               HttpBrowserCapabilities w;
-
-               public HttpBrowserCapabilitiesWrapper (HttpBrowserCapabilities httpBrowserCapabilities)
-               {
-                       if (httpBrowserCapabilities == null)
-                               throw new ArgumentNullException ("httpBrowserCapabilities");
-                       w = httpBrowserCapabilities;
-               }
-
-
-               public override bool ActiveXControls {
-                       get { return w.ActiveXControls; }
-               }
-
-               public override IDictionary Adapters {
-                       get { return w.Adapters; }
-               }
-
-               public override bool AOL {
-                       get { return w.AOL; }
-               }
-
-               public override bool BackgroundSounds {
-                       get { return w.BackgroundSounds; }
-               }
-
-               public override bool Beta {
-                       get { return w.Beta; }
-               }
-
-               public override string Browser {
-                       get { return w.Browser; }
-               }
-
-               public override ArrayList Browsers {
-                       get { return w.Browsers; }
-               }
-
-               public override bool CanCombineFormsInDeck {
-                       get { return w.CanCombineFormsInDeck; }
-               }
-
-               public override bool CanInitiateVoiceCall {
-                       get { return w.CanInitiateVoiceCall; }
-               }
-
-               public override bool CanRenderAfterInputOrSelectElement {
-                       get { return w.CanRenderAfterInputOrSelectElement; }
-               }
-
-               public override bool CanRenderEmptySelects {
-                       get { return w.CanRenderEmptySelects; }
-               }
-
-               public override bool CanRenderInputAndSelectElementsTogether {
-                       get { return w.CanRenderInputAndSelectElementsTogether; }
-               }
-
-               public override bool CanRenderMixedSelects {
-                       get { return w.CanRenderMixedSelects; }
-               }
-
-               public override bool CanRenderOneventAndPrevElementsTogether {
-                       get { return w.CanRenderOneventAndPrevElementsTogether; }
-               }
-
-               public override bool CanRenderPostBackCards {
-                       get { return w.CanRenderPostBackCards; }
-               }
-
-               public override bool CanRenderSetvarZeroWithMultiSelectionList {
-                       get { return w.CanRenderSetvarZeroWithMultiSelectionList; }
-               }
-
-               public override bool CanSendMail {
-                       get { return w.CanSendMail; }
-               }
-
-               public override IDictionary Capabilities {
-                       get { return w.Capabilities; } set { w.Capabilities = value; }
-               }
-
-               public override bool CDF {
-                       get { return w.CDF; }
-               }
-
-               public override Version ClrVersion {
-                       get { return w.ClrVersion; }
-               }
-
-               public override bool Cookies {
-                       get { return w.Cookies; }
-               }
-
-               public override bool Crawler {
-                       get { return w.Crawler; }
-               }
-
-               public override int DefaultSubmitButtonLimit {
-                       get { return w.DefaultSubmitButtonLimit; }
-               }
-
-               public override Version EcmaScriptVersion {
-                       get { return w.EcmaScriptVersion; }
-               }
-
-               public override bool Frames {
-                       get { return w.Frames; }
-               }
-
-               public override int GatewayMajorVersion {
-                       get { return w.GatewayMajorVersion; }
-               }
-
-               public override double GatewayMinorVersion {
-                       get { return w.GatewayMinorVersion; }
-               }
-
-               public override string GatewayVersion {
-                       get { return w.GatewayVersion; }
-               }
-
-               public override bool HasBackButton {
-                       get { return w.HasBackButton; }
-               }
-
-               public override bool HidesRightAlignedMultiselectScrollbars {
-                       get { return w.HidesRightAlignedMultiselectScrollbars; }
-               }
-
-               public override string HtmlTextWriter {
-                       get { return w.HtmlTextWriter; } set { w.HtmlTextWriter = value; }
-               }
-
-               public override string Id {
-                       get { return w.Id; }
-               }
-
-               public override string InputType {
-                       get { return w.InputType; }
-               }
-
-               public override bool IsColor {
-                       get { return w.IsColor; }
-               }
-
-               public override bool IsMobileDevice {
-                       get { return w.IsMobileDevice; }
-               }
-
-               public override string this [string key] {
-                       get { throw new NotImplementedException (); }
-               }
-
-               public override bool JavaApplets {
-                       get { return w.JavaApplets; }
-               }
-
-               public override Version JScriptVersion {
-                       get { return w.JScriptVersion; }
-               }
-
-               public override int MajorVersion {
-                       get { return w.MajorVersion; }
-               }
-
-               public override int MaximumHrefLength {
-                       get { return w.MaximumHrefLength; }
-               }
-
-               public override int MaximumRenderedPageSize {
-                       get { return w.MaximumRenderedPageSize; }
-               }
-
-               public override int MaximumSoftkeyLabelLength {
-                       get { return w.MaximumSoftkeyLabelLength; }
-               }
-
-               public override double MinorVersion {
-                       get { return w.MinorVersion; }
-               }
-
-               public override string MinorVersionString {
-                       get { return w.MinorVersionString; }
-               }
-
-               public override string MobileDeviceManufacturer {
-                       get { return w.MobileDeviceManufacturer; }
-               }
-
-               public override string MobileDeviceModel {
-                       get { return w.MobileDeviceModel; }
-               }
-
-               public override Version MSDomVersion {
-                       get { return w.MSDomVersion; }
-               }
-
-               public override int NumberOfSoftkeys {
-                       get { return w.NumberOfSoftkeys; }
-               }
-
-               public override string Platform {
-                       get { return w.Platform; }
-               }
-
-               public override string PreferredImageMime {
-                       get { return w.PreferredImageMime; }
-               }
-
-               public override string PreferredRenderingMime {
-                       get { return w.PreferredRenderingMime; }
-               }
-
-               public override string PreferredRenderingType {
-                       get { return w.PreferredRenderingType; }
-               }
-
-               public override string PreferredRequestEncoding {
-                       get { return w.PreferredRequestEncoding; }
-               }
-
-               public override string PreferredResponseEncoding {
-                       get { return w.PreferredResponseEncoding; }
-               }
-
-               public override bool RendersBreakBeforeWmlSelectAndInput {
-                       get { return w.RendersBreakBeforeWmlSelectAndInput; }
-               }
-
-               public override bool RendersBreaksAfterHtmlLists {
-                       get { return w.RendersBreaksAfterHtmlLists; }
-               }
-
-               public override bool RendersBreaksAfterWmlAnchor {
-                       get { return w.RendersBreaksAfterWmlAnchor; }
-               }
-
-               public override bool RendersBreaksAfterWmlInput {
-                       get { return w.RendersBreaksAfterWmlInput; }
-               }
-
-               public override bool RendersWmlDoAcceptsInline {
-                       get { return w.RendersWmlDoAcceptsInline; }
-               }
-
-               public override bool RendersWmlSelectsAsMenuCards {
-                       get { return w.RendersWmlSelectsAsMenuCards; }
-               }
-
-               public override string RequiredMetaTagNameValue {
-                       get { return w.RequiredMetaTagNameValue; }
-               }
-
-               public override bool RequiresAttributeColonSubstitution {
-                       get { return w.RequiresAttributeColonSubstitution; }
-               }
-
-               public override bool RequiresContentTypeMetaTag {
-                       get { return w.RequiresContentTypeMetaTag; }
-               }
-
-               public override bool RequiresControlStateInSession {
-                       get { return w.RequiresControlStateInSession; }
-               }
-
-               public override bool RequiresDBCSCharacter {
-                       get { return w.RequiresDBCSCharacter; }
-               }
-
-               public override bool RequiresHtmlAdaptiveErrorReporting {
-                       get { return w.RequiresHtmlAdaptiveErrorReporting; }
-               }
-
-               public override bool RequiresLeadingPageBreak {
-                       get { return w.RequiresLeadingPageBreak; }
-               }
-
-               public override bool RequiresNoBreakInFormatting {
-                       get { return w.RequiresNoBreakInFormatting; }
-               }
-
-               public override bool RequiresOutputOptimization {
-                       get { return w.RequiresOutputOptimization; }
-               }
-
-               public override bool RequiresPhoneNumbersAsPlainText {
-                       get { return w.RequiresPhoneNumbersAsPlainText; }
-               }
-
-               public override bool RequiresSpecialViewStateEncoding {
-                       get { return w.RequiresSpecialViewStateEncoding; }
-               }
-
-               public override bool RequiresUniqueFilePathSuffix {
-                       get { return w.RequiresUniqueFilePathSuffix; }
-               }
-
-               public override bool RequiresUniqueHtmlCheckboxNames {
-                       get { return w.RequiresUniqueHtmlCheckboxNames; }
-               }
-
-               public override bool RequiresUniqueHtmlInputNames {
-                       get { return w.RequiresUniqueHtmlInputNames; }
-               }
-
-               public override bool RequiresUrlEncodedPostfieldValues {
-                       get { return w.RequiresUrlEncodedPostfieldValues; }
-               }
-
-               public override int ScreenBitDepth {
-                       get { return w.ScreenBitDepth; }
-               }
-
-               public override int ScreenCharactersHeight {
-                       get { return w.ScreenCharactersHeight; }
-               }
-
-               public override int ScreenCharactersWidth {
-                       get { return w.ScreenCharactersWidth; }
-               }
-
-               public override int ScreenPixelsHeight {
-                       get { return w.ScreenPixelsHeight; }
-               }
-
-               public override int ScreenPixelsWidth {
-                       get { return w.ScreenPixelsWidth; }
-               }
-
-               public override bool SupportsAccesskeyAttribute {
-                       get { return w.SupportsAccesskeyAttribute; }
-               }
-
-               public override bool SupportsBodyColor {
-                       get { return w.SupportsBodyColor; }
-               }
-
-               public override bool SupportsBold {
-                       get { return w.SupportsBold; }
-               }
-
-               public override bool SupportsCacheControlMetaTag {
-                       get { return w.SupportsCacheControlMetaTag; }
-               }
-
-               public override bool SupportsCallback {
-                       get { return w.SupportsCallback; }
-               }
-
-               public override bool SupportsCss {
-                       get { return w.SupportsCss; }
-               }
-
-               public override bool SupportsDivAlign {
-                       get { return w.SupportsDivAlign; }
-               }
-
-               public override bool SupportsDivNoWrap {
-                       get { return w.SupportsDivNoWrap; }
-               }
-
-               public override bool SupportsEmptyStringInCookieValue {
-                       get { return w.SupportsEmptyStringInCookieValue; }
-               }
-
-               public override bool SupportsFontColor {
-                       get { return w.SupportsFontColor; }
-               }
-
-               public override bool SupportsFontName {
-                       get { return w.SupportsFontName; }
-               }
-
-               public override bool SupportsFontSize {
-                       get { return w.SupportsFontSize; }
-               }
-
-               public override bool SupportsImageSubmit {
-                       get { return w.SupportsImageSubmit; }
-               }
-
-               public override bool SupportsIModeSymbols {
-                       get { return w.SupportsIModeSymbols; }
-               }
-
-               public override bool SupportsInputIStyle {
-                       get { return w.SupportsInputIStyle; }
-               }
-
-               public override bool SupportsInputMode {
-                       get { return w.SupportsInputMode; }
-               }
-
-               public override bool SupportsItalic {
-                       get { return w.SupportsItalic; }
-               }
-
-               public override bool SupportsJPhoneMultiMediaAttributes {
-                       get { return w.SupportsJPhoneMultiMediaAttributes; }
-               }
-
-               public override bool SupportsJPhoneSymbols {
-                       get { return w.SupportsJPhoneSymbols; }
-               }
-
-               public override bool SupportsQueryStringInFormAction {
-                       get { return w.SupportsQueryStringInFormAction; }
-               }
-
-               public override bool SupportsRedirectWithCookie {
-                       get { return w.SupportsRedirectWithCookie; }
-               }
-
-               public override bool SupportsSelectMultiple {
-                       get { return w.SupportsSelectMultiple; }
-               }
-
-               public override bool SupportsUncheck {
-                       get { return w.SupportsUncheck; }
-               }
-
-               public override bool SupportsXmlHttp {
-                       get { return w.SupportsXmlHttp; }
-               }
-
-               public override bool Tables {
-                       get { return w.Tables; }
-               }
-
-               public override Type TagWriter {
-                       get { return w.TagWriter; }
-               }
-
-               public override string Type {
-                       get { return w.Type; }
-               }
-
-               public override bool UseOptimizedCacheKey {
-                       get { return w.UseOptimizedCacheKey; }
-               }
-
-               public override bool VBScript {
-                       get { return w.VBScript; }
-               }
-
-               public override string Version {
-                       get { return w.Version; }
-               }
-
-               public override Version W3CDomVersion {
-                       get { return w.W3CDomVersion; }
-               }
-
-               public override bool Win16 {
-                       get { return w.Win16; }
-               }
-
-               public override bool Win32 {
-                       get { return w.Win32; }
-               }
-
-               public override void AddBrowser (string browserName)
-               {
-                       w.AddBrowser (browserName);
-               }
-
-               [MonoTODO]
-               public override int CompareFilters (string filter1, string filter2)
-               {
-                       throw new NotImplementedException ();
-               }
-
-               [MonoTODO]
-               public override HtmlTextWriter CreateHtmlTextWriter (TextWriter w)
-               {
-                       throw new NotImplementedException ();
-               }
-
-               public override void DisableOptimizedCacheKey ()
-               {
-                       w.DisableOptimizedCacheKey ();
-               }
-
-               [MonoTODO]
-               public override bool EvaluateFilter (string filterName)
-               {
-                       throw new NotImplementedException ();
-               }
-
-               public override Version [] GetClrVersions ()
-               {
-                       return w.GetClrVersions ();
-               }
-
-               public override bool IsBrowser (string browserName)
-               {
-                       return w.IsBrowser (browserName);
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web/HttpCachePolicyWrapper.cs b/mcs/class/System.Web/System.Web/HttpCachePolicyWrapper.cs
deleted file mode 100644 (file)
index c2fad9d..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-//
-// HttpCachePolicyWrapper.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://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;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Runtime.CompilerServices;
-using System.Security.Permissions;
-using System.Security.Principal;
-using System.Web.Caching;
-
-namespace System.Web
-{
-        [TypeForwardedFrom ("System.Web.Abstractions, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")]
-       [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public class HttpCachePolicyWrapper : HttpCachePolicyBase
-       {
-               HttpCachePolicy w;
-
-               public HttpCachePolicyWrapper (HttpCachePolicy httpCachePolicy)
-               {
-                       if (httpCachePolicy == null)
-                               throw new ArgumentNullException ("httpCachePolicy");
-                       w = httpCachePolicy;
-               }
-
-               public override HttpCacheVaryByContentEncodings VaryByContentEncodings {
-                       get { return w.VaryByContentEncodings; }
-               }
-
-               public override HttpCacheVaryByHeaders VaryByHeaders {
-                       get { return w.VaryByHeaders; }
-               }
-
-               public override HttpCacheVaryByParams VaryByParams {
-                       get { return w.VaryByParams; }
-               }
-
-               public override void AddValidationCallback (HttpCacheValidateHandler handler, object data)
-               {
-                       w.AddValidationCallback (handler, data);
-               }
-
-               public override void AppendCacheExtension (string extension)
-               {
-                       w.AppendCacheExtension (extension);
-               }
-
-               public override void SetAllowResponseInBrowserHistory (bool allow)
-               {
-                       w.SetAllowResponseInBrowserHistory (allow);
-               }
-
-               public override void SetCacheability (HttpCacheability cacheability)
-               {
-                       w.SetCacheability (cacheability);
-               }
-
-               public override void SetCacheability (HttpCacheability cacheability, string field)
-               {
-                       w.SetCacheability (cacheability, field);
-               }
-
-               public override void SetVaryByCustom (string custom)
-               {
-                       w.SetVaryByCustom (custom);
-               }
-
-               public override void SetETag (string etag)
-               {
-                       w.SetETag (etag);
-               }
-
-               public override void SetETagFromFileDependencies ()
-               {
-                       w.SetETagFromFileDependencies ();
-               }
-
-               public override void SetExpires (DateTime date)
-               {
-                       w.SetExpires (date);
-               }
-
-               public override void SetLastModified (DateTime date)
-               {
-                       w.SetLastModified (date);
-               }
-
-               public override void SetLastModifiedFromFileDependencies ()
-               {
-                       w.SetLastModifiedFromFileDependencies ();
-               }
-
-               public override void SetMaxAge (TimeSpan delta)
-               {
-                       w.SetMaxAge (delta);
-               }
-
-               public override void SetNoServerCaching ()
-               {
-                       w.SetNoServerCaching ();
-               }
-
-               public override void SetNoStore ()
-               {
-                       w.SetNoStore ();
-               }
-
-               public override void SetNoTransforms ()
-               {
-                       w.SetNoTransforms ();
-               }
-
-               public override void SetOmitVaryStar (bool omit)
-               {
-                       w.SetOmitVaryStar (omit);
-               }
-
-               public override void SetProxyMaxAge (TimeSpan delta)
-               {
-                       w.SetProxyMaxAge (delta);
-               }
-
-               public override void SetRevalidation (HttpCacheRevalidation revalidation)
-               {
-                       w.SetRevalidation (revalidation);
-               }
-
-               public override void SetSlidingExpiration (bool slide)
-               {
-                       w.SetSlidingExpiration (slide);
-               }
-
-               public override void SetValidUntilExpires (bool validUntilExpires)
-               {
-                       w.SetValidUntilExpires (validUntilExpires);
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web/HttpSessionStateWrapper.cs b/mcs/class/System.Web/System.Web/HttpSessionStateWrapper.cs
deleted file mode 100644 (file)
index 563eb0b..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-//
-// HttpSessionStateWrapper.cs
-//
-// Author:
-//     Atsushi Enomoto <atsushi@ximian.com>
-//
-// Copyright (C) 2008 Novell Inc. http://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;
-using System.Collections.Generic;
-using System.Collections.Specialized;
-using System.Globalization;
-using System.IO;
-using System.Runtime.CompilerServices;
-using System.Security.Permissions;
-using System.Security.Principal;
-using System.Web.Caching;
-using System.Web.SessionState;
-
-namespace System.Web
-{
-        [TypeForwardedFrom ("System.Web.Abstractions, Version=3.5.0.0, Culture=Neutral, PublicKeyToken=31bf3856ad364e35")]
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       [AspNetHostingPermission (SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public class HttpSessionStateWrapper : HttpSessionStateBase
-       {
-               HttpSessionState w;
-
-               public HttpSessionStateWrapper (HttpSessionState httpSessionState)
-               {
-                       if (httpSessionState == null)
-                               throw new ArgumentNullException ("httpSessionState");
-                       w = httpSessionState;
-               }
-
-               public override int CodePage {
-                       get { return w.CodePage; }
-                       set { w.CodePage = value; }
-               }
-
-               public override HttpSessionStateBase Contents {
-                       get { throw new NotImplementedException (); }
-               }
-
-               [MonoTODO]
-               public override HttpCookieMode CookieMode {
-                       //get { return w.CookieMode; }
-                       get { throw new NotImplementedException (); }
-               }
-
-               public override int Count {
-                       get { return w.Count; }
-               }
-
-               public override bool IsCookieless {
-                       get { return w.IsCookieless; }
-               }
-
-               public override bool IsNewSession {
-                       get { return w.IsNewSession; }
-               }
-
-               public override bool IsReadOnly {
-                       get { return w.IsReadOnly; }
-               }
-
-               public override bool IsSynchronized {
-                       get { return w.IsSynchronized; }
-               }
-
-               public override object this [int index] {
-                       get { return w [index]; }
-                       set { w [index] = value; }
-               }
-
-               public override object this [string name] {
-                       get { return w [name]; }
-                       set { w [name] = value; }
-               }
-
-               public override NameObjectCollectionBase.KeysCollection Keys {
-                       get { return w.Keys; }
-               }
-
-               public override int LCID {
-                       get { return w.LCID; }
-                       set { w.LCID = value; }
-               }
-
-               public override SessionStateMode Mode {
-                       get { return w.Mode; }
-               }
-
-               public override string SessionID {
-                       get { return w.SessionID; }
-               }
-
-               public override HttpStaticObjectsCollectionBase StaticObjects {
-                       get { throw new NotImplementedException (); }
-               }
-
-               public override object SyncRoot {
-                       get { return w.SyncRoot; }
-               }
-
-               public override int Timeout {
-                       get { return w.Timeout; }
-                       set { w.Timeout = value; }
-               }
-
-               public override void Abandon ()
-               {
-                       w.Abandon ();
-               }
-
-               public override void Add (string name, object value)
-               {
-                       w.Add (name, value);
-               }
-
-               public override void Clear ()
-               {
-                       w.Clear ();
-               }
-
-               public override void CopyTo (Array array, int index)
-               {
-                       w.CopyTo (array, index);
-               }
-
-               public override IEnumerator GetEnumerator ()
-               {
-                       return w.GetEnumerator ();
-               }
-
-               public override void Remove (string name)
-               {
-                       w.Remove (name);
-               }
-
-               public override void RemoveAll ()
-               {
-                       w.RemoveAll ();
-               }
-
-               public override void RemoveAt (int index)
-               {
-                       w.RemoveAt (index);
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web/IHtmlString.cs b/mcs/class/System.Web/System.Web/IHtmlString.cs
deleted file mode 100644 (file)
index b8ee7ab..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-//
-// System.Web.IHtmlString.cs 
-//
-// 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.
-namespace System.Web {
-       public interface IHtmlString {
-               string ToHtmlString ();
-       }
-}
-       
\ No newline at end of file
diff --git a/mcs/class/System.Web/System.Web/IHttpAsyncHandler.cs b/mcs/class/System.Web/System.Web/IHttpAsyncHandler.cs
deleted file mode 100644 (file)
index de69220..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Web.IHttpAsyncHandler.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.
-//
-namespace System.Web
-{
-   public interface IHttpAsyncHandler : IHttpHandler
-   {
-      IAsyncResult BeginProcessRequest(HttpContext context,
-                                       AsyncCallback cb,
-                                       object extraData);
-      void EndProcessRequest(IAsyncResult result);
-   }
-}
diff --git a/mcs/class/System.Web/System.Web/IHttpHandler.cs b/mcs/class/System.Web/System.Web/IHttpHandler.cs
deleted file mode 100644 (file)
index ea0535e..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-//
-// System.IHttpHandler.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.
-//
-namespace System.Web
-{
-   public interface IHttpHandler
-   {
-      bool IsReusable { get; }
-      void ProcessRequest(HttpContext context);
-   }
-}
diff --git a/mcs/class/System.Web/System.Web/IHttpHandlerFactory.cs b/mcs/class/System.Web/System.Web/IHttpHandlerFactory.cs
deleted file mode 100644 (file)
index d136cae..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Web.IHttpHandlerFactory.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.
-//
-namespace System.Web
-{
-   public interface IHttpHandlerFactory
-   {
-      IHttpHandler GetHandler(HttpContext context,
-                              string requestType,
-                              string url,
-                              string pathTranslated);
-      void ReleaseHandler(IHttpHandler handler);
-   }
-}
diff --git a/mcs/class/System.Web/System.Web/IHttpModule.cs b/mcs/class/System.Web/System.Web/IHttpModule.cs
deleted file mode 100644 (file)
index 84654fc..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-//
-// System.Web.IHttpModule.cs
-//
-// Author:
-//   Bob Smith <bob@thestuff.net>
-//
-// (C) Bob Smith
-//
-
-//
-// 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.
-//
-namespace System.Web {
-   public interface IHttpModule {
-      void Dispose();
-      void Init(HttpApplication context);
-   }
-}
diff --git a/mcs/class/System.Web/System.Web/PreApplicationStartMethodAttribute.cs b/mcs/class/System.Web/System.Web/PreApplicationStartMethodAttribute.cs
deleted file mode 100644 (file)
index ad43cb5..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-//
-// PreApplicationStartMethodAttribute
-// 
-// Authors:
-//      Marek Habersack <mhabersack@novell.com>
-//
-//
-// Copyright (C) 2010 Novell, Inc (http://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;
-
-namespace System.Web
-{
-       [AttributeUsage (AttributeTargets.Assembly, AllowMultiple = false)]
-       public sealed class PreApplicationStartMethodAttribute : Attribute
-       {
-               public string MethodName { get; private set; }
-               public Type Type { get; private set; }
-               
-               public PreApplicationStartMethodAttribute (Type type, string methodName)
-               {
-                       this.MethodName = methodName;
-                       this.Type = type;
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web/ReadEntityBodyMode.cs b/mcs/class/System.Web/System.Web/ReadEntityBodyMode.cs
deleted file mode 100644 (file)
index a97c3cf..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-//
-// ReadEntityBodyMode.cs
-//
-// Author: Martin Thwaites (github@my2cents.co.uk)
-//
-// Copyright (C) 2014 Martin Thwaites
-//
-// 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.
-
-namespace System.Web {
-       public enum ReadEntityBodyMode {
-               None,
-               Classic,
-               Bufferless,
-               Buffered,
-       }
-}
diff --git a/mcs/class/System.Web/System.Web/RequestNotification.cs b/mcs/class/System.Web/System.Web/RequestNotification.cs
deleted file mode 100644 (file)
index 793deb1..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-//
-// System.Web.RequestNotification
-//
-// Authors:
-//   Marek Habersack (mhabersack@novell.com)
-//
-// (C) 2007-2009 Novell, Inc (http://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.
-//
-namespace System.Web 
-{
-       [FlagsAttribute]
-       public enum RequestNotification
-       {
-               BeginRequest = 0x0001,
-               AuthenticateRequest = 0x0002,
-               AuthorizeRequest = 0x0004,
-               ResolveRequestCache = 0x0008,
-               MapRequestHandler = 0x0010,
-               AcquireRequestState = 0x0020,
-               PreExecuteRequestHandler = 0x0040,
-               ExecuteRequestHandler = 0x0080,
-               ReleaseRequestState = 0x0100,
-               UpdateRequestCache = 0x0200,
-               LogRequest = 0x0400,
-               EndRequest = 0x0800,
-               SendResponse = 0x20000000
-       }
-}
diff --git a/mcs/class/System.Web/System.Web/RequestNotificationStatus.cs b/mcs/class/System.Web/System.Web/RequestNotificationStatus.cs
deleted file mode 100644 (file)
index 177f0c0..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-//
-// System.Web.RequestNotificationStatus
-//
-// Authors:
-//   Marek Habersack (mhabersack@novell.com)
-//
-// (C) 2007-2009 Novell, Inc (http://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.Security.Permissions;
-
-namespace System.Web 
-{
-       public enum RequestNotificationStatus
-       {
-               Continue,
-               Pending,
-               FinishRequest
-       }
-}
diff --git a/mcs/class/System.Web/System.Web/TraceContextEventArgs.cs b/mcs/class/System.Web/System.Web/TraceContextEventArgs.cs
deleted file mode 100644 (file)
index f236fd4..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-// 
-// System.Web.TraceContextEventArgs class
-//
-// Author:
-//     Sebastien Pouliot  <sebastien@ximian.com>
-//
-// Copyright (C) 2005-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.Collections;
-using System.Security.Permissions;
-
-namespace System.Web {
-
-       // CAS - no InheritanceDemand here as the class is sealed
-       [AspNetHostingPermission (SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
-       public sealed class TraceContextEventArgs : EventArgs {
-
-               ICollection trace_records;
-
-               public TraceContextEventArgs (ICollection records)
-               {
-                       trace_records = records;
-               }
-
-               public ICollection TraceRecords {
-                       get { return trace_records; }
-               }
-       }
-}
diff --git a/mcs/class/System.Web/System.Web/TraceContextEventHandler.cs b/mcs/class/System.Web/System.Web/TraceContextEventHandler.cs
deleted file mode 100644 (file)
index 762aa94..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-// 
-// System.Web.TraceContextEventHandler delegate
-//
-// Author:
-//     Sebastien Pouliot  <sebastien@ximian.com>
-//
-// Copyright (C) 2005-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.
-//
-
-namespace System.Web 
-{
-       public delegate void TraceContextEventHandler (object sender, TraceContextEventArgs e);
-}
diff --git a/mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization-net_4_x.csproj b/mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization-net_4_x.csproj
new file mode 100644 (file)
index 0000000..50d6266
--- /dev/null
@@ -0,0 +1,243 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{C6A36476-0B2B-45BA-B4DD-05C39E63F3BE}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Windows.Forms.DataVisualization</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Annotation.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnnotationCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnnotationGroup.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnnotationPathPoint.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnnotationPathPointCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnnotationPositionChangingEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnnotationSmartLabelStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AnovaResult.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AntiAliasingStyles.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AreaAlignmentOrientations.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AreaAlignmentStyles.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ArrowAnnotation.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ArrowStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Axis.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AxisArrowStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AxisEnabled.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AxisName.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AxisScaleBreakStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AxisScaleView.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AxisScrollBar.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\AxisType.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Border3DAnnotation.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\BorderSkin.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\BorderSkinStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\BreakLineStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\CalloutAnnotation.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\CalloutStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Chart.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartArea.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartArea3DStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartAreaCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartColorPalette.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartDashStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartElement.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartElementCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartElementType.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartGraphics.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartHatchStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartImageAlignmentStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartImageFormat.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartImageWrapMode.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartNamedElement.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartNamedElementCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartPaintEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartSerializer.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ChartValueType.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\CompareMethod.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Cursor.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\CursorEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\CustomizeLegendEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\CustomLabel.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\CustomLabelCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\CustomProperties.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\DataFormula.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\DataManipulator.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\DataPoint.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\DataPointCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\DataPointCustomProperties.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\DateRangeType.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\DateTimeIntervalType.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Docking.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ElementPosition.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\EllipseAnnotation.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\FinancialFormula.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\FormatNumberEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\FTestResult.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\GradientStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Grid.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\GridTickTypes.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\HitTestResult.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\HorizontalLineAnnotation.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\IDataPointFilter.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ImageAnnotation.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\IntervalAutoMode.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\IntervalType.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LabelAlignmentStyles.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LabelAutoFitStyles.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LabelCalloutStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LabelMarkStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LabelOutsidePlotAreaStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LabelStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Legend.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendCell.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendCellCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendCellColumn.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendCellColumnCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendCellColumnType.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendCellType.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendImageStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendItem.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendItemOrder.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendItemsCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendSeparatorStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LegendTableStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LightStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LineAnchorCapStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\LineAnnotation.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Margins.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\MarkerStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\NamedImage.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\NamedImagesCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Point3D.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\PointSortOrder.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\PolygonAnnotation.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\PolylineAnnotation.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\PrintingManager.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\RectangleAnnotation.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ScrollBarButtonStyles.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ScrollBarButtonType.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ScrollBarEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ScrollType.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\SerializationContents.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\SerializationFormat.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Series.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\SeriesChartType.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\SeriesCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\SmartLabelStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\StartFromZero.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\StatisticFormula.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\StripLine.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\StripLinesCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\TextAnnotation.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\TextAntiAliasingQuality.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\TextOrientation.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\TextStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\TickMark.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\TickMarkStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\Title.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\TitleCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ToolTipEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\TTestResult.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\VerticalLineAnnotation.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ViewEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms.DataVisualization.Charting\ZTestResult.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Drawing/System.Drawing-net_4_x.csproj">\r
+      <Project>{584A5E46-2958-4CB2-8DF9-188B420D0BB0}</Project>\r
+      <Name>System.Drawing-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Windows.Forms/System.Windows.Forms-net_4_x.csproj">\r
+      <Project>{108227C7-8ED9-4483-949D-07BF0DA1A201}</Project>\r
+      <Name>System.Windows.Forms-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Windows.Forms/System.Windows.Forms-net_4_x.csproj b/mcs/class/System.Windows.Forms/System.Windows.Forms-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7d98c83
--- /dev/null
@@ -0,0 +1,1199 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{108227C7-8ED9-4483-949D-07BF0DA1A201}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,618,612,809</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Windows.Forms</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Assembly\Locale.cs" />\r
+    <Compile Include="System.Resources\AssemblyNamesTypeResolutionService.cs" />\r
+    <Compile Include="System.Resources\ByteArrayFromResXHandler.cs" />\r
+    <Compile Include="System.Resources\FileRefHandler.cs" />\r
+    <Compile Include="System.Resources\InMemoryHandler.cs" />\r
+    <Compile Include="System.Resources\NullRefHandler.cs" />\r
+    <Compile Include="System.Resources\ResXDataNode.cs" />\r
+    <Compile Include="System.Resources\ResXDataNodeHandler.cs" />\r
+    <Compile Include="System.Resources\ResXFileRef.cs" />\r
+    <Compile Include="System.Resources\ResXNullRef.cs" />\r
+    <Compile Include="System.Resources\ResXResourceReader.cs" />\r
+    <Compile Include="System.Resources\ResXResourceSet.cs" />\r
+    <Compile Include="System.Resources\ResXResourceWriter.cs" />\r
+    <Compile Include="System.Resources\SerializedFromResXHandler.cs" />\r
+    <Compile Include="System.Resources\TypeConverterFromResXHandler.cs" />\r
+    <Compile Include="System.Windows.Forms.CarbonInternal\ApplicationHandler.cs" />\r
+    <Compile Include="System.Windows.Forms.CarbonInternal\ControlHandler.cs" />\r
+    <Compile Include="System.Windows.Forms.CarbonInternal\Cursor.cs" />\r
+    <Compile Include="System.Windows.Forms.CarbonInternal\Dnd.cs" />\r
+    <Compile Include="System.Windows.Forms.CarbonInternal\Enums.cs" />\r
+    <Compile Include="System.Windows.Forms.CarbonInternal\EventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms.CarbonInternal\EventHandlerBase.cs" />\r
+    <Compile Include="System.Windows.Forms.CarbonInternal\HIObjectHandler.cs" />\r
+    <Compile Include="System.Windows.Forms.CarbonInternal\IEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms.CarbonInternal\KeyboardHandler.cs" />\r
+    <Compile Include="System.Windows.Forms.CarbonInternal\MouseHandler.cs" />\r
+    <Compile Include="System.Windows.Forms.CarbonInternal\Pasteboard.cs" />\r
+    <Compile Include="System.Windows.Forms.CarbonInternal\Structs.cs" />\r
+    <Compile Include="System.Windows.Forms.CarbonInternal\WindowHandler.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ComponentEditorForm.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ComponentEditorPage.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\EventsTab.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\IUIService.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\IWindowsFormsEditorService.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\PropertyTab.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ToolStripItemDesignerAvailability.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\ToolStripItemDesignerAvailabilityAttribute.cs" />\r
+    <Compile Include="System.Windows.Forms.Design\WindowsFormsComponentEditor.cs" />\r
+    <Compile Include="System.Windows.Forms.Internal\Accessor.cs" />\r
+    <Compile Include="System.Windows.Forms.Internal\DebugHelper.cs" />\r
+    <Compile Include="System.Windows.Forms.Layout\ArrangedElementCollection.cs" />\r
+    <Compile Include="System.Windows.Forms.Layout\DefaultLayout.cs" />\r
+    <Compile Include="System.Windows.Forms.Layout\FlowLayout.cs" />\r
+    <Compile Include="System.Windows.Forms.Layout\LayoutEngine.cs" />\r
+    <Compile Include="System.Windows.Forms.Layout\TableLayout.cs" />\r
+    <Compile Include="System.Windows.Forms.Layout\TableLayoutSettingsTypeConverter.cs" />\r
+    <Compile Include="System.Windows.Forms.PropertyGridInternal\PropertiesTab.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\Charcode.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\Charset.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\CharsetFlags.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\CharsetType.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\ClassDelegate.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\Color.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\DestinationDelegate.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\Font.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\KeysInit.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\KeyStruct.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\Major.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\Minor.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\Picture.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\RTF.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\RTFException.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\StandardCharCode.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\StandardCharName.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\Style.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\StyleElement.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\StyleType.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\TextMap.cs" />\r
+    <Compile Include="System.Windows.Forms.RTF\TokenClass.cs" />\r
+    <Compile Include="System.Windows.Forms.Theming\Default\ButtonPainter.cs" />\r
+    <Compile Include="System.Windows.Forms.Theming\Default\CheckBoxPainter.cs" />\r
+    <Compile Include="System.Windows.Forms.Theming\Default\LabelPainter.cs" />\r
+    <Compile Include="System.Windows.Forms.Theming\Default\LinkLabelPainter.cs" />\r
+    <Compile Include="System.Windows.Forms.Theming\Default\RadioButtonPainter.cs" />\r
+    <Compile Include="System.Windows.Forms.Theming\Default\TabControlPainter.cs" />\r
+    <Compile Include="System.Windows.Forms.Theming\Default\ToolStripPainter.cs" />\r
+    <Compile Include="System.Windows.Forms.Theming\ThemeElements.cs" />\r
+    <Compile Include="System.Windows.Forms.Theming\ThemeElementsDefault.cs" />\r
+    <Compile Include="System.Windows.Forms.Theming\ThemeElementsVisualStyles.cs" />\r
+    <Compile Include="System.Windows.Forms.Theming\VisualStyles\CheckBoxPainter.cs" />\r
+    <Compile Include="System.Windows.Forms.Theming\VisualStyles\RadioButtonPainter.cs" />\r
+    <Compile Include="System.Windows.Forms.Theming\VisualStyles\TabControlPainter.cs" />\r
+    <Compile Include="System.Windows.Forms.Theming\VisualStyles\ToolStripPainter.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\BackgroundType.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\BooleanProperty.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\BorderType.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\CheckBoxState.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\ColorProperty.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\ComboBoxState.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\ContentAlignment.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\EdgeEffects.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\Edges.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\EdgeStyle.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\EnumProperty.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\FilenameProperty.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\FillType.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\FontProperty.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\GlyphFontSizingType.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\GlyphType.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\GroupBoxState.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\GtkPlus.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\HitTestCode.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\HitTestOptions.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\HorizontalAlign.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\IconEffect.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\ImageOrientation.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\ImageSelectType.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\IntegerProperty.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\IVisualStyles.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\MarginProperty.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\OffsetType.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\PointProperty.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\PushButtonState.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\RadioButtonState.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\ScrollBarArrowButtonState.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\ScrollBarSizeBoxState.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\ScrollBarState.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\SizingType.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\StringProperty.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\TabItemState.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\TextBoxState.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\TextMetrics.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\TextMetricsCharacterSet.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\TextMetricsPitchAndFamilyValues.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\TextShadowType.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\ThemeSizeType.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\ToolBarState.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\TrackBarThumbState.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\TrueSizeScalingType.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\UXTheme.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\VerticalAlignment.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\VisualStyleElement.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\VisualStyleInformation.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\VisualStyleRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\VisualStylesEngine.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\VisualStylesGtkPlus.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\VisualStylesNative.cs" />\r
+    <Compile Include="System.Windows.Forms.VisualStyles\VisualStyleState.cs" />\r
+    <Compile Include="System.Windows.Forms.WebBrowserDialogs\AlertCheck.cs" />\r
+    <Compile Include="System.Windows.Forms.WebBrowserDialogs\ConfirmCheck.cs" />\r
+    <Compile Include="System.Windows.Forms.WebBrowserDialogs\Generic.cs" />\r
+    <Compile Include="System.Windows.Forms.WebBrowserDialogs\Prompt.cs" />\r
+    <Compile Include="System.Windows.Forms\AccessibleEvents.cs" />\r
+    <Compile Include="System.Windows.Forms\AccessibleNavigation.cs" />\r
+    <Compile Include="System.Windows.Forms\AccessibleObject.cs" />\r
+    <Compile Include="System.Windows.Forms\AccessibleRole.cs" />\r
+    <Compile Include="System.Windows.Forms\AccessibleSelection.cs" />\r
+    <Compile Include="System.Windows.Forms\AccessibleStates.cs" />\r
+    <Compile Include="System.Windows.Forms\AmbientProperties.cs" />\r
+    <Compile Include="System.Windows.Forms\AnchorStyles.cs" />\r
+    <Compile Include="System.Windows.Forms\Appearance.cs" />\r
+    <Compile Include="System.Windows.Forms\Application.cs" />\r
+    <Compile Include="System.Windows.Forms\ApplicationContext.cs" />\r
+    <Compile Include="System.Windows.Forms\ArrangeDirection.cs" />\r
+    <Compile Include="System.Windows.Forms\ArrangeStartingPosition.cs" />\r
+    <Compile Include="System.Windows.Forms\ArrowDirection.cs" />\r
+    <Compile Include="System.Windows.Forms\AsyncMethodData.cs" />\r
+    <Compile Include="System.Windows.Forms\AsyncMethodResult.cs" />\r
+    <Compile Include="System.Windows.Forms\AutoCompleteMode.cs" />\r
+    <Compile Include="System.Windows.Forms\AutoCompleteSource.cs" />\r
+    <Compile Include="System.Windows.Forms\AutoCompleteStringCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\AutoScaleMode.cs" />\r
+    <Compile Include="System.Windows.Forms\AutoSizeMode.cs" />\r
+    <Compile Include="System.Windows.Forms\AutoValidate.cs" />\r
+    <Compile Include="System.Windows.Forms\AxHost.cs" />\r
+    <Compile Include="System.Windows.Forms\BaseCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\BatteryChargeStatus.cs" />\r
+    <Compile Include="System.Windows.Forms\Binding.cs" />\r
+    <Compile Include="System.Windows.Forms\BindingCompleteContext.cs" />\r
+    <Compile Include="System.Windows.Forms\BindingCompleteEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\BindingCompleteEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\BindingCompleteState.cs" />\r
+    <Compile Include="System.Windows.Forms\BindingContext.cs" />\r
+    <Compile Include="System.Windows.Forms\BindingManagerBase.cs" />\r
+    <Compile Include="System.Windows.Forms\BindingManagerDataErrorEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\BindingManagerDataErrorEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\BindingMemberInfo.cs" />\r
+    <Compile Include="System.Windows.Forms\BindingNavigator.cs" />\r
+    <Compile Include="System.Windows.Forms\BindingsCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\BindingSource.cs" />\r
+    <Compile Include="System.Windows.Forms\BootMode.cs" />\r
+    <Compile Include="System.Windows.Forms\Border3DSide.cs" />\r
+    <Compile Include="System.Windows.Forms\Border3DStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\BorderStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\BoundsSpecified.cs" />\r
+    <Compile Include="System.Windows.Forms\Button.cs" />\r
+    <Compile Include="System.Windows.Forms\ButtonBase.cs" />\r
+    <Compile Include="System.Windows.Forms\ButtonBorderStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\ButtonRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\ButtonState.cs" />\r
+    <Compile Include="System.Windows.Forms\CacheVirtualItemsEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\CacheVirtualItemsEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\CaptionButton.cs" />\r
+    <Compile Include="System.Windows.Forms\CategoryGridEntry.cs" />\r
+    <Compile Include="System.Windows.Forms\CharacterCasing.cs" />\r
+    <Compile Include="System.Windows.Forms\CheckBox.cs" />\r
+    <Compile Include="System.Windows.Forms\CheckBoxRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\CheckedListBox.cs" />\r
+    <Compile Include="System.Windows.Forms\CheckState.cs" />\r
+    <Compile Include="System.Windows.Forms\Clipboard.cs" />\r
+    <Compile Include="System.Windows.Forms\CloseReason.cs" />\r
+    <Compile Include="System.Windows.Forms\ColorDepth.cs" />\r
+    <Compile Include="System.Windows.Forms\ColorDialog.cs" />\r
+    <Compile Include="System.Windows.Forms\ColumnClickEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ColumnClickEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ColumnHeader.cs" />\r
+    <Compile Include="System.Windows.Forms\ColumnHeaderAutoResizeStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\ColumnHeaderConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\ColumnHeaderStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\ColumnReorderedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ColumnReorderedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ColumnStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\ColumnWidthChangedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ColumnWidthChangedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ColumnWidthChangingEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ColumnWidthChangingEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ComboBox.cs" />\r
+    <Compile Include="System.Windows.Forms\ComboBoxRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\ComboBoxStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\CommonDialog.cs" />\r
+    <Compile Include="System.Windows.Forms\ComponentModel.cs" />\r
+    <Compile Include="System.Windows.Forms\ContainerControl.cs" />\r
+    <Compile Include="System.Windows.Forms\ContentsResizedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ContentsResizedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ContextMenu.cs" />\r
+    <Compile Include="System.Windows.Forms\ContextMenuStrip.cs" />\r
+    <Compile Include="System.Windows.Forms\Control.cs" />\r
+    <Compile Include="System.Windows.Forms\ControlBindingsCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\ControlEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ControlEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ControlPaint.cs" />\r
+    <Compile Include="System.Windows.Forms\ControlStyles.cs" />\r
+    <Compile Include="System.Windows.Forms\ControlUpdateMode.cs" />\r
+    <Compile Include="System.Windows.Forms\ConvertEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ConvertEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\CreateParams.cs" />\r
+    <Compile Include="System.Windows.Forms\CurrencyManager.cs" />\r
+    <Compile Include="System.Windows.Forms\Cursor.cs" />\r
+    <Compile Include="System.Windows.Forms\CursorConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\Cursors.cs" />\r
+    <Compile Include="System.Windows.Forms\DataFormats.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGrid.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridBoolColumn.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridCell.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridColumnStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridLineStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridParentRowsLabelStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridPreferredColumnWidthTypeConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridTableStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridTextBox.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridTextBoxColumn.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridView.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewAdvancedBorderStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewAdvancedCellBorderStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeColumnMode.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeColumnModeEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeColumnModeEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeColumnsMode.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeColumnsModeEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeColumnsModeEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeModeEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeModeEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeRowMode.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewAutoSizeRowsMode.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewBand.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewBindingCompleteEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewBindingCompleteEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewButtonCell.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewButtonColumn.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCell.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellBorderStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellCancelEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellCancelEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellContextMenuStripNeededEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellContextMenuStripNeededEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellErrorTextNeededEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellErrorTextNeededEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellFormattingEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellFormattingEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellMouseEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellMouseEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellPaintingEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellPaintingEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellParsingEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellParsingEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellStateChangedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellStateChangedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellStyleContentChangedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellStyleContentChangedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellStyleConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellStyleScopes.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellToolTipTextNeededEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellToolTipTextNeededEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellValidatingEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellValidatingEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellValueEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCellValueEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCheckBoxCell.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewCheckBoxColumn.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewClipboardCopyMode.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewColumn.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewColumnCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewColumnDesignTimeVisibleAttribute.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewColumnDividerDoubleClickEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewColumnDividerDoubleClickEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewColumnEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewColumnEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewColumnHeaderCell.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewColumnHeadersHeightSizeMode.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewColumnSortMode.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewColumnStateChangedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewColumnStateChangedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewComboBoxCell.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewComboBoxColumn.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewComboBoxDisplayStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewComboBoxEditingControl.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewContentAlignment.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewDataErrorContexts.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewDataErrorEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewDataErrorEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewEditingControlShowingEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewEditingControlShowingEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewEditMode.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewElement.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewElementStates.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewHeaderBorderStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewHeaderCell.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewHitTestType.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewImageCell.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewImageCellLayout.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewImageColumn.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewLinkCell.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewLinkColumn.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewPaintParts.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRow.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowCancelEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowCancelEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowContextMenuStripNeededEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowContextMenuStripNeededEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowDividerDoubleClickEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowDividerDoubleClickEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowErrorTextNeededEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowErrorTextNeededEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowHeaderCell.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowHeadersWidthSizeMode.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowHeightInfoNeededEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowHeightInfoNeededEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowHeightInfoPushedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowHeightInfoPushedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowPostPaintEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowPostPaintEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowPrePaintEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowPrePaintEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowsAddedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowsAddedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowsRemovedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowsRemovedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowStateChangedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewRowStateChangedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewSelectedCellCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewSelectedColumnCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewSelectedRowCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewSelectionMode.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewSortCompareEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewSortCompareEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewTextBoxCell.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewTextBoxColumn.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewTextBoxEditingControl.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewTopLeftHeaderCell.cs" />\r
+    <Compile Include="System.Windows.Forms\DataGridViewTriState.cs" />\r
+    <Compile Include="System.Windows.Forms\DataObject.cs" />\r
+    <Compile Include="System.Windows.Forms\DataSourceUpdateMode.cs" />\r
+    <Compile Include="System.Windows.Forms\DateBoldEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DateBoldEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DateRangeEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DateRangeEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DateTimePicker.cs" />\r
+    <Compile Include="System.Windows.Forms\DateTimePickerFormat.cs" />\r
+    <Compile Include="System.Windows.Forms\Day.cs" />\r
+    <Compile Include="System.Windows.Forms\DialogResult.cs" />\r
+    <Compile Include="System.Windows.Forms\DockingAttribute.cs" />\r
+    <Compile Include="System.Windows.Forms\DockingBehavior.cs" />\r
+    <Compile Include="System.Windows.Forms\DockStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\DomainUpDown.cs" />\r
+    <Compile Include="System.Windows.Forms\DragAction.cs" />\r
+    <Compile Include="System.Windows.Forms\DragDropEffects.cs" />\r
+    <Compile Include="System.Windows.Forms\DragEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DragEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DrawItemEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DrawItemEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DrawItemState.cs" />\r
+    <Compile Include="System.Windows.Forms\DrawListViewColumnHeaderEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DrawListViewColumnHeaderEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DrawListViewItemEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DrawListViewItemEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DrawListViewSubItemEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DrawListViewSubItemEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DrawMode.cs" />\r
+    <Compile Include="System.Windows.Forms\DrawToolTipEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DrawToolTipEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\DrawTreeNodeEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\DrawTreeNodeEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ErrorBlinkStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\ErrorIconAlignment.cs" />\r
+    <Compile Include="System.Windows.Forms\ErrorProvider.cs" />\r
+    <Compile Include="System.Windows.Forms\FeatureSupport.cs" />\r
+    <Compile Include="System.Windows.Forms\FileDialog.cs" />\r
+    <Compile Include="System.Windows.Forms\FileDialogCustomPlace.cs" />\r
+    <Compile Include="System.Windows.Forms\FileDialogCustomPlacesCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\FixedPanel.cs" />\r
+    <Compile Include="System.Windows.Forms\FixedSizeTextBox.cs" />\r
+    <Compile Include="System.Windows.Forms\FlatButtonAppearance.cs" />\r
+    <Compile Include="System.Windows.Forms\FlatStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\FlowDirection.cs" />\r
+    <Compile Include="System.Windows.Forms\FlowLayoutPanel.cs" />\r
+    <Compile Include="System.Windows.Forms\FlowLayoutSettings.cs" />\r
+    <Compile Include="System.Windows.Forms\FolderBrowserDialog.cs" />\r
+    <Compile Include="System.Windows.Forms\FontDialog.cs" />\r
+    <Compile Include="System.Windows.Forms\Form.cs" />\r
+    <Compile Include="System.Windows.Forms\FormBorderStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\FormClosedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\FormClosedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\FormClosingEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\FormClosingEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\FormCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\FormStartPosition.cs" />\r
+    <Compile Include="System.Windows.Forms\FormWindowManager.cs" />\r
+    <Compile Include="System.Windows.Forms\FormWindowState.cs" />\r
+    <Compile Include="System.Windows.Forms\FrameStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\GetChildAtPointSkip.cs" />\r
+    <Compile Include="System.Windows.Forms\GiveFeedbackEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\GiveFeedbackEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\GridColumnStylesCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\GridEntry.cs" />\r
+    <Compile Include="System.Windows.Forms\GridItem.cs" />\r
+    <Compile Include="System.Windows.Forms\GridItemCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\GridItemType.cs" />\r
+    <Compile Include="System.Windows.Forms\GridTablesFactory.cs" />\r
+    <Compile Include="System.Windows.Forms\GridTableStylesCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\GroupBox.cs" />\r
+    <Compile Include="System.Windows.Forms\GroupBoxRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\HandledMouseEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\Help.cs" />\r
+    <Compile Include="System.Windows.Forms\HelpEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\HelpEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\HelpNavigator.cs" />\r
+    <Compile Include="System.Windows.Forms\HelpProvider.cs" />\r
+    <Compile Include="System.Windows.Forms\HorizontalAlignment.cs" />\r
+    <Compile Include="System.Windows.Forms\HScrollBar.cs" />\r
+    <Compile Include="System.Windows.Forms\HScrollProperties.cs" />\r
+    <Compile Include="System.Windows.Forms\HtmlDocument.cs" />\r
+    <Compile Include="System.Windows.Forms\HtmlElement.cs" />\r
+    <Compile Include="System.Windows.Forms\HtmlElementCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\HtmlElementErrorEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\HtmlElementErrorEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\HtmlElementEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\HtmlElementEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\HtmlElementInsertionOrientation.cs" />\r
+    <Compile Include="System.Windows.Forms\HtmlHistory.cs" />\r
+    <Compile Include="System.Windows.Forms\HtmlWindow.cs" />\r
+    <Compile Include="System.Windows.Forms\HtmlWindowCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\Hwnd.cs" />\r
+    <Compile Include="System.Windows.Forms\IBindableComponent.cs" />\r
+    <Compile Include="System.Windows.Forms\IBounds.cs" />\r
+    <Compile Include="System.Windows.Forms\IButtonControl.cs" />\r
+    <Compile Include="System.Windows.Forms\ICommandExecutor.cs" />\r
+    <Compile Include="System.Windows.Forms\IComponentEditorPageSite.cs" />\r
+    <Compile Include="System.Windows.Forms\IContainerControl.cs" />\r
+    <Compile Include="System.Windows.Forms\ICurrencyManagerProvider.cs" />\r
+    <Compile Include="System.Windows.Forms\IDataGridColumnStyleEditingNotificationService.cs" />\r
+    <Compile Include="System.Windows.Forms\IDataGridEditingService.cs" />\r
+    <Compile Include="System.Windows.Forms\IDataGridViewEditingCell.cs" />\r
+    <Compile Include="System.Windows.Forms\IDataGridViewEditingControl.cs" />\r
+    <Compile Include="System.Windows.Forms\IDataObject.cs" />\r
+    <Compile Include="System.Windows.Forms\IDropTarget.cs" />\r
+    <Compile Include="System.Windows.Forms\IFeatureSupport.cs" />\r
+    <Compile Include="System.Windows.Forms\IFileReaderService.cs" />\r
+    <Compile Include="System.Windows.Forms\IKeyFilter.cs" />\r
+    <Compile Include="System.Windows.Forms\ImageIndexConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\ImageKeyConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\ImageLayout.cs" />\r
+    <Compile Include="System.Windows.Forms\ImageList.cs" />\r
+    <Compile Include="System.Windows.Forms\ImageListConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\ImageListStreamer.cs" />\r
+    <Compile Include="System.Windows.Forms\ImeMode.cs" />\r
+    <Compile Include="System.Windows.Forms\IMessageFilter.cs" />\r
+    <Compile Include="System.Windows.Forms\ImplicitHScrollBar.cs" />\r
+    <Compile Include="System.Windows.Forms\ImplicitVScrollBar.cs" />\r
+    <Compile Include="System.Windows.Forms\InputLanguage.cs" />\r
+    <Compile Include="System.Windows.Forms\InputLanguageChangedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\InputLanguageChangedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\InputLanguageChangingEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\InputLanguageChangingEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\InputLanguageCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\InsertKeyMode.cs" />\r
+    <Compile Include="System.Windows.Forms\InternalWindowManager.cs" />\r
+    <Compile Include="System.Windows.Forms\InvalidateEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\InvalidateEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\IRootGridEntry.cs" />\r
+    <Compile Include="System.Windows.Forms\ItemActivation.cs" />\r
+    <Compile Include="System.Windows.Forms\ItemBoundsPortion.cs" />\r
+    <Compile Include="System.Windows.Forms\ItemChangedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ItemChangedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ItemCheckedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ItemCheckedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ItemCheckEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ItemCheckEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ItemDragEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ItemDragEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\IToolStripData.cs" />\r
+    <Compile Include="System.Windows.Forms\IWin32Window.cs" />\r
+    <Compile Include="System.Windows.Forms\IWindowTarget.cs" />\r
+    <Compile Include="System.Windows.Forms\KeyboardLayouts.cs" />\r
+    <Compile Include="System.Windows.Forms\KeyEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\KeyEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\KeyPressEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\KeyPressEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\Keys.cs" />\r
+    <Compile Include="System.Windows.Forms\KeysConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\Label.cs" />\r
+    <Compile Include="System.Windows.Forms\LabelEditEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\LabelEditEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\LabelEditTextBox.cs" />\r
+    <Compile Include="System.Windows.Forms\LayoutEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\LayoutEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\LayoutSettings.cs" />\r
+    <Compile Include="System.Windows.Forms\LeftRightAlignment.cs" />\r
+    <Compile Include="System.Windows.Forms\Line.cs" />\r
+    <Compile Include="System.Windows.Forms\LineTag.cs" />\r
+    <Compile Include="System.Windows.Forms\LinkArea.cs" />\r
+    <Compile Include="System.Windows.Forms\LinkBehavior.cs" />\r
+    <Compile Include="System.Windows.Forms\LinkClickedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\LinkClickedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\LinkConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\LinkLabel.cs" />\r
+    <Compile Include="System.Windows.Forms\LinkLabelLinkClickedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\LinkLabelLinkClickedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\LinkState.cs" />\r
+    <Compile Include="System.Windows.Forms\ListBindingConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\ListBindingHelper.cs" />\r
+    <Compile Include="System.Windows.Forms\ListBox.cs" />\r
+    <Compile Include="System.Windows.Forms\ListControl.cs" />\r
+    <Compile Include="System.Windows.Forms\ListControlConvertEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ListControlConvertEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ListView.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewAlignment.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewGroup.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewGroupCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewHitTestInfo.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewHitTestLocations.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewInsertionMark.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewItem.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewItemConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewItemMouseHoverEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewItemMouseHoverEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewItemSelectionChangedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewItemSelectionChangedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewItemStates.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewVirtualItemsSelectionRangeChangedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ListViewVirtualItemsSelectionRangeChangedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\MainMenu.cs" />\r
+    <Compile Include="System.Windows.Forms\MaskedTextBox.cs" />\r
+    <Compile Include="System.Windows.Forms\MaskFormat.cs" />\r
+    <Compile Include="System.Windows.Forms\MaskInputRejectedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\MaskInputRejectedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\MdiClient.cs" />\r
+    <Compile Include="System.Windows.Forms\MdiControlStrip.cs" />\r
+    <Compile Include="System.Windows.Forms\MdiLayout.cs" />\r
+    <Compile Include="System.Windows.Forms\MdiWindowManager.cs" />\r
+    <Compile Include="System.Windows.Forms\MeasureItemEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\MeasureItemEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\Menu.cs" />\r
+    <Compile Include="System.Windows.Forms\MenuAPI.cs" />\r
+    <Compile Include="System.Windows.Forms\MenuGlyph.cs" />\r
+    <Compile Include="System.Windows.Forms\MenuItem.cs" />\r
+    <Compile Include="System.Windows.Forms\MenuMerge.cs" />\r
+    <Compile Include="System.Windows.Forms\MenuStrip.cs" />\r
+    <Compile Include="System.Windows.Forms\MergeAction.cs" />\r
+    <Compile Include="System.Windows.Forms\Message.cs" />\r
+    <Compile Include="System.Windows.Forms\MessageBox.cs" />\r
+    <Compile Include="System.Windows.Forms\MessageBoxButtons.cs" />\r
+    <Compile Include="System.Windows.Forms\MessageBoxDefaultButton.cs" />\r
+    <Compile Include="System.Windows.Forms\MessageBoxIcon.cs" />\r
+    <Compile Include="System.Windows.Forms\MessageBoxOptions.cs" />\r
+    <Compile Include="System.Windows.Forms\MethodInvoker.cs" />\r
+    <Compile Include="System.Windows.Forms\Mime.cs" />\r
+    <Compile Include="System.Windows.Forms\MimeIcon.cs" />\r
+    <Compile Include="System.Windows.Forms\MonthCalendar.cs" />\r
+    <Compile Include="System.Windows.Forms\MouseButtons.cs" />\r
+    <Compile Include="System.Windows.Forms\MouseEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\MouseEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\MWFCategoryAttribute.cs" />\r
+    <Compile Include="System.Windows.Forms\MWFDescriptionAttribute.cs" />\r
+    <Compile Include="System.Windows.Forms\NativeWindow.cs" />\r
+    <Compile Include="System.Windows.Forms\NavigateEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\NavigateEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\NodeLabelEditEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\NodeLabelEditEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\NotifyIcon.cs" />\r
+    <Compile Include="System.Windows.Forms\NumericTextBox.cs" />\r
+    <Compile Include="System.Windows.Forms\NumericUpDown.cs" />\r
+    <Compile Include="System.Windows.Forms\NumericUpDownAcceleration.cs" />\r
+    <Compile Include="System.Windows.Forms\NumericUpDownAccelerationCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\OpacityConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\OpenFileDialog.cs" />\r
+    <Compile Include="System.Windows.Forms\OpenTreeNodeEnumerator.cs" />\r
+    <Compile Include="System.Windows.Forms\Orientation.cs" />\r
+    <Compile Include="System.Windows.Forms\OSFeature.cs" />\r
+    <Compile Include="System.Windows.Forms\OwnerDrawPropertyBag.cs" />\r
+    <Compile Include="System.Windows.Forms\Padding.cs" />\r
+    <Compile Include="System.Windows.Forms\PaddingConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\PageSetupDialog.cs" />\r
+    <Compile Include="System.Windows.Forms\PaintEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\PaintEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\Panel.cs" />\r
+    <Compile Include="System.Windows.Forms\PictureBox.cs" />\r
+    <Compile Include="System.Windows.Forms\PictureBoxSizeMode.cs" />\r
+    <Compile Include="System.Windows.Forms\PopupEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\PopupEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\PowerLineStatus.cs" />\r
+    <Compile Include="System.Windows.Forms\PowerState.cs" />\r
+    <Compile Include="System.Windows.Forms\PowerStatus.cs" />\r
+    <Compile Include="System.Windows.Forms\PreProcessControlState.cs" />\r
+    <Compile Include="System.Windows.Forms\PreviewKeyDownEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\PreviewKeyDownEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\PrintControllerWithStatusDialog.cs" />\r
+    <Compile Include="System.Windows.Forms\PrintDialog.cs" />\r
+    <Compile Include="System.Windows.Forms\PrintPreviewControl.cs" />\r
+    <Compile Include="System.Windows.Forms\PrintPreviewDialog.cs" />\r
+    <Compile Include="System.Windows.Forms\ProfessionalColors.cs" />\r
+    <Compile Include="System.Windows.Forms\ProfessionalColorTable.cs" />\r
+    <Compile Include="System.Windows.Forms\ProgressBar.cs" />\r
+    <Compile Include="System.Windows.Forms\ProgressBarRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\ProgressBarStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\PropertyGrid.cs" />\r
+    <Compile Include="System.Windows.Forms\PropertyGridCommands.cs" />\r
+    <Compile Include="System.Windows.Forms\PropertyGridTextBox.cs" />\r
+    <Compile Include="System.Windows.Forms\PropertyGridView.cs" />\r
+    <Compile Include="System.Windows.Forms\PropertyManager.cs" />\r
+    <Compile Include="System.Windows.Forms\PropertySort.cs" />\r
+    <Compile Include="System.Windows.Forms\PropertyTabChangedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\PropertyTabChangedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\PropertyValueChangedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\PropertyValueChangedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\QueryAccessibilityHelpEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\QueryAccessibilityHelpEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\QueryContinueDragEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\QueryContinueDragEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\QuestionEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\QuestionEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\RadioButton.cs" />\r
+    <Compile Include="System.Windows.Forms\RadioButtonRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\RelatedCurrencyManager.cs" />\r
+    <Compile Include="System.Windows.Forms\RelatedImageListAttribute.cs" />\r
+    <Compile Include="System.Windows.Forms\RelatedPropertyManager.cs" />\r
+    <Compile Include="System.Windows.Forms\RetrieveVirtualItemEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\RetrieveVirtualItemEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\RichTextBox.cs" />\r
+    <Compile Include="System.Windows.Forms\RichTextBoxFinds.cs" />\r
+    <Compile Include="System.Windows.Forms\RichTextBoxLanguageOptions.cs" />\r
+    <Compile Include="System.Windows.Forms\RichTextBoxScrollBars.cs" />\r
+    <Compile Include="System.Windows.Forms\RichTextBoxSelectionAttribute.cs" />\r
+    <Compile Include="System.Windows.Forms\RichTextBoxSelectionTypes.cs" />\r
+    <Compile Include="System.Windows.Forms\RichTextBoxStreamType.cs" />\r
+    <Compile Include="System.Windows.Forms\RichTextBoxWordPunctuations.cs" />\r
+    <Compile Include="System.Windows.Forms\RightToLeft.cs" />\r
+    <Compile Include="System.Windows.Forms\RootGridEntry.cs" />\r
+    <Compile Include="System.Windows.Forms\RowStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\SaveFileDialog.cs" />\r
+    <Compile Include="System.Windows.Forms\Screen.cs" />\r
+    <Compile Include="System.Windows.Forms\ScreenOrientation.cs" />\r
+    <Compile Include="System.Windows.Forms\ScrollableControl.cs" />\r
+    <Compile Include="System.Windows.Forms\ScrollBar.cs" />\r
+    <Compile Include="System.Windows.Forms\ScrollBarRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\ScrollBars.cs" />\r
+    <Compile Include="System.Windows.Forms\ScrollButton.cs" />\r
+    <Compile Include="System.Windows.Forms\ScrollEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ScrollEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ScrollEventType.cs" />\r
+    <Compile Include="System.Windows.Forms\ScrollOrientation.cs" />\r
+    <Compile Include="System.Windows.Forms\ScrollProperties.cs" />\r
+    <Compile Include="System.Windows.Forms\SearchDirectionHint.cs" />\r
+    <Compile Include="System.Windows.Forms\SearchForVirtualItemEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\SearchForVirtualItemEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\SecurityIDType.cs" />\r
+    <Compile Include="System.Windows.Forms\SelectedGridItemChangedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\SelectedGridItemChangedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\SelectionMode.cs" />\r
+    <Compile Include="System.Windows.Forms\SelectionRange.cs" />\r
+    <Compile Include="System.Windows.Forms\SelectionRangeConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\SendKeys.cs" />\r
+    <Compile Include="System.Windows.Forms\Shortcut.cs" />\r
+    <Compile Include="System.Windows.Forms\SizeGrip.cs" />\r
+    <Compile Include="System.Windows.Forms\SizeGripStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\SizeType.cs" />\r
+    <Compile Include="System.Windows.Forms\SortOrder.cs" />\r
+    <Compile Include="System.Windows.Forms\SplitContainer.cs" />\r
+    <Compile Include="System.Windows.Forms\Splitter.cs" />\r
+    <Compile Include="System.Windows.Forms\SplitterCancelEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\SplitterCancelEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\SplitterEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\SplitterEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\SplitterPanel.cs" />\r
+    <Compile Include="System.Windows.Forms\StatusBar.cs" />\r
+    <Compile Include="System.Windows.Forms\StatusBarDrawItemEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\StatusBarDrawItemEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\StatusBarPanel.cs" />\r
+    <Compile Include="System.Windows.Forms\StatusBarPanelAutoSize.cs" />\r
+    <Compile Include="System.Windows.Forms\StatusBarPanelBorderStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\StatusBarPanelClickEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\StatusBarPanelClickEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\StatusBarPanelStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\StatusStrip.cs" />\r
+    <Compile Include="System.Windows.Forms\StructFormat.cs" />\r
+    <Compile Include="System.Windows.Forms\SystemInformation.cs" />\r
+    <Compile Include="System.Windows.Forms\SystemParameter.cs" />\r
+    <Compile Include="System.Windows.Forms\TabAlignment.cs" />\r
+    <Compile Include="System.Windows.Forms\TabAppearance.cs" />\r
+    <Compile Include="System.Windows.Forms\TabControl.cs" />\r
+    <Compile Include="System.Windows.Forms\TabControlAction.cs" />\r
+    <Compile Include="System.Windows.Forms\TabControlCancelEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\TabControlCancelEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\TabControlEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\TabControlEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\TabDrawMode.cs" />\r
+    <Compile Include="System.Windows.Forms\TableLayoutCellPaintEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\TableLayoutCellPaintEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\TableLayoutColumnStyleCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\TableLayoutControlCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\TableLayoutPanel.cs" />\r
+    <Compile Include="System.Windows.Forms\TableLayoutPanelCellBorderStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\TableLayoutPanelCellPosition.cs" />\r
+    <Compile Include="System.Windows.Forms\TableLayoutPanelGrowStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\TableLayoutRowStyleCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\TableLayoutSettings.cs" />\r
+    <Compile Include="System.Windows.Forms\TableLayoutStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\TableLayoutStyleCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\TabPage.cs" />\r
+    <Compile Include="System.Windows.Forms\TabRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\TabSizeMode.cs" />\r
+    <Compile Include="System.Windows.Forms\TextBox.cs" />\r
+    <Compile Include="System.Windows.Forms\TextBoxBase.cs" />\r
+    <Compile Include="System.Windows.Forms\TextBoxRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\TextBoxTextRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\TextControl.cs" />\r
+    <Compile Include="System.Windows.Forms\TextDataFormat.cs" />\r
+    <Compile Include="System.Windows.Forms\TextFormatFlags.cs" />\r
+    <Compile Include="System.Windows.Forms\TextImageRelation.cs" />\r
+    <Compile Include="System.Windows.Forms\TextRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\Theme.cs" />\r
+    <Compile Include="System.Windows.Forms\ThemeEngine.cs" />\r
+    <Compile Include="System.Windows.Forms\ThemeVisualStyles.cs" />\r
+    <Compile Include="System.Windows.Forms\ThemeWin32Classic.cs" />\r
+    <Compile Include="System.Windows.Forms\ThreadExceptionDialog.cs" />\r
+    <Compile Include="System.Windows.Forms\TickStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\Timer.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolBar.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolBarAppearance.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolBarButton.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolBarButtonClickEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolBarButtonClickEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolBarButtonStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolBarTextAlign.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStrip.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripArrowRenderEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripArrowRenderEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripButton.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripComboBox.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripContainer.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripContentPanel.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripContentPanelRenderEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripContentPanelRenderEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripControlHost.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripDropDown.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripDropDownButton.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripDropDownClosedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripDropDownClosedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripDropDownCloseReason.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripDropDownClosingEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripDropDownClosingEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripDropDownDirection.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripDropDownItem.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripDropDownItemAccessibleObject.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripDropDownMenu.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripGripDisplayStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripGripRenderEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripGripRenderEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripGripStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItem.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemAlignment.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemClickedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemClickedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemDisplayStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemEventType.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemImageRenderEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemImageRenderEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemImageScaling.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemOverflow.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemPlacement.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemRenderEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemRenderEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemTextRenderEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripItemTextRenderEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripLabel.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripLayoutStyle.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripManager.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripManagerRenderMode.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripMenuItem.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripOverflow.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripOverflowButton.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripPanel.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripPanelRenderEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripPanelRenderEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripPanelRow.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripProfessionalRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripProgressBar.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripRenderEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripRenderEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripRenderMode.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripSeparator.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripSeparatorRenderEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripSeparatorRenderEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripSplitButton.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripSplitStackLayout.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripStatusLabel.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripStatusLabelBorderSides.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripSystemRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripTextBox.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolStripTextDirection.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolTip.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolTipIcon.cs" />\r
+    <Compile Include="System.Windows.Forms\ToolWindowManager.cs" />\r
+    <Compile Include="System.Windows.Forms\TrackBar.cs" />\r
+    <Compile Include="System.Windows.Forms\TrackBarRenderer.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeNode.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeNodeCollection.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeNodeConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeNodeMouseClickEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeNodeMouseClickEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeNodeMouseHoverEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeNodeMouseHoverEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeNodeStates.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeView.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeViewAction.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeViewCancelEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeViewCancelEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeViewDrawMode.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeViewEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeViewEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeViewHitTestInfo.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeViewHitTestLocations.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeViewImageIndexConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\TreeViewImageKeyConverter.cs" />\r
+    <Compile Include="System.Windows.Forms\TypeValidationEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\TypeValidationEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\UICues.cs" />\r
+    <Compile Include="System.Windows.Forms\UICuesEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\UICuesEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\UnhandledExceptionMode.cs" />\r
+    <Compile Include="System.Windows.Forms\UpDownBase.cs" />\r
+    <Compile Include="System.Windows.Forms\UpDownEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\UpDownEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\UserControl.cs" />\r
+    <Compile Include="System.Windows.Forms\ValidationConstraints.cs" />\r
+    <Compile Include="System.Windows.Forms\View.cs" />\r
+    <Compile Include="System.Windows.Forms\VScrollBar.cs" />\r
+    <Compile Include="System.Windows.Forms\VScrollProperties.cs" />\r
+    <Compile Include="System.Windows.Forms\WebBrowser.cs" />\r
+    <Compile Include="System.Windows.Forms\WebBrowserBase.cs" />\r
+    <Compile Include="System.Windows.Forms\WebBrowserDocumentCompletedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\WebBrowserDocumentCompletedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\WebBrowserEncryptionLevel.cs" />\r
+    <Compile Include="System.Windows.Forms\WebBrowserNavigatedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\WebBrowserNavigatedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\WebBrowserNavigatingEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\WebBrowserNavigatingEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\WebBrowserProgressChangedEventArgs.cs" />\r
+    <Compile Include="System.Windows.Forms\WebBrowserProgressChangedEventHandler.cs" />\r
+    <Compile Include="System.Windows.Forms\WebBrowserReadyState.cs" />\r
+    <Compile Include="System.Windows.Forms\WebBrowserRefreshOption.cs" />\r
+    <Compile Include="System.Windows.Forms\WebBrowserSiteBase.cs" />\r
+    <Compile Include="System.Windows.Forms\Win32DnD.cs" />\r
+    <Compile Include="System.Windows.Forms\WindowsFormsSection.cs" />\r
+    <Compile Include="System.Windows.Forms\WindowsFormsSynchronizationContext.cs" />\r
+    <Compile Include="System.Windows.Forms\X11Clipboard.cs" />\r
+    <Compile Include="System.Windows.Forms\X11DesktopColors.cs" />\r
+    <Compile Include="System.Windows.Forms\X11Dnd.cs" />\r
+    <Compile Include="System.Windows.Forms\X11Keyboard.cs" />\r
+    <Compile Include="System.Windows.Forms\X11Structs.cs" />\r
+    <Compile Include="System.Windows.Forms\XEventQueue.cs" />\r
+    <Compile Include="System.Windows.Forms\XplatUI.cs" />\r
+    <Compile Include="System.Windows.Forms\XplatUICarbon.cs" />\r
+    <Compile Include="System.Windows.Forms\XplatUIDriver.cs" />\r
+    <Compile Include="System.Windows.Forms\XplatUIStructs.cs" />\r
+    <Compile Include="System.Windows.Forms\XplatUIWin32.cs" />\r
+    <Compile Include="System.Windows.Forms\XplatUIX11.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Drawing/System.Drawing-net_4_x.csproj">\r
+      <Project>{584A5E46-2958-4CB2-8DF9-188B420D0BB0}</Project>\r
+      <Name>System.Drawing-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Accessibility/Accessibility-net_4_x.csproj">\r
+      <Project>{E51283DC-7090-479E-B723-01C0953F18EA}</Project>\r
+      <Name>Accessibility-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Posix/Mono.Posix-net_4_x.csproj">\r
+      <Project>{66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}</Project>\r
+      <Name>Mono.Posix-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../Mono.WebBrowser/Mono.WebBrowser-net_4_x.csproj">\r
+      <Project>{B6DD737B-421C-4201-A852-8022328FE59D}</Project>\r
+      <Name>Mono.WebBrowser-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-net_4_x.csproj">\r
+      <Project>{A157AD69-59D4-49DE-94B3-DB883B2BEAA5}</Project>\r
+      <Name>System.Runtime.Serialization.Formatters.Soap-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="resources/SplitterNS.cur">\r
+      <LogicalName>System.Windows.Forms.SplitterNS.cur</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/SplitterWE.cur">\r
+      <LogicalName>System.Windows.Forms.SplitterWE.cur</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/NESW.cur">\r
+      <LogicalName>System.Windows.Forms.NESW.cur</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/NWSE.cur">\r
+      <LogicalName>System.Windows.Forms.NWSE.cur</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/DnDNo.cur">\r
+      <LogicalName>System.Windows.Forms.DnDNo.cur</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/DnDCopy.cur">\r
+      <LogicalName>System.Windows.Forms.DnDCopy.cur</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/DnDLink.cur">\r
+      <LogicalName>System.Windows.Forms.DnDLink.cur</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/DnDMove.cur">\r
+      <LogicalName>System.Windows.Forms.DnDMove.cur</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/keyboards.resources">\r
+      <LogicalName>keyboards.resources</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/16_computer.png">\r
+      <LogicalName>16_computer.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/32_computer.png">\r
+      <LogicalName>32_computer.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/computer.png">\r
+      <LogicalName>computer.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/16_document-open.png">\r
+      <LogicalName>16_document-open.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/32_document-open.png">\r
+      <LogicalName>32_document-open.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/document-open.png">\r
+      <LogicalName>document-open.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/16_folder.png">\r
+      <LogicalName>16_folder.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/folder-new.png">\r
+      <LogicalName>folder-new.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/folder.png">\r
+      <LogicalName>folder.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/16_folder-remote.png">\r
+      <LogicalName>16_folder-remote.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/32_folder-remote.png">\r
+      <LogicalName>32_folder-remote.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/folder-remote.png">\r
+      <LogicalName>folder-remote.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/go-previous.png">\r
+      <LogicalName>go-previous.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/go-top.png">\r
+      <LogicalName>go-top.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/22_page-magnifier.png">\r
+      <LogicalName>22_page-magnifier.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/preferences-system-windows.png">\r
+      <LogicalName>preferences-system-windows.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/16_printer.png">\r
+      <LogicalName>16_printer.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/32_printer.png">\r
+      <LogicalName>32_printer.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/text-x-generic.png">\r
+      <LogicalName>text-x-generic.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/16_user-desktop.png">\r
+      <LogicalName>16_user-desktop.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/32_user-desktop.png">\r
+      <LogicalName>32_user-desktop.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/user-desktop.png">\r
+      <LogicalName>user-desktop.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/16_user-home.png">\r
+      <LogicalName>16_user-home.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/32_user-home.png">\r
+      <LogicalName>32_user-home.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/user-home.png">\r
+      <LogicalName>user-home.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/16_dialog-error.png">\r
+      <LogicalName>16_dialog-error.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/16_dialog-information.png">\r
+      <LogicalName>16_dialog-information.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/16_dialog-warning.png">\r
+      <LogicalName>16_dialog-warning.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/1-up.png">\r
+      <LogicalName>1-up.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/2-up.png">\r
+      <LogicalName>2-up.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/3-up.png">\r
+      <LogicalName>3-up.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/4-up.png">\r
+      <LogicalName>4-up.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/6-up.png">\r
+      <LogicalName>6-up.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/nav_delete.png">\r
+      <LogicalName>nav_delete.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/nav_end.png">\r
+      <LogicalName>nav_end.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/nav_first.png">\r
+      <LogicalName>nav_first.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/nav_next.png">\r
+      <LogicalName>nav_next.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/nav_plus.png">\r
+      <LogicalName>nav_plus.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/nav_previous.png">\r
+      <LogicalName>nav_previous.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/image-missing.png">\r
+      <LogicalName>image-missing.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/image-x-generic.png">\r
+      <LogicalName>image-x-generic.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/propertygrid-alphabetical.png">\r
+      <LogicalName>System.Windows.Forms.propertygrid-alphabetical.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/propertygrid-categorized.png">\r
+      <LogicalName>System.Windows.Forms.propertygrid-categorized.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/propertygrid-propertypages.png">\r
+      <LogicalName>System.Windows.Forms.propertygrid-propertypages.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/EventsTab.bmp">\r
+      <LogicalName>System.Windows.Forms.Design.EventsTab.bmp</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/PropertiesTab.bmp">\r
+      <LogicalName>System.Windows.Forms.PropertyGridInternal.PropertiesTab.bmp</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/mono.ico">\r
+      <LogicalName>mono.ico</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/errorProvider.ico">\r
+      <LogicalName>errorProvider.ico</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
index b0777b560268ec6dbb925063e650ee3dbb95d610..913fb8a57fb721c4148d43e6f575333e943842a6 100644 (file)
@@ -1271,7 +1271,7 @@ namespace System.Windows.Forms {
                        if ((long)nitems > 0) {
                                if (property == (IntPtr)Atom.XA_STRING) {
                                        // Xamarin-5116: PtrToStringAnsi expects to get UTF-8, but we might have
-                                       // Latin-1 instead.
+                                       // Latin-1 instead, in which case it will return null.
                                        var s = Marshal.PtrToStringAnsi (prop);
                                        if (string.IsNullOrEmpty (s)) {
                                                var sb = new StringBuilder ();
@@ -1338,7 +1338,7 @@ namespace System.Windows.Forms {
                                start = pos;
 
                                int length = 0;
-                               while (pos < value.Length) {
+                               while (pos < value.Length && length < 4) {
                                        if (!ValidHexDigit (value [pos]))
                                                break;
                                        length++;
index 71995cc9788b83afa7ebb8fe8b97f7c1eb3e40de..a68a986f9c96259cef2c8c7b8e4423a3fa1c06f5 100644 (file)
@@ -145,7 +145,7 @@ namespace MonoTests.System.Windows.Forms
                                myTrackBar.Height = 250;
                                myTrackBar.Orientation = Orientation.Vertical;
                                Assert.AreEqual(200, myTrackBar.Width, "#SIZE03");
-                               AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE04");
+                               Assert.AreEqual(250, myTrackBar.Height, "#SIZE04");
                        }
 
                        using (TrackBar myTrackBar = new TrackBar()) {
@@ -163,7 +163,7 @@ namespace MonoTests.System.Windows.Forms
                                myTrackBar.AutoSize = false;
                                myTrackBar.Orientation = Orientation.Vertical;
                                Assert.AreEqual(200, myTrackBar.Width, "#SIZE11");
-                               AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE12");
+                               Assert.AreEqual(250, myTrackBar.Height, "#SIZE12");
                        }
 
                        using (TrackBar myTrackBar = new TrackBar()) {
@@ -175,7 +175,7 @@ namespace MonoTests.System.Windows.Forms
                                        handle = myTrackBar.Handle;
                                        
                                        AreEqual(default_height, default_height2, myTrackBar.Width, "#SIZE17");
-                                       AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE18");
+                                       Assert.AreEqual(250, myTrackBar.Height, "#SIZE18");
                                }
                        }
 
@@ -188,7 +188,7 @@ namespace MonoTests.System.Windows.Forms
                                        handle = myTrackBar.Handle;
                                        
                                        AreEqual(default_height, default_height2, myTrackBar.Width, "#SIZE19");
-                                       AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE20");
+                                       Assert.AreEqual(250, myTrackBar.Height, "#SIZE20");
                                }
                        }
 
@@ -202,7 +202,7 @@ namespace MonoTests.System.Windows.Forms
                                        
                                        myTrackBar.Orientation = Orientation.Horizontal;
                                        
-                                       AreEqual(default_height, default_height2, myTrackBar.Width, "#SIZE23");
+                                       Assert.AreEqual(250, myTrackBar.Width, "#SIZE23");
                                        AreEqual(default_height, default_height2, myTrackBar.Height, "#SIZE24");
                                }
                        }
diff --git a/mcs/class/System.Windows/System.Windows-net_4_x.csproj b/mcs/class/System.Windows/System.Windows-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7f472f0
--- /dev/null
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{3F6EB6D4-602E-43C2-A3E1-4AD98E8C86EE}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Windows</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 4e1d65c8e8d6808b9fe1832838f05f6c0d4acedc..9fd6276bcea918729406540e67ba166ede99c2ca 100644 (file)
@@ -17,8 +17,6 @@ RESOURCE_STRINGS = \
        ../../../external/referencesource/System.Xml/System.Xml.txt \
        ../../../external/referencesource/System.Data.SqlXml/System.Xml.Utils.txt
 
-PROFILE_ANY_MOBILE := $(filter monotouch monotouch_runtime monotouch_watch monodroid xammac mobile mobile_static, $(PROFILE))
-
 LIB_REFS = System
 LIB_MCS_FLAGS = -r:$(corlib)  -nowarn:219,414,649,1717 -unsafe -d:ASYNC
 
@@ -27,7 +25,7 @@ LIB_MCS_FLAGS += -d:AGCLR -d:NET_2_1_HACK -d:DISABLE_XSLT_COMPILER -d:DISABLE_XS
 endif
 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:0618 -nowarn:219 -nowarn:169 -r:System.Data.dll -r:System.Core.dll
 
-ifndef PROFILE_ANY_MOBILE
+ifndef MOBILE_PROFILE
 FINAL_MCS_FLAGS = -r:System.Configuration.dll -d:CONFIGURATION_DEP
 endif
 
@@ -81,7 +79,7 @@ system_xml_library_deps :=                            \
        $(bare_libdir)/System.dll                       \
        $(bare_libdir)/System.Xml.dll
 
-ifndef PROFILE_ANY_MOBILE
+ifndef MOBILE_PROFILE
 system_xml_library_deps += $(the_libdir_base)System.Configuration.dll
 endif
 
diff --git a/mcs/class/System.XML/System.Xml-bare-net_4_x.csproj b/mcs/class/System.XML/System.Xml-bare-net_4_x.csproj
new file mode 100644 (file)
index 0000000..53a6be6
--- /dev/null
@@ -0,0 +1,750 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A5216031-11A3-44DD-B2FF-A14AE63BD0C3}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,219,414,649,1717</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x/bare</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Xml</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE;ASYNC</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE;ASYNC</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\GenerateHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\IteratorDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\OptimizerPatterns.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\StaticDataManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\TailCallAnalyzer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlILAnnotation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlILConstructAnalyzer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlILModule.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlILOptimization.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlILOptimizerVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlIlTrace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlIlTypeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlIlVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\ISourceLineInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\ListBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Pair.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilBinary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilChoice.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilCloneVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilDataSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilFunction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilInvoke.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilInvokeEarlyBound.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilInvokeLateBound.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilLiteral.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilLoop.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilName.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilNodeType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilPatternFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilPatternVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilReference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilReplaceVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilScopedVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilSortKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilStrConcat.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilTargetType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilTernary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilTypeChecker.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilUnary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilValidationVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilXmlReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilXmlWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\SerializationHints.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\SubstitutionList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\WhitespaceRule.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QueryReaderSettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\ContentIterators.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\DecimalFormatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\DocumentOrderComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\DodSequenceMerge.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\EarlyBoundInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\NumberFormatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\RtfNavigator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\SetIterators.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\SiblingIterators.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\StringConcat.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\TreeIterators.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\WhitespaceRuleLookup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\WhitespaceRuleReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlAggregates.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlAttributeCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlCollation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlExtensionFunction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlILIndex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlILStorageConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlIterators.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlNavigatorFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlNavigatorStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlQueryContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlQueryOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlQueryRuntime.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlQuerySequence.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlQueryStaticData.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlRawWriterWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlSequenceWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlSortKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlSortKeyAccumulator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XslNumber.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XsltConvert.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XsltFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XsltLibrary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\SourceLineInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XmlILCommand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XmlIlGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XmlNodeKindFlags.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XmlQualifiedNameTest.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XmlQueryCardinality.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XmlQueryType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XmlQueryTypeFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\IXpathBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\IXPathEnvironment.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathAxis.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathCompileException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathQilFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathScanner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPathConvert.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XslException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\Compiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\CompilerScopeManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\Focus.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\IErrorHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\InvokeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\KeyMatchBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\Keywords.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\MatcherBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\OutputScopeManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\QilGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\QilGeneratorEnv.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\QilStrConcatenator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\Scripts.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\Stylesheet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XPathPatternBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XPathPatternParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XslAst.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XslAstAnalyzer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XslFlags.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XsltInput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XsltLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XsltQilFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XslVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\Action.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ActionFrame.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ApplyImportsAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ApplyTemplatesAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\AttributeAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\AttributeSetAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\Avt.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\AvtEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\BeginEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\BuilderInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CallTemplateAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ChooseAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CommentAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CompiledAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\Compiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ContainerAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CopyAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CopyAttributesAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CopyCodeAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CopyNamespacesAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CopyNodesetAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CopyOfAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\DbgCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\DocumentScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ElementAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\EndEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\Event.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ForeachAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\HtmlProps.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\IfAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\InputScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\InputScopeManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\MessageAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\NamespaceDecl.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\NamespaceEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\NavigatorInput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\NavigatorOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\NewInstructionAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\NumberAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\OutKeywords.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\OutputScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\OutputScopeManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\PrefixQname.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ProcessingInstructionAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\Processor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ReaderOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\RecordBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\RecordOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\RootAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\SequentialOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\SortAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\StateMachine.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\StringOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\Stylesheet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TemplateAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TemplateBaseAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TemplateLookupAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\Templatemanager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TextAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TextEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TextOnlyOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TextOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TheQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\UseAttributesetsAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ValueOfAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\VariableAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\WithParamAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\WriterOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\XsltCompileContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\XsltDebugger.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\XsltOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\InternalApis\NDP_Common\inc\Win8Helpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\misc\HResults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\misc\InvariantComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\misc\PrivilegedConfigurationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Assembly\System.Xml.Assembly.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\AsyncHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Base64Decoder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Base64Encoder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Base64EncoderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BinaryXml\BinXmltoken.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BinaryXml\SqlUtils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BinaryXml\XmlBinaryReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BinaryXml\XmlBinaryReaderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BinHexDecoder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BinHexEncoder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BinHexEncoderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Bits.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BitStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\ByteStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\Shape.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\ShapeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathDocumentBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathDocumentIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathDocumentNavigator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathDocumentView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathNodeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathNodeInfoAtom.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathNodeView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathNodeViewPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\BinaryCompatibility.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\CharEntityEncoderFallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\ConformanceLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\DtdProcessing.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\EntityHandling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\HtmlEncodedRawTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\HtmlTernaryTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\HtmlUtf8RawTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IDtdInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IDtdParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IDtdParserAdapter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IDtdParserAdapterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IDtdParserAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IncrementalReadDecoders.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IRemovableWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IValidationEventHandling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\NamespaceHandling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\NewLineHandling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\QueryOutputWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\QueryOutputWriterV1.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\ReadContentAsBinaryHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\ReadContentAsBinaryHelperAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\ReadOnlyTernaryTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\ReadState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\SecureStringHasher.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\TextEncodedRawTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\TextUtf8RawTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\ValidatingReaderNodeData.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\ValidationType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\WhitespaceHandling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlAsyncCheckReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlAsyncCheckWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlAutoDetectWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlCharCheckingReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlCharCheckingReaderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlCharCheckingWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlCharCheckingWriterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlConfiguration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlEncodedRawTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlEncodedRawTextWriterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlEventCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlParserContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlRawWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlRawWriterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlReaderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlReaderSettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlSpace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlSubtreeReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlSubtreeReaderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlTextEncoder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlTextReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlTextReaderImpl.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlTextReaderImplAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlTextReaderImplHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlTextReaderImplHelpersAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlUtf8RawTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlUtf8RawTextWriterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlValidatingReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlValidatingReaderImpl.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlValidatingReaderImplAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWellFormedWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWellFormedWriterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWellFormedWriterHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWellFormedWriterHelpersAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWrappingReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWrappingReaderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWrappingWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWrappingWriterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWriterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWriterSettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XsdCachingReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XsdCachingReaderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XsdValidatingReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XsdValidatingReaderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\DiagnosticsSwitches.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\DocumentSchemaValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\DocumentXmlWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\DocumentXPathNavigator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\DomNameTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlAttributeCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlCDataSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlCharacterData.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlChildEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlChildNodes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlComment.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlDeclaration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlDocument.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlDocumentFragment.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlDocumentType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlDomTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlElementList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlEntity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlEntityReference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlEventChangedAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlImplementation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlLinkedNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlName.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNamedNodemap.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNamedNodeMap.SmallXmlNodeList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNodeChangedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNodeChangedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNodeList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNodeReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNotation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlProcessingInstruction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlSignificantWhiteSpace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlText.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlUnspecifiedAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlWhitespace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XPathNodeList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\EmptyEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\HWStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\IApplicationResourceStreamResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\IHasXmlNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\IXmlLineInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\IXmlNamespaceResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\LineInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\MTNameTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\NameTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Ref.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Resolvers\XmlKnownDtds.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Resolvers\XmlPreloadedResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Resolvers\XmlPreloadedResolverAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\Asttree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\AutoValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\BaseProcessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\BaseValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\BitSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\Chameleonkey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\CompiledidEntityConstraint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\ConstraintStruct.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\ContentValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\DataTypeImplementation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\DtdParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\DtdParserAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\DtdValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\FacetChecker.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\Inference\Infer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\Inference\XmlSchemaInferenceException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\IXmlSchemaInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\NamespaceList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\Parser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\ParserAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\Preprocessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaAttDef.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaCollectionCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaCollectionpreProcessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaDeclBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaElementDecl.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaEntity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaNames.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaNamespacemanager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaNotation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaSetCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\ValidationEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\ValidationEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\ValidationState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XdrBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XdrValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlAtomicValue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchema.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAll.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAnnotated.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAnnotation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAny.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAnyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAppInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAttributeGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAttributeGroupref.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaChoice.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaCompilationSettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaComplexContent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaComplexContentExtension.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaComplexContentRestriction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaComplexType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaContent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaContentModel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaContentProcessing.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaContentType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaDataType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaDerivationMethod.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaDocumentation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaExternal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaFacet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaForm.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaGroupBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaGroupRef.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaIdEntityConstraint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaImport.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaInclude.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaNotation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaObjectCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaObjectTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaParticle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaRedefine.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSequence.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleContent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleContentExtension.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleContentRestriction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleTypeContent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleTypeList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleTypeRestriction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleTypeUnion.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSubstitutionGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaUse.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaValidationException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaValidity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSeverityType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlTokenizedType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlTypeCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlValueConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XsdBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XsdDateTime.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XsdDuration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XsdValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\_Events.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Advanced\SchemaImporterExtension.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\AppSettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\CodeExporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\CodeGenerationoptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\CodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\CodeIdentifier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\CodeIdentifiers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Compilation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Compiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Configuration\ConfigurationStrings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Configuration\DateTimeSerializationSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Configuration\SchemaImporterExtensionElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Configuration\SchemaImporterExtensionElementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Configuration\SchemaImporterExtensionsSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Configuration\SerializationSectionGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Configuration\XmlSerializerSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\ImportContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\indentedWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\IXmlSerializable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\IXmlTextParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Mappings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Models.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\NameTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\PrimitiveXmlSerializers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SchemaImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SchemaObjectWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapAttributeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapAttributeOverrides.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapCodeExporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapElementAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapEnumAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapIgnoreAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapIncludeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapReflectionImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapSchemaExporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapSchemaImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapSchemamember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SourceInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\TypeExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Types.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlAnyAttributeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlAnyElementAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlAnyElementAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlArrayAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlArrayItemAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlArrayItemAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlAttributeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlAttributeOverrides.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlChoiceIdentifierAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlCodeExporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlCountingReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Xmlcustomformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlElementAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlElementAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlEnumAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlIgnoreAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlIncludeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlMemberMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlMembersMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlNamespaceDeclarationsAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlReflectionImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlReflectionMember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlRootAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSchemaExporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSchemaImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSchemaProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSchemas.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializationGeneratedCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializationILGen.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializationReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializationReaderILGen.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializationWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializationWriterILGen.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializerAssemblyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializerFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializerNamespaces.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializerVersionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlTextAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlTypeMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\ValidateNames.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlCharType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlComplianceUtil.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlConvert.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlDownloadManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlDownloadManagerAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlEncoding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlNamespacemanager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlNamespaceScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlNameTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlNodeOrder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlNodeType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlNullResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlQualifiedName.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlReservedNs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlResolverAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlSecureResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlSecureResolverAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlUrlResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlUrlResolverAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlXapResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\AbsoluteQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\AstNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\AttributeQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Axis.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\BaseAxisQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\BooleanExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\BooleanFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\CacheAxisQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\CacheChildrenQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\CacheOutputQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ChildrenQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ClonableStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\CompiledXPathExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ContextQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\DescendantBaseQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\DescendantoverDescendantQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\DescendantQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\DocumentorderQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\EmptyQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ExtensionQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Filter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\FilterQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\FollowingQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\FollowingSibling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ForwardPositionQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Function.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\FunctionQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Group.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\GroupQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\IdQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\IteratorFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\LogicalExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\MergeFilterQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\NamespaceQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\NodeFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\NumberFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\NumericExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Operand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\OperandQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Operator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ParentQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\PrecedingQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\PrecedingSibling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Query.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\QueryBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ResetableIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ReversePositionQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Root.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\SortQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\StringFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\UnionExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ValueQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Variable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\VariableQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathAncestorIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathAncestorQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathArrayIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathAxisIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathChildIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathDescendantIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathEmptyIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathMultyIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathScanner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathSelectionIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathSelfQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathSingletonIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\IXPathNavigable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathDocument.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathItem.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathNamespaceScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathNavigator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathNavigatorKeyComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathNavigatorReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathNodeIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathNodeType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Xslt\XslCompiledTransform.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Xslt\XsltArgumentList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Xslt\XsltContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Xslt\XsltException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Xslt\XslTransform.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Xslt\XsltSettings.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="ReferenceSources\Res.cs" />\r
+    <Compile Include="ReferenceSources\ThisAssembly.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-bare-net_4_x.csproj">\r
+      <Project>{483DB7F6-9145-4AE2-B9B2-2B5EE6FDEFB4}</Project>\r
+      <Name>System-bare-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.XML/System.Xml-net_4_x.csproj b/mcs/class/System.XML/System.Xml-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2f5e7ba
--- /dev/null
@@ -0,0 +1,754 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,219,414,649,1717</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Xml</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE;ASYNC;CONFIGURATION_DEP</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE;ASYNC;CONFIGURATION_DEP</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\GenerateHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\IteratorDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\OptimizerPatterns.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\StaticDataManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\TailCallAnalyzer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlILAnnotation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlILConstructAnalyzer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlILModule.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlILOptimization.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlILOptimizerVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlIlTrace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlIlTypeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\IlGen\XmlIlVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\ISourceLineInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\ListBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Pair.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilBinary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilChoice.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilCloneVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilDataSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilFunction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilInvoke.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilInvokeEarlyBound.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilInvokeLateBound.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilLiteral.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilLoop.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilName.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilNodeType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilPatternFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilPatternVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilReference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilReplaceVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilScopedVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilSortKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilStrConcat.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilTargetType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilTernary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilTypeChecker.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilUnary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilValidationVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilXmlReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\QilXmlWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\SerializationHints.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\SubstitutionList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QIL\WhitespaceRule.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\QueryReaderSettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\ContentIterators.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\DecimalFormatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\DocumentOrderComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\DodSequenceMerge.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\EarlyBoundInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\NumberFormatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\RtfNavigator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\SetIterators.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\SiblingIterators.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\StringConcat.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\TreeIterators.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\WhitespaceRuleLookup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\WhitespaceRuleReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlAggregates.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlAttributeCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlCollation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlExtensionFunction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlILIndex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlILStorageConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlIterators.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlNavigatorFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlNavigatorStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlQueryContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlQueryOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlQueryRuntime.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlQuerySequence.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlQueryStaticData.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlRawWriterWrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlSequenceWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlSortKey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XmlSortKeyAccumulator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XslNumber.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XsltConvert.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XsltFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Runtime\XsltLibrary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\SourceLineInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XmlILCommand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XmlIlGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XmlNodeKindFlags.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XmlQualifiedNameTest.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XmlQueryCardinality.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XmlQueryType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XmlQueryTypeFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\IXpathBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\IXPathEnvironment.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathAxis.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathCompileException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathOperator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathQilFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPath\XPathScanner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XPathConvert.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XslException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\Compiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\CompilerScopeManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\Focus.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\IErrorHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\InvokeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\KeyMatchBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\Keywords.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\MatcherBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\OutputScopeManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\QilGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\QilGeneratorEnv.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\QilStrConcatenator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\Scripts.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\Stylesheet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XPathPatternBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XPathPatternParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XslAst.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XslAstAnalyzer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XslFlags.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XsltInput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XsltLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XsltQilFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\Xslt\XslVisitor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\Action.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ActionFrame.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ApplyImportsAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ApplyTemplatesAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\AttributeAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\AttributeSetAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\Avt.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\AvtEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\BeginEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\BuilderInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CallTemplateAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ChooseAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CommentAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CompiledAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\Compiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ContainerAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CopyAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CopyAttributesAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CopyCodeAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CopyNamespacesAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CopyNodesetAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\CopyOfAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\DbgCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\DocumentScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ElementAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\EndEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\Event.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ForeachAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\HtmlProps.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\IfAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\InputScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\InputScopeManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\MessageAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\NamespaceDecl.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\NamespaceEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\NavigatorInput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\NavigatorOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\NewInstructionAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\NumberAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\OutKeywords.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\OutputScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\OutputScopeManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\PrefixQname.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ProcessingInstructionAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\Processor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ReaderOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\RecordBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\RecordOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\RootAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\SequentialOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\SortAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\StateMachine.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\StringOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\Stylesheet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TemplateAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TemplateBaseAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TemplateLookupAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\Templatemanager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TextAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TextEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TextOnlyOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TextOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\TheQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\UseAttributesetsAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\ValueOfAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\VariableAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\WithParamAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\WriterOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\XsltCompileContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\XsltDebugger.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Data.SqlXml\System\Xml\Xsl\XsltOld\XsltOutput.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\InternalApis\NDP_Common\inc\Win8Helpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\misc\HResults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\misc\InvariantComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\misc\PrivilegedConfigurationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Assembly\System.Xml.Assembly.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\AsyncHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Base64Decoder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Base64Encoder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Base64EncoderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BinaryXml\BinXmltoken.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BinaryXml\SqlUtils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BinaryXml\XmlBinaryReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BinaryXml\XmlBinaryReaderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BinHexDecoder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BinHexEncoder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BinHexEncoderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Bits.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\BitStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\ByteStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\Shape.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\ShapeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathDocumentBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathDocumentIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathDocumentNavigator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathDocumentView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathNodeHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathNodeInfoAtom.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathNodeView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Cache\XPathNodeViewPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\BinaryCompatibility.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\CharEntityEncoderFallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\ConformanceLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\DtdProcessing.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\EntityHandling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\HtmlEncodedRawTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\HtmlTernaryTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\HtmlUtf8RawTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IDtdInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IDtdParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IDtdParserAdapter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IDtdParserAdapterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IDtdParserAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IncrementalReadDecoders.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IRemovableWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\IValidationEventHandling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\NamespaceHandling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\NewLineHandling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\QueryOutputWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\QueryOutputWriterV1.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\ReadContentAsBinaryHelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\ReadContentAsBinaryHelperAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\ReadOnlyTernaryTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\ReadState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\SecureStringHasher.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\TextEncodedRawTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\TextUtf8RawTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\ValidatingReaderNodeData.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\ValidationType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\WhitespaceHandling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlAsyncCheckReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlAsyncCheckWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlAutoDetectWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlCharCheckingReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlCharCheckingReaderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlCharCheckingWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlCharCheckingWriterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlConfiguration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlEncodedRawTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlEncodedRawTextWriterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlEventCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlParserContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlRawWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlRawWriterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlReaderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlReaderSettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlSpace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlSubtreeReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlSubtreeReaderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlTextEncoder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlTextReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlTextReaderImpl.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlTextReaderImplAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlTextReaderImplHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlTextReaderImplHelpersAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlUtf8RawTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlUtf8RawTextWriterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlValidatingReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlValidatingReaderImpl.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlValidatingReaderImplAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWellFormedWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWellFormedWriterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWellFormedWriterHelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWellFormedWriterHelpersAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWrappingReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWrappingReaderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWrappingWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWrappingWriterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWriterAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XmlWriterSettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XsdCachingReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XsdCachingReaderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XsdValidatingReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Core\XsdValidatingReaderAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\DiagnosticsSwitches.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\DocumentSchemaValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\DocumentXmlWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\DocumentXPathNavigator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\DomNameTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlAttributeCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlCDataSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlCharacterData.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlChildEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlChildNodes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlComment.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlDeclaration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlDocument.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlDocumentFragment.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlDocumentType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlDomTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlElementList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlEntity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlEntityReference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlEventChangedAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlImplementation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlLinkedNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlName.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNamedNodemap.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNamedNodeMap.SmallXmlNodeList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNodeChangedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNodeChangedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNodeList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNodeReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlNotation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlProcessingInstruction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlSignificantWhiteSpace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlText.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlUnspecifiedAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XmlWhitespace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Dom\XPathNodeList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\EmptyEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\HWStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\IApplicationResourceStreamResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\IHasXmlNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\IXmlLineInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\IXmlNamespaceResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\LineInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\MTNameTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\NameTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Ref.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Resolvers\XmlKnownDtds.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Resolvers\XmlPreloadedResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Resolvers\XmlPreloadedResolverAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\Asttree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\AutoValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\BaseProcessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\BaseValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\BitSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\Chameleonkey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\CompiledidEntityConstraint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\ConstraintStruct.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\ContentValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\DataTypeImplementation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\DtdParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\DtdParserAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\DtdValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\FacetChecker.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\Inference\Infer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\Inference\XmlSchemaInferenceException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\IXmlSchemaInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\NamespaceList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\Parser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\ParserAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\Preprocessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaAttDef.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaCollectionCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaCollectionpreProcessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaDeclBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaElementDecl.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaEntity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaNames.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaNamespacemanager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaNotation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaSetCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\SchemaType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\ValidationEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\ValidationEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\ValidationState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XdrBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XdrValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlAtomicValue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchema.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAll.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAnnotated.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAnnotation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAny.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAnyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAppInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAttributeGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaAttributeGroupref.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaChoice.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaCompilationSettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaComplexContent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaComplexContentExtension.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaComplexContentRestriction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaComplexType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaContent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaContentModel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaContentProcessing.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaContentType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaDataType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaDerivationMethod.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaDocumentation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaExternal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaFacet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaForm.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaGroupBase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaGroupRef.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaIdEntityConstraint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaImport.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaInclude.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaNotation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaObjectCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaObjectTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaParticle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaRedefine.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSequence.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSet.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleContent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleContentExtension.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleContentRestriction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleTypeContent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleTypeList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleTypeRestriction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSimpleTypeUnion.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaSubstitutionGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaUse.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaValidationException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSchemaValidity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlSeverityType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlTokenizedType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlTypeCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XmlValueConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XsdBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XsdDateTime.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XsdDuration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Schema\XsdValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\_Events.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Advanced\SchemaImporterExtension.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\AppSettings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\CodeExporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\CodeGenerationoptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\CodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\CodeIdentifier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\CodeIdentifiers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Compilation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Compiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Configuration\ConfigurationStrings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Configuration\DateTimeSerializationSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Configuration\SchemaImporterExtensionElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Configuration\SchemaImporterExtensionElementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Configuration\SchemaImporterExtensionsSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Configuration\SerializationSectionGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Configuration\XmlSerializerSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\ImportContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\indentedWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\IXmlSerializable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\IXmlTextParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Mappings.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Models.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\NameTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\PrimitiveXmlSerializers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SchemaImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SchemaObjectWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapAttributeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapAttributeOverrides.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapCodeExporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapElementAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapEnumAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapIgnoreAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapIncludeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapReflectionImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapSchemaExporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapSchemaImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapSchemamember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SoapTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\SourceInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\TypeExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Types.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlAnyAttributeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlAnyElementAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlAnyElementAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlArrayAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlArrayItemAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlArrayItemAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlAttributeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlAttributeOverrides.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlChoiceIdentifierAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlCodeExporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlCountingReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\Xmlcustomformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlElementAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlElementAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlEnumAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlIgnoreAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlIncludeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlMemberMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlMembersMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlNamespaceDeclarationsAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlReflectionImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlReflectionMember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlRootAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSchemaExporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSchemaImporter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSchemaProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSchemas.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializationGeneratedCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializationILGen.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializationReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializationReaderILGen.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializationWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializationWriterILGen.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializerAssemblyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializerFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializerNamespaces.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlSerializerVersionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlTextAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Serialization\XmlTypeMapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\ValidateNames.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlCharType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlComplianceUtil.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlConvert.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlDownloadManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlDownloadManagerAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlEncoding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlNamespacemanager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlNamespaceScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlNameTable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlNodeOrder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlNodeType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlNullResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlQualifiedName.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlReservedNs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlResolverAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlSecureResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlSecureResolverAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlUrlResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlUrlResolverAsync.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XmlXapResolver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\AbsoluteQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\AstNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\AttributeQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Axis.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\BaseAxisQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\BooleanExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\BooleanFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\CacheAxisQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\CacheChildrenQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\CacheOutputQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ChildrenQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ClonableStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\CompiledXPathExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ContextQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\DescendantBaseQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\DescendantoverDescendantQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\DescendantQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\DocumentorderQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\EmptyQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ExtensionQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Filter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\FilterQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\FollowingQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\FollowingSibling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ForwardPositionQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Function.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\FunctionQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Group.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\GroupQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\IdQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\IteratorFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\LogicalExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\MergeFilterQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\NamespaceQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\NodeFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\NumberFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\NumericExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Operand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\OperandQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Operator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ParentQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\PrecedingQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\PrecedingSibling.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Query.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\QueryBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ResetableIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ReversePositionQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Root.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\SortQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\StringFunctions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\UnionExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\ValueQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\Variable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\VariableQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathAncestorIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathAncestorQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathArrayIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathAxisIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathChildIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathDescendantIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathEmptyIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathMultyIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathScanner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathSelectionIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathSelfQuery.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\Internal\XPathSingletonIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\IXPathNavigable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathDocument.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathExpr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathItem.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathNamespaceScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathNavigator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathNavigatorKeyComparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathNavigatorReader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathNodeIterator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\XPath\XPathNodeType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Xslt\XslCompiledTransform.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Xslt\XsltArgumentList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Xslt\XsltContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Xslt\XsltException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Xslt\XslTransform.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml\System\Xml\Xslt\XsltSettings.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="ReferenceSources\Res.cs" />\r
+    <Compile Include="ReferenceSources\ThisAssembly.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-bare-net_4_x.csproj">\r
+      <Project>{483DB7F6-9145-4AE2-B9B2-2B5EE6FDEFB4}</Project>\r
+      <Name>System-bare-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.XML/monotouch_tv_System.Xml.dll.sources b/mcs/class/System.XML/monotouch_tv_System.Xml.dll.sources
new file mode 100644 (file)
index 0000000..b663093
--- /dev/null
@@ -0,0 +1 @@
+#include mobile_System.Xml.dll.sources
index 4b87a21275bbb351acb4ee92e3008c6b5e4456a3..5f96dcbd7d74342addcad0c839086b229abfd4e6 100644 (file)
@@ -15,7 +15,7 @@ TEST_EXTRA_DISTFILES = \
        Test/XmlFiles/*.xml \
        Test/XmlFiles/*.xaml
 
-VALID_PROFILE := $(filter 4 monodroid monotouch monotouch_watch mobile mobile_static, $(FRAMEWORK_VERSION_MAJOR))
+VALID_PROFILE := $(filter 4, $(FRAMEWORK_VERSION_MAJOR))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.Xaml.dll
 NO_INSTALL = yes
diff --git a/mcs/class/System.Xaml/System.Xaml-net_4_x.csproj b/mcs/class/System.Xaml/System.Xaml-net_4_x.csproj
new file mode 100644 (file)
index 0000000..25d922d
--- /dev/null
@@ -0,0 +1,215 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{4E79FA59-8344-4053-8E3B-B9619BA26513}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Xaml</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Windows.Markup\AmbientAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\ArrayExtension.cs" />\r
+    <Compile Include="System.Windows.Markup\ConstructorArgumentAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\ContentPropertyAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\ContentWrapperAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\DateTimeValueSerializer.cs" />\r
+    <Compile Include="System.Windows.Markup\DependsOnAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\DictionaryKeyPropertyAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\IComponentConnector.cs" />\r
+    <Compile Include="System.Windows.Markup\INameScope.cs" />\r
+    <Compile Include="System.Windows.Markup\INameScopeDictionary.cs" />\r
+    <Compile Include="System.Windows.Markup\IProvideValueTarget.cs" />\r
+    <Compile Include="System.Windows.Markup\IQueryAmbient.cs" />\r
+    <Compile Include="System.Windows.Markup\IUriContext.cs" />\r
+    <Compile Include="System.Windows.Markup\IValueSerializerContext.cs" />\r
+    <Compile Include="System.Windows.Markup\IXamlTypeResolver.cs" />\r
+    <Compile Include="System.Windows.Markup\MarkupExtension.cs" />\r
+    <Compile Include="System.Windows.Markup\MarkupExtensionReturnTypeAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\MemberDefinition.cs" />\r
+    <Compile Include="System.Windows.Markup\NameReferenceConverter.cs" />\r
+    <Compile Include="System.Windows.Markup\NameScopePropertyAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\NullExtension.cs" />\r
+    <Compile Include="System.Windows.Markup\PropertyDefinition.cs" />\r
+    <Compile Include="System.Windows.Markup\Reference.cs" />\r
+    <Compile Include="System.Windows.Markup\RootNamespaceAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\RuntimeNamePropertyAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\StaticExtension.cs" />\r
+    <Compile Include="System.Windows.Markup\StaticExtensionConverter.cs" />\r
+    <Compile Include="System.Windows.Markup\TrimSurroundingWhitespaceAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\TypeExtension.cs" />\r
+    <Compile Include="System.Windows.Markup\TypeExtensionConverter.cs" />\r
+    <Compile Include="System.Windows.Markup\UidPropertyAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\UsableDuringInitializationAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\ValueSerializer.cs" />\r
+    <Compile Include="System.Windows.Markup\WhitespaceSignificantCollectionAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\XamlDeferLoadAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\XamlSetMarkupExtensionAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\XamlSetMarkupExtensionEventArgs.cs" />\r
+    <Compile Include="System.Windows.Markup\XamlSetTypeConverterAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\XamlSetTypeConverterEventArgs.cs" />\r
+    <Compile Include="System.Windows.Markup\XamlSetValueEventArgs.cs" />\r
+    <Compile Include="System.Windows.Markup\XData.cs" />\r
+    <Compile Include="System.Windows.Markup\XmlLangPropertyAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\XmlnsCompatibleWithAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\XmlnsDefinitionAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\XmlnsPrefixAttribute.cs" />\r
+    <Compile Include="System.Xaml.Permissions\XamlAccessLevel.cs" />\r
+    <Compile Include="System.Xaml.Permissions\XamlLoadPermission.cs" />\r
+    <Compile Include="System.Xaml.Schema\AllowedMemberLocations.cs" />\r
+    <Compile Include="System.Xaml.Schema\ShouldSerializeResult.cs" />\r
+    <Compile Include="System.Xaml.Schema\XamlCollectionKind.cs" />\r
+    <Compile Include="System.Xaml.Schema\XamlMemberInvoker.cs" />\r
+    <Compile Include="System.Xaml.Schema\XamlTypeInvoker.cs" />\r
+    <Compile Include="System.Xaml.Schema\XamlTypeName.cs" />\r
+    <Compile Include="System.Xaml.Schema\XamlTypeTypeConverter.cs" />\r
+    <Compile Include="System.Xaml.Schema\XamlValueConverter.cs" />\r
+    <Compile Include="System.Xaml\AmbientPropertyValue.cs" />\r
+    <Compile Include="System.Xaml\AttachableMemberIdentifier.cs" />\r
+    <Compile Include="System.Xaml\AttachablePropertyServices.cs" />\r
+    <Compile Include="System.Xaml\IAmbientProvider.cs" />\r
+    <Compile Include="System.Xaml\IAttachedPropertyStore.cs" />\r
+    <Compile Include="System.Xaml\IDestinationTypeProvider.cs" />\r
+    <Compile Include="System.Xaml\INamespacePrefixLookup.cs" />\r
+    <Compile Include="System.Xaml\IRootObjectProvider.cs" />\r
+    <Compile Include="System.Xaml\IXamlIndexingReader.cs" />\r
+    <Compile Include="System.Xaml\IXamlLineInfo.cs" />\r
+    <Compile Include="System.Xaml\IXamlLineInfoConsumer.cs" />\r
+    <Compile Include="System.Xaml\IXamlNameProvider.cs" />\r
+    <Compile Include="System.Xaml\IXamlNameResolver.cs" />\r
+    <Compile Include="System.Xaml\IXamlNamespaceResolver.cs" />\r
+    <Compile Include="System.Xaml\IXamlObjectWriterFactory.cs" />\r
+    <Compile Include="System.Xaml\IXamlSchemaContextProvider.cs" />\r
+    <Compile Include="System.Xaml\NameScope.cs" />\r
+    <Compile Include="System.Xaml\NamespaceDeclaration.cs" />\r
+    <Compile Include="System.Xaml\ParsedMarkupExtensionInfo.cs" />\r
+    <Compile Include="System.Xaml\PrefixLookup.cs" />\r
+    <Compile Include="System.Xaml\TypeExtensionMethods.cs" />\r
+    <Compile Include="System.Xaml\ValueSerializerContext.cs" />\r
+    <Compile Include="System.Xaml\XamlBackgroundReader.cs" />\r
+    <Compile Include="System.Xaml\XamlDeferringLoader.cs" />\r
+    <Compile Include="System.Xaml\XamlDirective.cs" />\r
+    <Compile Include="System.Xaml\XamlDuplicateMemberException.cs" />\r
+    <Compile Include="System.Xaml\XamlException.cs" />\r
+    <Compile Include="System.Xaml\XamlInternalException.cs" />\r
+    <Compile Include="System.Xaml\XamlLanguage.cs" />\r
+    <Compile Include="System.Xaml\XamlMember.cs" />\r
+    <Compile Include="System.Xaml\XamlNameResolver.cs" />\r
+    <Compile Include="System.Xaml\XamlNode.cs" />\r
+    <Compile Include="System.Xaml\XamlNodeList.cs" />\r
+    <Compile Include="System.Xaml\XamlNodeQueue.cs" />\r
+    <Compile Include="System.Xaml\XamlNodeQueueReader.cs" />\r
+    <Compile Include="System.Xaml\XamlNodeQueueWriter.cs" />\r
+    <Compile Include="System.Xaml\XamlNodeType.cs" />\r
+    <Compile Include="System.Xaml\XamlObjectEventArgs.cs" />\r
+    <Compile Include="System.Xaml\XamlObjectNodeIterator.cs" />\r
+    <Compile Include="System.Xaml\XamlObjectReader.cs" />\r
+    <Compile Include="System.Xaml\XamlObjectReaderException.cs" />\r
+    <Compile Include="System.Xaml\XamlObjectReaderSettings.cs" />\r
+    <Compile Include="System.Xaml\XamlObjectWriter.cs" />\r
+    <Compile Include="System.Xaml\XamlObjectWriterException.cs" />\r
+    <Compile Include="System.Xaml\XamlObjectWriterSettings.cs" />\r
+    <Compile Include="System.Xaml\XamlParseException.cs" />\r
+    <Compile Include="System.Xaml\XamlReader.cs" />\r
+    <Compile Include="System.Xaml\XamlReaderSettings.cs" />\r
+    <Compile Include="System.Xaml\XamlSchemaContext.cs" />\r
+    <Compile Include="System.Xaml\XamlSchemaContextSettings.cs" />\r
+    <Compile Include="System.Xaml\XamlSchemaException.cs" />\r
+    <Compile Include="System.Xaml\XamlServices.cs" />\r
+    <Compile Include="System.Xaml\XamlSubtreeReader.cs" />\r
+    <Compile Include="System.Xaml\XamlType.cs" />\r
+    <Compile Include="System.Xaml\XamlWriter.cs" />\r
+    <Compile Include="System.Xaml\XamlWriterInternalBase.cs" />\r
+    <Compile Include="System.Xaml\XamlWriterSettings.cs" />\r
+    <Compile Include="System.Xaml\XamlWriterStateManager.cs" />\r
+    <Compile Include="System.Xaml\XamlXmlReader.cs" />\r
+    <Compile Include="System.Xaml\XamlXmlReaderSettings.cs" />\r
+    <Compile Include="System.Xaml\XamlXmlWriter.cs" />\r
+    <Compile Include="System.Xaml\XamlXmlWriterException.cs" />\r
+    <Compile Include="System.Xaml\XamlXmlWriterSettings.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Xml.Linq/System.Xml.Linq-net_4_x.csproj b/mcs/class/System.Xml.Linq/System.Xml.Linq-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a32e2b0
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{526286D5-38D9-4579-B001-471440D57752}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Xml.Linq</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml.Linq\System\Xml\Linq\XComponentModel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml.Linq\System\Xml\Linq\XLinq.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml.Linq\System\Xml\Linq\XNodeNavigator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System.Xml.Linq\System\Xml\Linq\XNodeValidator.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj">\r
+      <Project>{D845AD9D-3CCB-49CB-9543-028678E94938}</Project>\r
+      <Name>System.Runtime.Serialization-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/System.Xml.Serialization/System.Xml.Serialization-net_4_x.csproj b/mcs/class/System.Xml.Serialization/System.Xml.Serialization-net_4_x.csproj
new file mode 100644 (file)
index 0000000..852c92d
--- /dev/null
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2210873E-99FC-48A2-A261-D650BAE33A1C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System.Xml.Serialization</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="TypeForwarders.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.ServiceModel/System.ServiceModel-net_4_x.csproj">\r
+      <Project>{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}</Project>\r
+      <Name>System.ServiceModel-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 8136bb048ae3b822acbfbd780cfbbdac9fe724cd..d5e25bf7f34545092d4ef5e82c04bd4d15cf54e5 100644 (file)
@@ -25,23 +25,24 @@ TEST_MCS_FLAGS = -r:System.Drawing.dll -r:Mono.Security.dll -r:System.Data -r:Sy
 REFERENCE_SOURCES_FLAGS = -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX
 LIB_MCS_FLAGS = -nowarn:618 -d:CONFIGURATION_2_0 $(REFERENCE_SOURCES_FLAGS) -unsafe $(RESOURCE_FILES:%=-resource:%)
 TEST_MCS_FLAGS += -r:System.Configuration
-PROFILE_ANY_MOBILE := $(filter monotouch monotouch_runtime monotouch_watch monodroid xammac mobile mobile_static, $(PROFILE))
 
 RESOURCE_STRINGS = ../../../external/referencesource/System/System.txt
 
 ifeq (2.1, $(FRAMEWORK_VERSION))
 LIB_MCS_FLAGS += -d:INSIDE_SYSTEM
 endif
-ifeq (monotouch, $(subst _runtime,,$(PROFILE)))
-LIB_MCS_FLAGS += -d:SECURITY_DEP
-endif
-ifeq (monotouch_watch, $(PROFILE))
+
+#
+# MOBILE_PROFILE needs SECURITY_DEP, except for XAMMAC
+#
+ifdef MOBILE_PROFILE
+ifneq ($(PROFILE),xammac)
 LIB_MCS_FLAGS += -d:SECURITY_DEP
 endif
-ifeq (monodroid, $(PROFILE))
-LIB_MCS_FLAGS += -d:SECURITY_DEP
 endif
-ifndef PROFILE_ANY_MOBILE
+
+
+ifndef MOBILE_PROFILE
 FINAL_MCS_FLAGS = -r:System.Configuration.dll -d:CONFIGURATION_DEP
 endif
 
@@ -80,7 +81,7 @@ system_library_deps := \
        $(the_libdir_base)Mono.Security.dll     \
        $(bare_libdir)/System.dll
 
-ifndef PROFILE_ANY_MOBILE
+ifndef MOBILE_PROFILE
 system_library_deps += $(the_libdir_base)System.Configuration.dll      
 endif
 
index 58f07d40c8aa50707a5e4dea7b001a45459b57d7..b45c9942062df9fb1793756ab07672462b171150 100644 (file)
     <Compile Include="System.Net.Sockets\SelectMode.cs" />\r
     <Compile Include="System.Net.Sockets\SendPacketsElement.cs" />\r
     <Compile Include="System.Net.Sockets\Socket.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketAsyncCallback.cs" />\r
     <Compile Include="System.Net.Sockets\SocketAsyncEventArgs.cs" />\r
     <Compile Include="System.Net.Sockets\SocketAsyncOperation.cs" />\r
     <Compile Include="System.Net.Sockets\SocketAsyncResult.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketAsyncWorker.cs" />\r
     <Compile Include="System.Net.Sockets\SocketError.cs" />\r
     <Compile Include="System.Net.Sockets\SocketException.cs" />\r
     <Compile Include="System.Net.Sockets\SocketFlags.cs" />\r
diff --git a/mcs/class/System/System-bare-net_4_x.csproj b/mcs/class/System/System-bare-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9e4ca99
--- /dev/null
@@ -0,0 +1,1209 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{483DB7F6-9145-4AE2-B9B2-2B5EE6FDEFB4}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x/bare</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeArgumentReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeArrayCreateExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeArrayIndexerExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAssignStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttachEventStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttributeArgument.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttributeArgumentCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttributeDeclaration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttributeDeclarationCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeBaseReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeBinaryOperatorExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeBinaryOperatorType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCastExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCatchClause.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCatchClauseCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeChecksumPragma.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeComment.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCommentStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCommentStatementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCompileUnit.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeConditionStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeConstructor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDefaultValueExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDelegateCreateExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDelegateInvokeExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDirectionExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDirective.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDirectiveCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeEntryPointMethod.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeEventReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeExpressionCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeExpressionStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeFieldReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeGotoStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeIndexerExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeIterationStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeLabeledStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeLinePragma.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMemberEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMemberField.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMemberMethod.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMemberProperty.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMethodInvokeExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\codemethodreferenceexpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMethodReturnStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeNamespace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeNamespaceCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeNamespaceImport.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeNamespaceImportCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeObjectCreateExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeParameterDeclarationExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeParameterDeclarationExpressionCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodePrimitiveExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodePropertyReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodePropertySetValueReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeRegionDirective.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeRegionMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeRemoveEventStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeSnippetCompileUnit.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeSnippetExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeSnippetStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeSnippetTypeMember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeStatementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeThisReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeThrowExceptionStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTryCatchFinallyStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeConstructor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeDeclaration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeDeclarationCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeDelegate.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeMember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeMemberCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeOfExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeParameterCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeReference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeReferenceCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeVariableDeclarationStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeVariableReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CodeGeneratorOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CodeValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CompilerError.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CompilerErrorCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CompilerParameters.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\GeneratedCodeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\GeneratorSupport.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\ICodeCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\ICodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\ICodeParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\IndentTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\LanguageOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\FieldDirection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\MemberAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\bithelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\debugview.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\iset.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\linkedlist.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\queue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\sorteddictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\sortedlist.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\sortedset.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\sortedsetdebugview.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\stack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\throwhelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\objectmodel\observablecollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\objectmodel\readonlyobservablecollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\bitvector32.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\casesensitivestringdictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\collectionsutil.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\fixedstringlookup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\hybriddictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\inotifycollectionchanged.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\iordereddictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\listdictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\nameobjectcollectionbase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\namevaluecollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\notifycollectionchangedeventargs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\ordereddictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\stringcollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\stringdictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\stringdictionarywithcomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AddingNewEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AddingNewEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AmbientValueAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ArrayConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ArraySubsetEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AsyncCompletedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AsyncCompletedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AsyncOperation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AsyncOperationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AttributeCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AttributeProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BackgroundWorker.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BaseComponentEditor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\basenumberconverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BindableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BindableSupport.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BindingDirection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BindingList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BooleanConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BrowsableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ByteConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CancelEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CancelEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CategoryAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CharConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CollectionChangeAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CollectionChangeEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CollectionChangeEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CollectionConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ComplexBindingPropertiesAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CompModSwitches.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Component.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ComponentCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ComponentConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ComponentResourceManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Container.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ContainerFilterService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CultureInfoConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CustomTypeDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataErrorsChangedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataObjectAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataObjectFieldAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataObjectMethodAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataObjectMethodType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DateTimeConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DateTimeOffsetConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DebugExtendedPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DebugReflectEventDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DebugReflectPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DebugTypeDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DecimalConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DefaultBindingPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DefaultEventAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DefaultPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DefaultValueAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DelegatingTypeDescriptionProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DescriptionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ActiveDocumentEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ActiveDocumentEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\CheckoutException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\CommandID.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentChangedEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentChangedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentChangingEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentChangingEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentRenameEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentRenameEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerOptionService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerTransaction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerTransactionCloseEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerTransactionCloseEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerVerb.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerVerbCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesigntimeLicenseContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesigntimeLicenseContextSerializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DocumentCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DocumentEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DocumentEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\HelpContextType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\HelpKeywordAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\HelpKeywordType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IComponentChangeService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IComponentDiscoveryService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IComponentInitializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesigner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerEventService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerHost.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerHostTransactionState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerOptionService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDictionaryService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IEventPropertyService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IExtenderListService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IExtenderProviderService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IHelpService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IInheritanceService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IMenuCommandService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\InheritanceAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\InheritanceLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IReferenceService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IResourceService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IRootDesigner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ISelectionService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IServiceObjectContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ITreeDesigner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ITypeDescriptorFilterService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ITypeDiscoveryService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ITypeResolutionService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\MenuCommand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\NotifyParentPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ParenthesizePropertyNameAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\PropertyTabAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\PropertyTabScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\RefreshProperties.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\RefreshPropertiesAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\SelectionTypes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\ComponentSerializationService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\ContextStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\DefaultSerializationProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\DesignerLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\DesignerSerializerAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerLoaderHost.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerLoaderService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerSerializationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerSerializationProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerSerializationService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\INameCreationService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\InstanceDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\MemberRelationshipService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\ResolveNameEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\ResolveNameEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\RootDesignerSerializerAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\SerializationStore.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ServiceCreatorCallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ServiceObjectContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\StandardCommands.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\StandardToolWindows.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ToolboxItemAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ViewTechnology.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignerAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignerCategoryAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignerSerializationVisibility.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignerSerializationVisibilityAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignOnlyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignTimeVisibleAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DisplayNameAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DoubleConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DoWorkEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DoWorkEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EditorAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EditorBrowsableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EnumConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EventDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EventDescriptorCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EventHandlerList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ExpandableObjectConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ExtendedPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ExtenderProvidedPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\FxCopSuppression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\GuidConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\HandledEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\HandledEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IBindingList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IBindingListView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ICancelAddNew.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IChangeTracking.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IComNativeDescriptorHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IComponent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ICustomTypeDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IDataErrorInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IEditableObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IExtenderProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IIntellisenseBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IListSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ImmutableObjectAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INestedContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INestedSite.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InitializationEventAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INotifyDataErrorInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INotifyPropertyChanged.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INotifyPropertyChanging.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InstallerTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InstanceCreationEditor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Int16Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Int32Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Int64Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IntSecurity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InvalidAsynchronousStateException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InvalidEnumArgumentException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IRaiseItemChangedEvents.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IRevertibleChangeTracking.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ISite.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ISupportInitialize.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ISupportInitializeNotification.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ISynchronizeInvoke.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ITypeDescriptorContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ITypedList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\License.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseUsageMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicFileLicenseProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListBindableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListChangedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListChangedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListChangedType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListSortDescription.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListSortDescriptionCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListSortDirection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LocalizableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LookupBindingPropertiesAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MarshalByValueComponent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MaskedTextProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MaskedTextResultHint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MemberDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MergablePropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MultilineStringConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\NestedContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\NullableConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PasswordPropertyTextAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ProgressChangedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ProgressChangedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyChangedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyChangedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyChangingEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyChangingEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyDescriptorCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ProvidePropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReadOnlyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RecommendedAsConfigurableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReferenceConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReflectEventDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReflectPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReflectTypeDescriptionProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RefreshEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RefreshEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RunInstallerAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RunWorkerCompletedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RunWorkerCompletedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\SByteConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\SettingsBindableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\SingleConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\StringConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\SyntaxCheck.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TimeSpanConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ToolboxItemFilterAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ToolboxItemFilterType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeConverterAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeDescriptionProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeDescriptionProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeDescriptionProviderService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeListConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\UInt16Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\UInt32Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\UInt64Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\WarningException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Win32Exception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\AssertSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\BooleanSwitch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\ConsoleTraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\CorrelationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\Debug.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\DelimitedListTraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\DiagnosticsConfiguration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\FilterElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\ListenerElementsCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\PerfCounterSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SeverityFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SourceElementsCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SourceFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SourceLevels.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SourceSwitch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\Switch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SwitchAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SwitchElementsCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SwitchLevelAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SystemDiagnosticsSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TextWriterTraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\Trace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceEventCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceEventType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceInternal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceListeners.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceSwitch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\traceutils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TypedElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\XmlWriterTraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\hresults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\invariantcomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\PrivilegedConfigurationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\SecurityUtils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\WeakHashtable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\_BufferOffsetSize.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\_LazyAsyncResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\_LoggingObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\_ScatterGatherBuffers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\cookie.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\cookiecollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\cookiecontainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\cookieexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\HttpListenerRequestUriBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\Internal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\NetworkInformation\IPInterfaceStatistics.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\NetworkInformation\ScopeLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\NetworkInformation\UnicastIPAddressInformation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\Sockets\IPProtectionLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\Sockets\SocketOptionName.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\UnicodeDecodingConformance.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\UnicodeEncodingConformance.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\webclient.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\WebPermission.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\WebUtility.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\WriteStreamClosedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\compiledregexrunner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\compiledregexrunnerfactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\Regex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexBoyerMoore.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCapture.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCaptureCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCharClass.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCompilationInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexFCD.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexGroupCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexInterpreter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatchCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatchTimeoutException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexReplacement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexRunner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexRunnerFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\security\system\security\permissions\typedescriptorpermission.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\services\timers\system\timers\ElapsedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\services\timers\system\timers\Timer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\services\timers\system\timers\TimersDescriptionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\collections\concurrent\BlockingCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\collections\concurrent\ConcurrentBag.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\runtime\versioning\FrameworkName.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\threading\Barrier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\windows\markup\ValueSerializerAttribute.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Microsoft.CSharp\CSharpCodeCompiler.cs" />\r
+    <Compile Include="Microsoft.CSharp\CSharpCodeGenerator.cs" />\r
+    <Compile Include="Microsoft.CSharp\CSharpCodeProvider.cs" />\r
+    <Compile Include="Microsoft.VisualBasic\VBCodeCompiler.cs" />\r
+    <Compile Include="Microsoft.VisualBasic\VBCodeGenerator.cs" />\r
+    <Compile Include="Microsoft.VisualBasic\VBCodeProvider.cs" />\r
+    <Compile Include="Microsoft.Win32\IntranetZoneCredentialPolicy.cs" />\r
+    <Compile Include="Microsoft.Win32\PowerModeChangedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\PowerModeChangedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\PowerModes.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndingEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndingEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndReasons.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionSwitchEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionSwitchEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionSwitchReason.cs" />\r
+    <Compile Include="Microsoft.Win32\SystemEvents.cs" />\r
+    <Compile Include="Microsoft.Win32\TimerElapsedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\TimerElapsedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceCategory.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceChangedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceChangedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceChangingEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceChangingEventHandler.cs" />\r
+    <Compile Include="Mono.Http\NtlmClient.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsClass.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsHeader.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsOpCode.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsPacket.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsQClass.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsQType.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsQuery.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsQuestion.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsRCode.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecord.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordA.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordAAAA.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordCName.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordIPAddress.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordPTR.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResponse.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsType.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsUtil.cs" />\r
+    <Compile Include="Mono.Net.Dns\ResolverAsyncOperation.cs" />\r
+    <Compile Include="Mono.Net.Dns\ResolverError.cs" />\r
+    <Compile Include="Mono.Net.Dns\SimpleResolver.cs" />\r
+    <Compile Include="Mono.Net.Dns\SimpleResolverEventArgs.cs" />\r
+    <Compile Include="ReferenceSources\AssertWrapper.cs" />\r
+    <Compile Include="ReferenceSources\BinaryCompatibility.cs" />\r
+    <Compile Include="ReferenceSources\ConfigurationManagerInternalFactory.cs" />\r
+    <Compile Include="ReferenceSources\HttpSysSettings.cs" />\r
+    <Compile Include="ReferenceSources\Logging.cs" />\r
+    <Compile Include="ReferenceSources\NativeMethods.cs" />\r
+    <Compile Include="ReferenceSources\SettingsSectionInternal.cs" />\r
+    <Compile Include="ReferenceSources\Socket.cs" />\r
+    <Compile Include="ReferenceSources\SR.cs" />\r
+    <Compile Include="ReferenceSources\SRCategoryAttribute.cs" />\r
+    <Compile Include="ReferenceSources\SystemNetworkCredential.cs" />\r
+    <Compile Include="ReferenceSources\WebHeaderCollectionType.cs" />\r
+    <Compile Include="ReferenceSources\Win32Exception.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CodeCompiler.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CodeDomConfigurationHandler.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CodeDomProvider.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CodeParser.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\Compiler.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerCollection.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerInfo.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerProviderOption.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerProviderOptionsCollection.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerResults.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\Executor.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\TempFileCollection.cs" />\r
+    <Compile Include="System.Configuration\ApplicationScopedSettingAttribute.cs" />\r
+    <Compile Include="System.Configuration\ApplicationSettingsBase.cs" />\r
+    <Compile Include="System.Configuration\ApplicationSettingsGroup.cs" />\r
+    <Compile Include="System.Configuration\AppSettingsReader.cs" />\r
+    <Compile Include="System.Configuration\ClientSettingsSection.cs" />\r
+    <Compile Include="System.Configuration\ConfigHelper.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationException.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationSettings.cs" />\r
+    <Compile Include="System.Configuration\ConfigXmlDocument.cs" />\r
+    <Compile Include="System.Configuration\CustomizableFileSettingsProvider.cs" />\r
+    <Compile Include="System.Configuration\DefaultSettingValueAttribute.cs" />\r
+    <Compile Include="System.Configuration\DictionarySectionHandler.cs" />\r
+    <Compile Include="System.Configuration\IApplicationSettingsProvider.cs" />\r
+    <Compile Include="System.Configuration\IConfigurationSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\IConfigurationSystem.cs" />\r
+    <Compile Include="System.Configuration\IConfigXmlNode.cs" />\r
+    <Compile Include="System.Configuration\IdnElement.cs" />\r
+    <Compile Include="System.Configuration\IgnoreSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\IPersistComponentSettings.cs" />\r
+    <Compile Include="System.Configuration\IriParsingElement.cs" />\r
+    <Compile Include="System.Configuration\ISettingsProviderService.cs" />\r
+    <Compile Include="System.Configuration\LocalFileSettingsProvider.cs" />\r
+    <Compile Include="System.Configuration\NameValueFileSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\NameValueSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\NoSettingsVersionUpgradeAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingChangingEventArgs.cs" />\r
+    <Compile Include="System.Configuration\SettingChangingEventHandler.cs" />\r
+    <Compile Include="System.Configuration\SettingElement.cs" />\r
+    <Compile Include="System.Configuration\SettingElementCollection.cs" />\r
+    <Compile Include="System.Configuration\SettingsAttributeDictionary.cs" />\r
+    <Compile Include="System.Configuration\SettingsBase.cs" />\r
+    <Compile Include="System.Configuration\SettingsContext.cs" />\r
+    <Compile Include="System.Configuration\SettingsDescriptionAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsGroupDescriptionAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsGroupNameAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsLoadedEventArgs.cs" />\r
+    <Compile Include="System.Configuration\SettingsLoadedEventHandler.cs" />\r
+    <Compile Include="System.Configuration\SettingsManageability.cs" />\r
+    <Compile Include="System.Configuration\SettingsManageabilityAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsProperty.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyCollection.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyIsReadOnlyException.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyNotFoundException.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyValue.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyValueCollection.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyWrongTypeException.cs" />\r
+    <Compile Include="System.Configuration\SettingsProvider.cs" />\r
+    <Compile Include="System.Configuration\SettingsProviderAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsProviderCollection.cs" />\r
+    <Compile Include="System.Configuration\SettingsSavingEventHandler.cs" />\r
+    <Compile Include="System.Configuration\SettingsSerializeAs.cs" />\r
+    <Compile Include="System.Configuration\SettingsSerializeAsAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingValueElement.cs" />\r
+    <Compile Include="System.Configuration\SingleTagSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\SpecialSetting.cs" />\r
+    <Compile Include="System.Configuration\SpecialSettingAttribute.cs" />\r
+    <Compile Include="System.Configuration\UriSection.cs" />\r
+    <Compile Include="System.Configuration\UserScopedSettingAttribute.cs" />\r
+    <Compile Include="System.Configuration\UserSettingsGroup.cs" />\r
+    <Compile Include="System.Diagnostics.CodeAnalysis\ExcludeFromCodeCoverageAttribute.cs" />\r
+    <Compile Include="System.Diagnostics\AlphabeticalEnumConverter.cs" />\r
+    <Compile Include="System.Diagnostics\CounterCreationData.cs" />\r
+    <Compile Include="System.Diagnostics\CounterCreationDataCollection.cs" />\r
+    <Compile Include="System.Diagnostics\CounterSample.cs" />\r
+    <Compile Include="System.Diagnostics\CounterSampleCalculator.cs" />\r
+    <Compile Include="System.Diagnostics\DataReceivedEventArgs.cs" />\r
+    <Compile Include="System.Diagnostics\DataReceivedEventHandler.cs" />\r
+    <Compile Include="System.Diagnostics\DefaultTraceListener.cs" />\r
+    <Compile Include="System.Diagnostics\DiagnosticsConfigurationHandler.cs" />\r
+    <Compile Include="System.Diagnostics\EntryWrittenEventArgs.cs" />\r
+    <Compile Include="System.Diagnostics\EntryWrittenEventHandler.cs" />\r
+    <Compile Include="System.Diagnostics\EventInstance.cs" />\r
+    <Compile Include="System.Diagnostics\EventLog.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogEntry.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogEntryCollection.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogEntryType.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogImpl.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogInstaller.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermission.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermissionAccess.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermissionAttribute.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermissionEntry.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermissionEntryCollection.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogTraceListener.cs" />\r
+    <Compile Include="System.Diagnostics\EventSourceCreationData.cs" />\r
+    <Compile Include="System.Diagnostics\FileVersionInfo.cs" />\r
+    <Compile Include="System.Diagnostics\ICollectData.cs" />\r
+    <Compile Include="System.Diagnostics\InstanceData.cs" />\r
+    <Compile Include="System.Diagnostics\InstanceDataCollection.cs" />\r
+    <Compile Include="System.Diagnostics\InstanceDataCollectionCollection.cs" />\r
+    <Compile Include="System.Diagnostics\LocalFileEventLog.cs" />\r
+    <Compile Include="System.Diagnostics\MonitoringDescriptionAttribute.cs" />\r
+    <Compile Include="System.Diagnostics\NullEventLog.cs" />\r
+    <Compile Include="System.Diagnostics\OverflowAction.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounter.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterCategory.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterCategoryType.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterInstaller.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterInstanceLifetime.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterManager.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermission.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermissionAccess.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermissionAttribute.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermissionEntry.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermissionEntryCollection.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterType.cs" />\r
+    <Compile Include="System.Diagnostics\Process.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessModule.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessModuleCollection.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessPriorityClass.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessStartInfo.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessThread.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessThreadCollection.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessWindowStyle.cs" />\r
+    <Compile Include="System.Diagnostics\Stopwatch.cs" />\r
+    <Compile Include="System.Diagnostics\ThreadPriorityLevel.cs" />\r
+    <Compile Include="System.Diagnostics\ThreadState.cs" />\r
+    <Compile Include="System.Diagnostics\ThreadWaitReason.cs" />\r
+    <Compile Include="System.Diagnostics\TraceImpl.cs" />\r
+    <Compile Include="System.Diagnostics\TraceSourceInfo.cs" />\r
+    <Compile Include="System.Diagnostics\Win32EventLog.cs" />\r
+    <Compile Include="System.IO.Compression\CompressionLevel.cs" />\r
+    <Compile Include="System.IO.Compression\CompressionMode.cs" />\r
+    <Compile Include="System.IO.Compression\DeflateStream.cs" />\r
+    <Compile Include="System.IO.Compression\GZipStream.cs" />\r
+    <Compile Include="System.IO.Ports\Handshake.cs" />\r
+    <Compile Include="System.IO.Ports\ISerialStream.cs" />\r
+    <Compile Include="System.IO.Ports\Parity.cs" />\r
+    <Compile Include="System.IO.Ports\SerialData.cs" />\r
+    <Compile Include="System.IO.Ports\SerialError.cs" />\r
+    <Compile Include="System.IO.Ports\SerialErrorEventArgs.cs" />\r
+    <Compile Include="System.IO.Ports\SerialPinChange.cs" />\r
+    <Compile Include="System.IO.Ports\SerialPinChangedEventArgs.cs" />\r
+    <Compile Include="System.IO.Ports\SerialPort.cs" />\r
+    <Compile Include="System.IO.Ports\SerialPortStream.cs" />\r
+    <Compile Include="System.IO.Ports\SerialReceivedEventArgs.cs" />\r
+    <Compile Include="System.IO.Ports\SerialSignal.cs" />\r
+    <Compile Include="System.IO.Ports\StopBits.cs" />\r
+    <Compile Include="System.IO.Ports\WinSerialStream.cs" />\r
+    <Compile Include="System.IO\DefaultWatcher.cs" />\r
+    <Compile Include="System.IO\ErrorEventArgs.cs" />\r
+    <Compile Include="System.IO\ErrorEventHandler.cs" />\r
+    <Compile Include="System.IO\FAMWatcher.cs" />\r
+    <Compile Include="System.IO\FileAction.cs" />\r
+    <Compile Include="System.IO\FileSystemEventArgs.cs" />\r
+    <Compile Include="System.IO\FileSystemEventHandler.cs" />\r
+    <Compile Include="System.IO\FileSystemWatcher.cs" />\r
+    <Compile Include="System.IO\IFileWatcher.cs" />\r
+    <Compile Include="System.IO\InotifyWatcher.cs" />\r
+    <Compile Include="System.IO\InternalBufferOverflowException.cs" />\r
+    <Compile Include="System.IO\InvalidDataException.cs" />\r
+    <Compile Include="System.IO\IODescriptionAttribute.cs" />\r
+    <Compile Include="System.IO\KeventWatcher.cs" />\r
+    <Compile Include="System.IO\NotifyFilters.cs" />\r
+    <Compile Include="System.IO\NullFileWatcher.cs" />\r
+    <Compile Include="System.IO\RenamedEventArgs.cs" />\r
+    <Compile Include="System.IO\RenamedEventHandler.cs" />\r
+    <Compile Include="System.IO\SearchPattern.cs" />\r
+    <Compile Include="System.IO\WaitForChangedResult.cs" />\r
+    <Compile Include="System.IO\WatcherChangeTypes.cs" />\r
+    <Compile Include="System.IO\WindowsWatcher.cs" />\r
+    <Compile Include="System.Media\AudioData.cs" />\r
+    <Compile Include="System.Media\AudioDevice.cs" />\r
+    <Compile Include="System.Media\SoundPlayer.cs" />\r
+    <Compile Include="System.Media\SystemSound.cs" />\r
+    <Compile Include="System.Media\SystemSounds.cs" />\r
+    <Compile Include="System.Media\Win32SoundPlayer.cs" />\r
+    <Compile Include="System.Net.Cache\HttpCacheAgeControl.cs" />\r
+    <Compile Include="System.Net.Cache\HttpRequestCacheLevel.cs" />\r
+    <Compile Include="System.Net.Cache\HttpRequestCachePolicy.cs" />\r
+    <Compile Include="System.Net.Cache\RequestCacheLevel.cs" />\r
+    <Compile Include="System.Net.Cache\RequestCachePolicy.cs" />\r
+    <Compile Include="System.Net.Configuration\AuthenticationModuleElement.cs" />\r
+    <Compile Include="System.Net.Configuration\AuthenticationModuleElementCollection.cs" />\r
+    <Compile Include="System.Net.Configuration\AuthenticationModulesSection.cs" />\r
+    <Compile Include="System.Net.Configuration\BypassElement.cs" />\r
+    <Compile Include="System.Net.Configuration\BypassElementCollection.cs" />\r
+    <Compile Include="System.Net.Configuration\ConnectionManagementElement.cs" />\r
+    <Compile Include="System.Net.Configuration\ConnectionManagementElementCollection.cs" />\r
+    <Compile Include="System.Net.Configuration\ConnectionManagementHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\ConnectionManagementSection.cs" />\r
+    <Compile Include="System.Net.Configuration\DefaultProxyHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\DefaultProxySection.cs" />\r
+    <Compile Include="System.Net.Configuration\FtpCachePolicyElement.cs" />\r
+    <Compile Include="System.Net.Configuration\HttpCachePolicyElement.cs" />\r
+    <Compile Include="System.Net.Configuration\HttpWebRequestElement.cs" />\r
+    <Compile Include="System.Net.Configuration\Ipv6Element.cs" />\r
+    <Compile Include="System.Net.Configuration\MailSettingsSectionGroup.cs" />\r
+    <Compile Include="System.Net.Configuration\ModuleElement.cs" />\r
+    <Compile Include="System.Net.Configuration\NetAuthenticationModuleHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\NetConfigurationHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\NetSectionGroup.cs" />\r
+    <Compile Include="System.Net.Configuration\PerformanceCountersElement.cs" />\r
+    <Compile Include="System.Net.Configuration\ProxyElement.cs" />\r
+    <Compile Include="System.Net.Configuration\RequestCachingSection.cs" />\r
+    <Compile Include="System.Net.Configuration\ServicePointManagerElement.cs" />\r
+    <Compile Include="System.Net.Configuration\SettingsSection.cs" />\r
+    <Compile Include="System.Net.Configuration\SmtpNetworkElement.cs" />\r
+    <Compile Include="System.Net.Configuration\SmtpSection.cs" />\r
+    <Compile Include="System.Net.Configuration\SmtpSpecifiedPickupDirectoryElement.cs" />\r
+    <Compile Include="System.Net.Configuration\SocketElement.cs" />\r
+    <Compile Include="System.Net.Configuration\WebProxyScriptElement.cs" />\r
+    <Compile Include="System.Net.Configuration\WebRequestModuleElement.cs" />\r
+    <Compile Include="System.Net.Configuration\WebRequestModuleElementCollection.cs" />\r
+    <Compile Include="System.Net.Configuration\WebRequestModuleHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\WebRequestModulesSection.cs" />\r
+    <Compile Include="System.Net.Mail\AlternateView.cs" />\r
+    <Compile Include="System.Net.Mail\AlternateViewCollection.cs" />\r
+    <Compile Include="System.Net.Mail\Attachment.cs" />\r
+    <Compile Include="System.Net.Mail\AttachmentBase.cs" />\r
+    <Compile Include="System.Net.Mail\AttachmentCollection.cs" />\r
+    <Compile Include="System.Net.Mail\DeliveryNotificationOptions.cs" />\r
+    <Compile Include="System.Net.Mail\LinkedResource.cs" />\r
+    <Compile Include="System.Net.Mail\LinkedResourceCollection.cs" />\r
+    <Compile Include="System.Net.Mail\MailAddress.cs" />\r
+    <Compile Include="System.Net.Mail\MailAddressCollection.cs" />\r
+    <Compile Include="System.Net.Mail\MailMessage.cs" />\r
+    <Compile Include="System.Net.Mail\MailPriority.cs" />\r
+    <Compile Include="System.Net.Mail\SendCompletedEventHandler.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpAccess.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpClient.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpDeliveryFormat.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpDeliveryMethod.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpException.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpFailedRecipientException.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpFailedRecipientsException.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpPermission.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpPermissionAttribute.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpStatusCode.cs" />\r
+    <Compile Include="System.Net.Mime\ContentDisposition.cs" />\r
+    <Compile Include="System.Net.Mime\ContentType.cs" />\r
+    <Compile Include="System.Net.Mime\DispositionTypeNames.cs" />\r
+    <Compile Include="System.Net.Mime\MediaTypeNames.cs" />\r
+    <Compile Include="System.Net.Mime\TransferEncoding.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\DuplicateAddressDetectionState.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\GatewayIPAddressInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\GatewayIPAddressInformationCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IcmpV4Statistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IcmpV6Statistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPAddressCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPAddressInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPAddressInformationCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPGlobalProperties.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPGlobalStatistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPInterfaceProperties.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPStatus.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPv4InterfaceProperties.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPv4InterfaceStatistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPv6InterfaceProperties.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\LinuxNetworkInterfaceMarshal.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\MacOsNetworkInterfaceMarshal.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\MulticastIPAddressInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\MulticastIPAddressInformationCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetBiosNodeType.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkAddressChangedEventHandler.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkAvailabilityChangedEventHandler.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkAvailabilityEventArgs.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkChange.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInformationAccess.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInformationException.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInformationPermission.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInformationPermissionAttribute.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInterface.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInterfaceComponent.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInterfaceType.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\OperationalStatus.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PhysicalAddress.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\Ping.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingCompletedEventArgs.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingCompletedEventHandler.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingException.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingOptions.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingReply.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PrefixOrigin.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\SuffixOrigin.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\TcpConnectionInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\TcpState.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\TcpStatistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\UdpStatistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\UnicastIPAddressInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\UnicastIPAddressInformationCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\Win32NetworkInterfaceMarshal.cs" />\r
+    <Compile Include="System.Net.Security\AuthenticatedStream.cs" />\r
+    <Compile Include="System.Net.Security\AuthenticationLevel.cs" />\r
+    <Compile Include="System.Net.Security\EncryptionPolicy.cs" />\r
+    <Compile Include="System.Net.Security\LocalCertificateSelectionCallback.cs" />\r
+    <Compile Include="System.Net.Security\NegotiateStream.cs" />\r
+    <Compile Include="System.Net.Security\ProtectionLevel.cs" />\r
+    <Compile Include="System.Net.Security\RemoteCertificateValidationCallback.cs" />\r
+    <Compile Include="System.Net.Security\SslPolicyErrors.cs" />\r
+    <Compile Include="System.Net.Security\SslStream.cs" />\r
+    <Compile Include="System.Net.Sockets\AddressFamily.cs" />\r
+    <Compile Include="System.Net.Sockets\IOControlCode.cs" />\r
+    <Compile Include="System.Net.Sockets\IPPacketInformation.cs" />\r
+    <Compile Include="System.Net.Sockets\IPv6MulticastOption.cs" />\r
+    <Compile Include="System.Net.Sockets\LingerOption.cs" />\r
+    <Compile Include="System.Net.Sockets\MulticastOption.cs" />\r
+    <Compile Include="System.Net.Sockets\NetworkStream.cs" />\r
+    <Compile Include="System.Net.Sockets\ProtocolFamily.cs" />\r
+    <Compile Include="System.Net.Sockets\ProtocolType.cs" />\r
+    <Compile Include="System.Net.Sockets\SafeSocketHandle.cs" />\r
+    <Compile Include="System.Net.Sockets\SelectMode.cs" />\r
+    <Compile Include="System.Net.Sockets\SendPacketsElement.cs" />\r
+    <Compile Include="System.Net.Sockets\Socket.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketAsyncEventArgs.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketAsyncOperation.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketAsyncResult.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketError.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketException.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketFlags.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketInformation.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketInformationOptions.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketOperation.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketOptionLevel.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketShutdown.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketType.cs" />\r
+    <Compile Include="System.Net.Sockets\TcpClient.cs" />\r
+    <Compile Include="System.Net.Sockets\TcpListener.cs" />\r
+    <Compile Include="System.Net.Sockets\TransmitFileOptions.cs" />\r
+    <Compile Include="System.Net.Sockets\UdpClient.cs" />\r
+    <Compile Include="System.Net.Sockets\UdpReceiveResult.cs" />\r
+    <Compile Include="System.Net.WebSockets\ClientWebSocket.cs" />\r
+    <Compile Include="System.Net.WebSockets\ClientWebSocketOptions.cs" />\r
+    <Compile Include="System.Net.WebSockets\HttpListenerWebSocketContext.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocket.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketCloseStatus.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketContext.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketError.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketException.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketMessageType.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketReceiveResult.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketState.cs" />\r
+    <Compile Include="System.Net\AuthenticationManager.cs" />\r
+    <Compile Include="System.Net\AuthenticationSchemes.cs" />\r
+    <Compile Include="System.Net\AuthenticationSchemeSelector.cs" />\r
+    <Compile Include="System.Net\Authorization.cs" />\r
+    <Compile Include="System.Net\BasicClient.cs" />\r
+    <Compile Include="System.Net\BindIPEndPoint.cs" />\r
+    <Compile Include="System.Net\ChunkedInputStream.cs" />\r
+    <Compile Include="System.Net\ChunkStream.cs" />\r
+    <Compile Include="System.Net\ConnectionModes.cs" />\r
+    <Compile Include="System.Net\CredentialCache.cs" />\r
+    <Compile Include="System.Net\DecompressionMethods.cs" />\r
+    <Compile Include="System.Net\DefaultCertificatePolicy.cs" />\r
+    <Compile Include="System.Net\DigestClient.cs" />\r
+    <Compile Include="System.Net\Dns.cs" />\r
+    <Compile Include="System.Net\DnsAsyncResult.cs" />\r
+    <Compile Include="System.Net\DnsEndPoint.cs" />\r
+    <Compile Include="System.Net\DnsPermission.cs" />\r
+    <Compile Include="System.Net\DnsPermissionAttribute.cs" />\r
+    <Compile Include="System.Net\EndPoint.cs" />\r
+    <Compile Include="System.Net\EndPointListener.cs" />\r
+    <Compile Include="System.Net\EndPointManager.cs" />\r
+    <Compile Include="System.Net\EndpointPermission.cs" />\r
+    <Compile Include="System.Net\FileWebRequest.cs" />\r
+    <Compile Include="System.Net\FileWebRequestCreator.cs" />\r
+    <Compile Include="System.Net\FileWebResponse.cs" />\r
+    <Compile Include="System.Net\FtpAsyncResult.cs" />\r
+    <Compile Include="System.Net\FtpDataStream.cs" />\r
+    <Compile Include="System.Net\FtpRequestCreator.cs" />\r
+    <Compile Include="System.Net\FtpStatus.cs" />\r
+    <Compile Include="System.Net\FtpStatusCode.cs" />\r
+    <Compile Include="System.Net\FtpWebRequest.cs" />\r
+    <Compile Include="System.Net\FtpWebResponse.cs" />\r
+    <Compile Include="System.Net\GlobalProxySelection.cs" />\r
+    <Compile Include="System.Net\HttpConnection.cs" />\r
+    <Compile Include="System.Net\HttpListener.cs" />\r
+    <Compile Include="System.Net\HttpListenerBasicIdentity.cs" />\r
+    <Compile Include="System.Net\HttpListenerContext.cs" />\r
+    <Compile Include="System.Net\HttpListenerException.cs" />\r
+    <Compile Include="System.Net\HttpListenerPrefixCollection.cs" />\r
+    <Compile Include="System.Net\HttpListenerRequest.cs" />\r
+    <Compile Include="System.Net\HttpListenerResponse.cs" />\r
+    <Compile Include="System.Net\HttpListenerTimeoutManager.cs" />\r
+    <Compile Include="System.Net\HttpRequestCreator.cs" />\r
+    <Compile Include="System.Net\HttpRequestHeader.cs" />\r
+    <Compile Include="System.Net\HttpResponseHeader.cs" />\r
+    <Compile Include="System.Net\HttpStatusCode.cs" />\r
+    <Compile Include="System.Net\HttpStreamAsyncResult.cs" />\r
+    <Compile Include="System.Net\HttpVersion.cs" />\r
+    <Compile Include="System.Net\HttpWebRequest.cs" />\r
+    <Compile Include="System.Net\HttpWebResponse.cs" />\r
+    <Compile Include="System.Net\IAuthenticationModule.cs" />\r
+    <Compile Include="System.Net\ICertificatePolicy.cs" />\r
+    <Compile Include="System.Net\ICredentialLookup.cs" />\r
+    <Compile Include="System.Net\ICredentialPolicy.cs" />\r
+    <Compile Include="System.Net\ICredentialsByHost.cs" />\r
+    <Compile Include="System.Net\IPAddress.cs" />\r
+    <Compile Include="System.Net\IPEndPoint.cs" />\r
+    <Compile Include="System.Net\IPHostEntry.cs" />\r
+    <Compile Include="System.Net\IPv6Address.cs" />\r
+    <Compile Include="System.Net\IWebConnectionState.cs" />\r
+    <Compile Include="System.Net\IWebProxy.cs" />\r
+    <Compile Include="System.Net\IWebProxyScript.cs" />\r
+    <Compile Include="System.Net\IWebRequestCreate.cs" />\r
+    <Compile Include="System.Net\ListenerAsyncResult.cs" />\r
+    <Compile Include="System.Net\ListenerPrefix.cs" />\r
+    <Compile Include="System.Net\MacProxy.cs" />\r
+    <Compile Include="System.Net\MonoHttpDate.cs" />\r
+    <Compile Include="System.Net\NetConfig.cs" />\r
+    <Compile Include="System.Net\NetworkAccess.cs" />\r
+    <Compile Include="System.Net\NetworkCredential.cs" />\r
+    <Compile Include="System.Net\NtlmClient.cs" />\r
+    <Compile Include="System.Net\ProtocolViolationException.cs" />\r
+    <Compile Include="System.Net\RequestStream.cs" />\r
+    <Compile Include="System.Net\ResponseStream.cs" />\r
+    <Compile Include="System.Net\SecurityProtocolType.cs" />\r
+    <Compile Include="System.Net\ServicePoint.cs" />\r
+    <Compile Include="System.Net\ServicePointManager.cs" />\r
+    <Compile Include="System.Net\ServicePointManager.extra.cs" />\r
+    <Compile Include="System.Net\SimpleAsyncResult.cs" />\r
+    <Compile Include="System.Net\SocketAddress.cs" />\r
+    <Compile Include="System.Net\SocketPermission.cs" />\r
+    <Compile Include="System.Net\SocketPermissionAttribute.cs" />\r
+    <Compile Include="System.Net\TransportContext.cs" />\r
+    <Compile Include="System.Net\TransportType.cs" />\r
+    <Compile Include="System.Net\WebAsyncResult.cs" />\r
+    <Compile Include="System.Net\WebConnection.cs" />\r
+    <Compile Include="System.Net\WebConnectionData.cs" />\r
+    <Compile Include="System.Net\WebConnectionGroup.cs" />\r
+    <Compile Include="System.Net\WebConnectionStream.cs" />\r
+    <Compile Include="System.Net\WebException.cs" />\r
+    <Compile Include="System.Net\WebExceptionStatus.cs" />\r
+    <Compile Include="System.Net\WebHeaderCollection.cs" />\r
+    <Compile Include="System.Net\WebProxy.cs" />\r
+    <Compile Include="System.Net\WebRequest.cs" />\r
+    <Compile Include="System.Net\WebRequestMethods.cs" />\r
+    <Compile Include="System.Net\WebResponse.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\ADVF.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\DATADIR.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\DVASPECT.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\FORMATETC.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\IAdviseSink.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\IDataObject.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumFORMATETC.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumSTATDATA.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\STATDATA.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\STGMEDIUM.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\TYMED.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\DefaultParameterValueAttribute.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\HandleCollector.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\StandardOleMarshalObject.cs" />\r
+    <Compile Include="System.Security.AccessControl\SemaphoreAccessRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\SemaphoreAuditRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\SemaphoreRights.cs" />\r
+    <Compile Include="System.Security.AccessControl\SemaphoreSecurity.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ConfigUtil.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ExtendedProtectionPolicyElement.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ServiceNameElement.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ServiceNameElementCollection.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ChannelBinding.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ChannelBindingKind.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ExtendedProtectionPolicy.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ExtendedProtectionPolicyTypeConverter.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\PolicyEnforcement.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ProtectionScenario.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ServiceNameCollection.cs" />\r
+    <Compile Include="System.Security.Authentication\AuthenticationException.cs" />\r
+    <Compile Include="System.Security.Authentication\CipherAlgorithmType.cs" />\r
+    <Compile Include="System.Security.Authentication\ExchangeAlgorithmType.cs" />\r
+    <Compile Include="System.Security.Authentication\HashAlgorithmType.cs" />\r
+    <Compile Include="System.Security.Authentication\InvalidCredentialException.cs" />\r
+    <Compile Include="System.Security.Authentication\SslProtocols.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\OpenFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\OSX509Certificates.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\PublicKey.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\StoreLocation.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\StoreName.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X500DistinguishedName.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X500DistinguishedNameFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509BasicConstraintsExtension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2Collection.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2Enumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509CertificateCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Chain.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElement.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElementCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElementEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainPolicy.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainStatus.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainStatusFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509EnhancedKeyUsageExtension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Extension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ExtensionCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ExtensionEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509FindType.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509IncludeOption.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509KeyUsageExtension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509KeyUsageFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509NameType.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509RevocationFlag.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509RevocationMode.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Store.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509SubjectKeyIdentifierExtension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509SubjectKeyIdentifierHashAlgorithm.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509VerificationFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography\AsnEncodedData.cs" />\r
+    <Compile Include="System.Security.Cryptography\AsnEncodedDataCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography\AsnEncodedDataEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography\Oid.cs" />\r
+    <Compile Include="System.Security.Cryptography\OidCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography\OidEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography\OidGroup.cs" />\r
+    <Compile Include="System.Security.Permissions\PermissionHelper.cs" />\r
+    <Compile Include="System.Security.Permissions\ResourcePermissionBase.cs" />\r
+    <Compile Include="System.Security.Permissions\ResourcePermissionBaseEntry.cs" />\r
+    <Compile Include="System.Security.Permissions\StorePermission.cs" />\r
+    <Compile Include="System.Security.Permissions\StorePermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\StorePermissionFlags.cs" />\r
+    <Compile Include="System.Threading\Semaphore.cs" />\r
+    <Compile Include="System.Threading\ThreadExceptionEventArgs.cs" />\r
+    <Compile Include="System.Threading\ThreadExceptionEventHandler.cs" />\r
+    <Compile Include="System.Timers\ElapsedEventArgs.cs" />\r
+    <Compile Include="System.Web\AspNetHostingPermission.cs" />\r
+    <Compile Include="System.Web\AspNetHostingPermissionAttribute.cs" />\r
+    <Compile Include="System.Web\AspNetHostingPermissionLevel.cs" />\r
+    <Compile Include="System.Windows.Input\ICommand.cs" />\r
+    <Compile Include="System\DefaultUriParser.cs" />\r
+    <Compile Include="System\FileStyleUriParser.cs" />\r
+    <Compile Include="System\FtpStyleUriParser.cs" />\r
+    <Compile Include="System\GenericUriParser.cs" />\r
+    <Compile Include="System\GenericUriParserOptions.cs" />\r
+    <Compile Include="System\GopherStyleUriParser.cs" />\r
+    <Compile Include="System\HttpStyleUriParser.cs" />\r
+    <Compile Include="System\IUriData.cs" />\r
+    <Compile Include="System\LdapStyleUriParser.cs" />\r
+    <Compile Include="System\NetPipeStyleUriParser.cs" />\r
+    <Compile Include="System\NetTcpStyleUriParser.cs" />\r
+    <Compile Include="System\NewsStyleUriParser.cs" />\r
+    <Compile Include="System\Platform.cs" />\r
+    <Compile Include="System\SRDescriptionAttribute.cs" />\r
+    <Compile Include="System\Uri.cs" />\r
+    <Compile Include="System\UriBuilder.cs" />\r
+    <Compile Include="System\UriComponents.cs" />\r
+    <Compile Include="System\UriData.cs" />\r
+    <Compile Include="System\UriElements.cs" />\r
+    <Compile Include="System\UriFormat.cs" />\r
+    <Compile Include="System\UriFormatException.cs" />\r
+    <Compile Include="System\UriHelper.cs" />\r
+    <Compile Include="System\UriHostNameType.cs" />\r
+    <Compile Include="System\UriIdnScope.cs" />\r
+    <Compile Include="System\UriKind.cs" />\r
+    <Compile Include="System\UriParseComponents.cs" />\r
+    <Compile Include="System\UriParser.cs" />\r
+    <Compile Include="System\UriPartial.cs" />\r
+    <Compile Include="System\UriTypeConverter.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="resources/Asterisk.wav">\r
+      <LogicalName>Asterisk.wav</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/Beep.wav">\r
+      <LogicalName>Beep.wav</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/Exclamation.wav">\r
+      <LogicalName>Exclamation.wav</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/Hand.wav">\r
+      <LogicalName>Hand.wav</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/Question.wav">\r
+      <LogicalName>Question.wav</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
index 731ae63b8793f031d1da059761fc3238c3632e9d..79c57dc073329a677818bc1e2b17138b82f15054 100644 (file)
     <Compile Include="System.Net.Sockets\SelectMode.cs" />\r
     <Compile Include="System.Net.Sockets\SendPacketsElement.cs" />\r
     <Compile Include="System.Net.Sockets\Socket.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketAsyncCallback.cs" />\r
     <Compile Include="System.Net.Sockets\SocketAsyncEventArgs.cs" />\r
     <Compile Include="System.Net.Sockets\SocketAsyncOperation.cs" />\r
     <Compile Include="System.Net.Sockets\SocketAsyncResult.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketAsyncWorker.cs" />\r
     <Compile Include="System.Net.Sockets\SocketError.cs" />\r
     <Compile Include="System.Net.Sockets\SocketException.cs" />\r
     <Compile Include="System.Net.Sockets\SocketFlags.cs" />\r
diff --git a/mcs/class/System/System-net_4_x.csproj b/mcs/class/System/System-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d959dbe
--- /dev/null
@@ -0,0 +1,1225 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2762E921-91A8-4C87-91E9-BA628013F753}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;SECURITY_DEP;XML_DEP;CONFIGURATION_DEP</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;SECURITY_DEP;XML_DEP;CONFIGURATION_DEP</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeArgumentReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeArrayCreateExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeArrayIndexerExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAssignStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttachEventStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttributeArgument.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttributeArgumentCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttributeDeclaration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttributeDeclarationCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeBaseReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeBinaryOperatorExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeBinaryOperatorType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCastExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCatchClause.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCatchClauseCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeChecksumPragma.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeComment.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCommentStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCommentStatementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCompileUnit.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeConditionStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeConstructor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDefaultValueExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDelegateCreateExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDelegateInvokeExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDirectionExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDirective.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDirectiveCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeEntryPointMethod.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeEventReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeExpressionCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeExpressionStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeFieldReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeGotoStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeIndexerExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeIterationStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeLabeledStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeLinePragma.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMemberEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMemberField.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMemberMethod.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMemberProperty.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMethodInvokeExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\codemethodreferenceexpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMethodReturnStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeNamespace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeNamespaceCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeNamespaceImport.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeNamespaceImportCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeObjectCreateExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeParameterDeclarationExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeParameterDeclarationExpressionCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodePrimitiveExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodePropertyReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodePropertySetValueReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeRegionDirective.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeRegionMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeRemoveEventStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeSnippetCompileUnit.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeSnippetExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeSnippetStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeSnippetTypeMember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeStatementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeThisReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeThrowExceptionStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTryCatchFinallyStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeConstructor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeDeclaration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeDeclarationCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeDelegate.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeMember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeMemberCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeOfExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeParameterCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeReference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeReferenceCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeVariableDeclarationStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeVariableReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CodeGeneratorOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CodeValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CompilerError.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CompilerErrorCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CompilerParameters.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\GeneratedCodeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\GeneratorSupport.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\ICodeCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\ICodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\ICodeParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\IndentTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\LanguageOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\FieldDirection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\MemberAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\bithelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\debugview.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\iset.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\linkedlist.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\queue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\sorteddictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\sortedlist.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\sortedset.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\sortedsetdebugview.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\stack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\throwhelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\objectmodel\observablecollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\objectmodel\readonlyobservablecollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\bitvector32.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\casesensitivestringdictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\collectionsutil.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\fixedstringlookup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\hybriddictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\inotifycollectionchanged.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\iordereddictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\listdictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\nameobjectcollectionbase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\namevaluecollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\notifycollectionchangedeventargs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\ordereddictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\stringcollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\stringdictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\stringdictionarywithcomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AddingNewEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AddingNewEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AmbientValueAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ArrayConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ArraySubsetEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AsyncCompletedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AsyncCompletedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AsyncOperation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AsyncOperationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AttributeCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AttributeProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BackgroundWorker.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BaseComponentEditor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\basenumberconverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BindableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BindableSupport.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BindingDirection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BindingList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BooleanConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BrowsableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ByteConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CancelEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CancelEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CategoryAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CharConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CollectionChangeAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CollectionChangeEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CollectionChangeEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CollectionConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ComplexBindingPropertiesAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CompModSwitches.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Component.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ComponentCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ComponentConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ComponentResourceManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Container.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ContainerFilterService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CultureInfoConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CustomTypeDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataErrorsChangedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataObjectAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataObjectFieldAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataObjectMethodAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataObjectMethodType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DateTimeConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DateTimeOffsetConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DebugExtendedPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DebugReflectEventDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DebugReflectPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DebugTypeDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DecimalConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DefaultBindingPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DefaultEventAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DefaultPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DefaultValueAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DelegatingTypeDescriptionProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DescriptionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ActiveDocumentEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ActiveDocumentEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\CheckoutException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\CommandID.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentChangedEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentChangedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentChangingEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentChangingEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentRenameEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentRenameEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerOptionService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerTransaction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerTransactionCloseEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerTransactionCloseEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerVerb.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerVerbCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesigntimeLicenseContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesigntimeLicenseContextSerializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DocumentCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DocumentEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DocumentEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\HelpContextType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\HelpKeywordAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\HelpKeywordType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IComponentChangeService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IComponentDiscoveryService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IComponentInitializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesigner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerEventService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerHost.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerHostTransactionState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerOptionService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDictionaryService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IEventPropertyService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IExtenderListService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IExtenderProviderService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IHelpService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IInheritanceService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IMenuCommandService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\InheritanceAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\InheritanceLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IReferenceService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IResourceService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IRootDesigner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ISelectionService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IServiceObjectContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ITreeDesigner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ITypeDescriptorFilterService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ITypeDiscoveryService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ITypeResolutionService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\MenuCommand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\NotifyParentPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ParenthesizePropertyNameAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\PropertyTabAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\PropertyTabScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\RefreshProperties.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\RefreshPropertiesAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\SelectionTypes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\ComponentSerializationService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\ContextStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\DefaultSerializationProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\DesignerLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\DesignerSerializerAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerLoaderHost.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerLoaderService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerSerializationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerSerializationProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerSerializationService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\INameCreationService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\InstanceDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\MemberRelationshipService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\ResolveNameEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\ResolveNameEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\RootDesignerSerializerAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\SerializationStore.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ServiceCreatorCallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ServiceObjectContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\StandardCommands.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\StandardToolWindows.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ToolboxItemAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ViewTechnology.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignerAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignerCategoryAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignerSerializationVisibility.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignerSerializationVisibilityAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignOnlyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignTimeVisibleAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DisplayNameAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DoubleConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DoWorkEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DoWorkEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EditorAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EditorBrowsableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EnumConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EventDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EventDescriptorCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EventHandlerList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ExpandableObjectConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ExtendedPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ExtenderProvidedPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\FxCopSuppression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\GuidConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\HandledEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\HandledEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IBindingList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IBindingListView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ICancelAddNew.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IChangeTracking.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IComNativeDescriptorHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IComponent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ICustomTypeDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IDataErrorInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IEditableObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IExtenderProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IIntellisenseBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IListSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ImmutableObjectAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INestedContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INestedSite.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InitializationEventAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INotifyDataErrorInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INotifyPropertyChanged.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INotifyPropertyChanging.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InstallerTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InstanceCreationEditor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Int16Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Int32Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Int64Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IntSecurity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InvalidAsynchronousStateException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InvalidEnumArgumentException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IRaiseItemChangedEvents.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IRevertibleChangeTracking.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ISite.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ISupportInitialize.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ISupportInitializeNotification.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ISynchronizeInvoke.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ITypeDescriptorContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ITypedList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\License.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseUsageMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicFileLicenseProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListBindableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListChangedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListChangedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListChangedType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListSortDescription.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListSortDescriptionCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListSortDirection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LocalizableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LookupBindingPropertiesAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MarshalByValueComponent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MaskedTextProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MaskedTextResultHint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MemberDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MergablePropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MultilineStringConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\NestedContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\NullableConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PasswordPropertyTextAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ProgressChangedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ProgressChangedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyChangedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyChangedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyChangingEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyChangingEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyDescriptorCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ProvidePropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReadOnlyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RecommendedAsConfigurableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReferenceConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReflectEventDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReflectPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReflectTypeDescriptionProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RefreshEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RefreshEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RunInstallerAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RunWorkerCompletedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RunWorkerCompletedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\SByteConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\SettingsBindableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\SingleConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\StringConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\SyntaxCheck.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TimeSpanConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ToolboxItemFilterAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ToolboxItemFilterType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeConverterAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeDescriptionProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeDescriptionProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeDescriptionProviderService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeListConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\UInt16Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\UInt32Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\UInt64Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\WarningException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Win32Exception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\AssertSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\BooleanSwitch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\ConsoleTraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\CorrelationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\Debug.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\DelimitedListTraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\DiagnosticsConfiguration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\FilterElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\ListenerElementsCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\PerfCounterSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SeverityFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SourceElementsCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SourceFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SourceLevels.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SourceSwitch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\Switch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SwitchAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SwitchElementsCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SwitchLevelAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SystemDiagnosticsSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TextWriterTraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\Trace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceEventCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceEventType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceInternal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceListeners.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceSwitch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\traceutils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TypedElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\XmlWriterTraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\hresults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\invariantcomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\PrivilegedConfigurationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\SecurityUtils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\WeakHashtable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\_BufferOffsetSize.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\_LazyAsyncResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\_LoggingObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\_ScatterGatherBuffers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\cookie.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\cookiecollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\cookiecontainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\cookieexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\HttpListenerRequestUriBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\Internal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\NetworkInformation\IPInterfaceStatistics.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\NetworkInformation\ScopeLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\NetworkInformation\UnicastIPAddressInformation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\Sockets\IPProtectionLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\Sockets\SocketOptionName.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\UnicodeDecodingConformance.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\UnicodeEncodingConformance.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\webclient.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\WebPermission.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\WebUtility.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\WriteStreamClosedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\compiledregexrunner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\compiledregexrunnerfactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\Regex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexBoyerMoore.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCapture.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCaptureCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCharClass.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCompilationInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexFCD.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexGroupCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexInterpreter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatchCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatchTimeoutException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexReplacement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexRunner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexRunnerFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\security\system\security\permissions\typedescriptorpermission.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\services\timers\system\timers\ElapsedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\services\timers\system\timers\Timer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\services\timers\system\timers\TimersDescriptionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\collections\concurrent\BlockingCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\collections\concurrent\ConcurrentBag.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\runtime\versioning\FrameworkName.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\threading\Barrier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\windows\markup\ValueSerializerAttribute.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Microsoft.CSharp\CSharpCodeCompiler.cs" />\r
+    <Compile Include="Microsoft.CSharp\CSharpCodeGenerator.cs" />\r
+    <Compile Include="Microsoft.CSharp\CSharpCodeProvider.cs" />\r
+    <Compile Include="Microsoft.VisualBasic\VBCodeCompiler.cs" />\r
+    <Compile Include="Microsoft.VisualBasic\VBCodeGenerator.cs" />\r
+    <Compile Include="Microsoft.VisualBasic\VBCodeProvider.cs" />\r
+    <Compile Include="Microsoft.Win32\IntranetZoneCredentialPolicy.cs" />\r
+    <Compile Include="Microsoft.Win32\PowerModeChangedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\PowerModeChangedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\PowerModes.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndingEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndingEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndReasons.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionSwitchEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionSwitchEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionSwitchReason.cs" />\r
+    <Compile Include="Microsoft.Win32\SystemEvents.cs" />\r
+    <Compile Include="Microsoft.Win32\TimerElapsedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\TimerElapsedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceCategory.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceChangedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceChangedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceChangingEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceChangingEventHandler.cs" />\r
+    <Compile Include="Mono.Http\NtlmClient.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsClass.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsHeader.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsOpCode.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsPacket.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsQClass.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsQType.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsQuery.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsQuestion.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsRCode.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecord.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordA.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordAAAA.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordCName.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordIPAddress.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordPTR.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResponse.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsType.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsUtil.cs" />\r
+    <Compile Include="Mono.Net.Dns\ResolverAsyncOperation.cs" />\r
+    <Compile Include="Mono.Net.Dns\ResolverError.cs" />\r
+    <Compile Include="Mono.Net.Dns\SimpleResolver.cs" />\r
+    <Compile Include="Mono.Net.Dns\SimpleResolverEventArgs.cs" />\r
+    <Compile Include="ReferenceSources\AssertWrapper.cs" />\r
+    <Compile Include="ReferenceSources\BinaryCompatibility.cs" />\r
+    <Compile Include="ReferenceSources\ConfigurationManagerInternalFactory.cs" />\r
+    <Compile Include="ReferenceSources\HttpSysSettings.cs" />\r
+    <Compile Include="ReferenceSources\Logging.cs" />\r
+    <Compile Include="ReferenceSources\NativeMethods.cs" />\r
+    <Compile Include="ReferenceSources\SettingsSectionInternal.cs" />\r
+    <Compile Include="ReferenceSources\Socket.cs" />\r
+    <Compile Include="ReferenceSources\SR.cs" />\r
+    <Compile Include="ReferenceSources\SRCategoryAttribute.cs" />\r
+    <Compile Include="ReferenceSources\SystemNetworkCredential.cs" />\r
+    <Compile Include="ReferenceSources\WebHeaderCollectionType.cs" />\r
+    <Compile Include="ReferenceSources\Win32Exception.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CodeCompiler.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CodeDomConfigurationHandler.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CodeDomProvider.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CodeParser.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\Compiler.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerCollection.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerInfo.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerProviderOption.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerProviderOptionsCollection.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerResults.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\Executor.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\TempFileCollection.cs" />\r
+    <Compile Include="System.Configuration\ApplicationScopedSettingAttribute.cs" />\r
+    <Compile Include="System.Configuration\ApplicationSettingsBase.cs" />\r
+    <Compile Include="System.Configuration\ApplicationSettingsGroup.cs" />\r
+    <Compile Include="System.Configuration\AppSettingsReader.cs" />\r
+    <Compile Include="System.Configuration\ClientSettingsSection.cs" />\r
+    <Compile Include="System.Configuration\ConfigHelper.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationException.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationSettings.cs" />\r
+    <Compile Include="System.Configuration\ConfigXmlDocument.cs" />\r
+    <Compile Include="System.Configuration\CustomizableFileSettingsProvider.cs" />\r
+    <Compile Include="System.Configuration\DefaultSettingValueAttribute.cs" />\r
+    <Compile Include="System.Configuration\DictionarySectionHandler.cs" />\r
+    <Compile Include="System.Configuration\IApplicationSettingsProvider.cs" />\r
+    <Compile Include="System.Configuration\IConfigurationSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\IConfigurationSystem.cs" />\r
+    <Compile Include="System.Configuration\IConfigXmlNode.cs" />\r
+    <Compile Include="System.Configuration\IdnElement.cs" />\r
+    <Compile Include="System.Configuration\IgnoreSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\IPersistComponentSettings.cs" />\r
+    <Compile Include="System.Configuration\IriParsingElement.cs" />\r
+    <Compile Include="System.Configuration\ISettingsProviderService.cs" />\r
+    <Compile Include="System.Configuration\LocalFileSettingsProvider.cs" />\r
+    <Compile Include="System.Configuration\NameValueFileSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\NameValueSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\NoSettingsVersionUpgradeAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingChangingEventArgs.cs" />\r
+    <Compile Include="System.Configuration\SettingChangingEventHandler.cs" />\r
+    <Compile Include="System.Configuration\SettingElement.cs" />\r
+    <Compile Include="System.Configuration\SettingElementCollection.cs" />\r
+    <Compile Include="System.Configuration\SettingsAttributeDictionary.cs" />\r
+    <Compile Include="System.Configuration\SettingsBase.cs" />\r
+    <Compile Include="System.Configuration\SettingsContext.cs" />\r
+    <Compile Include="System.Configuration\SettingsDescriptionAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsGroupDescriptionAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsGroupNameAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsLoadedEventArgs.cs" />\r
+    <Compile Include="System.Configuration\SettingsLoadedEventHandler.cs" />\r
+    <Compile Include="System.Configuration\SettingsManageability.cs" />\r
+    <Compile Include="System.Configuration\SettingsManageabilityAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsProperty.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyCollection.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyIsReadOnlyException.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyNotFoundException.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyValue.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyValueCollection.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyWrongTypeException.cs" />\r
+    <Compile Include="System.Configuration\SettingsProvider.cs" />\r
+    <Compile Include="System.Configuration\SettingsProviderAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsProviderCollection.cs" />\r
+    <Compile Include="System.Configuration\SettingsSavingEventHandler.cs" />\r
+    <Compile Include="System.Configuration\SettingsSerializeAs.cs" />\r
+    <Compile Include="System.Configuration\SettingsSerializeAsAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingValueElement.cs" />\r
+    <Compile Include="System.Configuration\SingleTagSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\SpecialSetting.cs" />\r
+    <Compile Include="System.Configuration\SpecialSettingAttribute.cs" />\r
+    <Compile Include="System.Configuration\UriSection.cs" />\r
+    <Compile Include="System.Configuration\UserScopedSettingAttribute.cs" />\r
+    <Compile Include="System.Configuration\UserSettingsGroup.cs" />\r
+    <Compile Include="System.Diagnostics.CodeAnalysis\ExcludeFromCodeCoverageAttribute.cs" />\r
+    <Compile Include="System.Diagnostics\AlphabeticalEnumConverter.cs" />\r
+    <Compile Include="System.Diagnostics\CounterCreationData.cs" />\r
+    <Compile Include="System.Diagnostics\CounterCreationDataCollection.cs" />\r
+    <Compile Include="System.Diagnostics\CounterSample.cs" />\r
+    <Compile Include="System.Diagnostics\CounterSampleCalculator.cs" />\r
+    <Compile Include="System.Diagnostics\DataReceivedEventArgs.cs" />\r
+    <Compile Include="System.Diagnostics\DataReceivedEventHandler.cs" />\r
+    <Compile Include="System.Diagnostics\DefaultTraceListener.cs" />\r
+    <Compile Include="System.Diagnostics\DiagnosticsConfigurationHandler.cs" />\r
+    <Compile Include="System.Diagnostics\EntryWrittenEventArgs.cs" />\r
+    <Compile Include="System.Diagnostics\EntryWrittenEventHandler.cs" />\r
+    <Compile Include="System.Diagnostics\EventInstance.cs" />\r
+    <Compile Include="System.Diagnostics\EventLog.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogEntry.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogEntryCollection.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogEntryType.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogImpl.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogInstaller.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermission.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermissionAccess.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermissionAttribute.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermissionEntry.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermissionEntryCollection.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogTraceListener.cs" />\r
+    <Compile Include="System.Diagnostics\EventSourceCreationData.cs" />\r
+    <Compile Include="System.Diagnostics\FileVersionInfo.cs" />\r
+    <Compile Include="System.Diagnostics\ICollectData.cs" />\r
+    <Compile Include="System.Diagnostics\InstanceData.cs" />\r
+    <Compile Include="System.Diagnostics\InstanceDataCollection.cs" />\r
+    <Compile Include="System.Diagnostics\InstanceDataCollectionCollection.cs" />\r
+    <Compile Include="System.Diagnostics\LocalFileEventLog.cs" />\r
+    <Compile Include="System.Diagnostics\MonitoringDescriptionAttribute.cs" />\r
+    <Compile Include="System.Diagnostics\NullEventLog.cs" />\r
+    <Compile Include="System.Diagnostics\OverflowAction.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounter.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterCategory.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterCategoryType.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterInstaller.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterInstanceLifetime.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterManager.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermission.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermissionAccess.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermissionAttribute.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermissionEntry.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermissionEntryCollection.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterType.cs" />\r
+    <Compile Include="System.Diagnostics\Process.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessModule.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessModuleCollection.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessPriorityClass.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessStartInfo.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessThread.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessThreadCollection.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessWindowStyle.cs" />\r
+    <Compile Include="System.Diagnostics\Stopwatch.cs" />\r
+    <Compile Include="System.Diagnostics\ThreadPriorityLevel.cs" />\r
+    <Compile Include="System.Diagnostics\ThreadState.cs" />\r
+    <Compile Include="System.Diagnostics\ThreadWaitReason.cs" />\r
+    <Compile Include="System.Diagnostics\TraceImpl.cs" />\r
+    <Compile Include="System.Diagnostics\TraceSourceInfo.cs" />\r
+    <Compile Include="System.Diagnostics\Win32EventLog.cs" />\r
+    <Compile Include="System.IO.Compression\CompressionLevel.cs" />\r
+    <Compile Include="System.IO.Compression\CompressionMode.cs" />\r
+    <Compile Include="System.IO.Compression\DeflateStream.cs" />\r
+    <Compile Include="System.IO.Compression\GZipStream.cs" />\r
+    <Compile Include="System.IO.Ports\Handshake.cs" />\r
+    <Compile Include="System.IO.Ports\ISerialStream.cs" />\r
+    <Compile Include="System.IO.Ports\Parity.cs" />\r
+    <Compile Include="System.IO.Ports\SerialData.cs" />\r
+    <Compile Include="System.IO.Ports\SerialError.cs" />\r
+    <Compile Include="System.IO.Ports\SerialErrorEventArgs.cs" />\r
+    <Compile Include="System.IO.Ports\SerialPinChange.cs" />\r
+    <Compile Include="System.IO.Ports\SerialPinChangedEventArgs.cs" />\r
+    <Compile Include="System.IO.Ports\SerialPort.cs" />\r
+    <Compile Include="System.IO.Ports\SerialPortStream.cs" />\r
+    <Compile Include="System.IO.Ports\SerialReceivedEventArgs.cs" />\r
+    <Compile Include="System.IO.Ports\SerialSignal.cs" />\r
+    <Compile Include="System.IO.Ports\StopBits.cs" />\r
+    <Compile Include="System.IO.Ports\WinSerialStream.cs" />\r
+    <Compile Include="System.IO\DefaultWatcher.cs" />\r
+    <Compile Include="System.IO\ErrorEventArgs.cs" />\r
+    <Compile Include="System.IO\ErrorEventHandler.cs" />\r
+    <Compile Include="System.IO\FAMWatcher.cs" />\r
+    <Compile Include="System.IO\FileAction.cs" />\r
+    <Compile Include="System.IO\FileSystemEventArgs.cs" />\r
+    <Compile Include="System.IO\FileSystemEventHandler.cs" />\r
+    <Compile Include="System.IO\FileSystemWatcher.cs" />\r
+    <Compile Include="System.IO\IFileWatcher.cs" />\r
+    <Compile Include="System.IO\InotifyWatcher.cs" />\r
+    <Compile Include="System.IO\InternalBufferOverflowException.cs" />\r
+    <Compile Include="System.IO\InvalidDataException.cs" />\r
+    <Compile Include="System.IO\IODescriptionAttribute.cs" />\r
+    <Compile Include="System.IO\KeventWatcher.cs" />\r
+    <Compile Include="System.IO\NotifyFilters.cs" />\r
+    <Compile Include="System.IO\NullFileWatcher.cs" />\r
+    <Compile Include="System.IO\RenamedEventArgs.cs" />\r
+    <Compile Include="System.IO\RenamedEventHandler.cs" />\r
+    <Compile Include="System.IO\SearchPattern.cs" />\r
+    <Compile Include="System.IO\WaitForChangedResult.cs" />\r
+    <Compile Include="System.IO\WatcherChangeTypes.cs" />\r
+    <Compile Include="System.IO\WindowsWatcher.cs" />\r
+    <Compile Include="System.Media\AudioData.cs" />\r
+    <Compile Include="System.Media\AudioDevice.cs" />\r
+    <Compile Include="System.Media\SoundPlayer.cs" />\r
+    <Compile Include="System.Media\SystemSound.cs" />\r
+    <Compile Include="System.Media\SystemSounds.cs" />\r
+    <Compile Include="System.Media\Win32SoundPlayer.cs" />\r
+    <Compile Include="System.Net.Cache\HttpCacheAgeControl.cs" />\r
+    <Compile Include="System.Net.Cache\HttpRequestCacheLevel.cs" />\r
+    <Compile Include="System.Net.Cache\HttpRequestCachePolicy.cs" />\r
+    <Compile Include="System.Net.Cache\RequestCacheLevel.cs" />\r
+    <Compile Include="System.Net.Cache\RequestCachePolicy.cs" />\r
+    <Compile Include="System.Net.Configuration\AuthenticationModuleElement.cs" />\r
+    <Compile Include="System.Net.Configuration\AuthenticationModuleElementCollection.cs" />\r
+    <Compile Include="System.Net.Configuration\AuthenticationModulesSection.cs" />\r
+    <Compile Include="System.Net.Configuration\BypassElement.cs" />\r
+    <Compile Include="System.Net.Configuration\BypassElementCollection.cs" />\r
+    <Compile Include="System.Net.Configuration\ConnectionManagementElement.cs" />\r
+    <Compile Include="System.Net.Configuration\ConnectionManagementElementCollection.cs" />\r
+    <Compile Include="System.Net.Configuration\ConnectionManagementHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\ConnectionManagementSection.cs" />\r
+    <Compile Include="System.Net.Configuration\DefaultProxyHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\DefaultProxySection.cs" />\r
+    <Compile Include="System.Net.Configuration\FtpCachePolicyElement.cs" />\r
+    <Compile Include="System.Net.Configuration\HttpCachePolicyElement.cs" />\r
+    <Compile Include="System.Net.Configuration\HttpWebRequestElement.cs" />\r
+    <Compile Include="System.Net.Configuration\Ipv6Element.cs" />\r
+    <Compile Include="System.Net.Configuration\MailSettingsSectionGroup.cs" />\r
+    <Compile Include="System.Net.Configuration\ModuleElement.cs" />\r
+    <Compile Include="System.Net.Configuration\NetAuthenticationModuleHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\NetConfigurationHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\NetSectionGroup.cs" />\r
+    <Compile Include="System.Net.Configuration\PerformanceCountersElement.cs" />\r
+    <Compile Include="System.Net.Configuration\ProxyElement.cs" />\r
+    <Compile Include="System.Net.Configuration\RequestCachingSection.cs" />\r
+    <Compile Include="System.Net.Configuration\ServicePointManagerElement.cs" />\r
+    <Compile Include="System.Net.Configuration\SettingsSection.cs" />\r
+    <Compile Include="System.Net.Configuration\SmtpNetworkElement.cs" />\r
+    <Compile Include="System.Net.Configuration\SmtpSection.cs" />\r
+    <Compile Include="System.Net.Configuration\SmtpSpecifiedPickupDirectoryElement.cs" />\r
+    <Compile Include="System.Net.Configuration\SocketElement.cs" />\r
+    <Compile Include="System.Net.Configuration\WebProxyScriptElement.cs" />\r
+    <Compile Include="System.Net.Configuration\WebRequestModuleElement.cs" />\r
+    <Compile Include="System.Net.Configuration\WebRequestModuleElementCollection.cs" />\r
+    <Compile Include="System.Net.Configuration\WebRequestModuleHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\WebRequestModulesSection.cs" />\r
+    <Compile Include="System.Net.Mail\AlternateView.cs" />\r
+    <Compile Include="System.Net.Mail\AlternateViewCollection.cs" />\r
+    <Compile Include="System.Net.Mail\Attachment.cs" />\r
+    <Compile Include="System.Net.Mail\AttachmentBase.cs" />\r
+    <Compile Include="System.Net.Mail\AttachmentCollection.cs" />\r
+    <Compile Include="System.Net.Mail\DeliveryNotificationOptions.cs" />\r
+    <Compile Include="System.Net.Mail\LinkedResource.cs" />\r
+    <Compile Include="System.Net.Mail\LinkedResourceCollection.cs" />\r
+    <Compile Include="System.Net.Mail\MailAddress.cs" />\r
+    <Compile Include="System.Net.Mail\MailAddressCollection.cs" />\r
+    <Compile Include="System.Net.Mail\MailMessage.cs" />\r
+    <Compile Include="System.Net.Mail\MailPriority.cs" />\r
+    <Compile Include="System.Net.Mail\SendCompletedEventHandler.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpAccess.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpClient.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpDeliveryFormat.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpDeliveryMethod.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpException.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpFailedRecipientException.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpFailedRecipientsException.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpPermission.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpPermissionAttribute.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpStatusCode.cs" />\r
+    <Compile Include="System.Net.Mime\ContentDisposition.cs" />\r
+    <Compile Include="System.Net.Mime\ContentType.cs" />\r
+    <Compile Include="System.Net.Mime\DispositionTypeNames.cs" />\r
+    <Compile Include="System.Net.Mime\MediaTypeNames.cs" />\r
+    <Compile Include="System.Net.Mime\TransferEncoding.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\DuplicateAddressDetectionState.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\GatewayIPAddressInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\GatewayIPAddressInformationCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IcmpV4Statistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IcmpV6Statistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPAddressCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPAddressInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPAddressInformationCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPGlobalProperties.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPGlobalStatistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPInterfaceProperties.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPStatus.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPv4InterfaceProperties.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPv4InterfaceStatistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPv6InterfaceProperties.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\LinuxNetworkInterfaceMarshal.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\MacOsNetworkInterfaceMarshal.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\MulticastIPAddressInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\MulticastIPAddressInformationCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetBiosNodeType.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkAddressChangedEventHandler.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkAvailabilityChangedEventHandler.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkAvailabilityEventArgs.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkChange.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInformationAccess.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInformationException.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInformationPermission.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInformationPermissionAttribute.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInterface.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInterfaceComponent.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInterfaceType.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\OperationalStatus.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PhysicalAddress.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\Ping.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingCompletedEventArgs.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingCompletedEventHandler.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingException.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingOptions.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingReply.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PrefixOrigin.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\SuffixOrigin.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\TcpConnectionInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\TcpState.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\TcpStatistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\UdpStatistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\UnicastIPAddressInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\UnicastIPAddressInformationCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\Win32NetworkInterfaceMarshal.cs" />\r
+    <Compile Include="System.Net.Security\AuthenticatedStream.cs" />\r
+    <Compile Include="System.Net.Security\AuthenticationLevel.cs" />\r
+    <Compile Include="System.Net.Security\EncryptionPolicy.cs" />\r
+    <Compile Include="System.Net.Security\LocalCertificateSelectionCallback.cs" />\r
+    <Compile Include="System.Net.Security\NegotiateStream.cs" />\r
+    <Compile Include="System.Net.Security\ProtectionLevel.cs" />\r
+    <Compile Include="System.Net.Security\RemoteCertificateValidationCallback.cs" />\r
+    <Compile Include="System.Net.Security\SslPolicyErrors.cs" />\r
+    <Compile Include="System.Net.Security\SslStream.cs" />\r
+    <Compile Include="System.Net.Sockets\AddressFamily.cs" />\r
+    <Compile Include="System.Net.Sockets\IOControlCode.cs" />\r
+    <Compile Include="System.Net.Sockets\IPPacketInformation.cs" />\r
+    <Compile Include="System.Net.Sockets\IPv6MulticastOption.cs" />\r
+    <Compile Include="System.Net.Sockets\LingerOption.cs" />\r
+    <Compile Include="System.Net.Sockets\MulticastOption.cs" />\r
+    <Compile Include="System.Net.Sockets\NetworkStream.cs" />\r
+    <Compile Include="System.Net.Sockets\ProtocolFamily.cs" />\r
+    <Compile Include="System.Net.Sockets\ProtocolType.cs" />\r
+    <Compile Include="System.Net.Sockets\SafeSocketHandle.cs" />\r
+    <Compile Include="System.Net.Sockets\SelectMode.cs" />\r
+    <Compile Include="System.Net.Sockets\SendPacketsElement.cs" />\r
+    <Compile Include="System.Net.Sockets\Socket.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketAsyncEventArgs.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketAsyncOperation.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketAsyncResult.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketError.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketException.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketFlags.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketInformation.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketInformationOptions.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketOperation.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketOptionLevel.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketShutdown.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketType.cs" />\r
+    <Compile Include="System.Net.Sockets\TcpClient.cs" />\r
+    <Compile Include="System.Net.Sockets\TcpListener.cs" />\r
+    <Compile Include="System.Net.Sockets\TransmitFileOptions.cs" />\r
+    <Compile Include="System.Net.Sockets\UdpClient.cs" />\r
+    <Compile Include="System.Net.Sockets\UdpReceiveResult.cs" />\r
+    <Compile Include="System.Net.WebSockets\ClientWebSocket.cs" />\r
+    <Compile Include="System.Net.WebSockets\ClientWebSocketOptions.cs" />\r
+    <Compile Include="System.Net.WebSockets\HttpListenerWebSocketContext.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocket.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketCloseStatus.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketContext.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketError.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketException.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketMessageType.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketReceiveResult.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketState.cs" />\r
+    <Compile Include="System.Net\AuthenticationManager.cs" />\r
+    <Compile Include="System.Net\AuthenticationSchemes.cs" />\r
+    <Compile Include="System.Net\AuthenticationSchemeSelector.cs" />\r
+    <Compile Include="System.Net\Authorization.cs" />\r
+    <Compile Include="System.Net\BasicClient.cs" />\r
+    <Compile Include="System.Net\BindIPEndPoint.cs" />\r
+    <Compile Include="System.Net\ChunkedInputStream.cs" />\r
+    <Compile Include="System.Net\ChunkStream.cs" />\r
+    <Compile Include="System.Net\ConnectionModes.cs" />\r
+    <Compile Include="System.Net\CredentialCache.cs" />\r
+    <Compile Include="System.Net\DecompressionMethods.cs" />\r
+    <Compile Include="System.Net\DefaultCertificatePolicy.cs" />\r
+    <Compile Include="System.Net\DigestClient.cs" />\r
+    <Compile Include="System.Net\Dns.cs" />\r
+    <Compile Include="System.Net\DnsAsyncResult.cs" />\r
+    <Compile Include="System.Net\DnsEndPoint.cs" />\r
+    <Compile Include="System.Net\DnsPermission.cs" />\r
+    <Compile Include="System.Net\DnsPermissionAttribute.cs" />\r
+    <Compile Include="System.Net\EndPoint.cs" />\r
+    <Compile Include="System.Net\EndPointListener.cs" />\r
+    <Compile Include="System.Net\EndPointManager.cs" />\r
+    <Compile Include="System.Net\EndpointPermission.cs" />\r
+    <Compile Include="System.Net\FileWebRequest.cs" />\r
+    <Compile Include="System.Net\FileWebRequestCreator.cs" />\r
+    <Compile Include="System.Net\FileWebResponse.cs" />\r
+    <Compile Include="System.Net\FtpAsyncResult.cs" />\r
+    <Compile Include="System.Net\FtpDataStream.cs" />\r
+    <Compile Include="System.Net\FtpRequestCreator.cs" />\r
+    <Compile Include="System.Net\FtpStatus.cs" />\r
+    <Compile Include="System.Net\FtpStatusCode.cs" />\r
+    <Compile Include="System.Net\FtpWebRequest.cs" />\r
+    <Compile Include="System.Net\FtpWebResponse.cs" />\r
+    <Compile Include="System.Net\GlobalProxySelection.cs" />\r
+    <Compile Include="System.Net\HttpConnection.cs" />\r
+    <Compile Include="System.Net\HttpListener.cs" />\r
+    <Compile Include="System.Net\HttpListenerBasicIdentity.cs" />\r
+    <Compile Include="System.Net\HttpListenerContext.cs" />\r
+    <Compile Include="System.Net\HttpListenerException.cs" />\r
+    <Compile Include="System.Net\HttpListenerPrefixCollection.cs" />\r
+    <Compile Include="System.Net\HttpListenerRequest.cs" />\r
+    <Compile Include="System.Net\HttpListenerResponse.cs" />\r
+    <Compile Include="System.Net\HttpListenerTimeoutManager.cs" />\r
+    <Compile Include="System.Net\HttpRequestCreator.cs" />\r
+    <Compile Include="System.Net\HttpRequestHeader.cs" />\r
+    <Compile Include="System.Net\HttpResponseHeader.cs" />\r
+    <Compile Include="System.Net\HttpStatusCode.cs" />\r
+    <Compile Include="System.Net\HttpStreamAsyncResult.cs" />\r
+    <Compile Include="System.Net\HttpVersion.cs" />\r
+    <Compile Include="System.Net\HttpWebRequest.cs" />\r
+    <Compile Include="System.Net\HttpWebResponse.cs" />\r
+    <Compile Include="System.Net\IAuthenticationModule.cs" />\r
+    <Compile Include="System.Net\ICertificatePolicy.cs" />\r
+    <Compile Include="System.Net\ICredentialLookup.cs" />\r
+    <Compile Include="System.Net\ICredentialPolicy.cs" />\r
+    <Compile Include="System.Net\ICredentialsByHost.cs" />\r
+    <Compile Include="System.Net\IPAddress.cs" />\r
+    <Compile Include="System.Net\IPEndPoint.cs" />\r
+    <Compile Include="System.Net\IPHostEntry.cs" />\r
+    <Compile Include="System.Net\IPv6Address.cs" />\r
+    <Compile Include="System.Net\IWebConnectionState.cs" />\r
+    <Compile Include="System.Net\IWebProxy.cs" />\r
+    <Compile Include="System.Net\IWebProxyScript.cs" />\r
+    <Compile Include="System.Net\IWebRequestCreate.cs" />\r
+    <Compile Include="System.Net\ListenerAsyncResult.cs" />\r
+    <Compile Include="System.Net\ListenerPrefix.cs" />\r
+    <Compile Include="System.Net\MacProxy.cs" />\r
+    <Compile Include="System.Net\MonoHttpDate.cs" />\r
+    <Compile Include="System.Net\NetConfig.cs" />\r
+    <Compile Include="System.Net\NetworkAccess.cs" />\r
+    <Compile Include="System.Net\NetworkCredential.cs" />\r
+    <Compile Include="System.Net\NtlmClient.cs" />\r
+    <Compile Include="System.Net\ProtocolViolationException.cs" />\r
+    <Compile Include="System.Net\RequestStream.cs" />\r
+    <Compile Include="System.Net\ResponseStream.cs" />\r
+    <Compile Include="System.Net\SecurityProtocolType.cs" />\r
+    <Compile Include="System.Net\ServicePoint.cs" />\r
+    <Compile Include="System.Net\ServicePointManager.cs" />\r
+    <Compile Include="System.Net\ServicePointManager.extra.cs" />\r
+    <Compile Include="System.Net\SimpleAsyncResult.cs" />\r
+    <Compile Include="System.Net\SocketAddress.cs" />\r
+    <Compile Include="System.Net\SocketPermission.cs" />\r
+    <Compile Include="System.Net\SocketPermissionAttribute.cs" />\r
+    <Compile Include="System.Net\TransportContext.cs" />\r
+    <Compile Include="System.Net\TransportType.cs" />\r
+    <Compile Include="System.Net\WebAsyncResult.cs" />\r
+    <Compile Include="System.Net\WebConnection.cs" />\r
+    <Compile Include="System.Net\WebConnectionData.cs" />\r
+    <Compile Include="System.Net\WebConnectionGroup.cs" />\r
+    <Compile Include="System.Net\WebConnectionStream.cs" />\r
+    <Compile Include="System.Net\WebException.cs" />\r
+    <Compile Include="System.Net\WebExceptionStatus.cs" />\r
+    <Compile Include="System.Net\WebHeaderCollection.cs" />\r
+    <Compile Include="System.Net\WebProxy.cs" />\r
+    <Compile Include="System.Net\WebRequest.cs" />\r
+    <Compile Include="System.Net\WebRequestMethods.cs" />\r
+    <Compile Include="System.Net\WebResponse.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\ADVF.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\DATADIR.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\DVASPECT.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\FORMATETC.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\IAdviseSink.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\IDataObject.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumFORMATETC.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumSTATDATA.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\STATDATA.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\STGMEDIUM.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\TYMED.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\DefaultParameterValueAttribute.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\HandleCollector.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\StandardOleMarshalObject.cs" />\r
+    <Compile Include="System.Security.AccessControl\SemaphoreAccessRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\SemaphoreAuditRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\SemaphoreRights.cs" />\r
+    <Compile Include="System.Security.AccessControl\SemaphoreSecurity.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ConfigUtil.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ExtendedProtectionPolicyElement.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ServiceNameElement.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ServiceNameElementCollection.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ChannelBinding.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ChannelBindingKind.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ExtendedProtectionPolicy.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ExtendedProtectionPolicyTypeConverter.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\PolicyEnforcement.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ProtectionScenario.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ServiceNameCollection.cs" />\r
+    <Compile Include="System.Security.Authentication\AuthenticationException.cs" />\r
+    <Compile Include="System.Security.Authentication\CipherAlgorithmType.cs" />\r
+    <Compile Include="System.Security.Authentication\ExchangeAlgorithmType.cs" />\r
+    <Compile Include="System.Security.Authentication\HashAlgorithmType.cs" />\r
+    <Compile Include="System.Security.Authentication\InvalidCredentialException.cs" />\r
+    <Compile Include="System.Security.Authentication\SslProtocols.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\OpenFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\OSX509Certificates.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\PublicKey.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\StoreLocation.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\StoreName.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X500DistinguishedName.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X500DistinguishedNameFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509BasicConstraintsExtension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2Collection.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2Enumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509CertificateCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Chain.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElement.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElementCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElementEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainPolicy.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainStatus.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainStatusFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509EnhancedKeyUsageExtension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Extension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ExtensionCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ExtensionEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509FindType.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509IncludeOption.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509KeyUsageExtension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509KeyUsageFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509NameType.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509RevocationFlag.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509RevocationMode.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Store.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509SubjectKeyIdentifierExtension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509SubjectKeyIdentifierHashAlgorithm.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509VerificationFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography\AsnEncodedData.cs" />\r
+    <Compile Include="System.Security.Cryptography\AsnEncodedDataCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography\AsnEncodedDataEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography\Oid.cs" />\r
+    <Compile Include="System.Security.Cryptography\OidCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography\OidEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography\OidGroup.cs" />\r
+    <Compile Include="System.Security.Permissions\PermissionHelper.cs" />\r
+    <Compile Include="System.Security.Permissions\ResourcePermissionBase.cs" />\r
+    <Compile Include="System.Security.Permissions\ResourcePermissionBaseEntry.cs" />\r
+    <Compile Include="System.Security.Permissions\StorePermission.cs" />\r
+    <Compile Include="System.Security.Permissions\StorePermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\StorePermissionFlags.cs" />\r
+    <Compile Include="System.Threading\Semaphore.cs" />\r
+    <Compile Include="System.Threading\ThreadExceptionEventArgs.cs" />\r
+    <Compile Include="System.Threading\ThreadExceptionEventHandler.cs" />\r
+    <Compile Include="System.Timers\ElapsedEventArgs.cs" />\r
+    <Compile Include="System.Web\AspNetHostingPermission.cs" />\r
+    <Compile Include="System.Web\AspNetHostingPermissionAttribute.cs" />\r
+    <Compile Include="System.Web\AspNetHostingPermissionLevel.cs" />\r
+    <Compile Include="System.Windows.Input\ICommand.cs" />\r
+    <Compile Include="System\DefaultUriParser.cs" />\r
+    <Compile Include="System\FileStyleUriParser.cs" />\r
+    <Compile Include="System\FtpStyleUriParser.cs" />\r
+    <Compile Include="System\GenericUriParser.cs" />\r
+    <Compile Include="System\GenericUriParserOptions.cs" />\r
+    <Compile Include="System\GopherStyleUriParser.cs" />\r
+    <Compile Include="System\HttpStyleUriParser.cs" />\r
+    <Compile Include="System\IUriData.cs" />\r
+    <Compile Include="System\LdapStyleUriParser.cs" />\r
+    <Compile Include="System\NetPipeStyleUriParser.cs" />\r
+    <Compile Include="System\NetTcpStyleUriParser.cs" />\r
+    <Compile Include="System\NewsStyleUriParser.cs" />\r
+    <Compile Include="System\Platform.cs" />\r
+    <Compile Include="System\SRDescriptionAttribute.cs" />\r
+    <Compile Include="System\Uri.cs" />\r
+    <Compile Include="System\UriBuilder.cs" />\r
+    <Compile Include="System\UriComponents.cs" />\r
+    <Compile Include="System\UriData.cs" />\r
+    <Compile Include="System\UriElements.cs" />\r
+    <Compile Include="System\UriFormat.cs" />\r
+    <Compile Include="System\UriFormatException.cs" />\r
+    <Compile Include="System\UriHelper.cs" />\r
+    <Compile Include="System\UriHostNameType.cs" />\r
+    <Compile Include="System\UriIdnScope.cs" />\r
+    <Compile Include="System\UriKind.cs" />\r
+    <Compile Include="System\UriParseComponents.cs" />\r
+    <Compile Include="System\UriParser.cs" />\r
+    <Compile Include="System\UriPartial.cs" />\r
+    <Compile Include="System\UriTypeConverter.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="System-secxml-net_4_x.csproj">\r
+      <Project>{19954F80-065E-4D46-8FEF-62BA4D6CFDAD}</Project>\r
+      <Name>System-secxml-net_4_x</Name>\r
+      <Aliases>PrebuiltSystem</Aliases>    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Security/Mono.Security-net_4_x.csproj">\r
+      <Project>{42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}</Project>\r
+      <Name>Mono.Security-net_4_x</Name>\r
+      <Aliases>MonoSecurity</Aliases>    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="resources/Asterisk.wav">\r
+      <LogicalName>Asterisk.wav</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/Beep.wav">\r
+      <LogicalName>Beep.wav</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/Exclamation.wav">\r
+      <LogicalName>Exclamation.wav</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/Hand.wav">\r
+      <LogicalName>Hand.wav</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/Question.wav">\r
+      <LogicalName>Question.wav</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
index c17518029fbb9eca45498ab8daa61e06206f8562..19980849576e46dd8f2f3fb62295baa0b44d0342 100644 (file)
     <Compile Include="System.Net.Sockets\SelectMode.cs" />\r
     <Compile Include="System.Net.Sockets\SendPacketsElement.cs" />\r
     <Compile Include="System.Net.Sockets\Socket.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketAsyncCallback.cs" />\r
     <Compile Include="System.Net.Sockets\SocketAsyncEventArgs.cs" />\r
     <Compile Include="System.Net.Sockets\SocketAsyncOperation.cs" />\r
     <Compile Include="System.Net.Sockets\SocketAsyncResult.cs" />\r
-    <Compile Include="System.Net.Sockets\SocketAsyncWorker.cs" />\r
     <Compile Include="System.Net.Sockets\SocketError.cs" />\r
     <Compile Include="System.Net.Sockets\SocketException.cs" />\r
     <Compile Include="System.Net.Sockets\SocketFlags.cs" />\r
diff --git a/mcs/class/System/System-secxml-net_4_x.csproj b/mcs/class/System/System-secxml-net_4_x.csproj
new file mode 100644 (file)
index 0000000..904ca65
--- /dev/null
@@ -0,0 +1,1221 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{19954F80-065E-4D46-8FEF-62BA4D6CFDAD}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x/secxml</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>System</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;SECURITY_DEP;XML_DEP</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699,618</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;SECURITY_DEP;XML_DEP</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeArgumentReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeArrayCreateExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeArrayIndexerExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAssignStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttachEventStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttributeArgument.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttributeArgumentCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttributeDeclaration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeAttributeDeclarationCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeBaseReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeBinaryOperatorExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeBinaryOperatorType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCastExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCatchClause.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCatchClauseCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeChecksumPragma.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeComment.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCommentStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCommentStatementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeCompileUnit.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeConditionStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeConstructor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDefaultValueExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDelegateCreateExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDelegateInvokeExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDirectionExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDirective.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeDirectiveCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeEntryPointMethod.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeEventReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeExpressionCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeExpressionStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeFieldReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeGotoStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeIndexerExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeIterationStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeLabeledStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeLinePragma.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMemberEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMemberField.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMemberMethod.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMemberProperty.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMethodInvokeExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\codemethodreferenceexpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeMethodReturnStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeNamespace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeNamespaceCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeNamespaceImport.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeNamespaceImportCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeObjectCreateExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeParameterDeclarationExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeParameterDeclarationExpressionCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodePrimitiveExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodePropertyReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodePropertySetValueReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeRegionDirective.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeRegionMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeRemoveEventStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeSnippetCompileUnit.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeSnippetExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeSnippetStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeSnippetTypeMember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeStatementCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeThisReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeThrowExceptionStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTryCatchFinallyStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeConstructor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeDeclaration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeDeclarationCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeDelegate.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeMember.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeMemberCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeOfExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeParameter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeParameterCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeReference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeReferenceCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeTypeReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeVariableDeclarationStatement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\CodeVariableReferenceExpression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CodeGeneratorOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CodeValidator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CompilerError.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CompilerErrorCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\CompilerParameters.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\GeneratedCodeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\GeneratorSupport.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\ICodeCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\ICodeGenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\ICodeParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\IndentTextWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\compiler\LanguageOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\FieldDirection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\codedom\MemberAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\bithelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\debugview.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\iset.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\linkedlist.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\queue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\sorteddictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\sortedlist.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\sortedset.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\sortedsetdebugview.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\stack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\generic\throwhelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\objectmodel\observablecollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\objectmodel\readonlyobservablecollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\bitvector32.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\casesensitivestringdictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\collectionsutil.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\fixedstringlookup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\hybriddictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\inotifycollectionchanged.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\iordereddictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\listdictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\nameobjectcollectionbase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\namevaluecollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\notifycollectionchangedeventargs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\ordereddictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\stringcollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\stringdictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\collections\specialized\stringdictionarywithcomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AddingNewEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AddingNewEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AmbientValueAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ArrayConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ArraySubsetEnumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AsyncCompletedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AsyncCompletedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AsyncOperation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AsyncOperationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AttributeCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\AttributeProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BackgroundWorker.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BaseComponentEditor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\basenumberconverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BindableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BindableSupport.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BindingDirection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BindingList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BooleanConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\BrowsableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ByteConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CancelEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CancelEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CategoryAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CharConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CollectionChangeAction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CollectionChangeEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CollectionChangeEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CollectionConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ComplexBindingPropertiesAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CompModSwitches.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Component.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ComponentCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ComponentConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ComponentResourceManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Container.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ContainerFilterService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CultureInfoConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\CustomTypeDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataErrorsChangedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataObjectAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataObjectFieldAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataObjectMethodAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DataObjectMethodType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DateTimeConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DateTimeOffsetConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DebugExtendedPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DebugReflectEventDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DebugReflectPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DebugTypeDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DecimalConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DefaultBindingPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DefaultEventAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DefaultPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DefaultValueAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DelegatingTypeDescriptionProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DescriptionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ActiveDocumentEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ActiveDocumentEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\CheckoutException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\CommandID.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentChangedEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentChangedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentChangingEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentChangingEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentRenameEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ComponentRenameEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerOptionService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerTransaction.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerTransactionCloseEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerTransactionCloseEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerVerb.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesignerVerbCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesigntimeLicenseContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DesigntimeLicenseContextSerializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DocumentCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DocumentEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\DocumentEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\HelpContextType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\HelpKeywordAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\HelpKeywordType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IComponentChangeService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IComponentDiscoveryService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IComponentInitializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesigner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerEventService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerHost.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerHostTransactionState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDesignerOptionService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IDictionaryService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IEventPropertyService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IExtenderListService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IExtenderProviderService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IHelpService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IInheritanceService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IMenuCommandService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\InheritanceAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\InheritanceLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IReferenceService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IResourceService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IRootDesigner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ISelectionService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\IServiceObjectContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ITreeDesigner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ITypeDescriptorFilterService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ITypeDiscoveryService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ITypeResolutionService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\MenuCommand.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\NotifyParentPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ParenthesizePropertyNameAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\PropertyTabAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\PropertyTabScope.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\RefreshProperties.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\RefreshPropertiesAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\SelectionTypes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\ComponentSerializationService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\ContextStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\DefaultSerializationProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\DesignerLoader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\DesignerSerializerAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerLoaderHost.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerLoaderService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerSerializationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerSerializationProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\IDesignerSerializationService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\INameCreationService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\InstanceDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\MemberRelationshipService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\ResolveNameEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\ResolveNameEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\RootDesignerSerializerAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\serialization\SerializationStore.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ServiceCreatorCallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ServiceObjectContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\StandardCommands.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\StandardToolWindows.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ToolboxItemAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\design\ViewTechnology.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignerAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignerCategoryAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignerSerializationVisibility.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignerSerializationVisibilityAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignOnlyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DesignTimeVisibleAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DisplayNameAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DoubleConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DoWorkEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\DoWorkEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EditorAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EditorBrowsableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EnumConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EventDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EventDescriptorCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\EventHandlerList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ExpandableObjectConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ExtendedPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ExtenderProvidedPropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\FxCopSuppression.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\GuidConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\HandledEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\HandledEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IBindingList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IBindingListView.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ICancelAddNew.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IChangeTracking.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IComNativeDescriptorHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IComponent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ICustomTypeDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IDataErrorInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IEditableObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IExtenderProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IIntellisenseBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IListSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ImmutableObjectAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INestedContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INestedSite.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InitializationEventAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INotifyDataErrorInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INotifyPropertyChanged.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\INotifyPropertyChanging.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InstallerTypeAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InstanceCreationEditor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Int16Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Int32Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Int64Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IntSecurity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InvalidAsynchronousStateException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\InvalidEnumArgumentException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IRaiseItemChangedEvents.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\IRevertibleChangeTracking.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ISite.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ISupportInitialize.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ISupportInitializeNotification.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ISynchronizeInvoke.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ITypeDescriptorContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ITypedList.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\License.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseContext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicenseUsageMode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LicFileLicenseProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListBindableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListChangedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListChangedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListChangedType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListSortDescription.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListSortDescriptionCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ListSortDirection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LocalizableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\LookupBindingPropertiesAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MarshalByValueComponent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MaskedTextProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MaskedTextResultHint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MemberDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MergablePropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\MultilineStringConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\NestedContainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\NullableConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PasswordPropertyTextAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ProgressChangedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ProgressChangedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyChangedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyChangedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyChangingEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyChangingEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\PropertyDescriptorCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ProvidePropertyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReadOnlyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RecommendedAsConfigurableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReferenceConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReflectEventDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReflectPropertyDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ReflectTypeDescriptionProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RefreshEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RefreshEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RunInstallerAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RunWorkerCompletedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\RunWorkerCompletedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\SByteConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\SettingsBindableAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\SingleConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\StringConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\SyntaxCheck.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TimeSpanConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ToolboxItemFilterAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\ToolboxItemFilterType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeConverterAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeDescriptionProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeDescriptionProviderAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeDescriptionProviderService.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeDescriptor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\TypeListConverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\UInt16Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\UInt32Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\UInt64Converter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\WarningException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\componentmodel\Win32Exception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\AssertSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\BooleanSwitch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\ConsoleTraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\CorrelationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\Debug.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\DelimitedListTraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\DiagnosticsConfiguration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\FilterElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\ListenerElementsCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\PerfCounterSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SeverityFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SourceElementsCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SourceFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SourceLevels.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SourceSwitch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\Switch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SwitchAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SwitchElementsCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SwitchLevelAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\SystemDiagnosticsSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TextWriterTraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\Trace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceEventCache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceEventType.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceFilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceInternal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceListeners.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceSection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TraceSwitch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\traceutils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\TypedElement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\compmod\system\diagnostics\XmlWriterTraceListener.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\hresults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\invariantcomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\PrivilegedConfigurationManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\SecurityUtils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\misc\WeakHashtable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\_BufferOffsetSize.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\_LazyAsyncResult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\_LoggingObject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\_ScatterGatherBuffers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\cookie.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\cookiecollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\cookiecontainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\cookieexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\HttpListenerRequestUriBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\Internal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\NetworkInformation\IPInterfaceStatistics.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\NetworkInformation\ScopeLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\NetworkInformation\UnicastIPAddressInformation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\Sockets\IPProtectionLevel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\Sockets\SocketOptionName.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\UnicodeDecodingConformance.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\UnicodeEncodingConformance.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\webclient.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\WebPermission.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\WebUtility.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\net\System\Net\WriteStreamClosedEventArgs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\compiledregexrunner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\compiledregexrunnerfactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\Regex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexBoyerMoore.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCapture.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCaptureCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCharClass.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCompilationInfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexCompiler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexFCD.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexGroup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexGroupCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexInterpreter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatch.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatchCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexMatchTimeoutException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexNode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexOptions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexParser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexReplacement.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexRunner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexRunnerFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexTree.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\regex\system\text\regularexpressions\RegexWriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\security\system\security\permissions\typedescriptorpermission.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\services\timers\system\timers\ElapsedEventHandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\services\timers\system\timers\Timer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\services\timers\system\timers\TimersDescriptionAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\collections\concurrent\BlockingCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\collections\concurrent\ConcurrentBag.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\runtime\versioning\FrameworkName.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\threading\Barrier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\System\sys\system\windows\markup\ValueSerializerAttribute.cs" />\r
+    <Compile Include="..\..\build\common\SR.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Microsoft.CSharp\CSharpCodeCompiler.cs" />\r
+    <Compile Include="Microsoft.CSharp\CSharpCodeGenerator.cs" />\r
+    <Compile Include="Microsoft.CSharp\CSharpCodeProvider.cs" />\r
+    <Compile Include="Microsoft.VisualBasic\VBCodeCompiler.cs" />\r
+    <Compile Include="Microsoft.VisualBasic\VBCodeGenerator.cs" />\r
+    <Compile Include="Microsoft.VisualBasic\VBCodeProvider.cs" />\r
+    <Compile Include="Microsoft.Win32\IntranetZoneCredentialPolicy.cs" />\r
+    <Compile Include="Microsoft.Win32\PowerModeChangedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\PowerModeChangedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\PowerModes.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndingEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndingEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionEndReasons.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionSwitchEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionSwitchEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\SessionSwitchReason.cs" />\r
+    <Compile Include="Microsoft.Win32\SystemEvents.cs" />\r
+    <Compile Include="Microsoft.Win32\TimerElapsedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\TimerElapsedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceCategory.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceChangedEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceChangedEventHandler.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceChangingEventArgs.cs" />\r
+    <Compile Include="Microsoft.Win32\UserPreferenceChangingEventHandler.cs" />\r
+    <Compile Include="Mono.Http\NtlmClient.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsClass.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsHeader.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsOpCode.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsPacket.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsQClass.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsQType.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsQuery.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsQuestion.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsRCode.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecord.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordA.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordAAAA.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordCName.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordIPAddress.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResourceRecordPTR.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsResponse.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsType.cs" />\r
+    <Compile Include="Mono.Net.Dns\DnsUtil.cs" />\r
+    <Compile Include="Mono.Net.Dns\ResolverAsyncOperation.cs" />\r
+    <Compile Include="Mono.Net.Dns\ResolverError.cs" />\r
+    <Compile Include="Mono.Net.Dns\SimpleResolver.cs" />\r
+    <Compile Include="Mono.Net.Dns\SimpleResolverEventArgs.cs" />\r
+    <Compile Include="ReferenceSources\AssertWrapper.cs" />\r
+    <Compile Include="ReferenceSources\BinaryCompatibility.cs" />\r
+    <Compile Include="ReferenceSources\ConfigurationManagerInternalFactory.cs" />\r
+    <Compile Include="ReferenceSources\HttpSysSettings.cs" />\r
+    <Compile Include="ReferenceSources\Logging.cs" />\r
+    <Compile Include="ReferenceSources\NativeMethods.cs" />\r
+    <Compile Include="ReferenceSources\SettingsSectionInternal.cs" />\r
+    <Compile Include="ReferenceSources\Socket.cs" />\r
+    <Compile Include="ReferenceSources\SR.cs" />\r
+    <Compile Include="ReferenceSources\SRCategoryAttribute.cs" />\r
+    <Compile Include="ReferenceSources\SystemNetworkCredential.cs" />\r
+    <Compile Include="ReferenceSources\WebHeaderCollectionType.cs" />\r
+    <Compile Include="ReferenceSources\Win32Exception.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CodeCompiler.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CodeDomConfigurationHandler.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CodeDomProvider.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CodeParser.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\Compiler.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerCollection.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerInfo.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerProviderOption.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerProviderOptionsCollection.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\CompilerResults.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\Executor.cs" />\r
+    <Compile Include="System.CodeDom.Compiler\TempFileCollection.cs" />\r
+    <Compile Include="System.Configuration\ApplicationScopedSettingAttribute.cs" />\r
+    <Compile Include="System.Configuration\ApplicationSettingsBase.cs" />\r
+    <Compile Include="System.Configuration\ApplicationSettingsGroup.cs" />\r
+    <Compile Include="System.Configuration\AppSettingsReader.cs" />\r
+    <Compile Include="System.Configuration\ClientSettingsSection.cs" />\r
+    <Compile Include="System.Configuration\ConfigHelper.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationException.cs" />\r
+    <Compile Include="System.Configuration\ConfigurationSettings.cs" />\r
+    <Compile Include="System.Configuration\ConfigXmlDocument.cs" />\r
+    <Compile Include="System.Configuration\CustomizableFileSettingsProvider.cs" />\r
+    <Compile Include="System.Configuration\DefaultSettingValueAttribute.cs" />\r
+    <Compile Include="System.Configuration\DictionarySectionHandler.cs" />\r
+    <Compile Include="System.Configuration\IApplicationSettingsProvider.cs" />\r
+    <Compile Include="System.Configuration\IConfigurationSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\IConfigurationSystem.cs" />\r
+    <Compile Include="System.Configuration\IConfigXmlNode.cs" />\r
+    <Compile Include="System.Configuration\IdnElement.cs" />\r
+    <Compile Include="System.Configuration\IgnoreSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\IPersistComponentSettings.cs" />\r
+    <Compile Include="System.Configuration\IriParsingElement.cs" />\r
+    <Compile Include="System.Configuration\ISettingsProviderService.cs" />\r
+    <Compile Include="System.Configuration\LocalFileSettingsProvider.cs" />\r
+    <Compile Include="System.Configuration\NameValueFileSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\NameValueSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\NoSettingsVersionUpgradeAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingChangingEventArgs.cs" />\r
+    <Compile Include="System.Configuration\SettingChangingEventHandler.cs" />\r
+    <Compile Include="System.Configuration\SettingElement.cs" />\r
+    <Compile Include="System.Configuration\SettingElementCollection.cs" />\r
+    <Compile Include="System.Configuration\SettingsAttributeDictionary.cs" />\r
+    <Compile Include="System.Configuration\SettingsBase.cs" />\r
+    <Compile Include="System.Configuration\SettingsContext.cs" />\r
+    <Compile Include="System.Configuration\SettingsDescriptionAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsGroupDescriptionAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsGroupNameAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsLoadedEventArgs.cs" />\r
+    <Compile Include="System.Configuration\SettingsLoadedEventHandler.cs" />\r
+    <Compile Include="System.Configuration\SettingsManageability.cs" />\r
+    <Compile Include="System.Configuration\SettingsManageabilityAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsProperty.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyCollection.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyIsReadOnlyException.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyNotFoundException.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyValue.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyValueCollection.cs" />\r
+    <Compile Include="System.Configuration\SettingsPropertyWrongTypeException.cs" />\r
+    <Compile Include="System.Configuration\SettingsProvider.cs" />\r
+    <Compile Include="System.Configuration\SettingsProviderAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingsProviderCollection.cs" />\r
+    <Compile Include="System.Configuration\SettingsSavingEventHandler.cs" />\r
+    <Compile Include="System.Configuration\SettingsSerializeAs.cs" />\r
+    <Compile Include="System.Configuration\SettingsSerializeAsAttribute.cs" />\r
+    <Compile Include="System.Configuration\SettingValueElement.cs" />\r
+    <Compile Include="System.Configuration\SingleTagSectionHandler.cs" />\r
+    <Compile Include="System.Configuration\SpecialSetting.cs" />\r
+    <Compile Include="System.Configuration\SpecialSettingAttribute.cs" />\r
+    <Compile Include="System.Configuration\UriSection.cs" />\r
+    <Compile Include="System.Configuration\UserScopedSettingAttribute.cs" />\r
+    <Compile Include="System.Configuration\UserSettingsGroup.cs" />\r
+    <Compile Include="System.Diagnostics.CodeAnalysis\ExcludeFromCodeCoverageAttribute.cs" />\r
+    <Compile Include="System.Diagnostics\AlphabeticalEnumConverter.cs" />\r
+    <Compile Include="System.Diagnostics\CounterCreationData.cs" />\r
+    <Compile Include="System.Diagnostics\CounterCreationDataCollection.cs" />\r
+    <Compile Include="System.Diagnostics\CounterSample.cs" />\r
+    <Compile Include="System.Diagnostics\CounterSampleCalculator.cs" />\r
+    <Compile Include="System.Diagnostics\DataReceivedEventArgs.cs" />\r
+    <Compile Include="System.Diagnostics\DataReceivedEventHandler.cs" />\r
+    <Compile Include="System.Diagnostics\DefaultTraceListener.cs" />\r
+    <Compile Include="System.Diagnostics\DiagnosticsConfigurationHandler.cs" />\r
+    <Compile Include="System.Diagnostics\EntryWrittenEventArgs.cs" />\r
+    <Compile Include="System.Diagnostics\EntryWrittenEventHandler.cs" />\r
+    <Compile Include="System.Diagnostics\EventInstance.cs" />\r
+    <Compile Include="System.Diagnostics\EventLog.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogEntry.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogEntryCollection.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogEntryType.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogImpl.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogInstaller.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermission.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermissionAccess.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermissionAttribute.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermissionEntry.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogPermissionEntryCollection.cs" />\r
+    <Compile Include="System.Diagnostics\EventLogTraceListener.cs" />\r
+    <Compile Include="System.Diagnostics\EventSourceCreationData.cs" />\r
+    <Compile Include="System.Diagnostics\FileVersionInfo.cs" />\r
+    <Compile Include="System.Diagnostics\ICollectData.cs" />\r
+    <Compile Include="System.Diagnostics\InstanceData.cs" />\r
+    <Compile Include="System.Diagnostics\InstanceDataCollection.cs" />\r
+    <Compile Include="System.Diagnostics\InstanceDataCollectionCollection.cs" />\r
+    <Compile Include="System.Diagnostics\LocalFileEventLog.cs" />\r
+    <Compile Include="System.Diagnostics\MonitoringDescriptionAttribute.cs" />\r
+    <Compile Include="System.Diagnostics\NullEventLog.cs" />\r
+    <Compile Include="System.Diagnostics\OverflowAction.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounter.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterCategory.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterCategoryType.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterInstaller.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterInstanceLifetime.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterManager.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermission.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermissionAccess.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermissionAttribute.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermissionEntry.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterPermissionEntryCollection.cs" />\r
+    <Compile Include="System.Diagnostics\PerformanceCounterType.cs" />\r
+    <Compile Include="System.Diagnostics\Process.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessModule.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessModuleCollection.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessPriorityClass.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessStartInfo.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessThread.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessThreadCollection.cs" />\r
+    <Compile Include="System.Diagnostics\ProcessWindowStyle.cs" />\r
+    <Compile Include="System.Diagnostics\Stopwatch.cs" />\r
+    <Compile Include="System.Diagnostics\ThreadPriorityLevel.cs" />\r
+    <Compile Include="System.Diagnostics\ThreadState.cs" />\r
+    <Compile Include="System.Diagnostics\ThreadWaitReason.cs" />\r
+    <Compile Include="System.Diagnostics\TraceImpl.cs" />\r
+    <Compile Include="System.Diagnostics\TraceSourceInfo.cs" />\r
+    <Compile Include="System.Diagnostics\Win32EventLog.cs" />\r
+    <Compile Include="System.IO.Compression\CompressionLevel.cs" />\r
+    <Compile Include="System.IO.Compression\CompressionMode.cs" />\r
+    <Compile Include="System.IO.Compression\DeflateStream.cs" />\r
+    <Compile Include="System.IO.Compression\GZipStream.cs" />\r
+    <Compile Include="System.IO.Ports\Handshake.cs" />\r
+    <Compile Include="System.IO.Ports\ISerialStream.cs" />\r
+    <Compile Include="System.IO.Ports\Parity.cs" />\r
+    <Compile Include="System.IO.Ports\SerialData.cs" />\r
+    <Compile Include="System.IO.Ports\SerialError.cs" />\r
+    <Compile Include="System.IO.Ports\SerialErrorEventArgs.cs" />\r
+    <Compile Include="System.IO.Ports\SerialPinChange.cs" />\r
+    <Compile Include="System.IO.Ports\SerialPinChangedEventArgs.cs" />\r
+    <Compile Include="System.IO.Ports\SerialPort.cs" />\r
+    <Compile Include="System.IO.Ports\SerialPortStream.cs" />\r
+    <Compile Include="System.IO.Ports\SerialReceivedEventArgs.cs" />\r
+    <Compile Include="System.IO.Ports\SerialSignal.cs" />\r
+    <Compile Include="System.IO.Ports\StopBits.cs" />\r
+    <Compile Include="System.IO.Ports\WinSerialStream.cs" />\r
+    <Compile Include="System.IO\DefaultWatcher.cs" />\r
+    <Compile Include="System.IO\ErrorEventArgs.cs" />\r
+    <Compile Include="System.IO\ErrorEventHandler.cs" />\r
+    <Compile Include="System.IO\FAMWatcher.cs" />\r
+    <Compile Include="System.IO\FileAction.cs" />\r
+    <Compile Include="System.IO\FileSystemEventArgs.cs" />\r
+    <Compile Include="System.IO\FileSystemEventHandler.cs" />\r
+    <Compile Include="System.IO\FileSystemWatcher.cs" />\r
+    <Compile Include="System.IO\IFileWatcher.cs" />\r
+    <Compile Include="System.IO\InotifyWatcher.cs" />\r
+    <Compile Include="System.IO\InternalBufferOverflowException.cs" />\r
+    <Compile Include="System.IO\InvalidDataException.cs" />\r
+    <Compile Include="System.IO\IODescriptionAttribute.cs" />\r
+    <Compile Include="System.IO\KeventWatcher.cs" />\r
+    <Compile Include="System.IO\NotifyFilters.cs" />\r
+    <Compile Include="System.IO\NullFileWatcher.cs" />\r
+    <Compile Include="System.IO\RenamedEventArgs.cs" />\r
+    <Compile Include="System.IO\RenamedEventHandler.cs" />\r
+    <Compile Include="System.IO\SearchPattern.cs" />\r
+    <Compile Include="System.IO\WaitForChangedResult.cs" />\r
+    <Compile Include="System.IO\WatcherChangeTypes.cs" />\r
+    <Compile Include="System.IO\WindowsWatcher.cs" />\r
+    <Compile Include="System.Media\AudioData.cs" />\r
+    <Compile Include="System.Media\AudioDevice.cs" />\r
+    <Compile Include="System.Media\SoundPlayer.cs" />\r
+    <Compile Include="System.Media\SystemSound.cs" />\r
+    <Compile Include="System.Media\SystemSounds.cs" />\r
+    <Compile Include="System.Media\Win32SoundPlayer.cs" />\r
+    <Compile Include="System.Net.Cache\HttpCacheAgeControl.cs" />\r
+    <Compile Include="System.Net.Cache\HttpRequestCacheLevel.cs" />\r
+    <Compile Include="System.Net.Cache\HttpRequestCachePolicy.cs" />\r
+    <Compile Include="System.Net.Cache\RequestCacheLevel.cs" />\r
+    <Compile Include="System.Net.Cache\RequestCachePolicy.cs" />\r
+    <Compile Include="System.Net.Configuration\AuthenticationModuleElement.cs" />\r
+    <Compile Include="System.Net.Configuration\AuthenticationModuleElementCollection.cs" />\r
+    <Compile Include="System.Net.Configuration\AuthenticationModulesSection.cs" />\r
+    <Compile Include="System.Net.Configuration\BypassElement.cs" />\r
+    <Compile Include="System.Net.Configuration\BypassElementCollection.cs" />\r
+    <Compile Include="System.Net.Configuration\ConnectionManagementElement.cs" />\r
+    <Compile Include="System.Net.Configuration\ConnectionManagementElementCollection.cs" />\r
+    <Compile Include="System.Net.Configuration\ConnectionManagementHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\ConnectionManagementSection.cs" />\r
+    <Compile Include="System.Net.Configuration\DefaultProxyHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\DefaultProxySection.cs" />\r
+    <Compile Include="System.Net.Configuration\FtpCachePolicyElement.cs" />\r
+    <Compile Include="System.Net.Configuration\HttpCachePolicyElement.cs" />\r
+    <Compile Include="System.Net.Configuration\HttpWebRequestElement.cs" />\r
+    <Compile Include="System.Net.Configuration\Ipv6Element.cs" />\r
+    <Compile Include="System.Net.Configuration\MailSettingsSectionGroup.cs" />\r
+    <Compile Include="System.Net.Configuration\ModuleElement.cs" />\r
+    <Compile Include="System.Net.Configuration\NetAuthenticationModuleHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\NetConfigurationHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\NetSectionGroup.cs" />\r
+    <Compile Include="System.Net.Configuration\PerformanceCountersElement.cs" />\r
+    <Compile Include="System.Net.Configuration\ProxyElement.cs" />\r
+    <Compile Include="System.Net.Configuration\RequestCachingSection.cs" />\r
+    <Compile Include="System.Net.Configuration\ServicePointManagerElement.cs" />\r
+    <Compile Include="System.Net.Configuration\SettingsSection.cs" />\r
+    <Compile Include="System.Net.Configuration\SmtpNetworkElement.cs" />\r
+    <Compile Include="System.Net.Configuration\SmtpSection.cs" />\r
+    <Compile Include="System.Net.Configuration\SmtpSpecifiedPickupDirectoryElement.cs" />\r
+    <Compile Include="System.Net.Configuration\SocketElement.cs" />\r
+    <Compile Include="System.Net.Configuration\WebProxyScriptElement.cs" />\r
+    <Compile Include="System.Net.Configuration\WebRequestModuleElement.cs" />\r
+    <Compile Include="System.Net.Configuration\WebRequestModuleElementCollection.cs" />\r
+    <Compile Include="System.Net.Configuration\WebRequestModuleHandler.cs" />\r
+    <Compile Include="System.Net.Configuration\WebRequestModulesSection.cs" />\r
+    <Compile Include="System.Net.Mail\AlternateView.cs" />\r
+    <Compile Include="System.Net.Mail\AlternateViewCollection.cs" />\r
+    <Compile Include="System.Net.Mail\Attachment.cs" />\r
+    <Compile Include="System.Net.Mail\AttachmentBase.cs" />\r
+    <Compile Include="System.Net.Mail\AttachmentCollection.cs" />\r
+    <Compile Include="System.Net.Mail\DeliveryNotificationOptions.cs" />\r
+    <Compile Include="System.Net.Mail\LinkedResource.cs" />\r
+    <Compile Include="System.Net.Mail\LinkedResourceCollection.cs" />\r
+    <Compile Include="System.Net.Mail\MailAddress.cs" />\r
+    <Compile Include="System.Net.Mail\MailAddressCollection.cs" />\r
+    <Compile Include="System.Net.Mail\MailMessage.cs" />\r
+    <Compile Include="System.Net.Mail\MailPriority.cs" />\r
+    <Compile Include="System.Net.Mail\SendCompletedEventHandler.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpAccess.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpClient.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpDeliveryFormat.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpDeliveryMethod.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpException.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpFailedRecipientException.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpFailedRecipientsException.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpPermission.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpPermissionAttribute.cs" />\r
+    <Compile Include="System.Net.Mail\SmtpStatusCode.cs" />\r
+    <Compile Include="System.Net.Mime\ContentDisposition.cs" />\r
+    <Compile Include="System.Net.Mime\ContentType.cs" />\r
+    <Compile Include="System.Net.Mime\DispositionTypeNames.cs" />\r
+    <Compile Include="System.Net.Mime\MediaTypeNames.cs" />\r
+    <Compile Include="System.Net.Mime\TransferEncoding.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\DuplicateAddressDetectionState.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\GatewayIPAddressInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\GatewayIPAddressInformationCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IcmpV4Statistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IcmpV6Statistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPAddressCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPAddressInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPAddressInformationCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPGlobalProperties.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPGlobalStatistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPInterfaceProperties.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPStatus.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPv4InterfaceProperties.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPv4InterfaceStatistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\IPv6InterfaceProperties.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\LinuxNetworkInterfaceMarshal.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\MacOsNetworkInterfaceMarshal.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\MulticastIPAddressInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\MulticastIPAddressInformationCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetBiosNodeType.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkAddressChangedEventHandler.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkAvailabilityChangedEventHandler.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkAvailabilityEventArgs.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkChange.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInformationAccess.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInformationException.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInformationPermission.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInformationPermissionAttribute.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInterface.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInterfaceComponent.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\NetworkInterfaceType.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\OperationalStatus.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PhysicalAddress.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\Ping.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingCompletedEventArgs.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingCompletedEventHandler.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingException.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingOptions.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PingReply.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\PrefixOrigin.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\SuffixOrigin.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\TcpConnectionInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\TcpState.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\TcpStatistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\UdpStatistics.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\UnicastIPAddressInformation.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\UnicastIPAddressInformationCollection.cs" />\r
+    <Compile Include="System.Net.NetworkInformation\Win32NetworkInterfaceMarshal.cs" />\r
+    <Compile Include="System.Net.Security\AuthenticatedStream.cs" />\r
+    <Compile Include="System.Net.Security\AuthenticationLevel.cs" />\r
+    <Compile Include="System.Net.Security\EncryptionPolicy.cs" />\r
+    <Compile Include="System.Net.Security\LocalCertificateSelectionCallback.cs" />\r
+    <Compile Include="System.Net.Security\NegotiateStream.cs" />\r
+    <Compile Include="System.Net.Security\ProtectionLevel.cs" />\r
+    <Compile Include="System.Net.Security\RemoteCertificateValidationCallback.cs" />\r
+    <Compile Include="System.Net.Security\SslPolicyErrors.cs" />\r
+    <Compile Include="System.Net.Security\SslStream.cs" />\r
+    <Compile Include="System.Net.Sockets\AddressFamily.cs" />\r
+    <Compile Include="System.Net.Sockets\IOControlCode.cs" />\r
+    <Compile Include="System.Net.Sockets\IPPacketInformation.cs" />\r
+    <Compile Include="System.Net.Sockets\IPv6MulticastOption.cs" />\r
+    <Compile Include="System.Net.Sockets\LingerOption.cs" />\r
+    <Compile Include="System.Net.Sockets\MulticastOption.cs" />\r
+    <Compile Include="System.Net.Sockets\NetworkStream.cs" />\r
+    <Compile Include="System.Net.Sockets\ProtocolFamily.cs" />\r
+    <Compile Include="System.Net.Sockets\ProtocolType.cs" />\r
+    <Compile Include="System.Net.Sockets\SafeSocketHandle.cs" />\r
+    <Compile Include="System.Net.Sockets\SelectMode.cs" />\r
+    <Compile Include="System.Net.Sockets\SendPacketsElement.cs" />\r
+    <Compile Include="System.Net.Sockets\Socket.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketAsyncEventArgs.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketAsyncOperation.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketAsyncResult.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketError.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketException.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketFlags.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketInformation.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketInformationOptions.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketOperation.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketOptionLevel.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketShutdown.cs" />\r
+    <Compile Include="System.Net.Sockets\SocketType.cs" />\r
+    <Compile Include="System.Net.Sockets\TcpClient.cs" />\r
+    <Compile Include="System.Net.Sockets\TcpListener.cs" />\r
+    <Compile Include="System.Net.Sockets\TransmitFileOptions.cs" />\r
+    <Compile Include="System.Net.Sockets\UdpClient.cs" />\r
+    <Compile Include="System.Net.Sockets\UdpReceiveResult.cs" />\r
+    <Compile Include="System.Net.WebSockets\ClientWebSocket.cs" />\r
+    <Compile Include="System.Net.WebSockets\ClientWebSocketOptions.cs" />\r
+    <Compile Include="System.Net.WebSockets\HttpListenerWebSocketContext.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocket.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketCloseStatus.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketContext.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketError.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketException.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketMessageType.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketReceiveResult.cs" />\r
+    <Compile Include="System.Net.WebSockets\WebSocketState.cs" />\r
+    <Compile Include="System.Net\AuthenticationManager.cs" />\r
+    <Compile Include="System.Net\AuthenticationSchemes.cs" />\r
+    <Compile Include="System.Net\AuthenticationSchemeSelector.cs" />\r
+    <Compile Include="System.Net\Authorization.cs" />\r
+    <Compile Include="System.Net\BasicClient.cs" />\r
+    <Compile Include="System.Net\BindIPEndPoint.cs" />\r
+    <Compile Include="System.Net\ChunkedInputStream.cs" />\r
+    <Compile Include="System.Net\ChunkStream.cs" />\r
+    <Compile Include="System.Net\ConnectionModes.cs" />\r
+    <Compile Include="System.Net\CredentialCache.cs" />\r
+    <Compile Include="System.Net\DecompressionMethods.cs" />\r
+    <Compile Include="System.Net\DefaultCertificatePolicy.cs" />\r
+    <Compile Include="System.Net\DigestClient.cs" />\r
+    <Compile Include="System.Net\Dns.cs" />\r
+    <Compile Include="System.Net\DnsAsyncResult.cs" />\r
+    <Compile Include="System.Net\DnsEndPoint.cs" />\r
+    <Compile Include="System.Net\DnsPermission.cs" />\r
+    <Compile Include="System.Net\DnsPermissionAttribute.cs" />\r
+    <Compile Include="System.Net\EndPoint.cs" />\r
+    <Compile Include="System.Net\EndPointListener.cs" />\r
+    <Compile Include="System.Net\EndPointManager.cs" />\r
+    <Compile Include="System.Net\EndpointPermission.cs" />\r
+    <Compile Include="System.Net\FileWebRequest.cs" />\r
+    <Compile Include="System.Net\FileWebRequestCreator.cs" />\r
+    <Compile Include="System.Net\FileWebResponse.cs" />\r
+    <Compile Include="System.Net\FtpAsyncResult.cs" />\r
+    <Compile Include="System.Net\FtpDataStream.cs" />\r
+    <Compile Include="System.Net\FtpRequestCreator.cs" />\r
+    <Compile Include="System.Net\FtpStatus.cs" />\r
+    <Compile Include="System.Net\FtpStatusCode.cs" />\r
+    <Compile Include="System.Net\FtpWebRequest.cs" />\r
+    <Compile Include="System.Net\FtpWebResponse.cs" />\r
+    <Compile Include="System.Net\GlobalProxySelection.cs" />\r
+    <Compile Include="System.Net\HttpConnection.cs" />\r
+    <Compile Include="System.Net\HttpListener.cs" />\r
+    <Compile Include="System.Net\HttpListenerBasicIdentity.cs" />\r
+    <Compile Include="System.Net\HttpListenerContext.cs" />\r
+    <Compile Include="System.Net\HttpListenerException.cs" />\r
+    <Compile Include="System.Net\HttpListenerPrefixCollection.cs" />\r
+    <Compile Include="System.Net\HttpListenerRequest.cs" />\r
+    <Compile Include="System.Net\HttpListenerResponse.cs" />\r
+    <Compile Include="System.Net\HttpListenerTimeoutManager.cs" />\r
+    <Compile Include="System.Net\HttpRequestCreator.cs" />\r
+    <Compile Include="System.Net\HttpRequestHeader.cs" />\r
+    <Compile Include="System.Net\HttpResponseHeader.cs" />\r
+    <Compile Include="System.Net\HttpStatusCode.cs" />\r
+    <Compile Include="System.Net\HttpStreamAsyncResult.cs" />\r
+    <Compile Include="System.Net\HttpVersion.cs" />\r
+    <Compile Include="System.Net\HttpWebRequest.cs" />\r
+    <Compile Include="System.Net\HttpWebResponse.cs" />\r
+    <Compile Include="System.Net\IAuthenticationModule.cs" />\r
+    <Compile Include="System.Net\ICertificatePolicy.cs" />\r
+    <Compile Include="System.Net\ICredentialLookup.cs" />\r
+    <Compile Include="System.Net\ICredentialPolicy.cs" />\r
+    <Compile Include="System.Net\ICredentialsByHost.cs" />\r
+    <Compile Include="System.Net\IPAddress.cs" />\r
+    <Compile Include="System.Net\IPEndPoint.cs" />\r
+    <Compile Include="System.Net\IPHostEntry.cs" />\r
+    <Compile Include="System.Net\IPv6Address.cs" />\r
+    <Compile Include="System.Net\IWebConnectionState.cs" />\r
+    <Compile Include="System.Net\IWebProxy.cs" />\r
+    <Compile Include="System.Net\IWebProxyScript.cs" />\r
+    <Compile Include="System.Net\IWebRequestCreate.cs" />\r
+    <Compile Include="System.Net\ListenerAsyncResult.cs" />\r
+    <Compile Include="System.Net\ListenerPrefix.cs" />\r
+    <Compile Include="System.Net\MacProxy.cs" />\r
+    <Compile Include="System.Net\MonoHttpDate.cs" />\r
+    <Compile Include="System.Net\NetConfig.cs" />\r
+    <Compile Include="System.Net\NetworkAccess.cs" />\r
+    <Compile Include="System.Net\NetworkCredential.cs" />\r
+    <Compile Include="System.Net\NtlmClient.cs" />\r
+    <Compile Include="System.Net\ProtocolViolationException.cs" />\r
+    <Compile Include="System.Net\RequestStream.cs" />\r
+    <Compile Include="System.Net\ResponseStream.cs" />\r
+    <Compile Include="System.Net\SecurityProtocolType.cs" />\r
+    <Compile Include="System.Net\ServicePoint.cs" />\r
+    <Compile Include="System.Net\ServicePointManager.cs" />\r
+    <Compile Include="System.Net\ServicePointManager.extra.cs" />\r
+    <Compile Include="System.Net\SimpleAsyncResult.cs" />\r
+    <Compile Include="System.Net\SocketAddress.cs" />\r
+    <Compile Include="System.Net\SocketPermission.cs" />\r
+    <Compile Include="System.Net\SocketPermissionAttribute.cs" />\r
+    <Compile Include="System.Net\TransportContext.cs" />\r
+    <Compile Include="System.Net\TransportType.cs" />\r
+    <Compile Include="System.Net\WebAsyncResult.cs" />\r
+    <Compile Include="System.Net\WebConnection.cs" />\r
+    <Compile Include="System.Net\WebConnectionData.cs" />\r
+    <Compile Include="System.Net\WebConnectionGroup.cs" />\r
+    <Compile Include="System.Net\WebConnectionStream.cs" />\r
+    <Compile Include="System.Net\WebException.cs" />\r
+    <Compile Include="System.Net\WebExceptionStatus.cs" />\r
+    <Compile Include="System.Net\WebHeaderCollection.cs" />\r
+    <Compile Include="System.Net\WebProxy.cs" />\r
+    <Compile Include="System.Net\WebRequest.cs" />\r
+    <Compile Include="System.Net\WebRequestMethods.cs" />\r
+    <Compile Include="System.Net\WebResponse.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\ADVF.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\DATADIR.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\DVASPECT.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\FORMATETC.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\IAdviseSink.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\IDataObject.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumFORMATETC.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\IEnumSTATDATA.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\STATDATA.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\STGMEDIUM.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.ComTypes\TYMED.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\DefaultParameterValueAttribute.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\HandleCollector.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\StandardOleMarshalObject.cs" />\r
+    <Compile Include="System.Security.AccessControl\SemaphoreAccessRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\SemaphoreAuditRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\SemaphoreRights.cs" />\r
+    <Compile Include="System.Security.AccessControl\SemaphoreSecurity.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ConfigUtil.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ExtendedProtectionPolicyElement.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ServiceNameElement.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection.Configuration\ServiceNameElementCollection.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ChannelBinding.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ChannelBindingKind.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ExtendedProtectionPolicy.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ExtendedProtectionPolicyTypeConverter.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\PolicyEnforcement.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ProtectionScenario.cs" />\r
+    <Compile Include="System.Security.Authentication.ExtendedProtection\ServiceNameCollection.cs" />\r
+    <Compile Include="System.Security.Authentication\AuthenticationException.cs" />\r
+    <Compile Include="System.Security.Authentication\CipherAlgorithmType.cs" />\r
+    <Compile Include="System.Security.Authentication\ExchangeAlgorithmType.cs" />\r
+    <Compile Include="System.Security.Authentication\HashAlgorithmType.cs" />\r
+    <Compile Include="System.Security.Authentication\InvalidCredentialException.cs" />\r
+    <Compile Include="System.Security.Authentication\SslProtocols.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\OpenFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\OSX509Certificates.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\PublicKey.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\StoreLocation.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\StoreName.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X500DistinguishedName.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X500DistinguishedNameFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509BasicConstraintsExtension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2Collection.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate2Enumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509CertificateCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Chain.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElement.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElementCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainElementEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainPolicy.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainStatus.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ChainStatusFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509EnhancedKeyUsageExtension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Extension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ExtensionCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ExtensionEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509FindType.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509IncludeOption.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509KeyUsageExtension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509KeyUsageFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509NameType.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509RevocationFlag.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509RevocationMode.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Store.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509SubjectKeyIdentifierExtension.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509SubjectKeyIdentifierHashAlgorithm.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509VerificationFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography\AsnEncodedData.cs" />\r
+    <Compile Include="System.Security.Cryptography\AsnEncodedDataCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography\AsnEncodedDataEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography\Oid.cs" />\r
+    <Compile Include="System.Security.Cryptography\OidCollection.cs" />\r
+    <Compile Include="System.Security.Cryptography\OidEnumerator.cs" />\r
+    <Compile Include="System.Security.Cryptography\OidGroup.cs" />\r
+    <Compile Include="System.Security.Permissions\PermissionHelper.cs" />\r
+    <Compile Include="System.Security.Permissions\ResourcePermissionBase.cs" />\r
+    <Compile Include="System.Security.Permissions\ResourcePermissionBaseEntry.cs" />\r
+    <Compile Include="System.Security.Permissions\StorePermission.cs" />\r
+    <Compile Include="System.Security.Permissions\StorePermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\StorePermissionFlags.cs" />\r
+    <Compile Include="System.Threading\Semaphore.cs" />\r
+    <Compile Include="System.Threading\ThreadExceptionEventArgs.cs" />\r
+    <Compile Include="System.Threading\ThreadExceptionEventHandler.cs" />\r
+    <Compile Include="System.Timers\ElapsedEventArgs.cs" />\r
+    <Compile Include="System.Web\AspNetHostingPermission.cs" />\r
+    <Compile Include="System.Web\AspNetHostingPermissionAttribute.cs" />\r
+    <Compile Include="System.Web\AspNetHostingPermissionLevel.cs" />\r
+    <Compile Include="System.Windows.Input\ICommand.cs" />\r
+    <Compile Include="System\DefaultUriParser.cs" />\r
+    <Compile Include="System\FileStyleUriParser.cs" />\r
+    <Compile Include="System\FtpStyleUriParser.cs" />\r
+    <Compile Include="System\GenericUriParser.cs" />\r
+    <Compile Include="System\GenericUriParserOptions.cs" />\r
+    <Compile Include="System\GopherStyleUriParser.cs" />\r
+    <Compile Include="System\HttpStyleUriParser.cs" />\r
+    <Compile Include="System\IUriData.cs" />\r
+    <Compile Include="System\LdapStyleUriParser.cs" />\r
+    <Compile Include="System\NetPipeStyleUriParser.cs" />\r
+    <Compile Include="System\NetTcpStyleUriParser.cs" />\r
+    <Compile Include="System\NewsStyleUriParser.cs" />\r
+    <Compile Include="System\Platform.cs" />\r
+    <Compile Include="System\SRDescriptionAttribute.cs" />\r
+    <Compile Include="System\Uri.cs" />\r
+    <Compile Include="System\UriBuilder.cs" />\r
+    <Compile Include="System\UriComponents.cs" />\r
+    <Compile Include="System\UriData.cs" />\r
+    <Compile Include="System\UriElements.cs" />\r
+    <Compile Include="System\UriFormat.cs" />\r
+    <Compile Include="System\UriFormatException.cs" />\r
+    <Compile Include="System\UriHelper.cs" />\r
+    <Compile Include="System\UriHostNameType.cs" />\r
+    <Compile Include="System\UriIdnScope.cs" />\r
+    <Compile Include="System\UriKind.cs" />\r
+    <Compile Include="System\UriParseComponents.cs" />\r
+    <Compile Include="System\UriParser.cs" />\r
+    <Compile Include="System\UriPartial.cs" />\r
+    <Compile Include="System\UriTypeConverter.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-bare-net_4_x.csproj">\r
+      <Project>{A5216031-11A3-44DD-B2FF-A14AE63BD0C3}</Project>\r
+      <Name>System.Xml-bare-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="System-bare-net_4_x.csproj">\r
+      <Project>{483DB7F6-9145-4AE2-B9B2-2B5EE6FDEFB4}</Project>\r
+      <Name>System-bare-net_4_x</Name>\r
+      <Aliases>PrebuiltSystem</Aliases>    </ProjectReference>\r
+    <ProjectReference Include="../Mono.Security/Mono.Security-net_4_x.csproj">\r
+      <Project>{42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}</Project>\r
+      <Name>Mono.Security-net_4_x</Name>\r
+      <Aliases>MonoSecurity</Aliases>    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="resources/Asterisk.wav">\r
+      <LogicalName>Asterisk.wav</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/Beep.wav">\r
+      <LogicalName>Beep.wav</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/Exclamation.wav">\r
+      <LogicalName>Exclamation.wav</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/Hand.wav">\r
+      <LogicalName>Hand.wav</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/Question.wav">\r
+      <LogicalName>Question.wav</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
index a7c793bedbfc678d40db6f923a06a29f850939b6..c15367c9c9f1e253cec81d7e1927d8aa648e9694 100644 (file)
@@ -43,6 +43,7 @@ using System.Security.Permissions;
 using System.Collections.Generic;
 using System.Security;
 using System.Threading;
+using Microsoft.Win32.SafeHandles;
 
 namespace System.Diagnostics {
 
@@ -977,16 +978,59 @@ namespace System.Diagnostics {
                        return(ret);
                }
 
-               private static bool Start_noshell (ProcessStartInfo startInfo,
-                                                  Process process)
+               //
+               // Creates a pipe with read and write descriptors
+               //
+               static void CreatePipe (out IntPtr read, out IntPtr write, bool writeDirection)
                {
-                       ProcInfo proc_info=new ProcInfo();
-                       IntPtr stdin_rd = IntPtr.Zero, stdin_wr = IntPtr.Zero;
-                       IntPtr stdout_wr;
-                       IntPtr stderr_wr;
-                       bool ret;
                        MonoIOError error;
 
+                       //
+                       // Creates read/write pipe from parent -> child perspective
+                       // a child process uses same descriptors after fork. That's
+                       // 4 descriptors in total where only 2. One in child, one in parent
+                       // should be active and the other 2 closed. Which ones depends on
+                       // comunication direction
+                       //
+                       // parent  -------->  child   (parent can write, child can read)
+                       //
+                       // read: closed       read: used
+                       // write: used        write: closed
+                       //
+                       //
+                       // parent  <--------  child   (parent can read, child can write)
+                       //
+                       // read: used         read: closed
+                       // write: closed      write: used
+                       //
+                       // It can still be tricky for predefined descriptiors http://unixwiz.net/techtips/remap-pipe-fds.html
+                       //
+                       if (!MonoIO.CreatePipe (out read, out write, out error))
+                               throw MonoIO.GetException (error);
+
+                       if (IsWindows) {
+                               const int DUPLICATE_SAME_ACCESS = 0x00000002;
+                               var tmp = writeDirection ? write : read;
+
+                               if (!MonoIO.DuplicateHandle (Process.GetCurrentProcess ().Handle, tmp, Process.GetCurrentProcess ().Handle, out tmp, 0, 0, DUPLICATE_SAME_ACCESS, out error))
+                                       throw MonoIO.GetException (error);
+
+                               if (writeDirection) {
+                                       if (!MonoIO.Close (write, out error))
+                                               throw MonoIO.GetException (error);
+                                       write = tmp;
+                               } else {
+                                       if (!MonoIO.Close (read, out error))
+                                               throw MonoIO.GetException (error);
+                                       read = tmp;
+                               }
+                       }
+               }
+
+               static bool Start_noshell (ProcessStartInfo startInfo, Process process)
+               {
+                       var proc_info = new ProcInfo ();
+
                        if (startInfo.HaveEnvVars) {
                                string [] strs = new string [startInfo.EnvironmentVariables.Count];
                                startInfo.EnvironmentVariables.Keys.CopyTo (strs, 0);
@@ -997,164 +1041,118 @@ namespace System.Diagnostics {
                                proc_info.envValues = strs;
                        }
 
-                       if (startInfo.RedirectStandardInput == true) {
-                               if (IsWindows) {
-                                       int DUPLICATE_SAME_ACCESS = 0x00000002;
-                                       IntPtr stdin_wr_tmp;
+                       MonoIOError error;
+                       IntPtr stdin_read = IntPtr.Zero, stdin_write = IntPtr.Zero;
+                       IntPtr stdout_read = IntPtr.Zero, stdout_write = IntPtr.Zero;
+                       IntPtr stderr_read = IntPtr.Zero, stderr_write = IntPtr.Zero;
 
-                                       ret = MonoIO.CreatePipe (out stdin_rd,
-                                                                        out stdin_wr_tmp);
-                                       if (ret) {
-                                               ret = MonoIO.DuplicateHandle (Process.GetCurrentProcess ().Handle, stdin_wr_tmp,
-                                               Process.GetCurrentProcess ().Handle, out stdin_wr, 0, 0, DUPLICATE_SAME_ACCESS);
-                                               MonoIO.Close (stdin_wr_tmp, out error);
-                                       }
-                               }
-                               else
-                               {
-                                       ret = MonoIO.CreatePipe (out stdin_rd,
-                                                                        out stdin_wr);
-                               }
-                               if (ret == false) {
-                                       throw new IOException ("Error creating standard input pipe");
+                       try {
+                               if (startInfo.RedirectStandardInput) {
+                                       CreatePipe (out stdin_read, out stdin_write, true);
+                               } else {
+                                       stdin_read = MonoIO.ConsoleInput;
+                                       stdin_write = IntPtr.Zero;
                                }
-                       } else {
-                               stdin_rd = MonoIO.ConsoleInput;
-                               /* This is required to stop the
-                                * &$*£ing stupid compiler moaning
-                                * that stdin_wr is unassigned, below.
-                                */
-                               stdin_wr = (IntPtr)0;
-                       }
-
-                       if (startInfo.RedirectStandardOutput == true) {
-                               IntPtr out_rd = IntPtr.Zero;
-                               if (IsWindows) {
-                                       IntPtr out_rd_tmp;
-                                       int DUPLICATE_SAME_ACCESS = 0x00000002;
-
-                                       ret = MonoIO.CreatePipe (out out_rd_tmp,
-                                                                        out stdout_wr);
-                                       if (ret) {
-                                               MonoIO.DuplicateHandle (Process.GetCurrentProcess ().Handle, out_rd_tmp,
-                                               Process.GetCurrentProcess ().Handle, out out_rd, 0, 0, DUPLICATE_SAME_ACCESS);
-                                               MonoIO.Close (out_rd_tmp, out error);
-                                       }
+
+                               if (startInfo.RedirectStandardOutput) {
+                                       CreatePipe (out stdout_read, out stdout_write, false);
+                                       process.stdout_rd = stdout_read;
+                               } else {
+                                       process.stdout_rd = IntPtr.Zero;
+                                       stdout_write = MonoIO.ConsoleOutput;
                                }
-                               else {
-                                       ret = MonoIO.CreatePipe (out out_rd,
-                                                                        out stdout_wr);
+
+                               if (startInfo.RedirectStandardError) {
+                                       CreatePipe (out stderr_read, out stderr_write, false);
+                                       process.stderr_rd  = stderr_read;
+                               } else {
+                                       process.stderr_rd = IntPtr.Zero;
+                                       stderr_write = MonoIO.ConsoleError;
                                }
 
-                               process.stdout_rd = out_rd;
-                               if (ret == false) {
-                                       if (startInfo.RedirectStandardInput == true) {
-                                               MonoIO.Close (stdin_rd, out error);
-                                               MonoIO.Close (stdin_wr, out error);
-                                       }
+                               FillUserInfo (startInfo, ref proc_info);
 
-                                       throw new IOException ("Error creating standard output pipe");
+                               //
+                               // FIXME: For redirected pipes we need to send descriptors of
+                               // stdin_write, stdout_read, stderr_read to child process and
+                               // close them there (fork makes exact copy of parent's descriptors)
+                               //
+                               if (!CreateProcess_internal (startInfo, stdin_read, stdout_write, stderr_write, ref proc_info)) {
+                                       throw new Win32Exception (-proc_info.pid, 
+                                       "ApplicationName='" + startInfo.FileName +
+                                       "', CommandLine='" + startInfo.Arguments +
+                                       "', CurrentDirectory='" + startInfo.WorkingDirectory +
+                                       "', Native error= " + Win32Exception.W32ErrorMessage (-proc_info.pid));
                                }
-                       } else {
-                               process.stdout_rd = (IntPtr)0;
-                               stdout_wr = MonoIO.ConsoleOutput;
-                       }
-
-                       if (startInfo.RedirectStandardError == true) {
-                               IntPtr err_rd = IntPtr.Zero;
-                               if (IsWindows) {
-                                       IntPtr err_rd_tmp;
-                                       int DUPLICATE_SAME_ACCESS = 0x00000002;
-
-                                       ret = MonoIO.CreatePipe (out err_rd_tmp,
-                                                                        out stderr_wr);
-                                       if (ret) {
-                                               MonoIO.DuplicateHandle (Process.GetCurrentProcess ().Handle, err_rd_tmp,
-                                               Process.GetCurrentProcess ().Handle, out err_rd, 0, 0, DUPLICATE_SAME_ACCESS);
-                                               MonoIO.Close (err_rd_tmp, out error);
-                                       }
+                       } catch {
+                               if (startInfo.RedirectStandardInput) {
+                                       if (stdin_read != IntPtr.Zero)
+                                               MonoIO.Close (stdin_read, out error);
+                                       if (stdin_write != IntPtr.Zero)
+                                               MonoIO.Close (stdin_write, out error);
                                }
-                               else {
-                                       ret = MonoIO.CreatePipe (out err_rd,
-                                                                        out stderr_wr);
+
+                               if (startInfo.RedirectStandardOutput) {
+                                       if (stdout_read != IntPtr.Zero)
+                                               MonoIO.Close (stdout_read, out error);
+                                       if (stdout_write != IntPtr.Zero)
+                                               MonoIO.Close (stdout_write, out error);
                                }
 
-                               process.stderr_rd = err_rd;
-                               if (ret == false) {
-                                       if (startInfo.RedirectStandardInput == true) {
-                                               MonoIO.Close (stdin_rd, out error);
-                                               MonoIO.Close (stdin_wr, out error);
-                                       }
-                                       if (startInfo.RedirectStandardOutput == true) {
-                                               MonoIO.Close (process.stdout_rd, out error);
-                                               MonoIO.Close (stdout_wr, out error);
-                                       }
-                                       
-                                       throw new IOException ("Error creating standard error pipe");
+                               if (startInfo.RedirectStandardError) {
+                                       if (stderr_read != IntPtr.Zero)
+                                               MonoIO.Close (stderr_read, out error);
+                                       if (stderr_write != IntPtr.Zero)
+                                               MonoIO.Close (stderr_write, out error);
                                }
-                       } else {
-                               process.stderr_rd = (IntPtr)0;
-                               stderr_wr = MonoIO.ConsoleError;
-                       }
 
-                       FillUserInfo (startInfo, ref proc_info);
-                       try {
-                               ret = CreateProcess_internal (startInfo,
-                                                             stdin_rd, stdout_wr, stderr_wr,
-                                                             ref proc_info);
+                               throw;
                        } finally {
-                               if (proc_info.Password != IntPtr.Zero)
+                               if (proc_info.Password != IntPtr.Zero) {
                                        Marshal.ZeroFreeBSTR (proc_info.Password);
-                               proc_info.Password = IntPtr.Zero;
-                       }
-                       if (!ret) {
-                               if (startInfo.RedirectStandardInput == true) {
-                                       MonoIO.Close (stdin_rd, out error);
-                                       MonoIO.Close (stdin_wr, out error);
-                               }
-
-                               if (startInfo.RedirectStandardOutput == true) {
-                                       MonoIO.Close (process.stdout_rd, out error);
-                                       MonoIO.Close (stdout_wr, out error);
-                               }
-
-                               if (startInfo.RedirectStandardError == true) {
-                                       MonoIO.Close (process.stderr_rd, out error);
-                                       MonoIO.Close (stderr_wr, out error);
+                                       proc_info.Password = IntPtr.Zero;
                                }
-
-                               throw new Win32Exception (-proc_info.pid,
-                                       "ApplicationName='" + startInfo.FileName +
-                                       "', CommandLine='" + startInfo.Arguments +
-                                       "', CurrentDirectory='" + startInfo.WorkingDirectory +
-                                       "', Native error= " + Win32Exception.W32ErrorMessage (-proc_info.pid));
                        }
 
                        process.process_handle = proc_info.process_handle;
                        process.pid = proc_info.pid;
                        
-                       if (startInfo.RedirectStandardInput == true) {
-                               MonoIO.Close (stdin_rd, out error);
-                               process.input_stream = new StreamWriter (new MonoSyncFileStream (stdin_wr, FileAccess.Write, true, 8192), Console.Out.Encoding);
-                               process.input_stream.AutoFlush = true;
+                       if (startInfo.RedirectStandardInput) {
+                               //
+                               // FIXME: The descriptor needs to be closed but due to wapi io-layer
+                               // not coping with duplicated descriptors any StandardInput write fails
+                               //
+                               // MonoIO.Close (stdin_read, out error);
+
+#if MOBILE
+                               var stdinEncoding = Encoding.Default;
+#else
+                               var stdinEncoding = Console.InputEncoding;
+#endif
+                               process.input_stream = new StreamWriter (new FileStream (new SafeFileHandle (stdin_write, false), FileAccess.Write, 8192, false), stdinEncoding) {
+                                       AutoFlush = true
+                               };
                        }
 
-                       Encoding stdoutEncoding = startInfo.StandardOutputEncoding ?? Console.Out.Encoding;
-                       Encoding stderrEncoding = startInfo.StandardErrorEncoding ?? Console.Out.Encoding;
+                       if (startInfo.RedirectStandardOutput) {
+                               MonoIO.Close (stdout_write, out error);
+
+                               Encoding stdoutEncoding = startInfo.StandardOutputEncoding ?? Console.Out.Encoding;
 
-                       if (startInfo.RedirectStandardOutput == true) {
-                               MonoIO.Close (stdout_wr, out error);
-                               process.output_stream = new StreamReader (new MonoSyncFileStream (process.stdout_rd, FileAccess.Read, true, 8192), stdoutEncoding, true, 8192);
+                               process.output_stream = new StreamReader (new FileStream (new SafeFileHandle (stdout_read, false), FileAccess.Read, 8192, false), stdoutEncoding, true, 8192);
                        }
 
-                       if (startInfo.RedirectStandardError == true) {
-                               MonoIO.Close (stderr_wr, out error);
-                               process.error_stream = new StreamReader (new MonoSyncFileStream (process.stderr_rd, FileAccess.Read, true, 8192), stderrEncoding, true, 8192);
+                       if (startInfo.RedirectStandardError) {
+                               MonoIO.Close (stderr_write, out error);
+
+                               Encoding stderrEncoding = startInfo.StandardErrorEncoding ?? Console.Out.Encoding;
+
+                               process.error_stream = new StreamReader (new FileStream (new SafeFileHandle (stderr_read, false), FileAccess.Read, 8192, false), stderrEncoding, true, 8192);
                        }
 
                        process.StartExitCallbackIfNeeded ();
 
-                       return(ret);
+                       return true;
                }
 
                // Note that ProcInfo.Password must be freed.
@@ -1262,7 +1260,7 @@ namespace System.Diagnostics {
 
                        DateTime start = DateTime.UtcNow;
                        if (async_output != null && !async_output.IsCompleted) {
-                               if (false == async_output.WaitHandle.WaitOne (ms, false))
+                               if (false == async_output.AsyncWaitHandle.WaitOne (ms, false))
                                        return false; // Timed out
 
                                if (ms >= 0) {
@@ -1275,7 +1273,7 @@ namespace System.Diagnostics {
                        }
 
                        if (async_error != null && !async_error.IsCompleted) {
-                               if (false == async_error.WaitHandle.WaitOne (ms, false))
+                               if (false == async_error.AsyncWaitHandle.WaitOne (ms, false))
                                        return false; // Timed out
 
                                if (ms >= 0) {
@@ -1348,70 +1346,43 @@ namespace System.Diagnostics {
                }
 
                [StructLayout (LayoutKind.Sequential)]
-               sealed class ProcessAsyncReader : IThreadPoolWorkItem
+               sealed class ProcessAsyncReader : IOAsyncResult
                {
-                       /*
-                          The following fields match those of SocketAsyncResult.
-                          This is so that changes needed in the runtime to handle
-                          asynchronous reads are trivial
-                          Keep this in sync with SocketAsyncResult in 
-                          ./System.Net.Sockets/Socket.cs and MonoSocketAsyncResult
-                          in metadata/socket-io.h.
-                       */
-                       /* DON'T shuffle fields around. DON'T remove fields */
-                       public object Sock;
-                       public IntPtr handle;
-                       public object state;
-                       public AsyncCallback callback;
-                       public ManualResetEvent wait_handle;
-
-                       public Exception delayedException;
-
-                       public object EndPoint;
-                       byte [] buffer = new byte [4196];
-                       public int Offset;
-                       public int Size;
-                       public int SockFlags;
-
-                       public object AcceptSocket;
-                       public object[] Addresses;
-                       public int port;
-                       public object Buffers;          // Reserve this slot in older profiles
-                       public bool ReuseSocket;        // Disconnect
-                       public object acc_socket;
-                       public int total;
-                       public bool completed_sync;
-                       bool completed;
-                       bool err_out; // true -> stdout, false -> stderr
-                       internal int error;
-                       public int operation = 8; // MAGIC NUMBER: see Socket.cs:AsyncOperation
-                       public AsyncResult async_result;
-                       public int EndCalled;
-
-                       // These fields are not in SocketAsyncResult
                        Process process;
+                       IntPtr handle;
                        Stream stream;
+                       bool err_out;
+
                        StringBuilder sb = new StringBuilder ();
-                       public AsyncReadHandler ReadHandler;
+                       byte[] buffer = new byte [4096];
 
                        public ProcessAsyncReader (Process process, IntPtr handle, bool err_out)
+                               : base (null, null)
                        {
                                this.process = process;
                                this.handle = handle;
-                               stream = new FileStream (handle, FileAccess.Read, false);
-                               this.ReadHandler = new AsyncReadHandler (AddInput);
+                               this.stream = new FileStream (handle, FileAccess.Read, false);
                                this.err_out = err_out;
                        }
 
+                       public void BeginRead ()
+                       {
+                               IOSelector.Add (this.handle, new IOSelectorJob (IOOperation.Read, _ => AddInput (), null));
+                       }
+
                        public void AddInput ()
                        {
                                lock (this) {
                                        int nread = stream.Read (buffer, 0, buffer.Length);
                                        if (nread == 0) {
-                                               completed = true;
-                                               if (wait_handle != null)
-                                                       wait_handle.Set ();
-                                               FlushLast ();
+                                               IsCompleted = true;
+
+                                               Flush (true);
+                                               if (err_out)
+                                                       process.OnOutputDataReceived (null);
+                                               else
+                                                       process.OnErrorDataReceived (null);
+
                                                return;
                                        }
 
@@ -1425,82 +1396,50 @@ namespace System.Diagnostics {
                                        }
 
                                        Flush (false);
-                                       ReadHandler.BeginInvoke (null, this);
-                               }
-                       }
 
-                       void FlushLast ()
-                       {
-                               Flush (true);
-                               if (err_out) {
-                                       process.OnOutputDataReceived (null);
-                               } else {
-                                       process.OnErrorDataReceived (null);
+                                       IOSelector.Add (this.handle, new IOSelectorJob (IOOperation.Read, _ => AddInput (), null));
                                }
                        }
-                       
+
                        void Flush (bool last)
                        {
-                               if (sb.Length == 0 ||
-                                   (err_out && process.output_canceled) ||
-                                   (!err_out && process.error_canceled))
+                               if (sb.Length == 0 || (err_out && process.output_canceled) || (!err_out && process.error_canceled))
                                        return;
 
-                               string total = sb.ToString ();
+                               string[] strs = sb.ToString ().Split ('\n');
+
                                sb.Length = 0;
-                               string [] strs = total.Split ('\n');
-                               int len = strs.Length;
-                               if (len == 0)
+
+                               if (strs.Length == 0)
                                        return;
 
-                               for (int i = 0; i < len - 1; i++) {
+                               for (int i = 0; i < strs.Length - 1; i++) {
                                        if (err_out)
                                                process.OnOutputDataReceived (strs [i]);
                                        else
                                                process.OnErrorDataReceived (strs [i]);
                                }
 
-                               string end = strs [len - 1];
-                               if (last || (len == 1 && end == "")) {
-                                       if (err_out) {
+                               string end = strs [strs.Length - 1];
+                               if (last || (strs.Length == 1 && end == "")) {
+                                       if (err_out)
                                                process.OnOutputDataReceived (end);
-                                       } else {
+                                       else
                                                process.OnErrorDataReceived (end);
-                                       }
                                } else {
                                        sb.Append (end);
                                }
                        }
 
-                       public bool IsCompleted {
-                               get { return completed; }
-                       }
-
-                       public WaitHandle WaitHandle {
-                               get {
-                                       lock (this) {
-                                               if (wait_handle == null)
-                                                       wait_handle = new ManualResetEvent (completed);
-                                               return wait_handle;
-                                       }
-                               }
-                       }
-
-                       public void Close () {
-                               RemoveFromIOThreadPool (handle);
-                               stream.Close ();
-                       }
-
-                       [MethodImplAttribute(MethodImplOptions.InternalCall)]
-                       extern static void RemoveFromIOThreadPool (IntPtr handle);
-
-                       void IThreadPoolWorkItem.ExecuteWorkItem()
+                       public void Close ()
                        {
-                               async_result.Invoke ();
+                               IOSelector.Remove (handle);
+                               stream.Close ();
                        }
 
-                       void IThreadPoolWorkItem.MarkAborted(ThreadAbortException tae)
+                       internal override void CompleteDisposed ()
                        {
+                               throw new NotSupportedException ();
                        }
                }
 
@@ -1509,7 +1448,6 @@ namespace System.Diagnostics {
                bool error_canceled;
                ProcessAsyncReader async_output;
                ProcessAsyncReader async_error;
-               delegate void AsyncReadHandler ();
 
                [ComVisibleAttribute(false)] 
                public void BeginOutputReadLine ()
@@ -1524,7 +1462,7 @@ namespace System.Diagnostics {
                        output_canceled = false;
                        if (async_output == null) {
                                async_output = new ProcessAsyncReader (this, stdout_rd, true);
-                               async_output.ReadHandler.BeginInvoke (null, async_output);
+                               async_output.BeginRead ();
                        }
                }
 
@@ -1556,7 +1494,7 @@ namespace System.Diagnostics {
                        error_canceled = false;
                        if (async_error == null) {
                                async_error = new ProcessAsyncReader (this, stderr_rd, false);
-                               async_error.ReadHandler.BeginInvoke (null, async_error);
+                               async_error.BeginRead ();
                        }
                }
 
index 4fcd04293bd595a075e7b956ea5f47ac73e24a19..d66e2d4c3207385c4b9ad88a4c63ee5db50284a1 100644 (file)
@@ -113,6 +113,8 @@ namespace System.Diagnostics
                        if (!is_running)
                                return;
                        elapsed += GetTimestamp () - started;
+                       if (elapsed < 0)
+                               elapsed = 0;
                        is_running = false;
                }
 
index 27f61b35d0ea775478f504f0b288e67620fa7559..0d2e39ee02baddcd7c5f4743b3c8087a6af1cdc6 100644 (file)
@@ -355,7 +355,21 @@ namespace System.IO {
                        while (!requestStop) {
                                var changes = CreateChangeList (ref newFds);
 
-                               int numEvents = kevent_notimeout (conn, changes, changes.Length, eventBuffer, eventBuffer.Length, IntPtr.Zero);
+                               // We are calling an icall, so have to marshal manually
+                               // Marshal in
+                               int ksize = Marshal.SizeOf<kevent> ();
+                               var changesNative = Marshal.AllocHGlobal (ksize * changes.Length);
+                               for (int i = 0; i < changes.Length; ++i)
+                                       Marshal.StructureToPtr (changes [i], changesNative + (i * ksize), false);
+                               var eventBufferNative = Marshal.AllocHGlobal (ksize * eventBuffer.Length);
+
+                               int numEvents = kevent_notimeout (ref conn, changesNative, changes.Length, eventBufferNative, eventBuffer.Length);
+
+                               // Marshal out
+                               Marshal.FreeHGlobal (changesNative);
+                               for (int i = 0; i < numEvents; ++i)
+                                       eventBuffer [i] = Marshal.PtrToStructure<kevent> (eventBufferNative + (i * ksize));
+                               Marshal.FreeHGlobal (eventBufferNative);
 
                                if (numEvents == -1) {
                                        // Stop () signals us to stop by closing the connection
@@ -367,7 +381,6 @@ namespace System.IO {
 
                                        continue;
                                }
-
                                retries = 0;
 
                                for (var i = 0; i < numEvents; i++) {
@@ -658,8 +671,8 @@ namespace System.IO {
                [DllImport ("libc")]
                extern static int kevent (int kq, [In]kevent[] ev, int nchanges, [Out]kevent[] evtlist, int nevents, [In] ref timespec time);
 
-               [DllImport ("libc", EntryPoint="kevent")]
-               extern static int kevent_notimeout (int kq, [In]kevent[] ev, int nchanges, [Out]kevent[] evtlist, int nevents, IntPtr ptr);
+               [MethodImplAttribute(MethodImplOptions.InternalCall)]
+               extern static int kevent_notimeout (ref int kq, IntPtr ev, int nchanges, IntPtr evtlist, int nevents);
        }
 
        class KeventWatcher : IFileWatcher
diff --git a/mcs/class/System/System.IO/MonoSyncFileStream.cs b/mcs/class/System/System.IO/MonoSyncFileStream.cs
deleted file mode 100644 (file)
index f6dd076..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-// 
-// System.IO.MonoSyncFileStream.cs: Synchronous FileStream with
-//     asynchronous BeginRead/Write methods.
-//
-// Authors:
-//     Robert Jordan (robertj@gmx.net)
-//
-// 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.Runtime.Remoting.Messaging;
-
-namespace System.IO
-{
-       internal class MonoSyncFileStream : FileStream
-       {
-               public MonoSyncFileStream (IntPtr handle, FileAccess access, bool ownsHandle, int bufferSize)
-                       : base (handle, access, ownsHandle, bufferSize, false)
-               {
-               }
-
-               delegate void WriteDelegate (byte [] buffer, int offset, int count);
-
-               public override IAsyncResult BeginWrite (byte [] buffer, int offset, int count,
-                                                       AsyncCallback cback, object state)
-               {
-                       if (!CanWrite)
-                               throw new NotSupportedException ("This stream does not support writing");
-
-                       if (buffer == null)
-                               throw new ArgumentNullException ("buffer");
-
-                       if (count < 0)
-                               throw new ArgumentOutOfRangeException ("count", "Must be >= 0");
-
-                       if (offset < 0)
-                               throw new ArgumentOutOfRangeException ("offset", "Must be >= 0");
-
-                       WriteDelegate d = new WriteDelegate (this.Write);
-                       return d.BeginInvoke (buffer, offset, count, cback, state);
-               }
-
-               public override void EndWrite (IAsyncResult asyncResult)
-               {
-                       if (asyncResult == null)
-                               throw new ArgumentNullException ("asyncResult");
-
-                       AsyncResult ar = asyncResult as AsyncResult;
-                       if (ar == null)
-                               throw new ArgumentException ("Invalid IAsyncResult", "asyncResult");
-
-                       WriteDelegate d = ar.AsyncDelegate as WriteDelegate;
-                       if (d == null)
-                               throw new ArgumentException ("Invalid IAsyncResult", "asyncResult");
-
-                       d.EndInvoke (asyncResult);
-               }
-
-               delegate int ReadDelegate (byte [] buffer, int offset, int count);
-
-               public override IAsyncResult BeginRead (byte [] buffer, int offset, int count,
-                                                       AsyncCallback cback, object state)
-               {
-                       if (!CanRead)
-                               throw new NotSupportedException ("This stream does not support reading");
-
-                       if (buffer == null)
-                               throw new ArgumentNullException ("buffer");
-
-                       if (count < 0)
-                               throw new ArgumentOutOfRangeException ("count", "Must be >= 0");
-
-                       if (offset < 0)
-                               throw new ArgumentOutOfRangeException ("offset", "Must be >= 0");
-
-                       ReadDelegate d = new ReadDelegate (this.Read);
-                       return d.BeginInvoke (buffer, offset, count, cback, state);
-               }
-
-               public override int EndRead (IAsyncResult asyncResult)
-               {
-                       if (asyncResult == null)
-                               throw new ArgumentNullException ("asyncResult");
-
-                       AsyncResult ar = asyncResult as AsyncResult;
-                       if (ar == null)
-                               throw new ArgumentException ("Invalid IAsyncResult", "asyncResult");
-
-                       ReadDelegate d = ar.AsyncDelegate as ReadDelegate;
-                       if (d == null)
-                               throw new ArgumentException ("Invalid IAsyncResult", "asyncResult");
-
-                       return d.EndInvoke (asyncResult);
-               }
-
-       }
-}
index 278e6e3426f83c0cf5c3b9d57cb971aa7a458f9d..4b3f468b091e0a91445b6e5ee363c2df51e07c87 100644 (file)
@@ -58,6 +58,7 @@ using System.Security.Authentication;
 using System.Threading.Tasks;
 
 namespace System.Net.Mail {
+       [Obsolete ("SmtpClient and its network of types are poorly designed, we strongly recommend you use https://github.com/jstedfast/MailKit and https://github.com/jstedfast/MimeKit instead")]
        public class SmtpClient
        : IDisposable
        {
@@ -581,10 +582,13 @@ namespace System.Net.Mail {
                        
                        // FIXME: parse the list of extensions so we don't bother wasting
                        // our time trying commands if they aren't supported.
-                       status = SendCommand ("EHLO " + Dns.GetHostName ());
+                       
+                       // Get the FQDN of the local machine
+                       string fqdn = Dns.GetHostEntry (Dns.GetHostName ()).HostName;
+                       status = SendCommand ("EHLO " + fqdn);
                        
                        if (IsError (status)) {
-                               status = SendCommand ("HELO " + Dns.GetHostName ());
+                               status = SendCommand ("HELO " + fqdn);
                                
                                if (IsError (status))
                                        throw new SmtpException (status.StatusCode, status.Description);
@@ -601,10 +605,10 @@ namespace System.Net.Mail {
                                ResetExtensions();
                                writer = new StreamWriter (stream);
                                reader = new StreamReader (stream);
-                               status = SendCommand ("EHLO " + Dns.GetHostName ());
+                               status = SendCommand ("EHLO " + fqdn);
                        
                                if (IsError (status)) {
-                                       status = SendCommand ("HELO " + Dns.GetHostName ());
+                                       status = SendCommand ("HELO " + fqdn);
                                
                                        if (IsError (status))
                                                throw new SmtpException (status.StatusCode, status.Description);
@@ -742,7 +746,7 @@ namespace System.Net.Mail {
 
                static void SendMailAsyncCompletedHandler (TaskCompletionSource<object> source, AsyncCompletedEventArgs e, SendCompletedEventHandler handler, SmtpClient client)
                {
-                       if ((object) handler != e.UserState)
+                       if (source != e.UserState)
                                return;
 
                        client.SendCompleted -= handler;
index 3b06a4e79da6baccdc69864570818889f784868a..357217659964fea2aabcd59beb116fe8b5866d08 100644 (file)
@@ -442,8 +442,10 @@ namespace System.Net.NetworkInformation {
 
                unsafe void OnDataAvailable (object sender, SocketAsyncEventArgs args)
                {
+                       if (nl_sock == null) // Recent changes in Mono cause MaybeCloseSocket to be called before OnDataAvailable
+                               return;
                        EventType type;
-                       fixed (byte *ptr = args.Buffer) {       
+                       fixed (byte *ptr = args.Buffer) {
                                type = ReadEvents (nl_sock.Handle, new IntPtr (ptr), args.BytesTransferred, 8192);
                        }
                        nl_sock.ReceiveAsync (nl_args);
index 2038a079c67cfcfd38ffa72238a2aaae8c11e23e..ba638a9b5db5f1cd3d77dcd9e602a5efb4dedee2 100644 (file)
@@ -86,8 +86,8 @@ namespace System.Net.Sockets
                 */
                internal EndPoint seed_endpoint = null;
 
-               internal Queue<SocketAsyncWorker> readQ = new Queue<SocketAsyncWorker> (2);
-               internal Queue<SocketAsyncWorker> writeQ = new Queue<SocketAsyncWorker> (2);
+               internal Queue<KeyValuePair<IntPtr, IOSelectorJob>> readQ = new Queue<KeyValuePair<IntPtr, IOSelectorJob>> (2);
+               internal Queue<KeyValuePair<IntPtr, IOSelectorJob>> writeQ = new Queue<KeyValuePair<IntPtr, IOSelectorJob>> (2);
 
                internal bool is_blocking = true;
                internal bool is_bound;
@@ -951,16 +951,32 @@ namespace System.Net.Sockets
                                        throw new InvalidOperationException ("AcceptSocket: The socket must not be bound or connected.");
                        }
 
-                       e.curSocket = this;
-                       e.Worker.Init (this, e, SocketOperation.Accept);
+                       InitSocketAsyncEventArgs (e, AcceptAsyncCallback, e, SocketOperation.Accept);
 
-                       SocketAsyncResult sockares = e.Worker.result;
-
-                       QueueSocketAsyncResult (readQ, e.Worker, sockares);
+                       QueueIOSelectorJob (readQ, e.socket_async_result.handle, new IOSelectorJob (IOOperation.Read, BeginAcceptCallback, e.socket_async_result));
 
                        return true;
                }
 
+               static AsyncCallback AcceptAsyncCallback = new AsyncCallback (ares => {
+                       SocketAsyncEventArgs e = (SocketAsyncEventArgs) ((SocketAsyncResult) ares).AsyncState;
+
+                       if (Interlocked.Exchange (ref e.in_progress, 0) != 1)
+                               throw new InvalidOperationException ("No operation in progress");
+
+                       try {
+                               e.AcceptSocket = e.current_socket.EndAccept (ares);
+                       } catch (SocketException ex) {
+                               e.SocketError = ex.SocketErrorCode;
+                       } catch (ObjectDisposedException) {
+                               e.SocketError = SocketError.OperationAborted;
+                       } finally {
+                               if (e.AcceptSocket == null)
+                                       e.AcceptSocket = new Socket (e.current_socket.AddressFamily, e.current_socket.SocketType, e.current_socket.ProtocolType, null);
+                               e.Complete ();
+                       }
+               });
+
                public IAsyncResult BeginAccept(AsyncCallback callback, object state)
                {
                        ThrowIfDisposedAndClosed ();
@@ -968,13 +984,27 @@ namespace System.Net.Sockets
                        if (!is_bound || !is_listening)
                                throw new InvalidOperationException ();
 
-                       SocketAsyncResult sockares = new SocketAsyncResult (this, state, callback, SocketOperation.Accept);
+                       SocketAsyncResult sockares = new SocketAsyncResult (this, callback, state, SocketOperation.Accept);
 
-                       QueueSocketAsyncResult (readQ, sockares.Worker, sockares);
+                       QueueIOSelectorJob (readQ, sockares.handle, new IOSelectorJob (IOOperation.Read, BeginAcceptCallback, sockares));
 
                        return sockares;
                }
 
+               static IOAsyncCallback BeginAcceptCallback = new IOAsyncCallback (ares => {
+                       SocketAsyncResult sockares = (SocketAsyncResult) ares;
+                       Socket socket = null;
+
+                       try {
+                               socket = sockares.socket.Accept ();
+                       } catch (Exception e) {
+                               sockares.Complete (e);
+                               return;
+                       }
+
+                       sockares.Complete (socket);
+               });
+
                public IAsyncResult BeginAccept (int receiveSize, AsyncCallback callback, object state)
                {
                        ThrowIfDisposedAndClosed ();
@@ -982,14 +1012,14 @@ namespace System.Net.Sockets
                        if (receiveSize < 0)
                                throw new ArgumentOutOfRangeException ("receiveSize", "receiveSize is less than zero");
 
-                       SocketAsyncResult sockares = new SocketAsyncResult (this, state, callback, SocketOperation.AcceptReceive) {
+                       SocketAsyncResult sockares = new SocketAsyncResult (this, callback, state, SocketOperation.AcceptReceive) {
                                Buffer = new byte [receiveSize],
                                Offset = 0,
                                Size = receiveSize,
                                SockFlags = SocketFlags.None,
                        };
 
-                       QueueSocketAsyncResult (readQ, sockares.Worker, sockares);
+                       QueueIOSelectorJob (readQ, sockares.handle, new IOSelectorJob (IOOperation.Read, BeginAcceptReceiveCallback, sockares));
 
                        return sockares;
                }
@@ -1015,8 +1045,8 @@ namespace System.Net.Sockets
                                if (acceptSocket.ProtocolType != ProtocolType.Tcp)
                                        throw new SocketException ((int)SocketError.InvalidArgument);
                        }
-                       
-                       SocketAsyncResult sockares = new SocketAsyncResult (this, state, callback, SocketOperation.AcceptReceive) {
+
+                       SocketAsyncResult sockares = new SocketAsyncResult (this, callback, state, SocketOperation.AcceptReceive) {
                                Buffer = new byte [receiveSize],
                                Offset = 0,
                                Size = receiveSize,
@@ -1024,11 +1054,46 @@ namespace System.Net.Sockets
                                AcceptSocket = acceptSocket,
                        };
 
-                       QueueSocketAsyncResult (readQ, sockares.Worker, sockares);
+                       QueueIOSelectorJob (readQ, sockares.handle, new IOSelectorJob (IOOperation.Read, BeginAcceptReceiveCallback, sockares));
 
                        return sockares;
                }
 
+               static IOAsyncCallback BeginAcceptReceiveCallback = new IOAsyncCallback (ares => {
+                       SocketAsyncResult sockares = (SocketAsyncResult) ares;
+                       Socket acc_socket = null;
+
+                       try {
+                               if (sockares.AcceptSocket == null) {
+                                       acc_socket = sockares.socket.Accept ();
+                               } else {
+                                       acc_socket = sockares.AcceptSocket;
+                                       sockares.socket.Accept (acc_socket);
+                               }
+                       } catch (Exception e) {
+                               sockares.Complete (e);
+                               return;
+                       }
+
+                       /* It seems the MS runtime special-cases 0-length requested receive data.  See bug 464201. */
+                       int total = 0;
+                       if (sockares.Size > 0) {
+                               try {
+                                       SocketError error;
+                                       total = acc_socket.Receive_nochecks (sockares.Buffer, sockares.Offset, sockares.Size, sockares.SockFlags, out error);
+                                       if (error != 0) {
+                                               sockares.Complete (new SocketException ((int) error));
+                                               return;
+                                       }
+                               } catch (Exception e) {
+                                       sockares.Complete (e);
+                                       return;
+                               }
+                       }
+
+                       sockares.Complete (acc_socket, total);
+               });
+
                public Socket EndAccept (IAsyncResult result)
                {
                        int bytes;
@@ -1056,7 +1121,7 @@ namespace System.Net.Sockets
                        buffer = sockares.Buffer;
                        bytesTransferred = sockares.Total;
 
-                       return sockares.Socket;
+                       return sockares.AcceptedSocket;
                }
 
                static SafeSocketHandle Accept_internal (SafeSocketHandle safeHandle, out int error, bool blocking)
@@ -1250,37 +1315,51 @@ namespace System.Net.Sockets
                        if (e.RemoteEndPoint == null)
                                throw new ArgumentNullException ("remoteEP");
 
-                       e.curSocket = this;
-                       e.Worker.Init (this, e, SocketOperation.Connect);
-
-                       SocketAsyncResult result = e.Worker.result;
+                       InitSocketAsyncEventArgs (e, ConnectAsyncCallback, e, SocketOperation.Connect);
 
                        try {
                                IPAddress [] addresses;
-                               IAsyncResult ares;
+                               SocketAsyncResult ares;
 
                                if (!GetCheckedIPs (e, out addresses)) {
-                                       result.EndPoint = e.RemoteEndPoint;
-                                       ares = BeginConnect (e.RemoteEndPoint, SocketAsyncEventArgs.Dispatcher, e);
+                                       e.socket_async_result.EndPoint = e.RemoteEndPoint;
+                                       ares = (SocketAsyncResult) BeginConnect (e.RemoteEndPoint, ConnectAsyncCallback, e);
                                } else {
                                        DnsEndPoint dep = (e.RemoteEndPoint as DnsEndPoint);
-                                       result.Addresses = addresses;
-                                       result.Port = dep.Port;
-                                       ares = BeginConnect (addresses, dep.Port, SocketAsyncEventArgs.Dispatcher, e);
+                                       e.socket_async_result.Addresses = addresses;
+                                       e.socket_async_result.Port = dep.Port;
+                                       ares = (SocketAsyncResult) BeginConnect (addresses, dep.Port, ConnectAsyncCallback, e);
                                }
 
                                if (ares.IsCompleted && ares.CompletedSynchronously) {
-                                       ((SocketAsyncResult) ares).CheckIfThrowDelayedException ();
+                                       ares.CheckIfThrowDelayedException ();
                                        return false;
                                }
                        } catch (Exception exc) {
-                               result.Complete (exc, true);
+                               e.socket_async_result.Complete (exc, true);
                                return false;
                        }
 
                        return true;
                }
 
+               static AsyncCallback ConnectAsyncCallback = new AsyncCallback (ares => {
+                       SocketAsyncEventArgs e = (SocketAsyncEventArgs) ((SocketAsyncResult) ares).AsyncState;
+
+                       if (Interlocked.Exchange (ref e.in_progress, 0) != 1)
+                               throw new InvalidOperationException ("No operation in progress");
+
+                       try {
+                               e.current_socket.EndConnect (ares);
+                       } catch (SocketException se) {
+                               e.SocketError = se.SocketErrorCode;
+                       } catch (ObjectDisposedException) {
+                               e.SocketError = SocketError.OperationAborted;
+                       } finally {
+                               e.Complete ();
+                       }
+               });
+
                public IAsyncResult BeginConnect (IPAddress address, int port, AsyncCallback callback, object state)
                {
                        ThrowIfDisposedAndClosed ();
@@ -1320,7 +1399,7 @@ namespace System.Net.Sockets
                        if (end_point == null)
                                throw new ArgumentNullException ("end_point");
 
-                       SocketAsyncResult sockares = new SocketAsyncResult (this, state, callback, SocketOperation.Connect) {
+                       SocketAsyncResult sockares = new SocketAsyncResult (this, callback, state, SocketOperation.Connect) {
                                EndPoint = end_point,
                        };
 
@@ -1375,7 +1454,7 @@ namespace System.Net.Sockets
                        is_bound = false;
                        connect_in_progress = true;
 
-                       socket_pool_queue (SocketAsyncWorker.Dispatcher, sockares);
+                       IOSelector.Add (sockares.handle, new IOSelectorJob (IOOperation.Write, BeginConnectCallback, sockares));
 
                        return sockares;
                }
@@ -1395,7 +1474,7 @@ namespace System.Net.Sockets
                        if (is_listening)
                                throw new InvalidOperationException ();
 
-                       SocketAsyncResult sockares = new SocketAsyncResult (this, state, callback, SocketOperation.Connect) {
+                       SocketAsyncResult sockares = new SocketAsyncResult (this, callback, state, SocketOperation.Connect) {
                                Addresses = addresses,
                                Port = port,
                        };
@@ -1407,17 +1486,21 @@ namespace System.Net.Sockets
 
                internal IAsyncResult BeginMConnect (SocketAsyncResult sockares)
                {
-                       IAsyncResult ares = null;
+                       SocketAsyncResult ares = null;
                        Exception exc = null;
+                       AsyncCallback callback;
 
                        for (int i = sockares.CurrentAddress; i < sockares.Addresses.Length; i++) {
                                try {
                                        sockares.CurrentAddress++;
 
-                                       ares = BeginConnect (new IPEndPoint (sockares.Addresses [i], sockares.Port), null, sockares);
+                                       ares = (SocketAsyncResult) BeginConnect (new IPEndPoint (sockares.Addresses [i], sockares.Port), null, sockares);
                                        if (ares.IsCompleted && ares.CompletedSynchronously) {
-                                               ((SocketAsyncResult) ares).CheckIfThrowDelayedException ();
-                                               sockares.DoMConnectCallback ();
+                                               ares.CheckIfThrowDelayedException ();
+
+                                               callback = ares.AsyncCallback;
+                                               if (callback != null)
+                                                       ThreadPool.UnsafeQueueUserWorkItem (_ => callback (ares), null);
                                        }
 
                                        break;
@@ -1433,6 +1516,57 @@ namespace System.Net.Sockets
                        return sockares;
                }
 
+               static IOAsyncCallback BeginConnectCallback = new IOAsyncCallback (ares => {
+                       SocketAsyncResult sockares = (SocketAsyncResult) ares;
+
+                       if (sockares.EndPoint == null) {
+                               sockares.Complete (new SocketException ((int)SocketError.AddressNotAvailable));
+                               return;
+                       }
+
+                       SocketAsyncResult mconnect = sockares.AsyncState as SocketAsyncResult;
+                       bool is_mconnect = mconnect != null && mconnect.Addresses != null;
+
+                       try {
+                               EndPoint ep = sockares.EndPoint;
+                               int error_code = (int) sockares.socket.GetSocketOption (SocketOptionLevel.Socket, SocketOptionName.Error);
+
+                               if (error_code == 0) {
+                                       if (is_mconnect)
+                                               sockares = mconnect;
+
+                                       sockares.socket.seed_endpoint = ep;
+                                       sockares.socket.is_connected = true;
+                                       sockares.socket.is_bound = true;
+                                       sockares.socket.connect_in_progress = false;
+                                       sockares.error = 0;
+                                       sockares.Complete ();
+                                       return;
+                               }
+
+                               if (!is_mconnect) {
+                                       sockares.socket.connect_in_progress = false;
+                                       sockares.Complete (new SocketException (error_code));
+                                       return;
+                               }
+
+                               if (mconnect.CurrentAddress >= mconnect.Addresses.Length) {
+                                       mconnect.Complete (new SocketException (error_code));
+                                       return;
+                               }
+
+                               mconnect.socket.BeginMConnect (mconnect);
+                       } catch (Exception e) {
+                               sockares.socket.connect_in_progress = false;
+
+                               if (is_mconnect)
+                                       sockares = mconnect;
+
+                               sockares.Complete (e);
+                               return;
+                       }
+               });
+
                public void EndConnect (IAsyncResult result)
                {
                        ThrowIfDisposedAndClosed ();
@@ -1513,30 +1647,56 @@ namespace System.Net.Sockets
 
                        ThrowIfDisposedAndClosed ();
 
-                       e.curSocket = this;
-                       e.Worker.Init (this, e, SocketOperation.Disconnect);
-
-                       SocketAsyncResult sockares = e.Worker.result;
+                       InitSocketAsyncEventArgs (e, DisconnectAsyncCallback, e, SocketOperation.Disconnect);
 
-                       socket_pool_queue (SocketAsyncWorker.Dispatcher, sockares);
+                       IOSelector.Add (e.socket_async_result.handle, new IOSelectorJob (IOOperation.Write, BeginDisconnectCallback, e.socket_async_result));
 
                        return true;
                }
 
+               static AsyncCallback DisconnectAsyncCallback = new AsyncCallback (ares => {
+                       SocketAsyncEventArgs e = (SocketAsyncEventArgs) ((SocketAsyncResult) ares).AsyncState;
+
+                       if (Interlocked.Exchange (ref e.in_progress, 0) != 1)
+                               throw new InvalidOperationException ("No operation in progress");
+
+                       try {
+                               e.current_socket.EndDisconnect (ares);
+                       } catch (SocketException ex) {
+                               e.SocketError = ex.SocketErrorCode;
+                       } catch (ObjectDisposedException) {
+                               e.SocketError = SocketError.OperationAborted;
+                       } finally {
+                               e.Complete ();
+                       }
+               });
 
                public IAsyncResult BeginDisconnect (bool reuseSocket, AsyncCallback callback, object state)
                {
                        ThrowIfDisposedAndClosed ();
 
-                       SocketAsyncResult sockares = new SocketAsyncResult (this, state, callback, SocketOperation.Disconnect) {
+                       SocketAsyncResult sockares = new SocketAsyncResult (this, callback, state, SocketOperation.Disconnect) {
                                ReuseSocket = reuseSocket,
                        };
 
-                       socket_pool_queue (SocketAsyncWorker.Dispatcher, sockares);
+                       IOSelector.Add (sockares.handle, new IOSelectorJob (IOOperation.Write, BeginDisconnectCallback, sockares));
 
                        return sockares;
                }
 
+               static IOAsyncCallback BeginDisconnectCallback = new IOAsyncCallback (ares => {
+                       SocketAsyncResult sockares = (SocketAsyncResult) ares;
+
+                       try {
+                               sockares.socket.Disconnect (sockares.ReuseSocket);
+                       } catch (Exception e) {
+                               sockares.Complete (e);
+                               return;
+                       }
+
+                       sockares.Complete ();
+               });
+
                public void EndDisconnect (IAsyncResult asyncResult)
                {
                        ThrowIfDisposedAndClosed ();
@@ -1714,40 +1874,56 @@ namespace System.Net.Sockets
                        if (e.Buffer == null && e.BufferList == null)
                                throw new NullReferenceException ("Either e.Buffer or e.BufferList must be valid buffers.");
 
-                       e.curSocket = this;
-                       e.Worker.Init (this, e, e.Buffer != null ? SocketOperation.Receive : SocketOperation.ReceiveGeneric);
+                       if (e.Buffer == null) {
+                               InitSocketAsyncEventArgs (e, ReceiveAsyncCallback, e, SocketOperation.ReceiveGeneric);
 
-                       SocketAsyncResult sockares = e.Worker.result;
-                       sockares.SockFlags = e.SocketFlags;
+                               e.socket_async_result.Buffers = e.BufferList;
 
-                       if (e.Buffer != null) {
-                               sockares.Buffer = e.Buffer;
-                               sockares.Offset = e.Offset;
-                               sockares.Size = e.Count;
+                               QueueIOSelectorJob (readQ, e.socket_async_result.handle, new IOSelectorJob (IOOperation.Read, BeginReceiveGenericCallback, e.socket_async_result));
                        } else {
-                               sockares.Buffers = e.BufferList;
-                       }
+                               InitSocketAsyncEventArgs (e, ReceiveAsyncCallback, e, SocketOperation.Receive);
 
-                       // Receive takes care of ReceiveGeneric
-                       QueueSocketAsyncResult (readQ, e.Worker, sockares);
+                               e.socket_async_result.Buffer = e.Buffer;
+                               e.socket_async_result.Offset = e.Offset;
+                               e.socket_async_result.Size = e.Count;
+
+                               QueueIOSelectorJob (readQ, e.socket_async_result.handle, new IOSelectorJob (IOOperation.Read, BeginReceiveCallback, e.socket_async_result));
+                       }
 
                        return true;
                }
 
+               static AsyncCallback ReceiveAsyncCallback = new AsyncCallback (ares => {
+                       SocketAsyncEventArgs e = (SocketAsyncEventArgs) ((SocketAsyncResult) ares).AsyncState;
+
+                       if (Interlocked.Exchange (ref e.in_progress, 0) != 1)
+                               throw new InvalidOperationException ("No operation in progress");
+
+                       try {
+                               e.BytesTransferred = e.current_socket.EndReceive (ares);
+                       } catch (SocketException se){
+                               e.SocketError = se.SocketErrorCode;
+                       } catch (ObjectDisposedException) {
+                               e.SocketError = SocketError.OperationAborted;
+                       } finally {
+                               e.Complete ();
+                       }
+               });
+
                public IAsyncResult BeginReceive (byte[] buffer, int offset, int size, SocketFlags socket_flags, AsyncCallback callback, object state)
                {
                        ThrowIfDisposedAndClosed ();
                        ThrowIfBufferNull (buffer);
                        ThrowIfBufferOutOfRange (buffer, offset, size);
 
-                       SocketAsyncResult sockares = new SocketAsyncResult (this, state, callback, SocketOperation.Receive) {
+                       SocketAsyncResult sockares = new SocketAsyncResult (this, callback, state, SocketOperation.Receive) {
                                Buffer = buffer,
                                Offset = offset,
                                Size = size,
                                SockFlags = socket_flags,
                        };
 
-                       QueueSocketAsyncResult (readQ, sockares.Worker, sockares);
+                       QueueIOSelectorJob (readQ, sockares.handle, new IOSelectorJob (IOOperation.Read, BeginReceiveCallback, sockares));
 
                        return sockares;
                }
@@ -1761,6 +1937,20 @@ namespace System.Net.Sockets
                        return BeginReceive (buffer, offset, size, flags, callback, state);
                }
 
+               static IOAsyncCallback BeginReceiveCallback = new IOAsyncCallback (ares => {
+                       SocketAsyncResult sockares = (SocketAsyncResult) ares;
+                       int total = 0;
+
+                       try {
+                               total = Receive_internal (sockares.socket.safe_handle, sockares.Buffer, sockares.Offset, sockares.Size, sockares.SockFlags, out sockares.error);
+                       } catch (Exception e) {
+                               sockares.Complete (e);
+                               return;
+                       }
+
+                       sockares.Complete (total);
+               });
+
                [CLSCompliant (false)]
                public IAsyncResult BeginReceive (IList<ArraySegment<byte>> buffers, SocketFlags socketFlags, AsyncCallback callback, object state)
                {
@@ -1769,12 +1959,12 @@ namespace System.Net.Sockets
                        if (buffers == null)
                                throw new ArgumentNullException ("buffers");
 
-                       SocketAsyncResult sockares = new SocketAsyncResult (this, state, callback, SocketOperation.ReceiveGeneric) {
+                       SocketAsyncResult sockares = new SocketAsyncResult (this, callback, state, SocketOperation.ReceiveGeneric) {
                                Buffers = buffers,
                                SockFlags = socketFlags,
                        };
 
-                       QueueSocketAsyncResult (readQ, sockares.Worker, sockares);
+                       QueueIOSelectorJob (readQ, sockares.handle, new IOSelectorJob (IOOperation.Read, BeginReceiveGenericCallback, sockares));
 
                        return sockares;
                }
@@ -1787,6 +1977,20 @@ namespace System.Net.Sockets
                        return BeginReceive (buffers, socketFlags, callback, state);
                }
 
+               static IOAsyncCallback BeginReceiveGenericCallback = new IOAsyncCallback (ares => {
+                       SocketAsyncResult sockares = (SocketAsyncResult) ares;
+                       int total = 0;
+
+                       try {
+                               total = sockares.socket.Receive (sockares.Buffers, sockares.SockFlags);
+                       } catch (Exception e) {
+                               sockares.Complete (e);
+                               return;
+                       }
+
+                       sockares.Complete (total);
+               });
+
                public int EndReceive (IAsyncResult result)
                {
                        SocketError error;
@@ -1818,7 +2022,7 @@ namespace System.Net.Sockets
                        return sockares.Total;
                }
 
-               internal int Receive_nochecks (byte [] buf, int offset, int size, SocketFlags flags, out SocketError error)
+               int Receive_nochecks (byte [] buf, int offset, int size, SocketFlags flags, out SocketError error)
                {
                        int nativeError;
                        int ret = Receive_internal (safe_handle, buf, offset, size, flags, out nativeError);
@@ -1847,7 +2051,7 @@ namespace System.Net.Sockets
                [MethodImplAttribute (MethodImplOptions.InternalCall)]
                extern static int Receive_internal (IntPtr sock, WSABUF[] bufarray, SocketFlags flags, out int error);
 
-               internal static int Receive_internal (SafeSocketHandle safeHandle, byte[] buffer, int offset, int count, SocketFlags flags, out int error)
+               static int Receive_internal (SafeSocketHandle safeHandle, byte[] buffer, int offset, int count, SocketFlags flags, out int error)
                {
                        try {
                                safeHandle.RegisterForBlockingSyscall ();
@@ -1868,24 +2072,16 @@ namespace System.Net.Sockets
                {
                        ThrowIfDisposedAndClosed ();
                        ThrowIfBufferNull (buffer);
-                       ThrowIfBufferOutOfRange (buffer, 0, buffer.Length);
 
-                       if (remoteEP == null)
-                               throw new ArgumentNullException ("remoteEP");
-
-                       return ReceiveFrom_nochecks (buffer, 0, buffer.Length, SocketFlags.None, ref remoteEP);
+                       return ReceiveFrom (buffer, 0, buffer.Length, SocketFlags.None, ref remoteEP);
                }
 
                public int ReceiveFrom (byte [] buffer, SocketFlags flags, ref EndPoint remoteEP)
                {
                        ThrowIfDisposedAndClosed ();
                        ThrowIfBufferNull (buffer);
-                       ThrowIfBufferOutOfRange (buffer, 0, buffer.Length);
-
-                       if (remoteEP == null)
-                               throw new ArgumentNullException ("remoteEP");
 
-                       return ReceiveFrom_nochecks (buffer, 0, buffer.Length, flags, ref remoteEP);
+                       return ReceiveFrom (buffer, 0, buffer.Length, flags, ref remoteEP);
                }
 
                public int ReceiveFrom (byte [] buffer, int size, SocketFlags flags, ref EndPoint remoteEP)
@@ -1894,10 +2090,7 @@ namespace System.Net.Sockets
                        ThrowIfBufferNull (buffer);
                        ThrowIfBufferOutOfRange (buffer, 0, size);
 
-                       if (remoteEP == null)
-                               throw new ArgumentNullException ("remoteEP");
-
-                       return ReceiveFrom_nochecks (buffer, 0, size, flags, ref remoteEP);
+                       return ReceiveFrom (buffer, 0, size, flags, ref remoteEP);
                }
 
                public int ReceiveFrom (byte [] buffer, int offset, int size, SocketFlags flags, ref EndPoint remoteEP)
@@ -1909,7 +2102,8 @@ namespace System.Net.Sockets
                        if (remoteEP == null)
                                throw new ArgumentNullException ("remoteEP");
 
-                       return ReceiveFrom_nochecks (buffer, offset, size, flags, ref remoteEP);
+                       int error;
+                       return ReceiveFrom_nochecks_exc (buffer, offset, size, flags, ref remoteEP, true, out error);
                }
 
                public bool ReceiveFromAsync (SocketAsyncEventArgs e)
@@ -1922,21 +2116,36 @@ namespace System.Net.Sockets
                        if (e.RemoteEndPoint == null)
                                throw new ArgumentNullException ("remoteEP", "Value cannot be null.");
 
-                       e.curSocket = this;
-                       e.Worker.Init (this, e, SocketOperation.ReceiveFrom);
+                       InitSocketAsyncEventArgs (e, ReceiveFromAsyncCallback, e, SocketOperation.ReceiveFrom);
 
-                       SocketAsyncResult sockares = e.Worker.result;
-                       sockares.Buffer = e.Buffer;
-                       sockares.Offset = e.Offset;
-                       sockares.Size = e.Count;
-                       sockares.EndPoint = e.RemoteEndPoint;
-                       sockares.SockFlags = e.SocketFlags;
+                       e.socket_async_result.Buffer = e.Buffer;
+                       e.socket_async_result.Offset = e.Offset;
+                       e.socket_async_result.Size = e.Count;
+                       e.socket_async_result.EndPoint = e.RemoteEndPoint;
+                       e.socket_async_result.SockFlags = e.SocketFlags;
 
-                       QueueSocketAsyncResult (readQ, e.Worker, sockares);
+                       QueueIOSelectorJob (readQ, e.socket_async_result.handle, new IOSelectorJob (IOOperation.Read, BeginReceiveFromCallback, e.socket_async_result));
 
                        return true;
                }
 
+               static AsyncCallback ReceiveFromAsyncCallback = new AsyncCallback (ares => {
+                       SocketAsyncEventArgs e = (SocketAsyncEventArgs) ((SocketAsyncResult) ares).AsyncState;
+
+                       if (Interlocked.Exchange (ref e.in_progress, 0) != 1)
+                               throw new InvalidOperationException ("No operation in progress");
+
+                       try {
+                               e.BytesTransferred = e.current_socket.EndReceiveFrom (ares, ref e.remote_ep);
+                       } catch (SocketException ex) {
+                               e.SocketError = ex.SocketErrorCode;
+                       } catch (ObjectDisposedException) {
+                               e.SocketError = SocketError.OperationAborted;
+                       } finally {
+                               e.Complete ();
+                       }
+               });
+
                public IAsyncResult BeginReceiveFrom (byte[] buffer, int offset, int size, SocketFlags socket_flags, ref EndPoint remote_end, AsyncCallback callback, object state)
                {
                        ThrowIfDisposedAndClosed ();
@@ -1946,7 +2155,7 @@ namespace System.Net.Sockets
                        if (remote_end == null)
                                throw new ArgumentNullException ("remote_end");
 
-                       SocketAsyncResult sockares = new SocketAsyncResult (this, state, callback, SocketOperation.ReceiveFrom) {
+                       SocketAsyncResult sockares = new SocketAsyncResult (this, callback, state, SocketOperation.ReceiveFrom) {
                                Buffer = buffer,
                                Offset = offset,
                                Size = size,
@@ -1954,11 +2163,26 @@ namespace System.Net.Sockets
                                EndPoint = remote_end,
                        };
 
-                       QueueSocketAsyncResult (readQ, sockares.Worker, sockares);
+                       QueueIOSelectorJob (readQ, sockares.handle, new IOSelectorJob (IOOperation.Read, BeginReceiveFromCallback, sockares));
 
                        return sockares;
                }
 
+               static IOAsyncCallback BeginReceiveFromCallback = new IOAsyncCallback (ares => {
+                       SocketAsyncResult sockares = (SocketAsyncResult) ares;
+                       int total = 0;
+
+                       try {
+                               int error;
+                               total = sockares.socket.ReceiveFrom_nochecks_exc (sockares.Buffer, sockares.Offset, sockares.Size, sockares.SockFlags, ref sockares.EndPoint, true, out error);
+                       } catch (Exception e) {
+                               sockares.Complete (e);
+                               return;
+                       }
+
+                       sockares.Complete (total);
+               });
+
                public int EndReceiveFrom(IAsyncResult result, ref EndPoint end_point)
                {
                        ThrowIfDisposedAndClosed ();
@@ -1978,12 +2202,6 @@ namespace System.Net.Sockets
                        return sockares.Total;
                }
 
-               internal int ReceiveFrom_nochecks (byte [] buf, int offset, int size, SocketFlags flags, ref EndPoint remote_end)
-               {
-                       int error;
-                       return ReceiveFrom_nochecks_exc (buf, offset, size, flags, ref remote_end, true, out error);
-               }
-
                internal int ReceiveFrom_nochecks_exc (byte [] buf, int offset, int size, SocketFlags flags, ref EndPoint remote_end, bool throwOnError, out int error)
                {
                        SocketAddress sockaddr = remote_end.Serialize();
@@ -2229,7 +2447,7 @@ namespace System.Net.Sockets
                        return ret;
                }
 
-               internal int Send_nochecks (byte [] buf, int offset, int size, SocketFlags flags, out SocketError error)
+               int Send_nochecks (byte [] buf, int offset, int size, SocketFlags flags, out SocketError error)
                {
                        if (size == 0) {
                                error = SocketError.Success;
@@ -2260,26 +2478,42 @@ namespace System.Net.Sockets
                        if (e.Buffer == null && e.BufferList == null)
                                throw new NullReferenceException ("Either e.Buffer or e.BufferList must be valid buffers.");
 
-                       e.curSocket = this;
-                       e.Worker.Init (this, e, e.Buffer != null ? SocketOperation.Send : SocketOperation.SendGeneric);
+                       if (e.Buffer == null) {
+                               InitSocketAsyncEventArgs (e, SendAsyncCallback, e, SocketOperation.SendGeneric);
 
-                       SocketAsyncResult sockares = e.Worker.result;
-                       sockares.SockFlags = e.SocketFlags;
+                               e.socket_async_result.Buffers = e.BufferList;
 
-                       if (e.Buffer != null) {
-                               sockares.Buffer = e.Buffer;
-                               sockares.Offset = e.Offset;
-                               sockares.Size = e.Count;
+                               QueueIOSelectorJob (writeQ, e.socket_async_result.handle, new IOSelectorJob (IOOperation.Write, BeginSendGenericCallback, e.socket_async_result));
                        } else {
-                               sockares.Buffers = e.BufferList;
-                       }
+                               InitSocketAsyncEventArgs (e, SendAsyncCallback, e, SocketOperation.Send);
 
-                       // Send takes care of SendGeneric
-                       QueueSocketAsyncResult (writeQ, e.Worker, sockares);
+                               e.socket_async_result.Buffer = e.Buffer;
+                               e.socket_async_result.Offset = e.Offset;
+                               e.socket_async_result.Size = e.Count;
+
+                               QueueIOSelectorJob (writeQ, e.socket_async_result.handle, new IOSelectorJob (IOOperation.Write, s => BeginSendCallback ((SocketAsyncResult) s, 0), e.socket_async_result));
+                       }
 
                        return true;
                }
 
+               static AsyncCallback SendAsyncCallback = new AsyncCallback (ares => {
+                       SocketAsyncEventArgs e = (SocketAsyncEventArgs) ((SocketAsyncResult) ares).AsyncState;
+
+                       if (Interlocked.Exchange (ref e.in_progress, 0) != 1)
+                               throw new InvalidOperationException ("No operation in progress");
+
+                       try {
+                               e.BytesTransferred = e.current_socket.EndSend (ares);
+                       } catch (SocketException se){
+                               e.SocketError = se.SocketErrorCode;
+                       } catch (ObjectDisposedException) {
+                               e.SocketError = SocketError.OperationAborted;
+                       } finally {
+                               e.Complete ();
+                       }
+               });
+
                public IAsyncResult BeginSend (byte[] buffer, int offset, int size, SocketFlags socketFlags, out SocketError errorCode, AsyncCallback callback, object state)
                {
                        if (!is_connected) {
@@ -2300,18 +2534,50 @@ namespace System.Net.Sockets
                        if (!is_connected)
                                throw new SocketException ((int)SocketError.NotConnected);
 
-                       SocketAsyncResult sockares = new SocketAsyncResult (this, state, callback, SocketOperation.Send) {
+                       SocketAsyncResult sockares = new SocketAsyncResult (this, callback, state, SocketOperation.Send) {
                                Buffer = buffer,
                                Offset = offset,
                                Size = size,
                                SockFlags = socket_flags,
                        };
 
-                       QueueSocketAsyncResult (writeQ, sockares.Worker, sockares);
+                       QueueIOSelectorJob (writeQ, sockares.handle, new IOSelectorJob (IOOperation.Write, s => BeginSendCallback ((SocketAsyncResult) s, 0), sockares));
 
                        return sockares;
                }
 
+               static void BeginSendCallback (SocketAsyncResult sockares, int sent_so_far)
+               {
+                       int total = 0;
+
+                       try {
+                               total = Socket.Send_internal (sockares.socket.safe_handle, sockares.Buffer, sockares.Offset, sockares.Size, sockares.SockFlags, out sockares.error);
+                       } catch (Exception e) {
+                               sockares.Complete (e);
+                               return;
+                       }
+
+                       if (sockares.error == 0) {
+                               sent_so_far += total;
+                               sockares.Offset += total;
+                               sockares.Size -= total;
+
+                               if (sockares.socket.is_disposed) {
+                                       sockares.Complete (total);
+                                       return;
+                               }
+
+                               if (sockares.Size > 0) {
+                                       IOSelector.Add (sockares.handle, new IOSelectorJob (IOOperation.Write, s => BeginSendCallback ((SocketAsyncResult) s, sent_so_far), sockares));
+                                       return; // Have to finish writing everything. See bug #74475.
+                               }
+
+                               sockares.Total = sent_so_far;
+                       }
+
+                       sockares.Complete (total);
+               }
+
                public IAsyncResult BeginSend (IList<ArraySegment<byte>> buffers, SocketFlags socketFlags, AsyncCallback callback, object state)
                {
                        ThrowIfDisposedAndClosed ();
@@ -2321,12 +2587,12 @@ namespace System.Net.Sockets
                        if (!is_connected)
                                throw new SocketException ((int)SocketError.NotConnected);
 
-                       SocketAsyncResult sockares = new SocketAsyncResult (this, state, callback, SocketOperation.SendGeneric) {
+                       SocketAsyncResult sockares = new SocketAsyncResult (this, callback, state, SocketOperation.SendGeneric) {
                                Buffers = buffers,
                                SockFlags = socketFlags,
                        };
 
-                       QueueSocketAsyncResult (writeQ, sockares.Worker, sockares);
+                       QueueIOSelectorJob (writeQ, sockares.handle, new IOSelectorJob (IOOperation.Write, BeginSendGenericCallback, sockares));
 
                        return sockares;
                }
@@ -2343,6 +2609,20 @@ namespace System.Net.Sockets
                        return BeginSend (buffers, socketFlags, callback, state);
                }
 
+               static IOAsyncCallback BeginSendGenericCallback = new IOAsyncCallback (ares => {
+                       SocketAsyncResult sockares = (SocketAsyncResult) ares;
+                       int total = 0;
+
+                       try {
+                               total = sockares.socket.Send (sockares.Buffers, sockares.SockFlags);
+                       } catch (Exception e) {
+                               sockares.Complete (e);
+                               return;
+                       }
+
+                       sockares.Complete (total);
+               });
+
                public int EndSend (IAsyncResult result)
                {
                        SocketError error;
@@ -2389,7 +2669,7 @@ namespace System.Net.Sockets
                [MethodImplAttribute (MethodImplOptions.InternalCall)]
                extern static int Send_internal (IntPtr sock, WSABUF[] bufarray, SocketFlags flags, out int error);
 
-               internal static int Send_internal (SafeSocketHandle safeHandle, byte[] buf, int offset, int count, SocketFlags flags, out int error)
+               static int Send_internal (SafeSocketHandle safeHandle, byte[] buf, int offset, int count, SocketFlags flags, out int error)
                {
                        try {
                                safeHandle.RegisterForBlockingSyscall ();
@@ -2410,36 +2690,21 @@ namespace System.Net.Sockets
                {
                        ThrowIfDisposedAndClosed ();
                        ThrowIfBufferNull (buffer);
-                       ThrowIfBufferOutOfRange (buffer, 0, buffer.Length);
-
-                       if (remote_end == null)
-                               throw new ArgumentNullException ("remote_end");
 
-                       return SendTo_nochecks (buffer, 0, buffer.Length, SocketFlags.None, remote_end);
+                       return SendTo (buffer, 0, buffer.Length, SocketFlags.None, remote_end);
                }
 
                public int SendTo (byte [] buffer, SocketFlags flags, EndPoint remote_end)
                {
                        ThrowIfDisposedAndClosed ();
                        ThrowIfBufferNull (buffer);
-                       ThrowIfBufferOutOfRange (buffer, 0, buffer.Length);
 
-                       if (remote_end == null)
-                               throw new ArgumentNullException ("remote_end");
-
-                       return SendTo_nochecks (buffer, 0, buffer.Length, flags, remote_end);
+                       return SendTo (buffer, 0, buffer.Length, flags, remote_end);
                }
 
                public int SendTo (byte [] buffer, int size, SocketFlags flags, EndPoint remote_end)
                {
-                       ThrowIfDisposedAndClosed ();
-                       ThrowIfBufferNull (buffer);
-                       ThrowIfBufferOutOfRange (buffer, 0, size);
-
-                       if (remote_end == null)
-                               throw new ArgumentNullException ("remote_end");
-
-                       return SendTo_nochecks (buffer, 0, size, flags, remote_end);
+                       return SendTo (buffer, 0, size, flags, remote_end);
                }
 
                public int SendTo (byte [] buffer, int offset, int size, SocketFlags flags, EndPoint remote_end)
@@ -2454,25 +2719,6 @@ namespace System.Net.Sockets
                        return SendTo_nochecks (buffer, offset, size, flags, remote_end);
                }
 
-               internal int SendTo_nochecks (byte [] buffer, int offset, int size, SocketFlags flags, EndPoint remote_end)
-               {
-                       int error;
-                       int ret = SendTo_internal (safe_handle, buffer, offset, size, flags, remote_end.Serialize (), out error);
-
-                       SocketError err = (SocketError) error;
-                       if (err != 0) {
-                               if (err != SocketError.WouldBlock && err != SocketError.InProgress)
-                                       is_connected = false;
-                               throw new SocketException (error);
-                       }
-
-                       is_connected = true;
-                       is_bound = true;
-                       seed_endpoint = remote_end;
-
-                       return ret;
-               }
-
                public bool SendToAsync (SocketAsyncEventArgs e)
                {
                        // NO check is made whether e != null in MS.NET (NRE is thrown in such case)
@@ -2484,21 +2730,35 @@ namespace System.Net.Sockets
                        if (e.RemoteEndPoint == null)
                                throw new ArgumentNullException ("remoteEP", "Value cannot be null.");
 
-                       e.curSocket = this;
-                       e.Worker.Init (this, e, SocketOperation.SendTo);
+                       InitSocketAsyncEventArgs (e, SendToAsyncCallback, e, SocketOperation.SendTo);
 
-                       SocketAsyncResult sockares = e.Worker.result;
-                       sockares.Buffer = e.Buffer;
-                       sockares.Offset = e.Offset;
-                       sockares.Size = e.Count;
-                       sockares.SockFlags = e.SocketFlags;
-                       sockares.EndPoint = e.RemoteEndPoint;
+                       e.socket_async_result.Buffer = e.Buffer;
+                       e.socket_async_result.Offset = e.Offset;
+                       e.socket_async_result.Size = e.Count;
+                       e.socket_async_result.SockFlags = e.SocketFlags;
+                       e.socket_async_result.EndPoint = e.RemoteEndPoint;
 
-                       QueueSocketAsyncResult (writeQ, e.Worker, sockares);
+                       QueueIOSelectorJob (writeQ, e.socket_async_result.handle, new IOSelectorJob (IOOperation.Write, s => BeginSendToCallback ((SocketAsyncResult) s, 0), e.socket_async_result));
 
                        return true;
                }
 
+               static AsyncCallback SendToAsyncCallback = new AsyncCallback (ares => {
+                       SocketAsyncEventArgs e = (SocketAsyncEventArgs) ((SocketAsyncResult) ares).AsyncState;
+
+                       if (Interlocked.Exchange (ref e.in_progress, 0) != 1)
+                               throw new InvalidOperationException ("No operation in progress");
+
+                       try {
+                               e.BytesTransferred = e.current_socket.EndSendTo (ares);
+                       } catch (SocketException ex) {
+                               e.SocketError = ex.SocketErrorCode;
+                       } catch (ObjectDisposedException) {
+                               e.SocketError = SocketError.OperationAborted;
+                       } finally {
+                               e.Complete ();
+                       }
+               });
 
                public IAsyncResult BeginSendTo(byte[] buffer, int offset, int size, SocketFlags socket_flags, EndPoint remote_end, AsyncCallback callback, object state)
                {
@@ -2506,7 +2766,7 @@ namespace System.Net.Sockets
                        ThrowIfBufferNull (buffer);
                        ThrowIfBufferOutOfRange (buffer, offset, size);
 
-                       SocketAsyncResult sockares = new SocketAsyncResult (this, state, callback, SocketOperation.SendTo) {
+                       SocketAsyncResult sockares = new SocketAsyncResult (this, callback, state, SocketOperation.SendTo) {
                                Buffer = buffer,
                                Offset = offset,
                                Size = size,
@@ -2514,11 +2774,37 @@ namespace System.Net.Sockets
                                EndPoint = remote_end,
                        };
 
-                       QueueSocketAsyncResult (writeQ, sockares.Worker, sockares);
+                       QueueIOSelectorJob (writeQ, sockares.handle, new IOSelectorJob (IOOperation.Write, s => BeginSendToCallback ((SocketAsyncResult) s, 0), sockares));
 
                        return sockares;
                }
 
+               static void BeginSendToCallback (SocketAsyncResult sockares, int sent_so_far)
+               {
+                       int total = 0;
+                       try {
+                               total = sockares.socket.SendTo_nochecks (sockares.Buffer, sockares.Offset, sockares.Size, sockares.SockFlags, sockares.EndPoint);
+
+                               if (sockares.error == 0) {
+                                       sent_so_far += total;
+                                       sockares.Offset += total;
+                                       sockares.Size -= total;
+                               }
+
+                               if (sockares.Size > 0) {
+                                       IOSelector.Add (sockares.handle, new IOSelectorJob (IOOperation.Write, s => BeginSendToCallback ((SocketAsyncResult) s, sent_so_far), sockares));
+                                       return; // Have to finish writing everything. See bug #74475.
+                               }
+
+                               sockares.Total = sent_so_far;
+                       } catch (Exception e) {
+                               sockares.Complete (e);
+                               return;
+                       }
+
+                       sockares.Complete ();
+               }
+
                public int EndSendTo (IAsyncResult result)
                {
                        ThrowIfDisposedAndClosed ();
@@ -2533,6 +2819,25 @@ namespace System.Net.Sockets
                        return sockares.Total;
                }
 
+               int SendTo_nochecks (byte [] buffer, int offset, int size, SocketFlags flags, EndPoint remote_end)
+               {
+                       int error;
+                       int ret = SendTo_internal (safe_handle, buffer, offset, size, flags, remote_end.Serialize (), out error);
+
+                       SocketError err = (SocketError) error;
+                       if (err != 0) {
+                               if (err != SocketError.WouldBlock && err != SocketError.InProgress)
+                                       is_connected = false;
+                               throw new SocketException (error);
+                       }
+
+                       is_connected = true;
+                       is_bound = true;
+                       seed_endpoint = remote_end;
+
+                       return ret;
+               }
+
                static int SendTo_internal (SafeSocketHandle safeHandle, byte[] buffer, int offset, int count, SocketFlags flags, SocketAddress sa, out int error)
                {
                        try {
@@ -3097,16 +3402,50 @@ namespace System.Net.Sockets
                        return sockares;
                }
 
-               void QueueSocketAsyncResult (Queue<SocketAsyncWorker> queue, SocketAsyncWorker worker, SocketAsyncResult sockares)
+               void QueueIOSelectorJob (Queue<KeyValuePair<IntPtr, IOSelectorJob>> queue, IntPtr handle, IOSelectorJob job)
                {
                        int count;
                        lock (queue) {
-                               queue.Enqueue (worker);
+                               queue.Enqueue (new KeyValuePair<IntPtr, IOSelectorJob> (handle, job));
                                count = queue.Count;
                        }
 
                        if (count == 1)
-                               socket_pool_queue (SocketAsyncWorker.Dispatcher, sockares);
+                               IOSelector.Add (handle, job);
+               }
+
+               void InitSocketAsyncEventArgs (SocketAsyncEventArgs e, AsyncCallback callback, object state, SocketOperation operation)
+               {
+                       e.socket_async_result.Init (this, callback, state, operation);
+
+                       e.current_socket = this;
+                       e.SetLastOperation (SocketOperationToSocketAsyncOperation (operation));
+                       e.SocketError = SocketError.Success;
+                       e.BytesTransferred = 0;
+               }
+
+               SocketAsyncOperation SocketOperationToSocketAsyncOperation (SocketOperation op)
+               {
+                       switch (op) {
+                       case SocketOperation.Connect:
+                               return SocketAsyncOperation.Connect;
+                       case SocketOperation.Accept:
+                               return SocketAsyncOperation.Accept;
+                       case SocketOperation.Disconnect:
+                               return SocketAsyncOperation.Disconnect;
+                       case SocketOperation.Receive:
+                       case SocketOperation.ReceiveGeneric:
+                               return SocketAsyncOperation.Receive;
+                       case SocketOperation.ReceiveFrom:
+                               return SocketAsyncOperation.ReceiveFrom;
+                       case SocketOperation.Send:
+                       case SocketOperation.SendGeneric:
+                               return SocketAsyncOperation.Send;
+                       case SocketOperation.SendTo:
+                               return SocketAsyncOperation.SendTo;
+                       default:
+                               throw new NotImplementedException (String.Format ("Operation {0} is not implemented", op));
+                       }
                }
 
                [StructLayout (LayoutKind.Sequential)]
@@ -3117,9 +3456,6 @@ namespace System.Net.Sockets
 
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                internal static extern void cancel_blocking_socket_operation (Thread thread);
-
-               [MethodImplAttribute(MethodImplOptions.InternalCall)]
-               internal static extern void socket_pool_queue (SocketAsyncCallback d, SocketAsyncResult r);
        }
 }
 
diff --git a/mcs/class/System/System.Net.Sockets/SocketAsyncCallback.cs b/mcs/class/System/System.Net.Sockets/SocketAsyncCallback.cs
deleted file mode 100644 (file)
index 0ea4479..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-// System.Net.Sockets.SocketAsyncCallback.cs
-//
-// Authors:
-//     Ludovic Henry <ludovic@xamarin.com>
-//
-// Copyright (C) 2015 Xamarin, Inc. (https://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.
-//
-
-namespace System.Net.Sockets
-{
-       internal delegate void SocketAsyncCallback (SocketAsyncResult sar);
-}
index 8a3f703f295a8ccf0862f1ed4f8b900b5636ed63..2dd8387c04916d457eb34178fc4ed84154cfd490 100644 (file)
@@ -39,18 +39,29 @@ namespace System.Net.Sockets
        public class SocketAsyncEventArgs : EventArgs, IDisposable
        {
                bool disposed;
-               int in_progress;
-               internal SocketAsyncWorker Worker;
-               EndPoint remote_ep;
-               public Exception ConnectByNameError { get; internal set; }
 
-               public event EventHandler<SocketAsyncEventArgs> Completed;
+               internal volatile int in_progress;
+               internal EndPoint remote_ep;
+               internal Socket current_socket;
 
-               IList <ArraySegment <byte>> _bufferList;
-               
-               public Socket AcceptSocket { get; set; }
-               public byte[] Buffer { get; private set; }
+               internal SocketAsyncResult socket_async_result = new SocketAsyncResult ();
+
+               public Exception ConnectByNameError {
+                       get;
+                       internal set;
+               }
+
+               public Socket AcceptSocket {
+                       get;
+                       set;
+               }
 
+               public byte[] Buffer {
+                       get;
+                       private set;
+               }
+
+               IList <ArraySegment <byte>> _bufferList;
                public IList<ArraySegment<byte>> BufferList {
                        get { return _bufferList; }
                        set {
@@ -60,65 +71,101 @@ namespace System.Net.Sockets
                        }
                }
 
-               public int BytesTransferred { get; internal set; }
-               public int Count { get; internal set; }
-               public bool DisconnectReuseSocket { get; set; }
-               public SocketAsyncOperation LastOperation { get; private set; }
-               public int Offset { get; private set; }
+               public int BytesTransferred {
+                       get;
+                       internal set;
+               }
+
+               public int Count {
+                       get;
+                       internal set;
+               }
+
+               public bool DisconnectReuseSocket {
+                       get;
+                       set;
+               }
+
+               public SocketAsyncOperation LastOperation {
+                       get;
+                       private set;
+               }
+
+               public int Offset {
+                       get;
+                       private set;
+               }
+
                public EndPoint RemoteEndPoint {
                        get { return remote_ep; }
                        set { remote_ep = value; }
                }
+
 #if !NET_2_1
-               public IPPacketInformation ReceiveMessageFromPacketInfo { get; private set; }
-               public SendPacketsElement[] SendPacketsElements { get; set; }
-               public TransmitFileOptions SendPacketsFlags { get; set; }
+               public IPPacketInformation ReceiveMessageFromPacketInfo {
+                       get;
+                       private set;
+               }
+
+               public SendPacketsElement[] SendPacketsElements {
+                       get;
+                       set;
+               }
+
+               public TransmitFileOptions SendPacketsFlags {
+                       get;
+                       set;
+               }
 #endif
+
                [MonoTODO ("unused property")]
-               public int SendPacketsSendSize { get; set; }
-               public SocketError SocketError { get; set; }
-               public SocketFlags SocketFlags { get; set; }
-               public object UserToken { get; set; }
-               internal Socket curSocket;
+               public int SendPacketsSendSize {
+                       get;
+                       set;
+               }
+
+               public SocketError SocketError {
+                       get;
+                       set;
+               }
+
+               public SocketFlags SocketFlags {
+                       get;
+                       set;
+               }
+
+               public object UserToken {
+                       get;
+                       set;
+               }
+
                public Socket ConnectSocket {
                        get {
                                switch (SocketError) {
                                case SocketError.AccessDenied:
                                        return null;
                                default:
-                                       return curSocket;
+                                       return current_socket;
                                }
                        }
                }
 
-               internal bool PolicyRestricted { get; private set; }
+               internal bool PolicyRestricted {
+                       get;
+                       private set;
+               }
 
-               internal SocketAsyncEventArgs (bool policy) : 
-                       this ()
+               public event EventHandler<SocketAsyncEventArgs> Completed;
+
+               internal SocketAsyncEventArgs (bool policy)
+                       : this ()
                {
                        PolicyRestricted = policy;
                }
-               
+
                public SocketAsyncEventArgs ()
                {
-                       Worker = new SocketAsyncWorker (this);
-                       AcceptSocket = null;
-                       Buffer = null;
-                       BufferList = null;
-                       BytesTransferred = 0;
-                       Count = 0;
-                       DisconnectReuseSocket = false;
-                       LastOperation = SocketAsyncOperation.None;
-                       Offset = 0;
-                       RemoteEndPoint = null;
-#if !NET_2_1
-                       SendPacketsElements = null;
-                       SendPacketsFlags = TransmitFileOptions.UseDefaultWorkerThread;
-#endif
                        SendPacketsSendSize = -1;
-                       SocketError = SocketError.Success;
-                       SocketFlags = SocketFlags.None;
-                       UserToken = null;
                }
 
                ~SocketAsyncEventArgs ()
@@ -130,14 +177,9 @@ namespace System.Net.Sockets
                {
                        disposed = true;
 
-                       if (disposing) {
-                               if (disposed || Interlocked.CompareExchange (ref in_progress, 0, 0) != 0)
-                                       return;
-                               if (Worker != null) {
-                                       Worker.Dispose ();
-                                       Worker = null;
-                               }
-                       }
+                       if (disposing && in_progress != 0)
+                               return;
+
                        AcceptSocket = null;
                        Buffer = null;
                        BufferList = null;
@@ -146,7 +188,7 @@ namespace System.Net.Sockets
 #if !NET_2_1
                        SendPacketsElements = null;
 #endif
-               }               
+               }
 
                public void Dispose ()
                {
@@ -160,9 +202,15 @@ namespace System.Net.Sockets
                                throw new ObjectDisposedException ("System.Net.Sockets.SocketAsyncEventArgs");
                        if (Interlocked.Exchange (ref in_progress, 1) != 0)
                                throw new InvalidOperationException ("Operation already in progress");
+
                        LastOperation = op;
                }
 
+               internal void Complete ()
+               {
+                       OnCompleted (this);
+               }
+
                protected virtual void OnCompleted (SocketAsyncEventArgs e)
                {
                        if (e == null)
@@ -170,20 +218,15 @@ namespace System.Net.Sockets
                        
                        EventHandler<SocketAsyncEventArgs> handler = e.Completed;
                        if (handler != null)
-                               handler (e.curSocket, e);
+                               handler (e.current_socket, e);
                }
 
                public void SetBuffer (int offset, int count)
                {
-                       SetBufferInternal (Buffer, offset, count);
+                       SetBuffer (Buffer, offset, count);
                }
 
                public void SetBuffer (byte[] buffer, int offset, int count)
-               {
-                       SetBufferInternal (buffer, offset, count);
-               }
-
-               void SetBufferInternal (byte[] buffer, int offset, int count)
                {
                        if (buffer != null) {
                                if (BufferList != null)
@@ -199,145 +242,8 @@ namespace System.Net.Sockets
                                Count = count;
                                Offset = offset;
                        }
-                       Buffer = buffer;
-               }
-
-#region Internals
-               internal static AsyncCallback Dispatcher = new AsyncCallback (DispatcherCB);
-
-               static void DispatcherCB (IAsyncResult ares)
-               {
-                       SocketAsyncEventArgs args = (SocketAsyncEventArgs) ares.AsyncState;
-
-                       if (Interlocked.Exchange (ref args.in_progress, 0) != 1)
-                               throw new InvalidOperationException ("No operation in progress");
-
-                       /* Notes;
-                        *  -SocketOperation.AcceptReceive not used in SocketAsyncEventArgs
-                        *  -SendPackets and ReceiveMessageFrom are not implemented yet */
-                       switch (args.LastOperation) {
-                       case SocketAsyncOperation.Receive:
-                               args.ReceiveCallback (ares);
-                               break;
-                       case SocketAsyncOperation.Send:
-                               args.SendCallback (ares);
-                               break;
-                       case SocketAsyncOperation.ReceiveFrom:
-                               args.ReceiveFromCallback (ares);
-                               break;
-                       case SocketAsyncOperation.SendTo:
-                               args.SendToCallback (ares);
-                               break;
-                       case SocketAsyncOperation.Accept:
-                               args.AcceptCallback (ares);
-                               break;
-                       case SocketAsyncOperation.Disconnect:
-                               args.DisconnectCallback (ares);
-                               break;
-                       case SocketAsyncOperation.Connect:
-                               args.ConnectCallback (ares);
-                               break;
-                       /*
-                       case SocketOperation.ReceiveMessageFrom:
-                       case SocketOperation.SendPackets:
-                       */
-                       default:
-                               throw new NotImplementedException (String.Format ("Operation {0} is not implemented", args.LastOperation));
-                       }
-               }
-
-               internal void ReceiveCallback (IAsyncResult ares)
-               {
-                       try {
-                               BytesTransferred = curSocket.EndReceive (ares);
-                       } catch (SocketException se){
-                               SocketError = se.SocketErrorCode;
-                       } catch (ObjectDisposedException) {
-                               SocketError = SocketError.OperationAborted;
-                       } finally {
-                               OnCompleted (this);
-                       }
-               }
-
-               void ConnectCallback (IAsyncResult ares)
-               {
-                       try {
-                               curSocket.EndConnect (ares);
-                       } catch (SocketException se) {
-                               SocketError = se.SocketErrorCode;
-                       } catch (ObjectDisposedException) {
-                               SocketError = SocketError.OperationAborted;
-                       } finally {
-                               OnCompleted (this);
-                       }
-               }
-
-               internal void SendCallback (IAsyncResult ares)
-               {
-                       try {
-                               BytesTransferred = curSocket.EndSend (ares);
-                       } catch (SocketException se){
-                               SocketError = se.SocketErrorCode;
-                       } catch (ObjectDisposedException) {
-                               SocketError = SocketError.OperationAborted;
-                       } finally {
-                               OnCompleted (this);
-                       }
-               }
-
-               internal void AcceptCallback (IAsyncResult ares)
-               {
-                       try {
-                               AcceptSocket = curSocket.EndAccept (ares);
-                       } catch (SocketException ex) {
-                               SocketError = ex.SocketErrorCode;
-                       } catch (ObjectDisposedException) {
-                               SocketError = SocketError.OperationAborted;
-                       } finally {
-                               if (AcceptSocket == null)
-                                       AcceptSocket = new Socket (curSocket.AddressFamily, curSocket.SocketType, curSocket.ProtocolType, null);
-                               OnCompleted (this);
-                       }
-               }
 
-               internal void DisconnectCallback (IAsyncResult ares)
-               {
-                       try {
-                               curSocket.EndDisconnect (ares);
-                       } catch (SocketException ex) {
-                               SocketError = ex.SocketErrorCode;
-                       } catch (ObjectDisposedException) {
-                               SocketError = SocketError.OperationAborted;
-                       } finally {
-                               OnCompleted (this);
-                       }
-               }
-
-               internal void ReceiveFromCallback (IAsyncResult ares)
-               {
-                       try {
-                               BytesTransferred = curSocket.EndReceiveFrom (ares, ref remote_ep);
-                       } catch (SocketException ex) {
-                               SocketError = ex.SocketErrorCode;
-                       } catch (ObjectDisposedException) {
-                               SocketError = SocketError.OperationAborted;
-                       } finally {
-                               OnCompleted (this);
-                       }
-               }
-
-               internal void SendToCallback (IAsyncResult ares)
-               {
-                       try {
-                               BytesTransferred = curSocket.EndSendTo (ares);
-                       } catch (SocketException ex) {
-                               SocketError = ex.SocketErrorCode;
-                       } catch (ObjectDisposedException) {
-                               SocketError = SocketError.OperationAborted;
-                       } finally {
-                               OnCompleted (this);
-                       }
+                       Buffer = buffer;
                }
-#endregion
        }
 }
index f1cd229d865c13fa15a81e734373d105dad93438..2d55a52ac0f03aacc6868dca39d29f82d922a199 100644 (file)
@@ -35,19 +35,13 @@ using System.Threading;
 namespace System.Net.Sockets
 {
        [StructLayout (LayoutKind.Sequential)]
-       internal sealed class SocketAsyncResult: IAsyncResult, IThreadPoolWorkItem
+       internal sealed class SocketAsyncResult: IOAsyncResult
        {
-               /* Same structure in the runtime. Keep this in sync with
-                * MonoSocketAsyncResult in metadata/socket-io.h and
-                * ProcessAsyncReader in System.Diagnostics/Process.cs. */
-
                public Socket socket;
-               IntPtr handle;
-               object state;
-               AsyncCallback callback; // used from the runtime
-               WaitHandle wait_handle;
+               public IntPtr handle;
+               public SocketOperation operation;
 
-               Exception delayed_exception;
+               Exception DelayedException;
 
                public EndPoint EndPoint;                 // Connect,ReceiveFrom,SendTo
                public byte [] Buffer;                    // Receive,ReceiveFrom,Send,SendTo
@@ -59,108 +53,30 @@ namespace System.Net.Sockets
                public int Port;                          // Connect
                public IList<ArraySegment<byte>> Buffers; // Receive, Send
                public bool ReuseSocket;                  // Disconnect
+               public int CurrentAddress;                // Connect
 
-               // Return values
-               Socket accept_socket;
-               int total;
+               public Socket AcceptedSocket;
+               public int Total;
 
-               bool completed_synchronously;
-               bool completed;
-               bool is_blocking;
                internal int error;
-               public SocketOperation operation;
-               AsyncResult async_result;
-               public int EndCalled;
 
-               /* These fields are not in MonoSocketAsyncResult */
-               public SocketAsyncWorker Worker;
-               public int CurrentAddress;                // Connect
+               public int EndCalled;
 
+               /* Used by SocketAsyncEventArgs */
                public SocketAsyncResult ()
+                       : base ()
                {
                }
 
-               public SocketAsyncResult (Socket socket, object state, AsyncCallback callback, SocketOperation operation)
+               public void Init (Socket socket, AsyncCallback callback, object state, SocketOperation operation)
                {
-                       Init (socket, state, callback, operation, new SocketAsyncWorker (this));
-               }
-
-               public object AsyncState {
-                       get {
-                               return state;
-                       }
-               }
-
-               public WaitHandle AsyncWaitHandle {
-                       get {
-                               lock (this) {
-                                       if (wait_handle == null)
-                                               wait_handle = new ManualResetEvent (completed);
-                               }
-
-                               return wait_handle;
-                       }
-                       set {
-                               wait_handle = value;
-                       }
-               }
-
-               public bool CompletedSynchronously {
-                       get {
-                               return completed_synchronously;
-                       }
-               }
-
-               public bool IsCompleted {
-                       get {
-                               return completed;
-                       }
-                       set {
-                               completed = value;
-                               lock (this) {
-                                       if (wait_handle != null && value)
-                                               ((ManualResetEvent) wait_handle).Set ();
-                               }
-                       }
-               }
-
-               public Socket Socket {
-                       get {
-                               return accept_socket;
-                       }
-               }
-
-               public int Total {
-                       get { return total; }
-                       set { total = value; }
-               }
-
-               public SocketError ErrorCode {
-                       get {
-                               SocketException ex = delayed_exception as SocketException;
-                               if (ex != null)
-                                       return ex.SocketErrorCode;
-
-                               if (error != 0)
-                                       return (SocketError) error;
-
-                               return SocketError.Success;
-                       }
-               }
+                       base.Init (callback, state);
 
-               public void Init (Socket socket, object state, AsyncCallback callback, SocketOperation operation, SocketAsyncWorker worker)
-               {
                        this.socket = socket;
-                       this.is_blocking = socket != null ? socket.is_blocking : true;
                        this.handle = socket != null ? socket.Handle : IntPtr.Zero;
-                       this.state = state;
-                       this.callback = callback;
                        this.operation = operation;
 
-                       if (wait_handle != null)
-                               ((ManualResetEvent) wait_handle).Reset ();
-
-                       delayed_exception = null;
+                       DelayedException = null;
 
                        EndPoint = null;
                        Buffer = null;
@@ -172,39 +88,42 @@ namespace System.Net.Sockets
                        Port = 0;
                        Buffers = null;
                        ReuseSocket = false;
-                       accept_socket = null;
-                       total = 0;
+                       CurrentAddress = 0;
+
+                       AcceptedSocket = null;
+                       Total = 0;
 
-                       completed_synchronously = false;
-                       completed = false;
-                       is_blocking = false;
                        error = 0;
-                       async_result = null;
+
                        EndCalled = 0;
-                       Worker = worker;
                }
 
-               public void DoMConnectCallback ()
+               public SocketAsyncResult (Socket socket, AsyncCallback callback, object state, SocketOperation operation)
+                       : base (callback, state)
                {
-                       if (callback == null)
-                               return;
-                       ThreadPool.UnsafeQueueUserWorkItem (_ => callback (this), null);
+                       this.socket = socket;
+                       this.handle = socket != null ? socket.Handle : IntPtr.Zero;
+                       this.operation = operation;
                }
 
-               public void Dispose ()
-               {
-                       Init (null, null, null, 0, Worker);
-                       if (wait_handle != null) {
-                               wait_handle.Close ();
-                               wait_handle = null;
+               public SocketError ErrorCode {
+                       get {
+                               SocketException ex = DelayedException as SocketException;
+                               if (ex != null)
+                                       return ex.SocketErrorCode;
+
+                               if (error != 0)
+                                       return (SocketError) error;
+
+                               return SocketError.Success;
                        }
                }
 
                public void CheckIfThrowDelayedException ()
                {
-                       if (delayed_exception != null) {
+                       if (DelayedException != null) {
                                socket.is_connected = false;
-                               throw delayed_exception;
+                               throw DelayedException;
                        }
 
                        if (error != 0) {
@@ -213,7 +132,7 @@ namespace System.Net.Sockets
                        }
                }
 
-               void CompleteDisposed (object unused)
+               internal override void CompleteDisposed ()
                {
                        Complete ();
                }
@@ -221,11 +140,16 @@ namespace System.Net.Sockets
                public void Complete ()
                {
                        if (operation != SocketOperation.Receive && socket.is_disposed)
-                               delayed_exception = new ObjectDisposedException (socket.GetType ().ToString ());
+                               DelayedException = new ObjectDisposedException (socket.GetType ().ToString ());
 
                        IsCompleted = true;
 
-                       Queue<SocketAsyncWorker> queue = null;
+                       AsyncCallback callback = AsyncCallback;
+                       if (callback != null) {
+                               ThreadPool.UnsafeQueueUserWorkItem (_ => callback (this), null);
+                       }
+
+                       Queue<KeyValuePair<IntPtr, IOSelectorJob>> queue = null;
                        switch (operation) {
                        case SocketOperation.Receive:
                        case SocketOperation.ReceiveFrom:
@@ -249,12 +173,12 @@ namespace System.Net.Sockets
                                                queue.Dequeue (); /* remove ourselves */
                                        if (queue.Count > 0) {
                                                if (!socket.is_disposed) {
-                                                       Socket.socket_pool_queue (SocketAsyncWorker.Dispatcher, (queue.Peek ()).result);
+                                                       IOSelector.Add (queue.Peek ().Key, queue.Peek ().Value);
                                                } else {
                                                        /* CompleteAllOnDispose */
-                                                       SocketAsyncWorker [] workers = queue.ToArray ();
-                                                       for (int i = 0; i < workers.Length; i++)
-                                                               ThreadPool.UnsafeQueueUserWorkItem (workers [i].result.CompleteDisposed, null);
+                                                       KeyValuePair<IntPtr, IOSelectorJob> [] jobs = queue.ToArray ();
+                                                       for (int i = 0; i < jobs.Length; i++)
+                                                               ThreadPool.QueueUserWorkItem (j => ((IOSelectorJob) j).MarkDisposed (), jobs [i].Value);
                                                        queue.Clear ();
                                                }
                                        }
@@ -266,53 +190,40 @@ namespace System.Net.Sockets
 
                public void Complete (bool synch)
                {
-                       this.completed_synchronously = synch;
+                       CompletedSynchronously = synch;
                        Complete ();
                }
 
                public void Complete (int total)
                {
-                       this.total = total;
+                       Total = total;
                        Complete ();
                }
 
                public void Complete (Exception e, bool synch)
                {
-                       this.completed_synchronously = synch;
-                       this.delayed_exception = e;
+                       DelayedException = e;
+                       CompletedSynchronously = synch;
                        Complete ();
                }
 
                public void Complete (Exception e)
                {
-                       this.delayed_exception = e;
+                       DelayedException = e;
                        Complete ();
                }
 
                public void Complete (Socket s)
                {
-                       this.accept_socket = s;
+                       AcceptedSocket = s;
                        Complete ();
                }
 
                public void Complete (Socket s, int total)
                {
-                       this.accept_socket = s;
-                       this.total = total;
+                       AcceptedSocket = s;
+                       Total = total;
                        Complete ();
                }
-
-               void IThreadPoolWorkItem.ExecuteWorkItem()
-               {
-                       async_result.Invoke ();
-
-                       if (completed && callback != null) {
-                               ThreadPool.UnsafeQueueCustomWorkItem (new AsyncResult (state => callback ((IAsyncResult) state), this, false), false);
-                       }
-               }
-
-               void IThreadPoolWorkItem.MarkAborted(ThreadAbortException tae)
-               {
-               }
        }
 }
diff --git a/mcs/class/System/System.Net.Sockets/SocketAsyncWorker.cs b/mcs/class/System/System.Net.Sockets/SocketAsyncWorker.cs
deleted file mode 100644 (file)
index 0f3262f..0000000
+++ /dev/null
@@ -1,397 +0,0 @@
-// System.Net.Sockets.SocketAsyncWorker.cs
-//
-// Authors:
-//     Ludovic Henry <ludovic@xamarin.com>
-//
-// Copyright (C) 2015 Xamarin, Inc. (https://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.
-//
-
-namespace System.Net.Sockets
-{
-       internal sealed class SocketAsyncWorker
-       {
-               public SocketAsyncResult result;
-               SocketAsyncEventArgs args;
-
-               public SocketAsyncWorker (SocketAsyncEventArgs args)
-               {
-                       this.args = args;
-                       result = new SocketAsyncResult ();
-                       result.Worker = this;
-               }
-
-               public SocketAsyncWorker (SocketAsyncResult ares)
-               {
-                       this.result = ares;
-               }
-
-               public void Dispose ()
-               {
-                       if (result != null) {
-                               result.Dispose ();
-                               result = null;
-                               args = null;
-                       }
-               }
-
-               public static SocketAsyncCallback Dispatcher = new SocketAsyncCallback (DispatcherCB);
-
-               static void DispatcherCB (SocketAsyncResult sar)
-               {
-                       /* SendPackets and ReceiveMessageFrom are not implemented yet */
-                       switch (sar.operation) {
-                       case SocketOperation.Receive:
-                       case SocketOperation.ReceiveGeneric:
-                       case SocketOperation.RecvJustCallback:
-                               sar.Worker.Receive ();
-                               break;
-                       case SocketOperation.Send:
-                       case SocketOperation.SendGeneric:
-                       case SocketOperation.SendJustCallback:
-                               sar.Worker.Send ();
-                               break;
-                       case SocketOperation.ReceiveFrom:
-                               sar.Worker.ReceiveFrom ();
-                               break;
-                       case SocketOperation.SendTo:
-                               sar.Worker.SendTo ();
-                               break;
-                       case SocketOperation.Connect:
-                               sar.Worker.Connect ();
-                               break;
-                       case SocketOperation.Accept:
-                               sar.Worker.Accept ();
-                               break;
-                       case SocketOperation.AcceptReceive:
-                               sar.Worker.AcceptReceive ();
-                               break;
-                       case SocketOperation.Disconnect:
-                               sar.Worker.Disconnect ();
-                               break;
-                       // case SocketOperation.ReceiveMessageFrom
-                       //      sar.Worker.ReceiveMessageFrom ()
-                       //      break;
-                       // case SocketOperation.SendPackets:
-                       //      sar.Worker.SendPackets ();
-                       //      break;
-                       default:
-                               throw new NotImplementedException (String.Format ("Operation {0} is not implemented", sar.operation));
-                       }
-               }
-
-               /* This is called when reusing a SocketAsyncEventArgs */
-               public void Init (Socket sock, SocketAsyncEventArgs args, SocketOperation op)
-               {
-                       result.Init (sock, args, SocketAsyncEventArgs.Dispatcher, op, this);
-
-                       SocketAsyncOperation async_op;
-
-                       // Notes;
-                       //      -SocketOperation.AcceptReceive not used in SocketAsyncEventArgs
-                       //      -SendPackets and ReceiveMessageFrom are not implemented yet
-                       switch (op) {
-                       case SocketOperation.Connect:
-                               async_op = SocketAsyncOperation.Connect;
-                               break;
-                       case SocketOperation.Accept:
-                               async_op = SocketAsyncOperation.Accept;
-                               break;
-                       case SocketOperation.Disconnect:
-                               async_op = SocketAsyncOperation.Disconnect;
-                               break;
-                       case SocketOperation.Receive:
-                       case SocketOperation.ReceiveGeneric:
-                               async_op = SocketAsyncOperation.Receive;
-                               break;
-                       case SocketOperation.ReceiveFrom:
-                               async_op = SocketAsyncOperation.ReceiveFrom;
-                               break;
-                       // case SocketOperation.ReceiveMessageFrom:
-                       //      async_op = SocketAsyncOperation.ReceiveMessageFrom;
-                       //      break;
-                       case SocketOperation.Send:
-                       case SocketOperation.SendGeneric:
-                               async_op = SocketAsyncOperation.Send;
-                               break;
-                       // case SocketOperation.SendPackets:
-                       //      async_op = SocketAsyncOperation.SendPackets;
-                       //      break;
-                       case SocketOperation.SendTo:
-                               async_op = SocketAsyncOperation.SendTo;
-                               break;
-                       default:
-                               throw new NotImplementedException (String.Format ("Operation {0} is not implemented", op));
-                       }
-
-                       args.SetLastOperation (async_op);
-                       args.SocketError = SocketError.Success;
-                       args.BytesTransferred = 0;
-               }
-
-               public void Accept ()
-               {
-                       Socket acc_socket = null;
-                       try {
-                               if (args != null && args.AcceptSocket != null) {
-                                       result.socket.Accept (args.AcceptSocket);
-                                       acc_socket = args.AcceptSocket;
-                               } else {
-                                       acc_socket = result.socket.Accept ();
-                                       if (args != null)
-                                               args.AcceptSocket = acc_socket;
-                               }
-                       } catch (Exception e) {
-                               result.Complete (e);
-                               return;
-                       }
-
-                       result.Complete (acc_socket);
-               }
-
-               /* only used in 2.0 profile and newer, but
-                * leave in older profiles to keep interface
-                * to runtime consistent
-                */
-               public void AcceptReceive ()
-               {
-                       Socket acc_socket = null;
-                       try {
-                               if (result.AcceptSocket == null) {
-                                       acc_socket = result.socket.Accept ();
-                               } else {
-                                       acc_socket = result.AcceptSocket;
-                                       result.socket.Accept (acc_socket);
-                               }
-                       } catch (Exception e) {
-                               result.Complete (e);
-                               return;
-                       }
-
-                       /* It seems the MS runtime
-                        * special-cases 0-length requested
-                        * receive data.  See bug 464201.
-                        */
-                       int total = 0;
-                       if (result.Size > 0) {
-                               try {
-                                       SocketError error;
-                                       total = acc_socket.Receive_nochecks (result.Buffer, result.Offset, result.Size, result.SockFlags, out error);
-                                       if (error != 0) {
-                                               result.Complete (new SocketException ((int) error));
-                                               return;
-                                       }
-                               } catch (Exception e) {
-                                       result.Complete (e);
-                                       return;
-                               }
-                       }
-
-                       result.Complete (acc_socket, total);
-               }
-
-               public void Connect ()
-               {
-                       if (result.EndPoint == null) {
-                               result.Complete (new SocketException ((int)SocketError.AddressNotAvailable));
-                               return;
-                       }
-
-                       SocketAsyncResult mconnect = result.AsyncState as SocketAsyncResult;
-                       bool is_mconnect = (mconnect != null && mconnect.Addresses != null);
-                       try {
-                               int error_code;
-                               EndPoint ep = result.EndPoint;
-                               error_code = (int) result.socket.GetSocketOption (SocketOptionLevel.Socket, SocketOptionName.Error);
-                               if (error_code == 0) {
-                                       if (is_mconnect)
-                                               result = mconnect;
-                                       result.socket.seed_endpoint = ep;
-                                       result.socket.is_connected = true;
-                                       result.socket.is_bound = true;
-                                       result.socket.connect_in_progress = false;
-                                       result.error = 0;
-                                       result.Complete ();
-                                       if (is_mconnect)
-                                               result.DoMConnectCallback ();
-                                       return;
-                               }
-
-                               if (!is_mconnect) {
-                                       result.socket.connect_in_progress = false;
-                                       result.Complete (new SocketException (error_code));
-                                       return;
-                               }
-
-                               if (mconnect.CurrentAddress >= mconnect.Addresses.Length) {
-                                       mconnect.Complete (new SocketException (error_code));
-                                       if (is_mconnect)
-                                               mconnect.DoMConnectCallback ();
-                                       return;
-                               }
-                               mconnect.socket.BeginMConnect (mconnect);
-                       } catch (Exception e) {
-                               result.socket.connect_in_progress = false;
-                               if (is_mconnect)
-                                       result = mconnect;
-                               result.Complete (e);
-                               if (is_mconnect)
-                                       result.DoMConnectCallback ();
-                               return;
-                       }
-               }
-
-               /* Also only used in 2.0 profile and newer */
-               public void Disconnect ()
-               {
-                       try {
-                               if (args != null)
-                                       result.ReuseSocket = args.DisconnectReuseSocket;
-                               result.socket.Disconnect (result.ReuseSocket);
-                       } catch (Exception e) {
-                               result.Complete (e);
-                               return;
-                       }
-                       result.Complete ();
-               }
-
-               public void Receive ()
-               {
-                       if (result.operation == SocketOperation.ReceiveGeneric) {
-                               ReceiveGeneric ();
-                               return;
-                       }
-
-                       int total = 0;
-                       try {
-                               total = Socket.Receive_internal (result.socket.safe_handle, result.Buffer, result.Offset, result.Size, result.SockFlags, out result.error);
-                       } catch (Exception e) {
-                               result.Complete (e);
-                               return;
-                       }
-
-                       result.Complete (total);
-               }
-
-               public void ReceiveFrom ()
-               {
-                       int total = 0;
-                       try {
-                               total = result.socket.ReceiveFrom_nochecks (result.Buffer, result.Offset, result.Size, result.SockFlags, ref result.EndPoint);
-                       } catch (Exception e) {
-                               result.Complete (e);
-                               return;
-                       }
-
-                       result.Complete (total);
-               }
-
-               public void ReceiveGeneric ()
-               {
-                       int total = 0;
-                       try {
-                               total = result.socket.Receive (result.Buffers, result.SockFlags);
-                       } catch (Exception e) {
-                               result.Complete (e);
-                               return;
-                       }
-                       result.Complete (total);
-               }
-
-               int send_so_far;
-
-               void UpdateSendValues (int last_sent)
-               {
-                       if (result.error == 0) {
-                               send_so_far += last_sent;
-                               result.Offset += last_sent;
-                               result.Size -= last_sent;
-                       }
-               }
-
-               public void Send ()
-               {
-                       if (result.operation == SocketOperation.SendGeneric) {
-                               SendGeneric ();
-                               return;
-                       }
-
-                       int total = 0;
-                       try {
-                               total = Socket.Send_internal (result.socket.safe_handle, result.Buffer, result.Offset, result.Size, result.SockFlags, out result.error);
-                       } catch (Exception e) {
-                               result.Complete (e);
-                               return;
-                       }
-
-                       if (result.error == 0) {
-                               UpdateSendValues (total);
-                               if (result.socket.is_disposed) {
-                                       result.Complete (total);
-                                       return;
-                               }
-
-                               if (result.Size > 0) {
-                                       Socket.socket_pool_queue (SocketAsyncWorker.Dispatcher, result);
-                                       return; // Have to finish writing everything. See bug #74475.
-                               }
-                               result.Total = send_so_far;
-                               send_so_far = 0;
-                       }
-                       result.Complete (total);
-               }
-
-               public void SendTo ()
-               {
-                       int total = 0;
-                       try {
-                               total = result.socket.SendTo_nochecks (result.Buffer, result.Offset, result.Size, result.SockFlags, result.EndPoint);
-
-                               UpdateSendValues (total);
-                               if (result.Size > 0) {
-                                       Socket.socket_pool_queue (SocketAsyncWorker.Dispatcher, result);
-                                       return; // Have to finish writing everything. See bug #74475.
-                               }
-                               result.Total = send_so_far;
-                               send_so_far = 0;
-                       } catch (Exception e) {
-                               send_so_far = 0;
-                               result.Complete (e);
-                               return;
-                       }
-
-                       result.Complete ();
-               }
-
-               public void SendGeneric ()
-               {
-                       int total = 0;
-                       try {
-                               total = result.socket.Send (result.Buffers, result.SockFlags);
-                       } catch (Exception e) {
-                               result.Complete (e);
-                               return;
-                       }
-                       result.Complete (total);
-               }
-       }
-}
index 22ffd6e71eec3617470649210ba43644b3eb6c8c..8752da8c38927c504773f41eafd2a07e7c0a5b08 100644 (file)
@@ -38,8 +38,6 @@ namespace System.Net.Sockets
                SendTo,
                RecvJustCallback,
                SendJustCallback,
-               UsedInProcess,
-               UsedInConsole2,
                Disconnect,
                AcceptReceive,
                ReceiveGeneric,
index addcc28907b34daf68df5df074737ff54133e8f3..b7cc92386f56e22d45233c602cf995a8198daf1a 100644 (file)
@@ -29,6 +29,7 @@
 //
 
 using System.Collections;
+using System.Collections.Generic;
 using System.Globalization;
 using System.IO;
 using System.Text;
@@ -114,13 +115,13 @@ namespace System.Net
                {
                        int count = chunks.Count;
                        int nread = 0;
+
+                       var chunksForRemoving = new List<Chunk>(count);
                        for (int i = 0; i < count; i++) {
                                Chunk chunk = (Chunk) chunks [i];
-                               if (chunk == null)
-                                       continue;
 
                                if (chunk.Offset == chunk.Bytes.Length) {
-                                       chunks [i] = null;
+                                       chunksForRemoving.Add(chunk);
                                        continue;
                                }
                                
@@ -129,6 +130,9 @@ namespace System.Net
                                        break;
                        }
 
+                       foreach (var chunk in chunksForRemoving)
+                               chunks.Remove(chunk);
+
                        return nread;
                }
                
index 9e2117625c615c066dcb14c1001652246f7eccfa..df73d85428e37786b523f71cb071de1522a4e3e8 100644 (file)
@@ -168,7 +168,7 @@ namespace System.Net {
 
                        string host = uri.Host;
                        int port = uri.Port;
-                       string path = HttpUtility.UrlDecode (uri.AbsolutePath);
+                       string path = WebUtility.UrlDecode (uri.AbsolutePath);
                        string path_slash = path [path.Length - 1] == '/' ? path : path + "/";
                        
                        HttpListener best_match = null;
index ded0634a3f3e73b610603d3de5a58931286d1616..8e25aa0629e3fde6425661e16f00a02a34da138a 100644 (file)
@@ -142,10 +142,10 @@ namespace System.Net {
                        foreach (string kv in components) {
                                int pos = kv.IndexOf ('=');
                                if (pos == -1) {
-                                       query_string.Add (null, HttpUtility.UrlDecode (kv));
+                                       query_string.Add (null, WebUtility.UrlDecode (kv));
                                } else {
-                                       string key = HttpUtility.UrlDecode (kv.Substring (0, pos));
-                                       string val = HttpUtility.UrlDecode (kv.Substring (pos + 1));
+                                       string key = WebUtility.UrlDecode (kv.Substring (0, pos));
+                                       string val = WebUtility.UrlDecode (kv.Substring (pos + 1));
                                        
                                        query_string.Add (key, val);
                                }
diff --git a/mcs/class/System/System.Net/HttpUtility.cs b/mcs/class/System/System.Net/HttpUtility.cs
deleted file mode 100644 (file)
index 57992d1..0000000
+++ /dev/null
@@ -1,1451 +0,0 @@
-// 
-// Copied from System.Web.HttpUtility and marked internal
-//
-// Authors:
-//   Patrik Torstensson (Patrik.Torstensson@labs2.com)
-//   Wictor Wilén (decode/encode functions) (wictor@ibizkit.se)
-//   Tim Coleman (tim@timcoleman.com)
-//   Gonzalo Paniagua Javier (gonzalo@ximian.com)
-//   Marek Safar (marek.safar@gmail.com)
-//
-// Copyright (C) 2005-2009 Novell, Inc (http://www.novell.com)
-// Copyright (C) 2014 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.Collections;
-using System.Collections.Generic;
-using System.Collections.Specialized;
-using System.Globalization;
-using System.IO;
-using System.Security.Permissions;
-using System.Text;
-
-namespace System.Net {
-
-       static class HttpUtility
-       {
-               sealed class HttpQSCollection : NameValueCollection
-               {
-                       public override string ToString ()
-                       {
-                               int count = Count;
-                               if (count == 0)
-                                       return "";
-                               StringBuilder sb = new StringBuilder ();
-                               string [] keys = AllKeys;
-                               for (int i = 0; i < count; i++) {
-                                       sb.AppendFormat ("{0}={1}&", keys [i], this [keys [i]]);
-                               }
-                               if (sb.Length > 0)
-                                       sb.Length--;
-                               return sb.ToString ();
-                       }
-               }
-
-               // Must be sorted
-               static readonly long[] entities = new long[] {
-                       (long)'A' << 56 | (long)'E' << 48 | (long)'l' << 40 | (long)'i' << 32 | (long)'g' << 24, 
-                       (long)'A' << 56 | (long)'a' << 48 | (long)'c' << 40 | (long)'u' << 32 | (long)'t' << 24 | (long)'e' << 16, 
-                       (long)'A' << 56 | (long)'c' << 48 | (long)'i' << 40 | (long)'r' << 32 | (long)'c' << 24, 
-                       (long)'A' << 56 | (long)'g' << 48 | (long)'r' << 40 | (long)'a' << 32 | (long)'v' << 24 | (long)'e' << 16, 
-                       (long)'A' << 56 | (long)'l' << 48 | (long)'p' << 40 | (long)'h' << 32 | (long)'a' << 24, 
-                       (long)'A' << 56 | (long)'r' << 48 | (long)'i' << 40 | (long)'n' << 32 | (long)'g' << 24, 
-                       (long)'A' << 56 | (long)'t' << 48 | (long)'i' << 40 | (long)'l' << 32 | (long)'d' << 24 | (long)'e' << 16, 
-                       (long)'A' << 56 | (long)'u' << 48 | (long)'m' << 40 | (long)'l' << 32, 
-                       (long)'B' << 56 | (long)'e' << 48 | (long)'t' << 40 | (long)'a' << 32, 
-                       (long)'C' << 56 | (long)'c' << 48 | (long)'e' << 40 | (long)'d' << 32 | (long)'i' << 24 | (long)'l' << 16, 
-                       (long)'C' << 56 | (long)'h' << 48 | (long)'i' << 40, 
-                       (long)'D' << 56 | (long)'a' << 48 | (long)'g' << 40 | (long)'g' << 32 | (long)'e' << 24 | (long)'r' << 16, 
-                       (long)'D' << 56 | (long)'e' << 48 | (long)'l' << 40 | (long)'t' << 32 | (long)'a' << 24, 
-                       (long)'E' << 56 | (long)'T' << 48 | (long)'H' << 40, 
-                       (long)'E' << 56 | (long)'a' << 48 | (long)'c' << 40 | (long)'u' << 32 | (long)'t' << 24 | (long)'e' << 16, 
-                       (long)'E' << 56 | (long)'c' << 48 | (long)'i' << 40 | (long)'r' << 32 | (long)'c' << 24, 
-                       (long)'E' << 56 | (long)'g' << 48 | (long)'r' << 40 | (long)'a' << 32 | (long)'v' << 24 | (long)'e' << 16, 
-                       (long)'E' << 56 | (long)'p' << 48 | (long)'s' << 40 | (long)'i' << 32 | (long)'l' << 24 | (long)'o' << 16 | (long)'n' << 8, 
-                       (long)'E' << 56 | (long)'t' << 48 | (long)'a' << 40, 
-                       (long)'E' << 56 | (long)'u' << 48 | (long)'m' << 40 | (long)'l' << 32, 
-                       (long)'G' << 56 | (long)'a' << 48 | (long)'m' << 40 | (long)'m' << 32 | (long)'a' << 24, 
-                       (long)'I' << 56 | (long)'a' << 48 | (long)'c' << 40 | (long)'u' << 32 | (long)'t' << 24 | (long)'e' << 16, 
-                       (long)'I' << 56 | (long)'c' << 48 | (long)'i' << 40 | (long)'r' << 32 | (long)'c' << 24, 
-                       (long)'I' << 56 | (long)'g' << 48 | (long)'r' << 40 | (long)'a' << 32 | (long)'v' << 24 | (long)'e' << 16, 
-                       (long)'I' << 56 | (long)'o' << 48 | (long)'t' << 40 | (long)'a' << 32, 
-                       (long)'I' << 56 | (long)'u' << 48 | (long)'m' << 40 | (long)'l' << 32, 
-                       (long)'K' << 56 | (long)'a' << 48 | (long)'p' << 40 | (long)'p' << 32 | (long)'a' << 24, 
-                       (long)'L' << 56 | (long)'a' << 48 | (long)'m' << 40 | (long)'b' << 32 | (long)'d' << 24 | (long)'a' << 16, 
-                       (long)'M' << 56 | (long)'u' << 48, 
-                       (long)'N' << 56 | (long)'t' << 48 | (long)'i' << 40 | (long)'l' << 32 | (long)'d' << 24 | (long)'e' << 16, 
-                       (long)'N' << 56 | (long)'u' << 48, 
-                       (long)'O' << 56 | (long)'E' << 48 | (long)'l' << 40 | (long)'i' << 32 | (long)'g' << 24, 
-                       (long)'O' << 56 | (long)'a' << 48 | (long)'c' << 40 | (long)'u' << 32 | (long)'t' << 24 | (long)'e' << 16, 
-                       (long)'O' << 56 | (long)'c' << 48 | (long)'i' << 40 | (long)'r' << 32 | (long)'c' << 24, 
-                       (long)'O' << 56 | (long)'g' << 48 | (long)'r' << 40 | (long)'a' << 32 | (long)'v' << 24 | (long)'e' << 16, 
-                       (long)'O' << 56 | (long)'m' << 48 | (long)'e' << 40 | (long)'g' << 32 | (long)'a' << 24, 
-                       (long)'O' << 56 | (long)'m' << 48 | (long)'i' << 40 | (long)'c' << 32 | (long)'r' << 24 | (long)'o' << 16 | (long)'n' << 8, 
-                       (long)'O' << 56 | (long)'s' << 48 | (long)'l' << 40 | (long)'a' << 32 | (long)'s' << 24 | (long)'h' << 16, 
-                       (long)'O' << 56 | (long)'t' << 48 | (long)'i' << 40 | (long)'l' << 32 | (long)'d' << 24 | (long)'e' << 16, 
-                       (long)'O' << 56 | (long)'u' << 48 | (long)'m' << 40 | (long)'l' << 32, 
-                       (long)'P' << 56 | (long)'h' << 48 | (long)'i' << 40, 
-                       (long)'P' << 56 | (long)'i' << 48, 
-                       (long)'P' << 56 | (long)'r' << 48 | (long)'i' << 40 | (long)'m' << 32 | (long)'e' << 24, 
-                       (long)'P' << 56 | (long)'s' << 48 | (long)'i' << 40, 
-                       (long)'R' << 56 | (long)'h' << 48 | (long)'o' << 40, 
-                       (long)'S' << 56 | (long)'c' << 48 | (long)'a' << 40 | (long)'r' << 32 | (long)'o' << 24 | (long)'n' << 16, 
-                       (long)'S' << 56 | (long)'i' << 48 | (long)'g' << 40 | (long)'m' << 32 | (long)'a' << 24, 
-                       (long)'T' << 56 | (long)'H' << 48 | (long)'O' << 40 | (long)'R' << 32 | (long)'N' << 24, 
-                       (long)'T' << 56 | (long)'a' << 48 | (long)'u' << 40, 
-                       (long)'T' << 56 | (long)'h' << 48 | (long)'e' << 40 | (long)'t' << 32 | (long)'a' << 24, 
-                       (long)'U' << 56 | (long)'a' << 48 | (long)'c' << 40 | (long)'u' << 32 | (long)'t' << 24 | (long)'e' << 16, 
-                       (long)'U' << 56 | (long)'c' << 48 | (long)'i' << 40 | (long)'r' << 32 | (long)'c' << 24, 
-                       (long)'U' << 56 | (long)'g' << 48 | (long)'r' << 40 | (long)'a' << 32 | (long)'v' << 24 | (long)'e' << 16, 
-                       (long)'U' << 56 | (long)'p' << 48 | (long)'s' << 40 | (long)'i' << 32 | (long)'l' << 24 | (long)'o' << 16 | (long)'n' << 8, 
-                       (long)'U' << 56 | (long)'u' << 48 | (long)'m' << 40 | (long)'l' << 32, 
-                       (long)'X' << 56 | (long)'i' << 48, 
-                       (long)'Y' << 56 | (long)'a' << 48 | (long)'c' << 40 | (long)'u' << 32 | (long)'t' << 24 | (long)'e' << 16, 
-                       (long)'Y' << 56 | (long)'u' << 48 | (long)'m' << 40 | (long)'l' << 32, 
-                       (long)'Z' << 56 | (long)'e' << 48 | (long)'t' << 40 | (long)'a' << 32, 
-                       (long)'a' << 56 | (long)'a' << 48 | (long)'c' << 40 | (long)'u' << 32 | (long)'t' << 24 | (long)'e' << 16, 
-                       (long)'a' << 56 | (long)'c' << 48 | (long)'i' << 40 | (long)'r' << 32 | (long)'c' << 24, 
-                       (long)'a' << 56 | (long)'c' << 48 | (long)'u' << 40 | (long)'t' << 32 | (long)'e' << 24, 
-                       (long)'a' << 56 | (long)'e' << 48 | (long)'l' << 40 | (long)'i' << 32 | (long)'g' << 24, 
-                       (long)'a' << 56 | (long)'g' << 48 | (long)'r' << 40 | (long)'a' << 32 | (long)'v' << 24 | (long)'e' << 16, 
-                       (long)'a' << 56 | (long)'l' << 48 | (long)'e' << 40 | (long)'f' << 32 | (long)'s' << 24 | (long)'y' << 16 | (long)'m' << 8, 
-                       (long)'a' << 56 | (long)'l' << 48 | (long)'p' << 40 | (long)'h' << 32 | (long)'a' << 24, 
-                       (long)'a' << 56 | (long)'m' << 48 | (long)'p' << 40, 
-                       (long)'a' << 56 | (long)'n' << 48 | (long)'d' << 40, 
-                       (long)'a' << 56 | (long)'n' << 48 | (long)'g' << 40, 
-                       (long)'a' << 56 | (long)'p' << 48 | (long)'o' << 40 | (long)'s' << 32,
-                       (long)'a' << 56 | (long)'r' << 48 | (long)'i' << 40 | (long)'n' << 32 | (long)'g' << 24, 
-                       (long)'a' << 56 | (long)'s' << 48 | (long)'y' << 40 | (long)'m' << 32 | (long)'p' << 24, 
-                       (long)'a' << 56 | (long)'t' << 48 | (long)'i' << 40 | (long)'l' << 32 | (long)'d' << 24 | (long)'e' << 16, 
-                       (long)'a' << 56 | (long)'u' << 48 | (long)'m' << 40 | (long)'l' << 32, 
-                       (long)'b' << 56 | (long)'d' << 48 | (long)'q' << 40 | (long)'u' << 32 | (long)'o' << 24, 
-                       (long)'b' << 56 | (long)'e' << 48 | (long)'t' << 40 | (long)'a' << 32, 
-                       (long)'b' << 56 | (long)'r' << 48 | (long)'v' << 40 | (long)'b' << 32 | (long)'a' << 24 | (long)'r' << 16, 
-                       (long)'b' << 56 | (long)'u' << 48 | (long)'l' << 40 | (long)'l' << 32, 
-                       (long)'c' << 56 | (long)'a' << 48 | (long)'p' << 40, 
-                       (long)'c' << 56 | (long)'c' << 48 | (long)'e' << 40 | (long)'d' << 32 | (long)'i' << 24 | (long)'l' << 16, 
-                       (long)'c' << 56 | (long)'e' << 48 | (long)'d' << 40 | (long)'i' << 32 | (long)'l' << 24, 
-                       (long)'c' << 56 | (long)'e' << 48 | (long)'n' << 40 | (long)'t' << 32, 
-                       (long)'c' << 56 | (long)'h' << 48 | (long)'i' << 40, 
-                       (long)'c' << 56 | (long)'i' << 48 | (long)'r' << 40 | (long)'c' << 32, 
-                       (long)'c' << 56 | (long)'l' << 48 | (long)'u' << 40 | (long)'b' << 32 | (long)'s' << 24, 
-                       (long)'c' << 56 | (long)'o' << 48 | (long)'n' << 40 | (long)'g' << 32, 
-                       (long)'c' << 56 | (long)'o' << 48 | (long)'p' << 40 | (long)'y' << 32, 
-                       (long)'c' << 56 | (long)'r' << 48 | (long)'a' << 40 | (long)'r' << 32 | (long)'r' << 24, 
-                       (long)'c' << 56 | (long)'u' << 48 | (long)'p' << 40, 
-                       (long)'c' << 56 | (long)'u' << 48 | (long)'r' << 40 | (long)'r' << 32 | (long)'e' << 24 | (long)'n' << 16, 
-                       (long)'d' << 56 | (long)'A' << 48 | (long)'r' << 40 | (long)'r' << 32, 
-                       (long)'d' << 56 | (long)'a' << 48 | (long)'g' << 40 | (long)'g' << 32 | (long)'e' << 24 | (long)'r' << 16, 
-                       (long)'d' << 56 | (long)'a' << 48 | (long)'r' << 40 | (long)'r' << 32, 
-                       (long)'d' << 56 | (long)'e' << 48 | (long)'g' << 40, 
-                       (long)'d' << 56 | (long)'e' << 48 | (long)'l' << 40 | (long)'t' << 32 | (long)'a' << 24, 
-                       (long)'d' << 56 | (long)'i' << 48 | (long)'a' << 40 | (long)'m' << 32 | (long)'s' << 24, 
-                       (long)'d' << 56 | (long)'i' << 48 | (long)'v' << 40 | (long)'i' << 32 | (long)'d' << 24 | (long)'e' << 16, 
-                       (long)'e' << 56 | (long)'a' << 48 | (long)'c' << 40 | (long)'u' << 32 | (long)'t' << 24 | (long)'e' << 16, 
-                       (long)'e' << 56 | (long)'c' << 48 | (long)'i' << 40 | (long)'r' << 32 | (long)'c' << 24, 
-                       (long)'e' << 56 | (long)'g' << 48 | (long)'r' << 40 | (long)'a' << 32 | (long)'v' << 24 | (long)'e' << 16, 
-                       (long)'e' << 56 | (long)'m' << 48 | (long)'p' << 40 | (long)'t' << 32 | (long)'y' << 24, 
-                       (long)'e' << 56 | (long)'m' << 48 | (long)'s' << 40 | (long)'p' << 32, 
-                       (long)'e' << 56 | (long)'n' << 48 | (long)'s' << 40 | (long)'p' << 32, 
-                       (long)'e' << 56 | (long)'p' << 48 | (long)'s' << 40 | (long)'i' << 32 | (long)'l' << 24 | (long)'o' << 16 | (long)'n' << 8, 
-                       (long)'e' << 56 | (long)'q' << 48 | (long)'u' << 40 | (long)'i' << 32 | (long)'v' << 24, 
-                       (long)'e' << 56 | (long)'t' << 48 | (long)'a' << 40, 
-                       (long)'e' << 56 | (long)'t' << 48 | (long)'h' << 40, 
-                       (long)'e' << 56 | (long)'u' << 48 | (long)'m' << 40 | (long)'l' << 32, 
-                       (long)'e' << 56 | (long)'u' << 48 | (long)'r' << 40 | (long)'o' << 32, 
-                       (long)'e' << 56 | (long)'x' << 48 | (long)'i' << 40 | (long)'s' << 32 | (long)'t' << 24, 
-                       (long)'f' << 56 | (long)'n' << 48 | (long)'o' << 40 | (long)'f' << 32, 
-                       (long)'f' << 56 | (long)'o' << 48 | (long)'r' << 40 | (long)'a' << 32 | (long)'l' << 24 | (long)'l' << 16, 
-                       (long)'f' << 56 | (long)'r' << 48 | (long)'a' << 40 | (long)'c' << 32 | (long)'1' << 24 | (long)'2' << 16, 
-                       (long)'f' << 56 | (long)'r' << 48 | (long)'a' << 40 | (long)'c' << 32 | (long)'1' << 24 | (long)'4' << 16, 
-                       (long)'f' << 56 | (long)'r' << 48 | (long)'a' << 40 | (long)'c' << 32 | (long)'3' << 24 | (long)'4' << 16, 
-                       (long)'f' << 56 | (long)'r' << 48 | (long)'a' << 40 | (long)'s' << 32 | (long)'l' << 24, 
-                       (long)'g' << 56 | (long)'a' << 48 | (long)'m' << 40 | (long)'m' << 32 | (long)'a' << 24, 
-                       (long)'g' << 56 | (long)'e' << 48, 
-                       (long)'g' << 56 | (long)'t' << 48, 
-                       (long)'h' << 56 | (long)'A' << 48 | (long)'r' << 40 | (long)'r' << 32, 
-                       (long)'h' << 56 | (long)'a' << 48 | (long)'r' << 40 | (long)'r' << 32, 
-                       (long)'h' << 56 | (long)'e' << 48 | (long)'a' << 40 | (long)'r' << 32 | (long)'t' << 24 | (long)'s' << 16, 
-                       (long)'h' << 56 | (long)'e' << 48 | (long)'l' << 40 | (long)'l' << 32 | (long)'i' << 24 | (long)'p' << 16, 
-                       (long)'i' << 56 | (long)'a' << 48 | (long)'c' << 40 | (long)'u' << 32 | (long)'t' << 24 | (long)'e' << 16, 
-                       (long)'i' << 56 | (long)'c' << 48 | (long)'i' << 40 | (long)'r' << 32 | (long)'c' << 24, 
-                       (long)'i' << 56 | (long)'e' << 48 | (long)'x' << 40 | (long)'c' << 32 | (long)'l' << 24, 
-                       (long)'i' << 56 | (long)'g' << 48 | (long)'r' << 40 | (long)'a' << 32 | (long)'v' << 24 | (long)'e' << 16, 
-                       (long)'i' << 56 | (long)'m' << 48 | (long)'a' << 40 | (long)'g' << 32 | (long)'e' << 24, 
-                       (long)'i' << 56 | (long)'n' << 48 | (long)'f' << 40 | (long)'i' << 32 | (long)'n' << 24, 
-                       (long)'i' << 56 | (long)'n' << 48 | (long)'t' << 40, 
-                       (long)'i' << 56 | (long)'o' << 48 | (long)'t' << 40 | (long)'a' << 32, 
-                       (long)'i' << 56 | (long)'q' << 48 | (long)'u' << 40 | (long)'e' << 32 | (long)'s' << 24 | (long)'t' << 16, 
-                       (long)'i' << 56 | (long)'s' << 48 | (long)'i' << 40 | (long)'n' << 32, 
-                       (long)'i' << 56 | (long)'u' << 48 | (long)'m' << 40 | (long)'l' << 32, 
-                       (long)'k' << 56 | (long)'a' << 48 | (long)'p' << 40 | (long)'p' << 32 | (long)'a' << 24, 
-                       (long)'l' << 56 | (long)'A' << 48 | (long)'r' << 40 | (long)'r' << 32, 
-                       (long)'l' << 56 | (long)'a' << 48 | (long)'m' << 40 | (long)'b' << 32 | (long)'d' << 24 | (long)'a' << 16, 
-                       (long)'l' << 56 | (long)'a' << 48 | (long)'n' << 40 | (long)'g' << 32, 
-                       (long)'l' << 56 | (long)'a' << 48 | (long)'q' << 40 | (long)'u' << 32 | (long)'o' << 24, 
-                       (long)'l' << 56 | (long)'a' << 48 | (long)'r' << 40 | (long)'r' << 32, 
-                       (long)'l' << 56 | (long)'c' << 48 | (long)'e' << 40 | (long)'i' << 32 | (long)'l' << 24, 
-                       (long)'l' << 56 | (long)'d' << 48 | (long)'q' << 40 | (long)'u' << 32 | (long)'o' << 24, 
-                       (long)'l' << 56 | (long)'e' << 48, 
-                       (long)'l' << 56 | (long)'f' << 48 | (long)'l' << 40 | (long)'o' << 32 | (long)'o' << 24 | (long)'r' << 16, 
-                       (long)'l' << 56 | (long)'o' << 48 | (long)'w' << 40 | (long)'a' << 32 | (long)'s' << 24 | (long)'t' << 16, 
-                       (long)'l' << 56 | (long)'o' << 48 | (long)'z' << 40, 
-                       (long)'l' << 56 | (long)'r' << 48 | (long)'m' << 40, 
-                       (long)'l' << 56 | (long)'s' << 48 | (long)'a' << 40 | (long)'q' << 32 | (long)'u' << 24 | (long)'o' << 16, 
-                       (long)'l' << 56 | (long)'s' << 48 | (long)'q' << 40 | (long)'u' << 32 | (long)'o' << 24, 
-                       (long)'l' << 56 | (long)'t' << 48, 
-                       (long)'m' << 56 | (long)'a' << 48 | (long)'c' << 40 | (long)'r' << 32, 
-                       (long)'m' << 56 | (long)'d' << 48 | (long)'a' << 40 | (long)'s' << 32 | (long)'h' << 24, 
-                       (long)'m' << 56 | (long)'i' << 48 | (long)'c' << 40 | (long)'r' << 32 | (long)'o' << 24, 
-                       (long)'m' << 56 | (long)'i' << 48 | (long)'d' << 40 | (long)'d' << 32 | (long)'o' << 24 | (long)'t' << 16, 
-                       (long)'m' << 56 | (long)'i' << 48 | (long)'n' << 40 | (long)'u' << 32 | (long)'s' << 24, 
-                       (long)'m' << 56 | (long)'u' << 48, 
-                       (long)'n' << 56 | (long)'a' << 48 | (long)'b' << 40 | (long)'l' << 32 | (long)'a' << 24, 
-                       (long)'n' << 56 | (long)'b' << 48 | (long)'s' << 40 | (long)'p' << 32, 
-                       (long)'n' << 56 | (long)'d' << 48 | (long)'a' << 40 | (long)'s' << 32 | (long)'h' << 24, 
-                       (long)'n' << 56 | (long)'e' << 48, 
-                       (long)'n' << 56 | (long)'i' << 48, 
-                       (long)'n' << 56 | (long)'o' << 48 | (long)'t' << 40, 
-                       (long)'n' << 56 | (long)'o' << 48 | (long)'t' << 40 | (long)'i' << 32 | (long)'n' << 24, 
-                       (long)'n' << 56 | (long)'s' << 48 | (long)'u' << 40 | (long)'b' << 32, 
-                       (long)'n' << 56 | (long)'t' << 48 | (long)'i' << 40 | (long)'l' << 32 | (long)'d' << 24 | (long)'e' << 16, 
-                       (long)'n' << 56 | (long)'u' << 48, 
-                       (long)'o' << 56 | (long)'a' << 48 | (long)'c' << 40 | (long)'u' << 32 | (long)'t' << 24 | (long)'e' << 16, 
-                       (long)'o' << 56 | (long)'c' << 48 | (long)'i' << 40 | (long)'r' << 32 | (long)'c' << 24, 
-                       (long)'o' << 56 | (long)'e' << 48 | (long)'l' << 40 | (long)'i' << 32 | (long)'g' << 24, 
-                       (long)'o' << 56 | (long)'g' << 48 | (long)'r' << 40 | (long)'a' << 32 | (long)'v' << 24 | (long)'e' << 16, 
-                       (long)'o' << 56 | (long)'l' << 48 | (long)'i' << 40 | (long)'n' << 32 | (long)'e' << 24, 
-                       (long)'o' << 56 | (long)'m' << 48 | (long)'e' << 40 | (long)'g' << 32 | (long)'a' << 24, 
-                       (long)'o' << 56 | (long)'m' << 48 | (long)'i' << 40 | (long)'c' << 32 | (long)'r' << 24 | (long)'o' << 16 | (long)'n' << 8, 
-                       (long)'o' << 56 | (long)'p' << 48 | (long)'l' << 40 | (long)'u' << 32 | (long)'s' << 24, 
-                       (long)'o' << 56 | (long)'r' << 48, 
-                       (long)'o' << 56 | (long)'r' << 48 | (long)'d' << 40 | (long)'f' << 32, 
-                       (long)'o' << 56 | (long)'r' << 48 | (long)'d' << 40 | (long)'m' << 32, 
-                       (long)'o' << 56 | (long)'s' << 48 | (long)'l' << 40 | (long)'a' << 32 | (long)'s' << 24 | (long)'h' << 16, 
-                       (long)'o' << 56 | (long)'t' << 48 | (long)'i' << 40 | (long)'l' << 32 | (long)'d' << 24 | (long)'e' << 16, 
-                       (long)'o' << 56 | (long)'t' << 48 | (long)'i' << 40 | (long)'m' << 32 | (long)'e' << 24 | (long)'s' << 16, 
-                       (long)'o' << 56 | (long)'u' << 48 | (long)'m' << 40 | (long)'l' << 32, 
-                       (long)'p' << 56 | (long)'a' << 48 | (long)'r' << 40 | (long)'a' << 32, 
-                       (long)'p' << 56 | (long)'a' << 48 | (long)'r' << 40 | (long)'t' << 32, 
-                       (long)'p' << 56 | (long)'e' << 48 | (long)'r' << 40 | (long)'m' << 32 | (long)'i' << 24 | (long)'l' << 16, 
-                       (long)'p' << 56 | (long)'e' << 48 | (long)'r' << 40 | (long)'p' << 32, 
-                       (long)'p' << 56 | (long)'h' << 48 | (long)'i' << 40, 
-                       (long)'p' << 56 | (long)'i' << 48, 
-                       (long)'p' << 56 | (long)'i' << 48 | (long)'v' << 40, 
-                       (long)'p' << 56 | (long)'l' << 48 | (long)'u' << 40 | (long)'s' << 32 | (long)'m' << 24 | (long)'n' << 16, 
-                       (long)'p' << 56 | (long)'o' << 48 | (long)'u' << 40 | (long)'n' << 32 | (long)'d' << 24, 
-                       (long)'p' << 56 | (long)'r' << 48 | (long)'i' << 40 | (long)'m' << 32 | (long)'e' << 24, 
-                       (long)'p' << 56 | (long)'r' << 48 | (long)'o' << 40 | (long)'d' << 32, 
-                       (long)'p' << 56 | (long)'r' << 48 | (long)'o' << 40 | (long)'p' << 32, 
-                       (long)'p' << 56 | (long)'s' << 48 | (long)'i' << 40, 
-                       (long)'q' << 56 | (long)'u' << 48 | (long)'o' << 40 | (long)'t' << 32, 
-                       (long)'r' << 56 | (long)'A' << 48 | (long)'r' << 40 | (long)'r' << 32, 
-                       (long)'r' << 56 | (long)'a' << 48 | (long)'d' << 40 | (long)'i' << 32 | (long)'c' << 24, 
-                       (long)'r' << 56 | (long)'a' << 48 | (long)'n' << 40 | (long)'g' << 32, 
-                       (long)'r' << 56 | (long)'a' << 48 | (long)'q' << 40 | (long)'u' << 32 | (long)'o' << 24, 
-                       (long)'r' << 56 | (long)'a' << 48 | (long)'r' << 40 | (long)'r' << 32, 
-                       (long)'r' << 56 | (long)'c' << 48 | (long)'e' << 40 | (long)'i' << 32 | (long)'l' << 24, 
-                       (long)'r' << 56 | (long)'d' << 48 | (long)'q' << 40 | (long)'u' << 32 | (long)'o' << 24, 
-                       (long)'r' << 56 | (long)'e' << 48 | (long)'a' << 40 | (long)'l' << 32, 
-                       (long)'r' << 56 | (long)'e' << 48 | (long)'g' << 40, 
-                       (long)'r' << 56 | (long)'f' << 48 | (long)'l' << 40 | (long)'o' << 32 | (long)'o' << 24 | (long)'r' << 16, 
-                       (long)'r' << 56 | (long)'h' << 48 | (long)'o' << 40, 
-                       (long)'r' << 56 | (long)'l' << 48 | (long)'m' << 40, 
-                       (long)'r' << 56 | (long)'s' << 48 | (long)'a' << 40 | (long)'q' << 32 | (long)'u' << 24 | (long)'o' << 16, 
-                       (long)'r' << 56 | (long)'s' << 48 | (long)'q' << 40 | (long)'u' << 32 | (long)'o' << 24, 
-                       (long)'s' << 56 | (long)'b' << 48 | (long)'q' << 40 | (long)'u' << 32 | (long)'o' << 24, 
-                       (long)'s' << 56 | (long)'c' << 48 | (long)'a' << 40 | (long)'r' << 32 | (long)'o' << 24 | (long)'n' << 16, 
-                       (long)'s' << 56 | (long)'d' << 48 | (long)'o' << 40 | (long)'t' << 32, 
-                       (long)'s' << 56 | (long)'e' << 48 | (long)'c' << 40 | (long)'t' << 32, 
-                       (long)'s' << 56 | (long)'h' << 48 | (long)'y' << 40, 
-                       (long)'s' << 56 | (long)'i' << 48 | (long)'g' << 40 | (long)'m' << 32 | (long)'a' << 24, 
-                       (long)'s' << 56 | (long)'i' << 48 | (long)'g' << 40 | (long)'m' << 32 | (long)'a' << 24 | (long)'f' << 16, 
-                       (long)'s' << 56 | (long)'i' << 48 | (long)'m' << 40, 
-                       (long)'s' << 56 | (long)'p' << 48 | (long)'a' << 40 | (long)'d' << 32 | (long)'e' << 24 | (long)'s' << 16, 
-                       (long)'s' << 56 | (long)'u' << 48 | (long)'b' << 40, 
-                       (long)'s' << 56 | (long)'u' << 48 | (long)'b' << 40 | (long)'e' << 32, 
-                       (long)'s' << 56 | (long)'u' << 48 | (long)'m' << 40, 
-                       (long)'s' << 56 | (long)'u' << 48 | (long)'p' << 40, 
-                       (long)'s' << 56 | (long)'u' << 48 | (long)'p' << 40 | (long)'1' << 32, 
-                       (long)'s' << 56 | (long)'u' << 48 | (long)'p' << 40 | (long)'2' << 32, 
-                       (long)'s' << 56 | (long)'u' << 48 | (long)'p' << 40 | (long)'3' << 32, 
-                       (long)'s' << 56 | (long)'u' << 48 | (long)'p' << 40 | (long)'e' << 32, 
-                       (long)'s' << 56 | (long)'z' << 48 | (long)'l' << 40 | (long)'i' << 32 | (long)'g' << 24, 
-                       (long)'t' << 56 | (long)'a' << 48 | (long)'u' << 40, 
-                       (long)'t' << 56 | (long)'h' << 48 | (long)'e' << 40 | (long)'r' << 32 | (long)'e' << 24 | (long)'4' << 16, 
-                       (long)'t' << 56 | (long)'h' << 48 | (long)'e' << 40 | (long)'t' << 32 | (long)'a' << 24, 
-                       (long)'t' << 56 | (long)'h' << 48 | (long)'e' << 40 | (long)'t' << 32 | (long)'a' << 24 | (long)'s' << 16 | (long)'y' << 8 | (long)'m' << 0, 
-                       (long)'t' << 56 | (long)'h' << 48 | (long)'i' << 40 | (long)'n' << 32 | (long)'s' << 24 | (long)'p' << 16, 
-                       (long)'t' << 56 | (long)'h' << 48 | (long)'o' << 40 | (long)'r' << 32 | (long)'n' << 24, 
-                       (long)'t' << 56 | (long)'i' << 48 | (long)'l' << 40 | (long)'d' << 32 | (long)'e' << 24, 
-                       (long)'t' << 56 | (long)'i' << 48 | (long)'m' << 40 | (long)'e' << 32 | (long)'s' << 24, 
-                       (long)'t' << 56 | (long)'r' << 48 | (long)'a' << 40 | (long)'d' << 32 | (long)'e' << 24, 
-                       (long)'u' << 56 | (long)'A' << 48 | (long)'r' << 40 | (long)'r' << 32, 
-                       (long)'u' << 56 | (long)'a' << 48 | (long)'c' << 40 | (long)'u' << 32 | (long)'t' << 24 | (long)'e' << 16, 
-                       (long)'u' << 56 | (long)'a' << 48 | (long)'r' << 40 | (long)'r' << 32, 
-                       (long)'u' << 56 | (long)'c' << 48 | (long)'i' << 40 | (long)'r' << 32 | (long)'c' << 24, 
-                       (long)'u' << 56 | (long)'g' << 48 | (long)'r' << 40 | (long)'a' << 32 | (long)'v' << 24 | (long)'e' << 16, 
-                       (long)'u' << 56 | (long)'m' << 48 | (long)'l' << 40, 
-                       (long)'u' << 56 | (long)'p' << 48 | (long)'s' << 40 | (long)'i' << 32 | (long)'h' << 24, 
-                       (long)'u' << 56 | (long)'p' << 48 | (long)'s' << 40 | (long)'i' << 32 | (long)'l' << 24 | (long)'o' << 16 | (long)'n' << 8, 
-                       (long)'u' << 56 | (long)'u' << 48 | (long)'m' << 40 | (long)'l' << 32, 
-                       (long)'w' << 56 | (long)'e' << 48 | (long)'i' << 40 | (long)'e' << 32 | (long)'r' << 24 | (long)'p' << 16, 
-                       (long)'x' << 56 | (long)'i' << 48, 
-                       (long)'y' << 56 | (long)'a' << 48 | (long)'c' << 40 | (long)'u' << 32 | (long)'t' << 24 | (long)'e' << 16, 
-                       (long)'y' << 56 | (long)'e' << 48 | (long)'n' << 40, 
-                       (long)'y' << 56 | (long)'u' << 48 | (long)'m' << 40 | (long)'l' << 32, 
-                       (long)'z' << 56 | (long)'e' << 48 | (long)'t' << 40 | (long)'a' << 32, 
-                       (long)'z' << 56 | (long)'w' << 48 | (long)'j' << 40, 
-                       (long)'z' << 56 | (long)'w' << 48 | (long)'n' << 40 | (long)'j' << 32
-               };
-
-               static readonly char[] entities_values = new char[] {
-                       '\u00C6',
-                       '\u00C1',
-                       '\u00C2',
-                       '\u00C0',
-                       '\u0391',
-                       '\u00C5',
-                       '\u00C3',
-                       '\u00C4',
-                       '\u0392',
-                       '\u00C7',
-                       '\u03A7',
-                       '\u2021',
-                       '\u0394',
-                       '\u00D0',
-                       '\u00C9',
-                       '\u00CA',
-                       '\u00C8',
-                       '\u0395',
-                       '\u0397',
-                       '\u00CB',
-                       '\u0393',
-                       '\u00CD',
-                       '\u00CE',
-                       '\u00CC',
-                       '\u0399',
-                       '\u00CF',
-                       '\u039A',
-                       '\u039B',
-                       '\u039C',
-                       '\u00D1',
-                       '\u039D',
-                       '\u0152',
-                       '\u00D3',
-                       '\u00D4',
-                       '\u00D2',
-                       '\u03A9',
-                       '\u039F',
-                       '\u00D8',
-                       '\u00D5',
-                       '\u00D6',
-                       '\u03A6',
-                       '\u03A0',
-                       '\u2033',
-                       '\u03A8',
-                       '\u03A1',
-                       '\u0160',
-                       '\u03A3',
-                       '\u00DE',
-                       '\u03A4',
-                       '\u0398',
-                       '\u00DA',
-                       '\u00DB',
-                       '\u00D9',
-                       '\u03A5',
-                       '\u00DC',
-                       '\u039E',
-                       '\u00DD',
-                       '\u0178',
-                       '\u0396',
-                       '\u00E1',
-                       '\u00E2',
-                       '\u00B4',
-                       '\u00E6',
-                       '\u00E0',
-                       '\u2135',
-                       '\u03B1',
-                       '\u0026',
-                       '\u2227',
-                       '\u2220',
-                       '\u0027',
-                       '\u00E5',
-                       '\u2248',
-                       '\u00E3',
-                       '\u00E4',
-                       '\u201E',
-                       '\u03B2',
-                       '\u00A6',
-                       '\u2022',
-                       '\u2229',
-                       '\u00E7',
-                       '\u00B8',
-                       '\u00A2',
-                       '\u03C7',
-                       '\u02C6',
-                       '\u2663',
-                       '\u2245',
-                       '\u00A9',
-                       '\u21B5',
-                       '\u222A',
-                       '\u00A4',
-                       '\u21D3',
-                       '\u2020',
-                       '\u2193',
-                       '\u00B0',
-                       '\u03B4',
-                       '\u2666',
-                       '\u00F7',
-                       '\u00E9',
-                       '\u00EA',
-                       '\u00E8',
-                       '\u2205',
-                       '\u2003',
-                       '\u2002',
-                       '\u03B5',
-                       '\u2261',
-                       '\u03B7',
-                       '\u00F0',
-                       '\u00EB',
-                       '\u20AC',
-                       '\u2203',
-                       '\u0192',
-                       '\u2200',
-                       '\u00BD',
-                       '\u00BC',
-                       '\u00BE',
-                       '\u2044',
-                       '\u03B3',
-                       '\u2265',
-                       '\u003E',
-                       '\u21D4',
-                       '\u2194',
-                       '\u2665',
-                       '\u2026',
-                       '\u00ED',
-                       '\u00EE',
-                       '\u00A1',
-                       '\u00EC',
-                       '\u2111',
-                       '\u221E',
-                       '\u222B',
-                       '\u03B9',
-                       '\u00BF',
-                       '\u2208',
-                       '\u00EF',
-                       '\u03BA',
-                       '\u21D0',
-                       '\u03BB',
-                       '\u2329',
-                       '\u00AB',
-                       '\u2190',
-                       '\u2308',
-                       '\u201C',
-                       '\u2264',
-                       '\u230A',
-                       '\u2217',
-                       '\u25CA',
-                       '\u200E',
-                       '\u2039',
-                       '\u2018',
-                       '\u003C',
-                       '\u00AF',
-                       '\u2014',
-                       '\u00B5',
-                       '\u00B7',
-                       '\u2212',
-                       '\u03BC',
-                       '\u2207',
-                       '\u00A0',
-                       '\u2013',
-                       '\u2260',
-                       '\u220B',
-                       '\u00AC',
-                       '\u2209',
-                       '\u2284',
-                       '\u00F1',
-                       '\u03BD',
-                       '\u00F3',
-                       '\u00F4',
-                       '\u0153',
-                       '\u00F2',
-                       '\u203E',
-                       '\u03C9',
-                       '\u03BF',
-                       '\u2295',
-                       '\u2228',
-                       '\u00AA',
-                       '\u00BA',
-                       '\u00F8',
-                       '\u00F5',
-                       '\u2297',
-                       '\u00F6',
-                       '\u00B6',
-                       '\u2202',
-                       '\u2030',
-                       '\u22A5',
-                       '\u03C6',
-                       '\u03C0',
-                       '\u03D6',
-                       '\u00B1',
-                       '\u00A3',
-                       '\u2032',
-                       '\u220F',
-                       '\u221D',
-                       '\u03C8',
-                       '\u0022',
-                       '\u21D2',
-                       '\u221A',
-                       '\u232A',
-                       '\u00BB',
-                       '\u2192',
-                       '\u2309',
-                       '\u201D',
-                       '\u211C',
-                       '\u00AE',
-                       '\u230B',
-                       '\u03C1',
-                       '\u200F',
-                       '\u203A',
-                       '\u2019',
-                       '\u201A',
-                       '\u0161',
-                       '\u22C5',
-                       '\u00A7',
-                       '\u00AD',
-                       '\u03C3',
-                       '\u03C2',
-                       '\u223C',
-                       '\u2660',
-                       '\u2282',
-                       '\u2286',
-                       '\u2211',
-                       '\u2283',
-                       '\u00B9',
-                       '\u00B2',
-                       '\u00B3',
-                       '\u2287',
-                       '\u00DF',
-                       '\u03C4',
-                       '\u2234',
-                       '\u03B8',
-                       '\u03D1',
-                       '\u2009',
-                       '\u00FE',
-                       '\u02DC',
-                       '\u00D7',
-                       '\u2122',
-                       '\u21D1',
-                       '\u00FA',
-                       '\u2191',
-                       '\u00FB',
-                       '\u00F9',
-                       '\u00A8',
-                       '\u03D2',
-                       '\u03C5',
-                       '\u00FC',
-                       '\u2118',
-                       '\u03BE',
-                       '\u00FD',
-                       '\u00A5',
-                       '\u00FF',
-                       '\u03B6',
-                       '\u200D',
-                       '\u200C'
-               };
-
-               static readonly char[] hexChars = new [] {
-                       '0',
-                       '1',
-                       '2',
-                       '3',
-                       '4',
-                       '5',
-                       '6',
-                       '7',
-                       '8',
-                       '9',
-                       'A',
-                       'B',
-                       'C',
-                       'D',
-                       'E',
-                       'F'
-               };
-
-               #region Methods
-       
-               public static void HtmlAttributeEncode (string s, TextWriter output) 
-               {
-                       output.Write(HtmlAttributeEncode(s));
-               }
-       
-               public static string HtmlAttributeEncode (string s) 
-               {
-                       if (null == s) 
-                               return null;
-       
-                       bool needEncode = false;
-                       for (int i = 0; i < s.Length; i++) {
-                               if (s [i] == '&' || s [i] == '"' || s [i] == '<') {
-                                       needEncode = true;
-                                       break;
-                               }
-                       }
-
-                       if (!needEncode)
-                               return s;
-
-                       StringBuilder output = new StringBuilder ();
-                       int len = s.Length;
-                       for (int i = 0; i < len; i++)
-                               switch (s [i]) {
-                               case '&' : 
-                                       output.Append ("&amp;");
-                                       break;
-                               case '"' :
-                                       output.Append ("&quot;");
-                                       break;
-                               case '<':
-                                       output.Append ("&lt;");
-                                       break;
-                               default:
-                                       output.Append (s [i]);
-                                       break;
-                               }
-       
-                       return output.ToString();
-               }
-       
-               public static string UrlDecode (string str) 
-               {
-                       return UrlDecode(str, Encoding.UTF8);
-               }
-       
-               static char [] GetChars (MemoryStream b, Encoding e)
-               {
-                       return e.GetChars (b.GetBuffer (), 0, (int) b.Length);
-               }
-
-               static void WriteCharBytes (IList buf, char ch, Encoding e)
-               {
-                       if (ch > 255) {
-                               foreach (byte b in e.GetBytes (new char[] { ch }))
-                                       buf.Add (b);
-                       } else
-                               buf.Add ((byte)ch);
-               }
-               
-               public static string UrlDecode (string s, Encoding e)
-               {
-                       if (null == s) 
-                               return null;
-
-                       if (s.IndexOf ('%') == -1 && s.IndexOf ('+') == -1)
-                               return s;
-                       
-                       if (e == null)
-                               e = Encoding.UTF8;
-
-                       long len = s.Length;
-                       var bytes = new List <byte> ();
-                       int xchar;
-                       char ch;
-                       
-                       for (int i = 0; i < len; i++) {
-                               ch = s [i];
-                               if (ch == '%' && i + 2 < len && s [i + 1] != '%') {
-                                       if (s [i + 1] == 'u' && i + 5 < len) {
-                                               // unicode hex sequence
-                                               xchar = GetChar (s, i + 2, 4);
-                                               if (xchar != -1) {
-                                                       WriteCharBytes (bytes, (char)xchar, e);
-                                                       i += 5;
-                                               } else
-                                                       WriteCharBytes (bytes, '%', e);
-                                       } else if ((xchar = GetChar (s, i + 1, 2)) != -1) {
-                                               WriteCharBytes (bytes, (char)xchar, e);
-                                               i += 2;
-                                       } else {
-                                               WriteCharBytes (bytes, '%', e);
-                                       }
-                                       continue;
-                               }
-
-                               if (ch == '+')
-                                       WriteCharBytes (bytes, ' ', e);
-                               else
-                                       WriteCharBytes (bytes, ch, e);
-                       }
-                       
-                       byte[] buf = bytes.ToArray ();
-                       bytes = null;
-                       return e.GetString (buf);
-                       
-               }
-       
-               public static string UrlDecode (byte [] bytes, Encoding e)
-               {
-                       if (bytes == null)
-                               return null;
-
-                       return UrlDecode (bytes, 0, bytes.Length, e);
-               }
-
-               static int GetInt (byte b)
-               {
-                       char c = (char) b;
-                       if (c >= '0' && c <= '9')
-                               return c - '0';
-
-                       if (c >= 'a' && c <= 'f')
-                               return c - 'a' + 10;
-
-                       if (c >= 'A' && c <= 'F')
-                               return c - 'A' + 10;
-
-                       return -1;
-               }
-
-               static int GetChar (byte [] bytes, int offset, int length)
-               {
-                       int value = 0;
-                       int end = length + offset;
-                       for (int i = offset; i < end; i++) {
-                               int current = GetInt (bytes [i]);
-                               if (current == -1)
-                                       return -1;
-                               value = (value << 4) + current;
-                       }
-
-                       return value;
-               }
-
-               static int GetChar (string str, int offset, int length)
-               {
-                       int val = 0;
-                       int end = length + offset;
-                       for (int i = offset; i < end; i++) {
-                               char c = str [i];
-                               if (c > 127)
-                                       return -1;
-
-                               int current = GetInt ((byte) c);
-                               if (current == -1)
-                                       return -1;
-                               val = (val << 4) + current;
-                       }
-
-                       return val;
-               }
-               
-               public static string UrlDecode (byte [] bytes, int offset, int count, Encoding e)
-               {
-                       if (bytes == null)
-                               return null;
-                       if (count == 0)
-                               return String.Empty;
-
-                       if (bytes == null)
-                               throw new ArgumentNullException ("bytes");
-
-                       if (offset < 0 || offset > bytes.Length)
-                               throw new ArgumentOutOfRangeException ("offset");
-
-                       if (count < 0 || offset + count > bytes.Length)
-                               throw new ArgumentOutOfRangeException ("count");
-
-                       StringBuilder output = new StringBuilder ();
-                       MemoryStream acc = new MemoryStream ();
-
-                       int end = count + offset;
-                       int xchar;
-                       for (int i = offset; i < end; i++) {
-                               if (bytes [i] == '%' && i + 2 < count && bytes [i + 1] != '%') {
-                                       if (bytes [i + 1] == (byte) 'u' && i + 5 < end) {
-                                               if (acc.Length > 0) {
-                                                       output.Append (GetChars (acc, e));
-                                                       acc.SetLength (0);
-                                               }
-                                               xchar = GetChar (bytes, i + 2, 4);
-                                               if (xchar != -1) {
-                                                       output.Append ((char) xchar);
-                                                       i += 5;
-                                                       continue;
-                                               }
-                                       } else if ((xchar = GetChar (bytes, i + 1, 2)) != -1) {
-                                               acc.WriteByte ((byte) xchar);
-                                               i += 2;
-                                               continue;
-                                       }
-                               }
-
-                               if (acc.Length > 0) {
-                                       output.Append (GetChars (acc, e));
-                                       acc.SetLength (0);
-                               }
-
-                               if (bytes [i] == '+') {
-                                       output.Append (' ');
-                               } else {
-                                       output.Append ((char) bytes [i]);
-                               }
-                       }
-
-                       if (acc.Length > 0) {
-                               output.Append (GetChars (acc, e));
-                       }
-                       
-                       acc = null;
-                       return output.ToString ();
-               }
-       
-               public static byte [] UrlDecodeToBytes (byte [] bytes)
-               {
-                       if (bytes == null)
-                               return null;
-
-                       return UrlDecodeToBytes (bytes, 0, bytes.Length);
-               }
-
-               public static byte [] UrlDecodeToBytes (string str)
-               {
-                       return UrlDecodeToBytes (str, Encoding.UTF8);
-               }
-
-               public static byte [] UrlDecodeToBytes (string str, Encoding e)
-               {
-                       if (str == null)
-                               return null;
-
-                       if (e == null)
-                               throw new ArgumentNullException ("e");
-
-                       return UrlDecodeToBytes (e.GetBytes (str));
-               }
-
-               public static byte [] UrlDecodeToBytes (byte [] bytes, int offset, int count)
-               {
-                       if (bytes == null)
-                               return null;
-                       if (count == 0)
-                               return new byte [0];
-
-                       int len = bytes.Length;
-                       if (offset < 0 || offset >= len)
-                               throw new ArgumentOutOfRangeException("offset");
-
-                       if (count < 0 || offset > len - count)
-                               throw new ArgumentOutOfRangeException("count");
-
-                       MemoryStream result = new MemoryStream ();
-                       int end = offset + count;
-                       for (int i = offset; i < end; i++){
-                               char c = (char) bytes [i];
-                               if (c == '+') {
-                                       c = ' ';
-                               } else if (c == '%' && i < end - 2) {
-                                       int xchar = GetChar (bytes, i + 1, 2);
-                                       if (xchar != -1) {
-                                               c = (char) xchar;
-                                               i += 2;
-                                       }
-                               }
-                               result.WriteByte ((byte) c);
-                       }
-
-                       return result.ToArray ();
-               }
-
-               public static string UrlEncode(string str) 
-               {
-                       return UrlEncode(str, Encoding.UTF8);
-               }
-       
-               public static string UrlEncode (string s, Encoding Enc) 
-               {
-                       if (string.IsNullOrEmpty (s))
-                               return s;
-
-                       bool needEncode = false;
-                       int len = s.Length;
-                       for (int i = 0; i < len; i++) {
-                               char c = s [i];
-                               if ((c < '0') || (c < 'A' && c > '9') || (c > 'Z' && c < 'a') || (c > 'z')) {
-                                       if (NotEncoded (c))
-                                               continue;
-
-                                       needEncode = true;
-                                       break;
-                               }
-                       }
-
-                       if (!needEncode)
-                               return s;
-
-                       // avoided GetByteCount call
-                       byte [] bytes = new byte[Enc.GetMaxByteCount(s.Length)];
-                       int realLen = Enc.GetBytes (s, 0, s.Length, bytes, 0);
-                       return Encoding.ASCII.GetString (UrlEncodeToBytes (bytes, 0, realLen));
-               }
-         
-               public static string UrlEncode (byte [] bytes)
-               {
-                       if (bytes == null)
-                               return null;
-
-                       if (bytes.Length == 0)
-                               return "";
-
-                       return Encoding.ASCII.GetString (UrlEncodeToBytes (bytes, 0, bytes.Length));
-               }
-
-               public static string UrlEncode (byte [] bytes, int offset, int count)
-               {
-                       if (bytes == null)
-                               return null;
-
-                       if (bytes.Length == 0)
-                               return "";
-
-                       return Encoding.ASCII.GetString (UrlEncodeToBytes (bytes, offset, count));
-               }
-
-               public static byte [] UrlEncodeToBytes (string str)
-               {
-                       return UrlEncodeToBytes (str, Encoding.UTF8);
-               }
-
-               public static byte [] UrlEncodeToBytes (string str, Encoding e)
-               {
-                       if (str == null)
-                               return null;
-
-                       if (str == "")
-                               return new byte [0];
-
-                       byte [] bytes = e.GetBytes (str);
-                       return UrlEncodeToBytes (bytes, 0, bytes.Length);
-               }
-
-               public static byte [] UrlEncodeToBytes (byte [] bytes)
-               {
-                       if (bytes == null)
-                               return null;
-
-                       if (bytes.Length == 0)
-                               return new byte [0];
-
-                       return UrlEncodeToBytes (bytes, 0, bytes.Length);
-               }
-                       
-               static bool NotEncoded (char c)
-               {
-                       return (c == '!' || c == '(' || c == ')' || c == '*' || c == '-' || c == '.' || c == '_');
-               }
-
-               static void UrlEncodeChar (char c, Stream result, bool isUnicode) {
-                       if (c > 255) {
-                               //FIXME: what happens when there is an internal error?
-                               //if (!isUnicode)
-                               //      throw new ArgumentOutOfRangeException ("c", c, "c must be less than 256");
-                               int idx;
-                               int i = (int) c;
-
-                               result.WriteByte ((byte)'%');
-                               result.WriteByte ((byte)'u');
-                               idx = i >> 12;
-                               result.WriteByte ((byte)hexChars [idx]);
-                               idx = (i >> 8) & 0x0F;
-                               result.WriteByte ((byte)hexChars [idx]);
-                               idx = (i >> 4) & 0x0F;
-                               result.WriteByte ((byte)hexChars [idx]);
-                               idx = i & 0x0F;
-                               result.WriteByte ((byte)hexChars [idx]);
-                               return;
-                       }
-                       
-                       if (c > ' ' && NotEncoded (c)) {
-                               result.WriteByte ((byte)c);
-                               return;
-                       }
-                       if (c==' ') {
-                               result.WriteByte ((byte)'+');
-                               return;
-                       }
-                       if (    (c < '0') ||
-                               (c < 'A' && c > '9') ||
-                               (c > 'Z' && c < 'a') ||
-                               (c > 'z')) {
-                               if (isUnicode && c > 127) {
-                                       result.WriteByte ((byte)'%');
-                                       result.WriteByte ((byte)'u');
-                                       result.WriteByte ((byte)'0');
-                                       result.WriteByte ((byte)'0');
-                               }
-                               else
-                                       result.WriteByte ((byte)'%');
-                               
-                               int idx = ((int) c) >> 4;
-                               result.WriteByte ((byte)hexChars [idx]);
-                               idx = ((int) c) & 0x0F;
-                               result.WriteByte ((byte)hexChars [idx]);
-                       }
-                       else
-                               result.WriteByte ((byte)c);
-               }
-
-               public static byte [] UrlEncodeToBytes (byte [] bytes, int offset, int count)
-               {
-                       if (bytes == null)
-                               return null;
-
-                       int len = bytes.Length;
-                       if (len == 0)
-                               return new byte [0];
-
-                       if (offset < 0 || offset >= len)
-                               throw new ArgumentOutOfRangeException("offset");
-
-                       if (count < 0 || count > len - offset)
-                               throw new ArgumentOutOfRangeException("count");
-
-                       MemoryStream result = new MemoryStream (count);
-                       int end = offset + count;
-                       for (int i = offset; i < end; i++)
-                               UrlEncodeChar ((char)bytes [i], result, false);
-
-                       return result.ToArray();
-               }
-
-               public static string UrlEncodeUnicode (string str)
-               {
-                       if (str == null)
-                               return null;
-
-                       return Encoding.ASCII.GetString (UrlEncodeUnicodeToBytes (str));
-               }
-
-               public static byte [] UrlEncodeUnicodeToBytes (string str)
-               {
-                       if (str == null)
-                               return null;
-
-                       if (str == "")
-                               return new byte [0];
-
-                       MemoryStream result = new MemoryStream (str.Length);
-                       foreach (char c in str){
-                               UrlEncodeChar (c, result, true);
-                       }
-                       return result.ToArray ();
-               }
-
-               static bool TryConvertKeyToEntity (string key, out char value)
-               {
-                       var token = CalculateKeyValue (key);
-                       if (token == 0) {
-                               value = '\0';
-                               return false;
-                       }
-
-                       var idx = Array.BinarySearch (entities, token);
-                       if (idx < 0) {
-                               value = '\0';
-                               return false;
-                       }
-
-                       value = entities_values [idx];
-                       return true;
-               }
-
-               static long CalculateKeyValue (string s)
-               {
-                       if (s.Length > 8)
-                               return 0;
-
-                       long key = 0;
-                       for (int i = 0; i < s.Length; ++i) {
-                               long ch = s[i];
-                               if (ch > 'z' || ch < '0')
-                                       return 0;
-
-                               key |= ch << ((7 - i) * 8);
-                       }
-
-                       return key;
-               }
-
-               /// <summary>
-               /// Decodes an HTML-encoded string and returns the decoded string.
-               /// </summary>
-               /// <param name="s">The HTML string to decode. </param>
-               /// <returns>The decoded text.</returns>
-               public static string HtmlDecode (string s) 
-               {
-                       if (s == null)
-                               throw new ArgumentNullException ("s");
-
-                       if (s.IndexOf ('&') == -1)
-                               return s;
-
-                       StringBuilder entity = new StringBuilder ();
-                       StringBuilder output = new StringBuilder ();
-                       int len = s.Length;
-                       // 0 -> nothing,
-                       // 1 -> right after '&'
-                       // 2 -> between '&' and ';' but no '#'
-                       // 3 -> '#' found after '&' and getting numbers
-                       int state = 0;
-                       int number = 0;
-                       int digit_start = 0;
-                       bool hex_number = false;
-       
-                       for (int i = 0; i < len; i++) {
-                               char c = s [i];
-                               if (state == 0) {
-                                       if (c == '&') {
-                                               entity.Append (c);
-                                               state = 1;
-                                       } else {
-                                               output.Append (c);
-                                       }
-                                       continue;
-                               }
-
-                               if (c == '&') {
-                                       state = 1;
-                                       if (digit_start > 0) {
-                                               entity.Append (s, digit_start, i - digit_start);
-                                               digit_start = 0;
-                                       }
-
-                                       output.Append (entity.ToString ());
-                                       entity.Length = 0;
-                                       entity.Append ('&');
-                                       continue;
-                               }
-
-                               switch (state) {
-                               case 1:
-                                       if (c == ';') {
-                                               state = 0;
-                                               output.Append (entity.ToString ());
-                                               output.Append (c);
-                                               entity.Length = 0;
-                                               break;
-                                       }
-
-                                       number = 0;
-                                       hex_number = false;
-                                       if (c != '#') {
-                                               state = 2;
-                                       } else {
-                                               state = 3;
-                                       }
-                                       entity.Append (c);
-
-                                       break;
-                               case 2:
-                                       entity.Append (c);
-                                       if (c == ';') {
-                                               string key = entity.ToString ();
-                                               state = 0;
-                                               entity.Length = 0;
-
-                                               if (key.Length > 1) {
-                                                       var skey = key.Substring (1, key.Length - 2);
-                                                       if (TryConvertKeyToEntity (skey, out c)) {
-                                                               output.Append (c);
-                                                               break;
-                                                       }
-                                               }
-
-                                               output.Append (key);
-                                       }
-
-                                       break;
-                               case 3:
-                                       if (c == ';') {
-                                               if (number < 0x10000) {
-                                                       output.Append ((char)number);
-                                               } else {
-                                                       output.Append ((char)(0xd800 + ((number - 0x10000) >> 10)));
-                                                       output.Append ((char)(0xdc00 + ((number - 0x10000) & 0x3ff)));
-                                               }
-                                               state = 0;
-                                               entity.Length = 0;
-                                               digit_start = 0;
-                                               break;
-                                       }
-
-                                       if (c == 'x' || c == 'X' && !hex_number) {
-                                               digit_start = i;
-                                               hex_number = true;
-                                               break;
-                                       }
-
-                                       if (Char.IsDigit (c)) {
-                                               if (digit_start == 0)
-                                                       digit_start = i;
-
-                                               number = number * (hex_number ? 16 : 10) + ((int)c - '0');
-                                               break;
-                                       }
-
-                                       if (hex_number) {
-                                               if (c >= 'a' && c <= 'f') {
-                                                       number = number * 16 + 10 + ((int)c - 'a');
-                                                       break;
-                                               }
-                                               if (c >= 'A' && c <= 'F') {
-                                                       number = number * 16 + 10 + ((int)c - 'A');
-                                                       break;
-                                               }
-                                       }
-
-                                       state = 2;
-                                       if (digit_start > 0) {
-                                               entity.Append (s, digit_start, i - digit_start);
-                                               digit_start = 0;
-                                       }
-
-                                       entity.Append (c);
-                                       break;
-                               }
-                       }
-
-                       if (entity.Length > 0) {
-                               output.Append (entity);
-                       } else if (digit_start > 0) {
-                               output.Append (s, digit_start, s.Length - digit_start);
-                       }
-                       return output.ToString ();
-               }
-       
-               /// <summary>
-               /// Decodes an HTML-encoded string and sends the resulting output to a TextWriter output stream.
-               /// </summary>
-               /// <param name="s">The HTML string to decode</param>
-               /// <param name="output">The TextWriter output stream containing the decoded string. </param>
-               public static void HtmlDecode(string s, TextWriter output) 
-               {
-                       if (s != null)
-                               output.Write (HtmlDecode (s));
-               }
-       
-               /// <summary>
-               /// HTML-encodes a string and returns the encoded string.
-               /// </summary>
-               /// <param name="s">The text string to encode. </param>
-               /// <returns>The HTML-encoded text.</returns>
-               public static string HtmlEncode (string s) 
-               {
-                       if (s == null)
-                               return null;
-
-                       bool needEncode = false;
-                       int i;
-                       for (i = 0; i < s.Length; i++) {
-                               char c = s [i];
-                               switch (c) {
-                               case '&':
-                               case '"':
-                               case '<':
-                               case '>':
-                               case '\'':
-                                       needEncode = true;
-                                       break;
-                               default:
-                                       if (c > 159) {
-                                               needEncode = true;
-                                               break;
-                                       }
-
-                                       continue;
-                               }
-
-                               break;
-                       }
-
-                       if (!needEncode)
-                               return s;
-
-                       StringBuilder output = new StringBuilder (s, 0, i, s.Length * 2);
-                       
-                       for (; i < s.Length; i++) {
-                               var c = s [i];
-                               switch (c) {
-                               case '&' :
-                                       output.Append ("&amp;");
-                                       break;
-                               case '>' : 
-                                       output.Append ("&gt;");
-                                       break;
-                               case '<' :
-                                       output.Append ("&lt;");
-                                       break;
-                               case '"' :
-                                       output.Append ("&quot;");
-                                       break;
-                               case '\'':
-                                       output.Append ("&#39;");
-                                       break;
-                               default:
-                                       // MS starts encoding with &# from 160 and stops at 255.
-                                       // We don't do that. One reason is the 65308/65310 unicode
-                                       // characters that look like '<' and '>'.
-                                       if (c > 159) {
-                                               output.Append ("&#");
-                                               if (char.IsSurrogate (c))
-                                                       output.Append (char.ConvertToUtf32 (s, i++));
-                                               else
-                                                       output.Append (((int) c).ToString (CultureInfo.InvariantCulture));
-
-                                               output.Append (";");
-                                       } else {
-                                               output.Append (c);
-                                       }
-                                       break;
-                               }
-                       }
-
-                       return output.ToString ();
-               }
-       
-               /// <summary>
-               /// HTML-encodes a string and sends the resulting output to a TextWriter output stream.
-               /// </summary>
-               /// <param name="s">The string to encode. </param>
-               /// <param name="output">The TextWriter output stream containing the encoded string. </param>
-               public static void HtmlEncode(string s, TextWriter output) 
-               {
-                       if (s != null)
-                               output.Write (HtmlEncode (s));
-               }
-
-               public static string UrlPathEncode (string s)
-               {
-                       if (s == null || s.Length == 0)
-                               return s;
-
-                       MemoryStream result = new MemoryStream ();
-                       int length = s.Length;
-                       for (int i = 0; i < length; i++) {
-                               UrlPathEncodeChar (s [i], result);
-                       }
-                       return Encoding.ASCII.GetString (result.ToArray ());
-               }
-               
-               static void UrlPathEncodeChar (char c, Stream result)
-               {
-                       if (c < 33 || c > 126) {
-                               byte [] bIn = Encoding.UTF8.GetBytes (c.ToString ());
-                               for (int i = 0; i < bIn.Length; i++) {
-                                       result.WriteByte ((byte) '%');
-                                       int idx = ((int) bIn [i]) >> 4;
-                                       result.WriteByte ((byte) hexChars [idx]);
-                                       idx = ((int) bIn [i]) & 0x0F;
-                                       result.WriteByte ((byte) hexChars [idx]);
-                               }
-                       }
-                       else if (c == ' ') {
-                               result.WriteByte ((byte) '%');
-                               result.WriteByte ((byte) '2');
-                               result.WriteByte ((byte) '0');
-                       }
-                       else
-                               result.WriteByte ((byte) c);
-               }
-
-               public static NameValueCollection ParseQueryString (string query)
-               {
-                       return ParseQueryString (query, Encoding.UTF8);
-               }
-
-               public static NameValueCollection ParseQueryString (string query, Encoding encoding)
-               {
-                       if (query == null)
-                               throw new ArgumentNullException ("query");
-                       if (encoding == null)
-                               throw new ArgumentNullException ("encoding");
-                       if (query.Length == 0 || (query.Length == 1 && query[0] == '?'))
-                               return new NameValueCollection ();
-                       if (query[0] == '?')
-                               query = query.Substring (1);
-                               
-                       NameValueCollection result = new HttpQSCollection ();
-                       ParseQueryString (query, encoding, result);
-                       return result;
-               }
-
-               internal static void ParseQueryString (string query, Encoding encoding, NameValueCollection result)
-               {
-                       if (query.Length == 0)
-                               return;
-
-                       string decoded = HtmlDecode (query);
-                       int decodedLength = decoded.Length;
-                       int namePos = 0;
-                       bool first = true;
-                       while (namePos <= decodedLength) {
-                               int valuePos = -1, valueEnd = -1;
-                               for (int q = namePos; q < decodedLength; q++) {
-                                       if (valuePos == -1 && decoded [q] == '=') {
-                                               valuePos = q + 1;
-                                       } else if (decoded [q] == '&') {
-                                               valueEnd = q;
-                                               break;
-                                       }
-                               }
-
-                               if (first) {
-                                       first = false;
-                                       if (decoded [namePos] == '?')
-                                               namePos++;
-                               }
-                               
-                               string name, value;
-                               if (valuePos == -1) {
-                                       name = null;
-                                       valuePos = namePos;
-                               } else {
-                                       name = UrlDecode (decoded.Substring (namePos, valuePos - namePos - 1), encoding);
-                               }
-                               if (valueEnd < 0) {
-                                       namePos = -1;
-                                       valueEnd = decoded.Length;
-                               } else {
-                                       namePos = valueEnd + 1;
-                               }
-                               value = UrlDecode (decoded.Substring (valuePos, valueEnd - valuePos), encoding);
-
-                               result.Add (name, value);
-                               if (namePos == -1)
-                                       break;
-                       }
-               }
-               #endregion // Methods
-       }
-}
-
index 89fb47563b59af70715583545fe050662c7fea2f..04bf42eb87ba4edc50fdde571452482fe4b81cad 100644 (file)
@@ -257,7 +257,7 @@ namespace System.Net {
                                        if (i == (ips.Length - 1)) {
                                                if (i != 0  && val >= (256 << ((3 - i) * 8)))
                                                        return null;
-                                               else if (val > 0x3fffffffe) // this is the last number that parses correctly with MS
+                                               else if (val > 0xffffffff)
                                                        return null;
                                                i = 3;
                                        } else if (val >= 0x100)
@@ -378,8 +378,47 @@ namespace System.Net {
                                return m_Family;
                        }
                }
-               
-               
+
+#if NET_4_5
+
+               public IPAddress MapToIPv4 ()
+               {
+                       if (AddressFamily == AddressFamily.InterNetwork)
+                               return this;
+                       if (AddressFamily != AddressFamily.InterNetworkV6)
+                               throw new Exception ("Only AddressFamily.InterNetworkV6 can be converted to IPv4");
+
+                       //Test for 0000 0000 0000 0000 0000 FFFF xxxx xxxx
+                       for (int i = 0; i < 5; i++) {
+                               if (m_Numbers [i] != 0x0000)
+                                       throw new Exception ("Address does not have the ::FFFF prefix");
+                       }
+                       if (m_Numbers [5] != 0xFFFF)
+                               throw new Exception ("Address does not have the ::FFFF prefix");
+
+                       //We've got an IPv4 address
+                       byte [] ipv4Bytes = new byte [4];
+                       Buffer.BlockCopy (m_Numbers, 12, ipv4Bytes, 0, 4);
+                       return new IPAddress (ipv4Bytes);
+               }
+
+               public IPAddress MapToIPv6 ()
+               {
+                       if (AddressFamily == AddressFamily.InterNetworkV6)
+                               return this;
+                       if (AddressFamily != AddressFamily.InterNetwork)
+                               throw new Exception ("Only AddressFamily.InterNetworkV4 can be converted to IPv6");
+
+                       byte [] ipv4Bytes = GetAddressBytes ();
+                       byte [] ipv6Bytes = new byte [16] {
+                               0,0, 0,0, 0,0, 0,0, 0,0, 0xFF,0xFF,
+                               ipv4Bytes [0], ipv4Bytes [1], ipv4Bytes [2], ipv4Bytes [3]
+                       };
+                       return new IPAddress (ipv6Bytes);
+               }
+
+#endif
+
                /// <summary>
                ///   Used to tell whether an address is a loopback.
                ///   All IP addresses of the form 127.X.Y.Z, where X, Y, and Z are in 
index bb47c65c48faa262a6dedeeafc554390e796d4cd..ebac3e9cf1d2760763fd5753cd4c47763de54c71 100644 (file)
@@ -47,6 +47,7 @@ namespace System.Net
                int maxIdleTime;
                int currentConnections;
                DateTime idleSince;
+               DateTime lastDnsResolve;
                Version protocolVersion;
                X509Certificate certificate;
                X509Certificate clientCertificate;
@@ -312,7 +313,7 @@ namespace System.Net
                        lock (this) {
                                idleSince = outIdleSince;
 
-                               if (removeList != null) {
+                               if (removeList != null && groups != null) {
                                        foreach (var group in removeList)
                                                if (groups.ContainsKey (group.Name))
                                                        RemoveConnectionGroup (group);
@@ -339,37 +340,30 @@ namespace System.Net
                        CheckAvailableForRecycling (out dummy);
                }
 
+               private bool HasTimedOut
+               {
+                       get {
+                               int timeout = ServicePointManager.DnsRefreshTimeout;
+                               return timeout != Timeout.Infinite &&
+                                       (lastDnsResolve + TimeSpan.FromMilliseconds (timeout)) < DateTime.UtcNow;
+                       }
+               }
+
                internal IPHostEntry HostEntry
                {
                        get {
                                lock (hostE) {
-                                       if (host != null)
-                                               return host;
-
                                        string uriHost = uri.Host;
 
-                                       // There is no need to do DNS resolution on literal IP addresses
-                                       if (uri.HostNameType == UriHostNameType.IPv6 ||
-                                               uri.HostNameType == UriHostNameType.IPv4) {
+                                       if (host == null || HasTimedOut) {
+                                               lastDnsResolve = DateTime.UtcNow;
 
-                                               if (uri.HostNameType == UriHostNameType.IPv6) {
-                                                       // Remove square brackets
-                                                       uriHost = uriHost.Substring(1,uriHost.Length-2);
+                                               try {
+                                                       host = Dns.GetHostEntry (uriHost);
+                                               }
+                                               catch (Exception) {
+                                                       return null;
                                                }
-
-                                               // Creates IPHostEntry
-                                               host = new IPHostEntry();
-                                               host.AddressList = new IPAddress[] { IPAddress.Parse(uriHost) };
-
-                                               return host;
-                                       }
-
-                                       // Try DNS resolution on host names
-                                       try  {
-                                               host = Dns.GetHostByName (uriHost);
-                                       } 
-                                       catch {
-                                               return null;
                                        }
                                }
 
index dc7412d725a84529285fc1052eeaba5d046955ae..9f0ae0b1d9f1ddc35aa68d2858f6285598160e56 100644 (file)
@@ -134,6 +134,7 @@ namespace System.Net
                private static int defaultConnectionLimit = DefaultPersistentConnectionLimit;
                private static int maxServicePointIdleTime = 100000; // 100 seconds
                private static int maxServicePoints = 0;
+               private static int dnsRefreshTimeout = 2 * 60 * 1000;
                private static bool _checkCRL = false;
                private static SecurityProtocolType _securityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls;
 
@@ -218,14 +219,13 @@ namespace System.Net
                        return new NotImplementedException ();
                }
                
-               [MonoTODO]
                public static int DnsRefreshTimeout
                {
                        get {
-                               throw GetMustImplement ();
+                               return dnsRefreshTimeout;
                        }
                        set {
-                               throw GetMustImplement ();
+                               dnsRefreshTimeout = Math.Max (-1, value);
                        }
                }
                
index 9086ed3e60f0634b022115646cd1cabc3619a8ce..295ee6757dc9c6df48202cbe65feb22dc4fdf17d 100644 (file)
@@ -45,8 +45,8 @@ namespace System.Net
                int readBufferOffset;
                int readBufferSize;
                int stream_length; // -1 when CL not present
-               int contentLength;
-               int totalRead;
+               long contentLength;
+               long totalRead;
                internal long totalWritten;
                bool nextReadCalled;
                int pendingReads;
@@ -93,10 +93,10 @@ namespace System.Net
                                                ReadAll ();
                                        }
                                } catch {
-                                       contentLength = Int32.MaxValue;
+                                       contentLength = Int64.MaxValue;
                                }
                        } else {
-                               contentLength = Int32.MaxValue;
+                               contentLength = Int64.MaxValue;
                        }
 
                        // Negative numbers?
@@ -208,7 +208,7 @@ namespace System.Net
                internal void ForceCompletion ()
                {
                        if (!nextReadCalled) {
-                               if (contentLength == Int32.MaxValue)
+                               if (contentLength == Int64.MaxValue)
                                        contentLength = 0;
                                nextReadCalled = true;
                                cnc.NextRead ();
@@ -244,7 +244,7 @@ namespace System.Net
                                int diff = readBufferSize - readBufferOffset;
                                int new_size;
 
-                               if (contentLength == Int32.MaxValue) {
+                               if (contentLength == Int64.MaxValue) {
                                        MemoryStream ms = new MemoryStream ();
                                        byte [] buffer = null;
                                        if (readBuffer != null && diff > 0) {
@@ -264,7 +264,7 @@ namespace System.Net
                                        new_size = (int) ms.Length;
                                        contentLength = new_size;
                                } else {
-                                       new_size = contentLength - totalRead;
+                                       new_size = (int) (contentLength - totalRead);
                                        b = new byte [new_size];
                                        if (readBuffer != null && diff > 0) {
                                                if (diff > new_size)
@@ -384,8 +384,8 @@ namespace System.Net
                        if (cb != null)
                                cb = cb_wrapper;
 
-                       if (contentLength != Int32.MaxValue && contentLength - totalRead < size)
-                               size = contentLength - totalRead;
+                       if (contentLength != Int64.MaxValue && contentLength - totalRead < size)
+                               size = (int)(contentLength - totalRead);
 
                        if (!read_eof) {
                                result.InnerAsyncResult = cnc.BeginRead (request, buffer, offset, size, cb, result);
@@ -644,29 +644,18 @@ namespace System.Net
                        if (headersSent)
                                return false;
 
-                       bool webdav = false;
-                       bool writestream = false;
-
-                       switch (request.Method) {
-                       case "PROPFIND":
-                       case "PROPPATCH":
-                       case "MKCOL":
-                       case "COPY":
-                       case "MOVE":
-                       case "LOCK":
-                       case "UNLOCK":
-                               webdav = true;
-                               break;
-                       case "POST":
-                       case "PUT":
-                               writestream = true;
-                               break;
-                       }
-
-                       if (setInternalLength && writestream && writeBuffer != null)
+                       string method = request.Method;
+                       bool no_writestream = (method == "GET" || method == "CONNECT" || method == "HEAD" ||
+                                             method == "TRACE");
+                       bool webdav = (method == "PROPFIND" || method == "PROPPATCH" || method == "MKCOL" ||
+                                     method == "COPY" || method == "MOVE" || method == "LOCK" ||
+                                     method == "UNLOCK");
+
+                       if (setInternalLength && !no_writestream && writeBuffer != null)
                                request.InternalContentLength = writeBuffer.Length;
 
-                       if (!(sendChunked || request.ContentLength > -1 || !writestream || webdav))
+                       bool has_content = !no_writestream && (writeBuffer == null || request.ContentLength > -1);
+                       if (!(sendChunked || has_content || no_writestream || webdav))
                                return false;
 
                        headersSent = true;
index 2c08bf67f9f94d64574ebef0819d939491b8839f..8dd7b3ea4ab706a0fb042157b3e8e2e706ac4c40 100644 (file)
@@ -677,7 +677,7 @@ namespace System.Net
                                return;
 
                        if ((info & headerRestriction.Value) != 0)
-                               throw new ArgumentException ("This header must be modified with the appropiate property.");
+                               throw new ArgumentException ("This header must be modified with the appropriate property.");
                }
 
                void CheckHeaderConsistency (HeaderInfo value)
diff --git a/mcs/class/System/System.Net/WebUtility.cs b/mcs/class/System/System.Net/WebUtility.cs
deleted file mode 100644 (file)
index 2b3a8ee..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-//\r
-// System.Net.WebUtility\r
-//\r
-// Authors: Mike Kestner  <mkestner@novell.com>\r
-//          Marek Safar (marek.safar@gmail.com)\r
-//\r
-// Copyright (C) 2014 Xamarin Inc (http://www.xamarin.com)\r
-//\r
-// Permission is hereby granted, free of charge, to any person obtaining\r
-// a copy of this software and associated documentation files (the\r
-// "Software"), to deal in the Software without restriction, including\r
-// without limitation the rights to use, copy, modify, merge, publish,\r
-// distribute, sublicense, and/or sell copies of the Software, and to\r
-// permit persons to whom the Software is furnished to do so, subject to\r
-// the following conditions:\r
-// \r
-// The above copyright notice and this permission notice shall be\r
-// included in all copies or substantial portions of the Software.\r
-// \r
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,\r
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\r
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\r
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\r
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\r
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
-//\r
-\r
-using System;\r
-using System.IO;\r
-using System.Runtime.Serialization;\r
-\r
-namespace System.Net \r
-{\r
-\r
-       public static class WebUtility \r
-       {\r
-               \r
-               public static string HtmlDecode (string value)\r
-               {\r
-                       if (string.IsNullOrEmpty (value))\r
-                               return value;\r
-\r
-                       return HttpUtility.HtmlDecode (value);\r
-               }\r
-               \r
-               public static void HtmlDecode (string value, TextWriter output)\r
-               {\r
-                       if (output == null)\r
-                               throw new ArgumentNullException ("output");\r
-\r
-                       output.Write (HtmlDecode (value));\r
-               }\r
-               \r
-               public static string HtmlEncode (string value)\r
-               {\r
-                       return HttpUtility.HtmlEncode (value);\r
-               }\r
-               \r
-               public static void HtmlEncode (string value, TextWriter output)\r
-               {\r
-                       if (output == null)\r
-                               throw new ArgumentNullException ("output");\r
-\r
-                       output.Write (HtmlEncode (value));\r
-               }\r
-               \r
-               public static string UrlDecode (string encodedValue)\r
-               {\r
-                       return HttpUtility.UrlDecode (encodedValue);\r
-               }\r
-               \r
-               public static byte[] UrlDecodeToBytes (\r
-                       byte[] encodedValue, int offset, int count)\r
-               {\r
-                       return HttpUtility.UrlDecodeToBytes (encodedValue, offset, count);\r
-               }\r
-               \r
-               public static string UrlEncode (string value)\r
-               {\r
-                       return HttpUtility.UrlEncode (value);\r
-               }\r
-               \r
-               public static byte[] UrlEncodeToBytes (\r
-                       byte[] value, int offset, int count)\r
-               {\r
-                       return HttpUtility.UrlEncodeToBytes (value, offset, count);\r
-               }\r
-       }\r
-}\r
index 9c4f6cfe4ea87886d10c5c423b6f358964f9230d..dcde0fa57f61468954e8aaa686347ff89c8526ef 100644 (file)
@@ -188,7 +188,6 @@ System.IO/InternalBufferOverflowException.cs
 System.IO/InvalidDataException.cs
 System.IO/IODescriptionAttribute.cs
 System.IO/KeventWatcher.cs
-System.IO/MonoSyncFileStream.cs
 System.IO/NotifyFilters.cs
 System.IO.Ports/Handshake.cs
 System.IO.Ports/ISerialStream.cs
@@ -302,7 +301,6 @@ System.Net/HttpRequestHeader.cs
 System.Net/HttpResponseHeader.cs
 System.Net/HttpStatusCode.cs
 System.Net/HttpStreamAsyncResult.cs
-System.Net/HttpUtility.cs
 System.Net/HttpVersion.cs
 System.Net/HttpWebRequest.cs
 System.Net/HttpWebResponse.cs
@@ -437,11 +435,9 @@ System.Net.Sockets/SafeSocketHandle.cs
 System.Net.Sockets/SelectMode.cs
 System.Net.Sockets/SendPacketsElement.cs
 System.Net.Sockets/Socket.cs
-System.Net.Sockets/SocketAsyncCallback.cs
 System.Net.Sockets/SocketAsyncEventArgs.cs
 System.Net.Sockets/SocketAsyncOperation.cs
 System.Net.Sockets/SocketAsyncResult.cs
-System.Net.Sockets/SocketAsyncWorker.cs
 System.Net.Sockets/SocketError.cs
 System.Net.Sockets/SocketException.cs
 System.Net.Sockets/SocketFlags.cs
@@ -472,7 +468,6 @@ System.Net/WebProxy.cs
 System.Net/WebRequest.cs
 System.Net/WebRequestMethods.cs
 System.Net/WebResponse.cs
-System.Net/WebUtility.cs
 System.Net.WebSockets/ClientWebSocket.cs
 System.Net.WebSockets/ClientWebSocketOptions.cs
 System.Net.WebSockets/HttpListenerWebSocketContext.cs
@@ -617,6 +612,8 @@ Mono.Net.Dns/SimpleResolverEventArgs.cs
 System.Net/DnsAsyncResult.cs
 System.Windows.Input/ICommand.cs
 
+System/IOSelector.cs
+
 ReferenceSources/AssertWrapper.cs
 ReferenceSources/BinaryCompatibility.cs
 ReferenceSources/ConfigurationManagerInternalFactory.cs
@@ -1010,6 +1007,7 @@ ReferenceSources/Win32Exception.cs
 ../../../external/referencesource/System/net/System/Net/UnicodeEncodingConformance.cs
 ../../../external/referencesource/System/net/System/Net/webclient.cs
 ../../../external/referencesource/System/net/System/Net/WebPermission.cs
+../../../external/referencesource/System/net/System/Net/WebUtility.cs
 ../../../external/referencesource/System/net/System/Net/WriteStreamClosedEventArgs.cs
 
 ../../../external/referencesource/System/net/System/Net/NetworkInformation/IPInterfaceStatistics.cs
diff --git a/mcs/class/System/System/IOSelector.cs b/mcs/class/System/System/IOSelector.cs
new file mode 100644 (file)
index 0000000..66213a4
--- /dev/null
@@ -0,0 +1,164 @@
+// System/System.IOSelector.cs
+//
+// Authors:
+//     Ludovic Henry <ludovic@xamarin.com>
+//
+// Copyright (C) 2015 Xamarin, Inc. (https://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.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Runtime.Remoting.Messaging;
+using System.Threading;
+
+namespace System
+{
+       internal enum IOOperation : int
+       {
+               /* Keep in sync with MonoIOOperation in mono/metadata/threadpool-ms-io.c */
+
+               Read  = 1 << 0,
+               Write = 1 << 1,
+       }
+
+       internal delegate void IOAsyncCallback (IOAsyncResult ioares);
+
+       [StructLayout (LayoutKind.Sequential)]
+       internal abstract class IOAsyncResult : IAsyncResult
+       {
+               AsyncCallback async_callback;
+               object async_state;
+
+               ManualResetEvent wait_handle;
+               bool completed_synchronously;
+               bool completed;
+
+               protected IOAsyncResult ()
+               {
+               }
+
+               protected void Init (AsyncCallback async_callback, object async_state)
+               {
+                       this.async_callback = async_callback;
+                       this.async_state = async_state;
+
+                       completed = false;
+                       completed_synchronously = false;
+
+                       if (wait_handle != null)
+                               wait_handle.Reset ();
+               }
+
+               protected IOAsyncResult (AsyncCallback async_callback, object async_state)
+               {
+                       this.async_callback = async_callback;
+                       this.async_state = async_state;
+               }
+
+               public AsyncCallback AsyncCallback
+               {
+                       get { return async_callback; }
+               }
+
+               public object AsyncState
+               {
+                       get { return async_state; }
+               }
+
+               public WaitHandle AsyncWaitHandle
+               {
+                       get {
+                               lock (this) {
+                                       if (wait_handle == null)
+                                               wait_handle = new ManualResetEvent (completed);
+                                       return wait_handle;
+                               }
+                       }
+               }
+
+               public bool CompletedSynchronously
+               {
+                       get {
+                               return completed_synchronously;
+                       }
+                       protected set {
+                               completed_synchronously = value;
+                       }
+               }
+
+               public bool IsCompleted
+               {
+                       get {
+                               return completed;
+                       }
+                       protected set {
+                               completed = value;
+                               lock (this) {
+                                       if (value && wait_handle != null)
+                                               wait_handle.Set ();
+                               }
+                       }
+               }
+
+               internal abstract void CompleteDisposed();
+       }
+
+       [StructLayout (LayoutKind.Sequential)]
+       internal class IOSelectorJob : IThreadPoolWorkItem
+       {
+               /* Keep in sync with MonoIOSelectorJob in mono/metadata/threadpool-ms-io.c */
+               IOOperation operation;
+               IOAsyncCallback callback;
+               IOAsyncResult state;
+
+               public IOSelectorJob (IOOperation operation, IOAsyncCallback callback, IOAsyncResult state)
+               {
+                       this.operation = operation;
+                       this.callback = callback;
+                       this.state = state;
+               }
+
+               void IThreadPoolWorkItem.ExecuteWorkItem ()
+               {
+                       this.callback (this.state);
+               }
+
+               void IThreadPoolWorkItem.MarkAborted (ThreadAbortException tae)
+               {
+               }
+
+               public void MarkDisposed ()
+               {
+                       state.CompleteDisposed ();
+               }
+       }
+
+       internal static class IOSelector
+       {
+               [MethodImplAttribute(MethodImplOptions.InternalCall)]
+               public static extern void Add (IntPtr handle, IOSelectorJob job);
+
+               [MethodImplAttribute(MethodImplOptions.InternalCall)]
+               public static extern void Remove (IntPtr handle);
+       }
+}
index a1417e99527c0bd59f0befff9246110310ab4080..b5b2753b55db9bc6f27c23dc5ee5caefb1774186 100644 (file)
@@ -96,6 +96,12 @@ namespace System {
                        set { s_IriParsing = value; }
                }
 
+               // Do not rename this.
+               // User code might set this to true with reflection.
+               // When set to true an Uri constructed with UriKind.RelativeOrAbsolute 
+               // and paths such as "/foo" is assumed relative.
+               private static bool useDotNetRelativeOrAbsolute;
+
 #if BOOTSTRAP_BASIC
                private static readonly string hexUpperChars = "0123456789ABCDEF";
                private static readonly string [] Empty = new string [0];
@@ -147,6 +153,8 @@ namespace System {
                                IriParsing = true;
                        else if (iriparsingVar == "false")
                                IriParsing = false;
+
+                       useDotNetRelativeOrAbsolute = Environment.GetEnvironmentVariable ("MONO_URI_DOTNETRELATIVEORABSOLUTE") == "true";
                }
 
                public Uri (string uriString) : this (uriString, false) 
@@ -170,9 +178,25 @@ namespace System {
                        }
                }
 
+               // When used instead of UriKind.RelativeOrAbsolute paths such as "/foo" are assumed relative.
+               const UriKind DotNetRelativeOrAbsolute = (UriKind) 300;
+
+               private void ProcessUriKind (string uriString, ref UriKind uriKind)
+               {
+                       if (uriString == null)
+                          return;
+               
+                       if (uriKind == DotNetRelativeOrAbsolute ||
+                               (uriKind == UriKind.RelativeOrAbsolute && useDotNetRelativeOrAbsolute))
+                               uriKind = (uriString.StartsWith ("/", StringComparison.Ordinal))? UriKind.Relative : UriKind.RelativeOrAbsolute;
+               }
+
                public Uri (string uriString, UriKind uriKind)
                {
                        source = uriString;
+
+                       ProcessUriKind (uriString, ref uriKind);
+
                        ParseUri (uriKind);
 
                        switch (uriKind) {
@@ -205,6 +229,8 @@ namespace System {
                                return;
                        }
 
+                       ProcessUriKind (uriString, ref uriKind);
+
                        if (uriKind != UriKind.RelativeOrAbsolute &&
                                uriKind != UriKind.Absolute &&
                                uriKind != UriKind.Relative) {
index 3464e0a971a9938dd0fd661294c3678855255e70..6d878731991f60945ebc74a77981c868acf44215 100644 (file)
@@ -263,7 +263,12 @@ namespace System
 
                        builder.Append (scheme);
                        // note: mailto and news use ':', not "://", as their delimiter
-                       builder.Append (Uri.GetSchemeDelimiter (scheme));
+                       if (UriParser.IsKnownScheme(scheme)) {
+                               builder.Append (Uri.GetSchemeDelimiter (scheme));
+                       }
+                       else {
+                               builder.Append (host.Length > 0 ? Uri.SchemeDelimiter : ":");
+                       }
 
                        if (username != String.Empty) {
                                builder.Append (username);
@@ -280,7 +285,8 @@ namespace System
 
                        if (path != String.Empty &&
                            builder [builder.Length - 1] != '/' &&
-                           path.Length > 0 && path [0] != '/')
+                           path.Length > 0 && path [0] != '/' &&
+                               host.Length > 0)
                                builder.Append ('/');
                        builder.Append (path);
                        builder.Append (query);
index 2e1e3c5d485118e4e1867f270de0e156a343fdb6..593ef053eac352c8a2a98bc01173657d7a8d05b7 100644 (file)
@@ -326,6 +326,14 @@ namespace System {
                                bool isEscapedChar = false;
                                var oldIndex = index;
 
+                               // Spaces should be percentage encoded #31172
+                               if (ch == ' ') {
+                                       if (sb == null)
+                                               sb = new StringBuilder ();
+                                       sb.Append ("%20");
+                                       continue;
+                               }
+
                                if (ch == '%'){
                                        if (!Uri.IsHexEncoding (part, index))
                                                return false;
index 0a316e34494d96dc0e468a39d7dfee56188f83c8..d4372a1ddddc76083a6022ab54d46aa4212ec533 100644 (file)
@@ -732,8 +732,6 @@ namespace MonoTests.System.Diagnostics
 
                public int bytesRead = -1;
 
-// Not technically a 2.0 only test, but I use lambdas, so I need gmcs
-
                [Test]
                [NUnit.Framework.Category ("MobileNotWorking")]
                // This was for bug #459450
@@ -791,9 +789,11 @@ namespace MonoTests.System.Diagnostics
                        p.StartInfo.RedirectStandardError = true;
 
                        var exitedCalledCounter = 0;
+                       var exited = new ManualResetEventSlim ();
                        p.Exited += (object sender, EventArgs e) => {
                                exitedCalledCounter++;
                                Assert.IsTrue (p.HasExited);
+                               exited.Set ();
                        };
 
                        p.EnableRaisingEvents = true;
@@ -803,6 +803,7 @@ namespace MonoTests.System.Diagnostics
                        p.BeginOutputReadLine ();
                        p.WaitForExit ();
 
+                       exited.Wait (10000);
                        Assert.AreEqual (1, exitedCalledCounter);
                        Thread.Sleep (50);
                        Assert.AreEqual (1, exitedCalledCounter);
@@ -822,9 +823,11 @@ namespace MonoTests.System.Diagnostics
                        p.EnableRaisingEvents = true;
 
                        var exitedCalledCounter = 0;
+                       var exited = new ManualResetEventSlim ();
                        p.Exited += (object sender, EventArgs e) => {
                                exitedCalledCounter++;
                                Assert.IsTrue (p.HasExited);
+                               exited.Set ();
                        };
 
                        p.Start ();
@@ -832,6 +835,7 @@ namespace MonoTests.System.Diagnostics
                        p.BeginOutputReadLine ();
                        p.WaitForExit ();
 
+                       exited.Wait (10000);
                        Assert.AreEqual (1, exitedCalledCounter);
                        Thread.Sleep (50);
                        Assert.AreEqual (1, exitedCalledCounter);
@@ -934,6 +938,21 @@ namespace MonoTests.System.Diagnostics
                        p.Dispose ();
                }
 
+               [Test]
+               [NUnit.Framework.Category ("MobileNotWorking")]
+               public void StandardInputWrite ()
+               {
+                       var psi = GetCrossPlatformStartInfo ();
+                       psi.RedirectStandardInput = true;
+                       psi.RedirectStandardOutput = true;
+                       psi.UseShellExecute = false;
+
+                       using (var p = Process.Start (psi)) {
+                               for (int i = 0; i < 1024 * 9; ++i)
+                                       p.StandardInput.Write ('x');
+                       }
+               }
+
                [Test]
                public void Modules () {
                        var modules = Process.GetCurrentProcess ().Modules;
index bea0044180e42e01685eb23062de455d8c8d586c..f3cefe8c1513aebc1e7095aad330388f7d960011 100644 (file)
@@ -376,7 +376,6 @@ namespace MonoTests.System.IO.Compression
                }
 
                [Test]
-               [Category ("AndroidNotWorking")] // system zlib returns Z_STREAM_ERROR
                public void Bug28777_EmptyFlush ()
                {
                        MemoryStream backing = new MemoryStream ();
@@ -387,7 +386,6 @@ namespace MonoTests.System.IO.Compression
                }
                
                [Test]
-               [Category ("AndroidNotWorking")] // system zlib returns Z_BUF_ERROR
                public void Bug28777_DoubleFlush ()
                {
                        byte[] buffer = new byte [4096];
index 0d1d124835d0abb745e346751e34c6e8dd0b12d2..7f276c19d9b851f052e5413e015a6db604cc9e4e 100644 (file)
@@ -389,5 +389,25 @@ namespace MonoTests.System.Net.Mail
                        Assert.AreEqual ("<bar@example.com>", server.rcpt_to);
                }
 
+               [Test]
+               public void Deliver_Async ()
+               {
+                       var server = new SmtpServer ();
+                       var client = new SmtpClient ("localhost", server.EndPoint.Port);
+                       var msg = new MailMessage ("foo@example.com", "bar@example.com", "hello", "howdydoo\r\n");
+
+                       Thread t = new Thread (server.Run);
+                       t.Start ();
+                       var task = client.SendMailAsync (msg);
+                       t.Join ();
+
+                       Assert.AreEqual ("<foo@example.com>", server.mail_from);
+                       Assert.AreEqual ("<bar@example.com>", server.rcpt_to);
+
+                       task.Wait (10);
+
+                       Assert.IsTrue (task.IsCompleted, "task");
+               }
+
        }
 }
index 3f3cf1a5ddbae5c2480959728273167dc5c85f25..2dd0d0674632ab82bd8a73d99724e3f1cc9c43b3 100644 (file)
@@ -77,9 +77,9 @@ public class SslStreamTest {
                        serverThread.Start ();
                        Thread clientThread = new Thread (() => StartClientAndAuthenticate (state, endPoint));
                        clientThread.Start ();
-                       Assert.AreEqual (server, state.ServerAuthenticated.WaitOne (TimeSpan.FromSeconds (2)), 
+                       Assert.AreEqual (server, state.ServerAuthenticated.WaitOne (TimeSpan.FromSeconds (5)), 
                                "server not authenticated");
-                       Assert.AreEqual (client, state.ClientAuthenticated.WaitOne (TimeSpan.FromSeconds (2)), 
+                       Assert.AreEqual (client, state.ClientAuthenticated.WaitOne (TimeSpan.FromSeconds (5)), 
                                "client not authenticated");
                } finally {
                        if (state.ClientStream != null)
index f8c2f4cb750d69cbda8d81e1312338786dae656f..4f01439cf194f9ac520c8d240c1f675179d6c1f3 100755 (executable)
@@ -9,8 +9,10 @@
 //
 
 using System;
+using System.Linq;
 using System.Collections;
 using System.Threading;
+using System.Text.RegularExpressions;
 using System.Net;
 using System.Net.Sockets;
 using NUnit.Framework;
@@ -3476,7 +3478,65 @@ namespace MonoTests.System.Net.Sockets
                        ss.Close ();
                        s.Close ();
                }
-               
+
+               static bool supportsTcpReuse = false;
+               static bool supportsTcpReuseSet = false;
+
+               static bool SupportsTcpReuse ()
+               {
+                       if (supportsTcpReuseSet)
+                               return supportsTcpReuse;
+
+                       if (Path.DirectorySeparatorChar == '/') {
+                               /*
+                                * On UNIX OS
+                                * Multiple threads listening to the same address and port are not possible
+                                * before linux 3.9 kernel, where the socket option SO_REUSEPORT was introduced.
+                                */
+                               Regex reg = new Regex(@"^#define\s*SO_REUSEPORT");
+                               foreach (string directory in Directory.GetDirectories ("/usr/include")) {
+                                       var f = Directory.GetFiles (directory, "socket.h").SingleOrDefault ();
+                                       if (f != null && File.ReadLines (f).Any (l => reg.Match (l).Success)) {
+                                               supportsTcpReuse = true;
+                                               break;
+                                       }
+                               }
+                       } else {
+                               supportsTcpReuse = true;
+                       }
+
+                       supportsTcpReuseSet = true;
+
+                       return supportsTcpReuse;
+               }
+
+               // Test case for bug #31557
+               [Test]
+               public void TcpDoubleBind ()
+               {
+                       using (Socket s = new Socket (AddressFamily.InterNetwork,
+                                               SocketType.Stream, ProtocolType.Tcp))
+                       using (Socket ss = new Socket (AddressFamily.InterNetwork,
+                                               SocketType.Stream, ProtocolType.Tcp)) {
+                               s.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
+
+                               s.Bind (new IPEndPoint (IPAddress.Any, 12345));
+                               s.Listen(1);
+
+                               ss.SetSocketOption (SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
+
+                               Exception ex = null;
+                               try {
+                                       ss.Bind (new IPEndPoint (IPAddress.Any, 12345));
+                                       ss.Listen(1);
+                               } catch (SocketException e) {
+                                       ex = e;
+                               }
+
+                               Assert.AreEqual (SupportsTcpReuse (), ex == null);
+                       }
+               }
+
                [Test]
                [Category ("NotOnMac")]
                 public void ConnectedProperty ()
@@ -4267,7 +4327,7 @@ namespace MonoTests.System.Net.Sockets
 
                        Socket listenSocket = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                        
-                       listenSocket.Bind (new IPEndPoint (IPAddress.Loopback, 8001));
+                       listenSocket.Bind (new IPEndPoint (IPAddress.Loopback, 0));
                        listenSocket.Listen (1);
 
                        listenSocket.BeginAccept (new AsyncCallback (ReceiveCallback), listenSocket);
index 7422a1f2695dc2e345220d5736974c5223a40a4e..715c748d1f5fe0cb703014e012db8fce842f0993 100644 (file)
@@ -48,7 +48,7 @@ namespace MonoTests.System.Net.WebSockets
                }
 
                [Test]
-               [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
+               [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
                public void ServerHandshakeReturnCrapStatusCodeTest ()
                {
                        // On purpose, 
@@ -65,7 +65,7 @@ namespace MonoTests.System.Net.WebSockets
                }
 
                [Test]
-               [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
+               [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
                public void ServerHandshakeReturnWrongUpgradeHeader ()
                {
                        #pragma warning disable 4014
@@ -84,7 +84,7 @@ namespace MonoTests.System.Net.WebSockets
                }
 
                [Test]
-               [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
+               [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
                public void ServerHandshakeReturnWrongConnectionHeader ()
                {
                        #pragma warning disable 4014
@@ -105,7 +105,7 @@ namespace MonoTests.System.Net.WebSockets
                }
 
                [Test]
-               [Category ("AndroidNotWorking")] // The test hangs when ran as part of the entire BCL test suite. Works when only this fixture is ran
+               [Category ("MobileNotWorking")] // The test hangs when ran as part of the entire BCL test suite. Works when only this fixture is ran
                public void EchoTest ()
                {
                        const string Payload = "This is a websocket test";
@@ -130,7 +130,7 @@ namespace MonoTests.System.Net.WebSockets
                }
 
                [Test]
-               [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
+               [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
                public void CloseOutputAsyncTest ()
                {
                        Assert.IsTrue (socket.ConnectAsync (new Uri (EchoServerUrl), CancellationToken.None).Wait (5000));
@@ -147,7 +147,7 @@ namespace MonoTests.System.Net.WebSockets
                }
 
                [Test]
-               [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
+               [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
                public void CloseAsyncTest ()
                {
                        Assert.IsTrue (socket.ConnectAsync (new Uri (EchoServerUrl), CancellationToken.None).Wait (5000));
@@ -164,7 +164,7 @@ namespace MonoTests.System.Net.WebSockets
                }
 
                [Test, ExpectedException (typeof (ArgumentNullException))]
-               [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
+               [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
                public void SendAsyncArgTest_NoArray ()
                {
                        Assert.IsTrue (socket.ConnectAsync (new Uri (EchoServerUrl), CancellationToken.None).Wait (5000));
@@ -178,7 +178,7 @@ namespace MonoTests.System.Net.WebSockets
                }
 
                [Test, ExpectedException (typeof (ArgumentNullException))]
-               [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
+               [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
                public void ReceiveAsyncArgTest_NoArray ()
                {
                        Assert.IsTrue (socket.ConnectAsync (new Uri (EchoServerUrl), CancellationToken.None).Wait (5000));
@@ -186,7 +186,7 @@ namespace MonoTests.System.Net.WebSockets
                }
 
                [Test]
-               [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
+               [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
                public void ReceiveAsyncWrongState_Closed ()
                {
                        try {
@@ -201,7 +201,7 @@ namespace MonoTests.System.Net.WebSockets
                }
 
                [Test]
-               [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
+               [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
                public void SendAsyncWrongState_Closed ()
                {
                        try {
@@ -216,7 +216,7 @@ namespace MonoTests.System.Net.WebSockets
                }
 
                [Test]
-               [Category ("AndroidNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
+               [Category ("MobileNotWorking")] // Fails when ran as part of the entire BCL test suite. Works when only this fixture is ran
                public void SendAsyncWrongState_CloseSent ()
                {
                        try {
index c4296c39e2755329f64c12f3444e9b82699d3dd3..a44034f267578f4d21eb487ce042c5230fbbcebf 100644 (file)
@@ -6,6 +6,7 @@
 //   Martin Willemoes Hansen (mwh@sysrq.dk)
 //   Gonzalo Paniagua Javier (gonzalo@ximian.com)
 //   Andres G. Aragoneses (andres@7digital.com)
+//   Bogdanov Kirill (bogdanov@macroscop.com)
 //
 // (C) 2003 Martin Willemoes Hansen
 // Copyright (c) 2005 Novell, Inc. (http://www.novell.com
@@ -24,6 +25,7 @@ using System.Security.Cryptography;
 using System.Security.Cryptography.X509Certificates;
 using System.Text;
 using System.Threading;
+using System.Reflection;
 using Mono.Security.Authenticode;
 #if !MOBILE
 using Mono.Security.Protocol.Tls;
@@ -2301,6 +2303,70 @@ namespace MonoTests.System.Net
 
                        return;
                }
+               
+               [Test]
+               public void TestLargeDataReading ()
+               {
+                       int near2GBStartPosition = rand.Next (int.MaxValue - 500, int.MaxValue);
+                       AutoResetEvent readyGetLastPortionEvent = new AutoResetEvent (false);
+                       Exception testException = null;
+
+                       DoRequest (
+                       (request, waitHandle) =>
+                       {
+                               try
+                               {
+                                       const int timeoutMs = 5000;
+
+                                       request.Timeout = timeoutMs;
+                                       request.ReadWriteTimeout = timeoutMs;
+
+                                       WebResponse webResponse = request.GetResponse ();
+                                       Stream webResponseStream = webResponse.GetResponseStream ();
+                                       Assert.IsNotNull (webResponseStream, null, "#1");
+                                       
+                                       Type webConnectionStreamType = webResponseStream.GetType ();
+                                       FieldInfo totalReadField = webConnectionStreamType.GetField ("totalRead", BindingFlags.NonPublic | BindingFlags.Instance);
+                                       Assert.IsNotNull (totalReadField, "#2");
+                                       totalReadField.SetValue (webResponseStream, near2GBStartPosition);
+                                       
+                                       byte[] readBuffer = new byte[int.MaxValue - near2GBStartPosition];
+                                       Assert.AreEqual (webResponseStream.Read (readBuffer, 0, readBuffer.Length), readBuffer.Length, "#3");
+                                       readyGetLastPortionEvent.Set ();
+                                       Assert.IsTrue (webResponseStream.Read (readBuffer, 0, readBuffer.Length) > 0);
+                                       readyGetLastPortionEvent.Set ();
+                                       
+                                       webResponse.Close();
+                               }
+                               catch (Exception e)
+                               {
+                                       testException = e;
+                               }
+                               finally
+                               {
+                                       waitHandle.Set ();
+                               }
+                       },
+                       processor =>
+                       {
+                               processor.Request.InputStream.Close ();
+                               
+                               HttpListenerResponse response = processor.Response;
+                               response.SendChunked = true;
+                               
+                               Stream outputStream = response.OutputStream;
+                               var writeBuffer = new byte[int.MaxValue - near2GBStartPosition];
+                               outputStream.Write (writeBuffer, 0, writeBuffer.Length);
+                               readyGetLastPortionEvent.WaitOne ();
+                               outputStream.Write (writeBuffer, 0, writeBuffer.Length);
+                               readyGetLastPortionEvent.WaitOne ();
+                               
+                               response.Close();
+                       });
+
+                       if (testException != null)
+                               throw testException;
+               }
 
                void DoRequest (Action<HttpWebRequest, EventWaitHandle> request)
                {
index 39866f384b6993f4f824505b373a9980f32936c5..db5d86eef2e765c21bb923d81842d834f2ec128c 100644 (file)
@@ -160,7 +160,6 @@ public class IPAddressTest
                "20.65535", "20.0.255.255",
                "0313.027035210", "203.92.58.136", // bug #411920
                "0313.0134.035210", "203.92.58.136", // too
-               "7848198702", "211.202.2.46", // too
                "1434328179", "85.126.28.115", // too
                "3397943208", "202.136.127.168", // too
        };
@@ -186,9 +185,12 @@ public class IPAddressTest
                "12.",
                "12.1.2.",
                "12...",
-               "  "
+               "  ",
+               "7848198702",
        };
 
+       static byte [] ipv4MappedIPv6Prefix = new byte [] { 0,0, 0,0, 0,0, 0,0, 0,0, 0xFF,0xFF };
+
        [Test]
        public void PublicFields ()
        {
@@ -639,6 +641,56 @@ public class IPAddressTest
                        }
                }
        }
+
+#if NET_4_5
+
+       [Test]
+       public void MapToIPv6 ()
+       {
+               for (int i = 0; i < ipv4ParseOk.Length / 2; i++) {
+                       IPAddress v4 = IPAddress.Parse (ipv4ParseOk [i * 2]);
+                       byte [] v4bytes = v4.GetAddressBytes ();
+                       IPAddress v6 = v4.MapToIPv6 ();
+                       byte [] v6bytes = v6.GetAddressBytes ();
+                       IPAddress v4back = v6.MapToIPv4 ();
+
+                       Assert.IsTrue (StartsWith (v6bytes, ipv4MappedIPv6Prefix), "MapToIPv6 #" + i + ".1");
+                       Assert.IsTrue (v6bytes [12] == v4bytes [0], "MapToIPv6 #" + i + ".2");
+                       Assert.IsTrue (v6bytes [13] == v4bytes [1], "MapToIPv6 #" + i + ".3");
+                       Assert.IsTrue (v6bytes [14] == v4bytes [2], "MapToIPv6 #" + i + ".4");
+                       Assert.IsTrue (v6bytes [15] == v4bytes [3], "MapToIPv6 #" + i + ".5");
+                       Assert.IsTrue (v4.Equals (v4back), "MapToIPv4 #" + i);
+               }
+
+               //TODO: Test using MapToIPv4/6 with anything other than IPv4/6 addresses.
+               //Currently it is not possible to do with the IPAddress implementation.
+       }
+
+       static bool StartsWith (byte [] a, byte [] b)
+       {
+               if (a.Length < b.Length)
+                       return false;
+               for (int i = 0; i < b.Length; i++)
+               {
+                       if (a [i] != b [i])
+                               return false;
+               }
+               return true;
+       }
+
+#endif
+
+       [Test]
+       public void EqualsFromBytes ()
+       {
+               for (int i = 0; i < ipv4ParseOk.Length / 2; i++) {
+                       IPAddress ip = IPAddress.Parse (ipv4ParseOk [i * 2]);
+                       IPAddress ipFromBytes = new IPAddress (ip.GetAddressBytes ());
+                       Assert.IsTrue (ip.Equals (ipFromBytes), "EqualsFromBytes #" + i);
+               }
+
+       }
+
 }
 }
 
index 8c564e246582ecea8532b770916867d45698898b..63a6b3e52b3e2ffd2c27acab0f8c8e547e035ddc 100644 (file)
@@ -13,6 +13,7 @@ using System;
 using System.Collections;\r
 using System.IO;\r
 using System.Net;\r
+using System.Reflection;
 using System.Threading;\r
 \r
 namespace MonoTests.System.Net\r
@@ -205,6 +206,36 @@ public class ServicePointTest
                }\r
        }\r
 \r
+
+       [Test]
+       public void DnsRefreshTimeout ()
+       {
+               const int dnsRefreshTimeout = 2000;
+
+               ServicePoint sp;
+               IPHostEntry host0, host1, host2;
+               Uri uri;
+               PropertyInfo hostEntryProperty;
+
+               ServicePointManager.DnsRefreshTimeout = dnsRefreshTimeout;
+
+               uri = new Uri ("http://www.google.com/");
+               sp = ServicePointManager.FindServicePoint (uri);
+
+               hostEntryProperty = typeof (ServicePoint).GetProperty ("HostEntry", BindingFlags.NonPublic | BindingFlags.Instance);
+
+               host0 = hostEntryProperty.GetValue (sp, null) as IPHostEntry;
+               host1 = hostEntryProperty.GetValue (sp, null) as IPHostEntry;
+
+               Assert.AreSame (host0, host1, "HostEntry should result in the same IPHostEntry object.");
+
+               Thread.Sleep (dnsRefreshTimeout * 2);
+               host2 = hostEntryProperty.GetValue (sp, null) as IPHostEntry;
+
+               Assert.AreNotSame(host0, host2, "HostEntry should result in a new IPHostEntry " +
+                               "object when DnsRefreshTimeout is reached.");
+       }
+
 // Debug code not used now, but could be useful later\r
 /*\r
        private void WriteServicePoint (string label, ServicePoint sp)\r
index 1e027b79f9343dc4f76fddb1e5ea1749c87573f5..023782aa39cc0adc0d96c1147562f4a074c1224a 100644 (file)
@@ -98,6 +98,9 @@ namespace MonoTests.System.Net
                                if (tcpListener != null) {
                                        tcpListener.Stop ();
                                        tcpListener = null;
+                                       listenThread.Abort ();
+                                       listenThread.Join ();
+                                       listenThread = null;
                                        Thread.Sleep (50);
                                }
                        }
index d2c19e49830c1b32663bc58d826a8ef85776645b..a01e0accc2fb580acd4c5e279ea39f8b7b7625c3 100644 (file)
@@ -383,6 +383,13 @@ namespace MonoTests.System
                        // this is what ASP.NET really means (the ?)
                        Assert.AreEqual ("http://192.168.0.21/error404.aspx?aspxerrorpath=/WebResource.axd", ub.Uri.ToString ());
                }
+
+               [Test]
+               public void NoHostname ()
+               {
+                       UriBuilder ub = new UriBuilder ("about", null, -1, "config");
+                       Assert.AreEqual ("about:config", ub.ToString ());
+               }
        }
 }
 
index 1a261938e9c27227948d0bc9d15cb95daf461bbb..a8cb6283403a2647408eeea81ba95e6b39b0e905 100644 (file)
@@ -1914,6 +1914,52 @@ namespace MonoTests.System
                        Assert.AreEqual ("id=1%262&sort=asc", escaped, "UriEscaped");
                }
 
+               // When used, paths such as "/foo" are assumed relative.
+               static UriKind DotNetRelativeOrAbsolute = (Type.GetType ("Mono.Runtime") == null)? UriKind.RelativeOrAbsolute : (UriKind) 300;
+
+               [Test]
+               public void DotNetRelativeOrAbsoluteTest ()
+               {
+                       FieldInfo useDotNetRelativeOrAbsoluteField = null;
+                       bool useDotNetRelativeOrAbsoluteOld = false;
+
+                       if (Type.GetType ("Mono.Runtime") != null) {
+                               useDotNetRelativeOrAbsoluteField = typeof (Uri).GetField ("useDotNetRelativeOrAbsolute",
+                                       BindingFlags.Static | BindingFlags.GetField | BindingFlags.NonPublic);
+                               useDotNetRelativeOrAbsoluteOld = (bool) useDotNetRelativeOrAbsoluteField.GetValue (null);
+                               useDotNetRelativeOrAbsoluteField.SetValue (null, false);
+                       }
+
+                       try {
+                               Uri uri;
+
+                               uri = new Uri ("/foo", DotNetRelativeOrAbsolute);
+                               Assert.IsFalse (uri.IsAbsoluteUri);
+                               
+                               Uri.TryCreate("/foo", DotNetRelativeOrAbsolute, out uri);
+                               Assert.IsFalse (uri.IsAbsoluteUri);
+
+                               if (useDotNetRelativeOrAbsoluteField != null) {
+                                       uri = new Uri ("/foo", UriKind.RelativeOrAbsolute);
+                                       Assert.IsTrue (uri.IsAbsoluteUri);
+
+                                       Uri.TryCreate("/foo", UriKind.RelativeOrAbsolute, out uri);
+                                       Assert.IsTrue (uri.IsAbsoluteUri);
+
+                                       useDotNetRelativeOrAbsoluteField.SetValue (null, true);
+                               }
+
+                               uri = new Uri ("/foo", UriKind.RelativeOrAbsolute);
+                               Assert.IsFalse (uri.IsAbsoluteUri);
+
+                               Uri.TryCreate("/foo", DotNetRelativeOrAbsolute, out uri);
+                               Assert.IsFalse (uri.IsAbsoluteUri);
+                       } finally {
+                               if (useDotNetRelativeOrAbsoluteField != null)
+                                       useDotNetRelativeOrAbsoluteField.SetValue (null, useDotNetRelativeOrAbsoluteOld);
+                       }
+               }
+
                [Test]
                // Bug #12631
                public void LocalPathWithBaseUrl ()
@@ -1970,6 +2016,20 @@ namespace MonoTests.System
                                }
                        }
                }
+
+               [Test]
+               public void UserInfo_Spaces ()
+               {
+                       const string userinfo = "test 1:pass 1";
+                       const string expected = "test%201:pass%201";
+
+                       try {
+                               var uri = new Uri (string.Format ("rtmp://{0}@test.com:333/live", userinfo));
+                               Assert.AreEqual (expected, uri.UserInfo);
+                       } catch (Exception e) {
+                               Assert.Fail (string.Format ("Unexpected {0} while building URI with username {1}", e.GetType ().Name, userinfo));
+                       }
+               }
        }
 
        // Tests non default IriParsing
index f5ec7ca294b3d8550ff50036deccb8bf8e20572c..7ac1859e3874f82241ec2dd7b6b9790288a6efa4 100644 (file)
@@ -28,7 +28,6 @@ System.IO.Compression/DeflateStream.cs
 System.IO.Compression/GZipStream.cs
 System.IO/InternalBufferOverflowException.cs
 System.IO/InvalidDataException.cs
-System.IO/MonoSyncFileStream.cs
 System.Net.Cache/HttpCacheAgeControl.cs
 System.Net.Cache/HttpRequestCacheLevel.cs
 System.Net.Cache/HttpRequestCachePolicy.cs
@@ -131,11 +130,9 @@ System.Net.Sockets/SafeSocketHandle.cs
 System.Net.Sockets/SelectMode.cs
 System.Net.Sockets/SendPacketsElement.cs
 System.Net.Sockets/Socket.cs
-System.Net.Sockets/SocketAsyncCallback.cs
 System.Net.Sockets/SocketAsyncEventArgs.cs
 System.Net.Sockets/SocketAsyncOperation.cs
 System.Net.Sockets/SocketAsyncResult.cs
-System.Net.Sockets/SocketAsyncWorker.cs
 System.Net.Sockets/SocketError.cs
 System.Net.Sockets/SocketException.cs
 System.Net.Sockets/SocketFlags.cs
@@ -195,7 +192,6 @@ System.Net/HttpRequestHeader.cs
 System.Net/HttpResponseHeader.cs
 System.Net/HttpStatusCode.cs
 System.Net/HttpStreamAsyncResult.cs
-System.Net/HttpUtility.cs
 System.Net/HttpVersion.cs
 System.Net/HttpWebRequest.cs
 System.Net/HttpWebResponse.cs
@@ -245,7 +241,6 @@ System.Net/WebProxy.cs
 System.Net/WebRequest.cs
 System.Net/WebRequestMethods.cs
 System.Net/WebResponse.cs
-System.Net/WebUtility.cs
 System.Net.WebSockets/ClientWebSocket.cs
 System.Net.WebSockets/ClientWebSocketOptions.cs
 System.Net.WebSockets/HttpListenerWebSocketContext.cs
@@ -330,6 +325,7 @@ System/FtpStyleUriParser.cs
 System/GenericUriParser.cs
 System/GenericUriParserOptions.cs
 System/HttpStyleUriParser.cs
+System/IOSelector.cs
 System/NetPipeStyleUriParser.cs
 System/NetTcpStyleUriParser.cs
 System/NewsStyleUriParser.cs
@@ -728,8 +724,11 @@ ReferenceSources/Win32Exception.cs
 ../../../external/referencesource/System/net/System/Net/cookieexception.cs
 ../../../external/referencesource/System/net/System/Net/HttpListenerRequestUriBuilder.cs
 ../../../external/referencesource/System/net/System/Net/Internal.cs
+../../../external/referencesource/System/net/System/Net/UnicodeDecodingConformance.cs
+../../../external/referencesource/System/net/System/Net/UnicodeEncodingConformance.cs
 ../../../external/referencesource/System/net/System/Net/webclient.cs
 ../../../external/referencesource/System/net/System/Net/WebPermission.cs
+../../../external/referencesource/System/net/System/Net/WebUtility.cs
 ../../../external/referencesource/System/net/System/Net/WriteStreamClosedEventArgs.cs
 
 ../../../external/referencesource/System/net/System/Net/NetworkInformation/IPInterfaceStatistics.cs
diff --git a/mcs/class/System/monotouch_tv_System.dll.sources b/mcs/class/System/monotouch_tv_System.dll.sources
new file mode 100644 (file)
index 0000000..7c0bd59
--- /dev/null
@@ -0,0 +1 @@
+#include monotouch_System.dll.sources
diff --git a/mcs/class/SystemWebTestShim/SystemWebTestShim-net_4_x.csproj b/mcs/class/SystemWebTestShim/SystemWebTestShim-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f359a27
--- /dev/null
@@ -0,0 +1,95 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{F0A0BBA8-FFB1-4278-B4EF-84BCEAF69133}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>SystemWebTestShim</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="SystemWebTestShim\Adapters.cs" />\r
+    <Compile Include="SystemWebTestShim\BuildManager.cs" />\r
+    <Compile Include="SystemWebTestShim\HttpCapabilitiesBase.cs" />\r
+    <Compile Include="SystemWebTestShim\Page.cs" />\r
+    <Compile Include="SystemWebTestShim\UrlUtils.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Web/System.Web-net_4_x.csproj">\r
+      <Project>{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}</Project>\r
+      <Name>System.Web-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/WebMatrix.Data/WebMatrix.Data-net_4_x.csproj b/mcs/class/WebMatrix.Data/WebMatrix.Data-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f06409b
--- /dev/null
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{25552E1C-6EE1-4D73-A309-A1ED7FA26E94}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>WebMatrix.Data</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="WebMatrix.Data\ConnectionEventArgs.cs" />\r
+    <Compile Include="WebMatrix.Data\Database.cs" />\r
+    <Compile Include="WebMatrix.Data\DynamicRecord.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Data/System.Data-net_4_x.csproj">\r
+      <Project>{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}</Project>\r
+      <Name>System.Data-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index d6586ab4d5e18d7b349e5e0e04a99fa9d29e7805..06546720d6ca05c20fefb65c31797a4ed3d62fa1 100644 (file)
@@ -125,7 +125,8 @@ namespace System.IO.Packaging {
 
                private PackageRelationship CreateRelationship (Uri targetUri, TargetMode targetMode, string relationshipType, string id, bool loading)
                {
-                       Package.CheckIsReadOnly ();
+                       if (!loading)
+                               Package.CheckIsReadOnly ();
                        Check.TargetUri (targetUri);
                        Check.RelationshipTypeIsValid (relationshipType);
                        Check.IdIsValid (id);
index ad7eb968c3ad5bce626e29b73d8698c86e56d54a..06ed852c52b75c8eceadeb48865aa69da6b99c1b 100644 (file)
@@ -369,5 +369,19 @@ namespace MonoTests.System.IO.Packaging {
         {\r
                Assert.IsFalse (package.PartExists(new Uri ("[Content_Types].xml", UriKind.Relative)));\r
         }\r
+\r
+        [Test]\r
+        public void CheckCanGetRelationshipsIfReadOnly ()\r
+        {\r
+            using (var stream = new MemoryStream ()) {\r
+                var package = Package.Open (stream, FileMode.OpenOrCreate);\r
+                var part = package.CreatePart (uris [0], contentType);\r
+                part.CreateRelationship (part.Uri, TargetMode.Internal, "self");\r
+                package.Close ();\r
+                package = Package.Open (new MemoryStream (stream.ToArray ()), FileMode.Open, FileAccess.Read);\r
+                part = package.GetPart (uris [0]);\r
+                part.GetRelationships ();\r
+            }\r
+        }\r
     }\r
 }\r
diff --git a/mcs/class/WindowsBase/WindowsBase-net_4_x.csproj b/mcs/class/WindowsBase/WindowsBase-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1bd14f7
--- /dev/null
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A8F39368-ECD9-41A5-A562-CC7C82B3CC86}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>WindowsBase</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>1699</NoWarn>\r
+    <Optimize>true</Optimize>\r
+    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="System.Collections.ObjectModel\ObservableCollection.cs" />\r
+    <Compile Include="System.Collections.ObjectModel\ReadOnlyObservableCollection.cs" />\r
+    <Compile Include="System.Collections.Specialized\CollectionChangedEventManager.cs" />\r
+    <Compile Include="System.Collections.Specialized\INotifyCollectionChanged.cs" />\r
+    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedAction.cs" />\r
+    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedEventArgs.cs" />\r
+    <Compile Include="System.Collections.Specialized\NotifyCollectionChangedEventHandler.cs" />\r
+    <Compile Include="System.ComponentModel\CurrentChangedEventManager.cs" />\r
+    <Compile Include="System.ComponentModel\CurrentChangingEventArgs.cs" />\r
+    <Compile Include="System.ComponentModel\CurrentChangingEventHandler.cs" />\r
+    <Compile Include="System.ComponentModel\CurrentChangingEventManager.cs" />\r
+    <Compile Include="System.ComponentModel\DependencyPropertyDescriptor.cs" />\r
+    <Compile Include="System.ComponentModel\GroupDescription.cs" />\r
+    <Compile Include="System.ComponentModel\ICollectionView.cs" />\r
+    <Compile Include="System.ComponentModel\ICollectionViewFactory.cs" />\r
+    <Compile Include="System.ComponentModel\IEditableCollectionView.cs" />\r
+    <Compile Include="System.ComponentModel\IEditableCollectionViewAddNewItem.cs" />\r
+    <Compile Include="System.ComponentModel\IItemProperties.cs" />\r
+    <Compile Include="System.ComponentModel\ItemPropertyInfo.cs" />\r
+    <Compile Include="System.ComponentModel\NewItemPlaceholderPosition.cs" />\r
+    <Compile Include="System.ComponentModel\PropertyChangedEventManager.cs" />\r
+    <Compile Include="System.ComponentModel\PropertyFilterAttribute.cs" />\r
+    <Compile Include="System.ComponentModel\PropertyFilterOptions.cs" />\r
+    <Compile Include="System.ComponentModel\SortDescription.cs" />\r
+    <Compile Include="System.ComponentModel\SortDescriptionCollection.cs" />\r
+    <Compile Include="System.Diagnostics\PresentationTraceLevel.cs" />\r
+    <Compile Include="System.Diagnostics\PresentationTraceSources.cs" />\r
+    <Compile Include="System.IO.Packaging\CertificateEmbeddingOption.cs" />\r
+    <Compile Include="System.IO.Packaging\Check.cs" />\r
+    <Compile Include="System.IO.Packaging\CompressionOption.cs" />\r
+    <Compile Include="System.IO.Packaging\EncryptedPackageEnvelope.cs" />\r
+    <Compile Include="System.IO.Packaging\EncryptionOption.cs" />\r
+    <Compile Include="System.IO.Packaging\InvalidSignatureEventHandler.cs" />\r
+    <Compile Include="System.IO.Packaging\Package.cs" />\r
+    <Compile Include="System.IO.Packaging\PackageDigitalSignature.cs" />\r
+    <Compile Include="System.IO.Packaging\PackageDigitalSignatureManager.cs" />\r
+    <Compile Include="System.IO.Packaging\PackagePart.cs" />\r
+    <Compile Include="System.IO.Packaging\PackagePartCollection.cs" />\r
+    <Compile Include="System.IO.Packaging\PackageProperties.cs" />\r
+    <Compile Include="System.IO.Packaging\PackagePropertiesPart.cs" />\r
+    <Compile Include="System.IO.Packaging\PackageRelationship.cs" />\r
+    <Compile Include="System.IO.Packaging\PackageRelationshipCollection.cs" />\r
+    <Compile Include="System.IO.Packaging\PackageRelationshipSelector.cs" />\r
+    <Compile Include="System.IO.Packaging\PackageRelationshipSelectorType.cs" />\r
+    <Compile Include="System.IO.Packaging\PackUriHelper.cs" />\r
+    <Compile Include="System.IO.Packaging\PackUriParser.cs" />\r
+    <Compile Include="System.IO.Packaging\RightsManagementInformation.cs" />\r
+    <Compile Include="System.IO.Packaging\SignatureVerificationEventArgs.cs" />\r
+    <Compile Include="System.IO.Packaging\StorageInfo.cs" />\r
+    <Compile Include="System.IO.Packaging\StreamInfo.cs" />\r
+    <Compile Include="System.IO.Packaging\TargetMode.cs" />\r
+    <Compile Include="System.IO.Packaging\VerifyResult.cs" />\r
+    <Compile Include="System.IO.Packaging\ZipPackage.cs" />\r
+    <Compile Include="System.IO.Packaging\ZipPackagePart.cs" />\r
+    <Compile Include="System.IO.Packaging\ZipPartStream.cs" />\r
+    <Compile Include="System.IO\FileFormatException.cs" />\r
+    <Compile Include="System.Security.Permissions\MediaPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\MediaPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\MediaPermissionAudio.cs" />\r
+    <Compile Include="System.Security.Permissions\MediaPermissionImage.cs" />\r
+    <Compile Include="System.Security.Permissions\MediaPermissionVideo.cs" />\r
+    <Compile Include="System.Security.Permissions\WebBrowserPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\WebBrowserPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\WebBrowserPermissionLevel.cs" />\r
+    <Compile Include="System.Security.RightsManagement\AuthenticationType.cs" />\r
+    <Compile Include="System.Security.RightsManagement\ContentGrant.cs" />\r
+    <Compile Include="System.Security.RightsManagement\ContentRight.cs" />\r
+    <Compile Include="System.Security.RightsManagement\ContentUser.cs" />\r
+    <Compile Include="System.Security.RightsManagement\CryptoProvider.cs" />\r
+    <Compile Include="System.Security.RightsManagement\LocalizedNameDescriptionPair.cs" />\r
+    <Compile Include="System.Security.RightsManagement\PublishLicense.cs" />\r
+    <Compile Include="System.Security.RightsManagement\RightsManagementException.cs" />\r
+    <Compile Include="System.Security.RightsManagement\RightsManagementFailureCode.cs" />\r
+    <Compile Include="System.Security.RightsManagement\SecureEnvironment.cs" />\r
+    <Compile Include="System.Security.RightsManagement\UnsignedPublishLicense.cs" />\r
+    <Compile Include="System.Security.RightsManagement\UseLicense.cs" />\r
+    <Compile Include="System.Security.RightsManagement\UserActivationMode.cs" />\r
+    <Compile Include="System.Windows.Converters\Int32RectValueSerializer.cs" />\r
+    <Compile Include="System.Windows.Converters\PointValueSerializer.cs" />\r
+    <Compile Include="System.Windows.Converters\RectValueSerializer.cs" />\r
+    <Compile Include="System.Windows.Converters\SizeValueSerializer.cs" />\r
+    <Compile Include="System.Windows.Converters\VectorValueSerializer.cs" />\r
+    <Compile Include="System.Windows.Data\DataSourceProvider.cs" />\r
+    <Compile Include="System.Windows.Input\FocusNavigationDirection.cs" />\r
+    <Compile Include="System.Windows.Input\Key.cs" />\r
+    <Compile Include="System.Windows.Input\KeyConverter.cs" />\r
+    <Compile Include="System.Windows.Input\KeyInterop.cs" />\r
+    <Compile Include="System.Windows.Input\KeyValueSerializer.cs" />\r
+    <Compile Include="System.Windows.Input\ModifierKeys.cs" />\r
+    <Compile Include="System.Windows.Input\ModifierKeysConverter.cs" />\r
+    <Compile Include="System.Windows.Input\ModifierKeysValueSerializer.cs" />\r
+    <Compile Include="System.Windows.Input\TraversalRequest.cs" />\r
+    <Compile Include="System.Windows.Interop\ComponentDispatcher.cs" />\r
+    <Compile Include="System.Windows.Interop\IKeyboardInputSink.cs" />\r
+    <Compile Include="System.Windows.Interop\IKeyboardInputSite.cs" />\r
+    <Compile Include="System.Windows.Interop\MSG.cs" />\r
+    <Compile Include="System.Windows.Interop\ThreadMessageEventHandler.cs" />\r
+    <Compile Include="System.Windows.Markup.Primitives\MarkupObject.cs" />\r
+    <Compile Include="System.Windows.Markup.Primitives\MarkupProperty.cs" />\r
+    <Compile Include="System.Windows.Markup\AmbientAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\ConstructorArgumentAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\ContentPropertyAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\ContentWrapperAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\DateTimeValueSerializer.cs" />\r
+    <Compile Include="System.Windows.Markup\DependsOnAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\DesignerSerializationOptions.cs" />\r
+    <Compile Include="System.Windows.Markup\DesignerSerializationOptionsAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\DictionaryKeyPropertyAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\IComponentConnector.cs" />\r
+    <Compile Include="System.Windows.Markup\INameScope.cs" />\r
+    <Compile Include="System.Windows.Markup\InternalTypeHelper.cs" />\r
+    <Compile Include="System.Windows.Markup\IReceiveMarkupExtension.cs" />\r
+    <Compile Include="System.Windows.Markup\IValueSerializerContext.cs" />\r
+    <Compile Include="System.Windows.Markup\IXamlTypeResolver.cs" />\r
+    <Compile Include="System.Windows.Markup\MarkupExtension.cs" />\r
+    <Compile Include="System.Windows.Markup\MarkupExtensionReturnTypeAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\NameScopePropertyAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\RootNamespaceAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\RuntimeNamePropertyAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\ServiceProviders.cs" />\r
+    <Compile Include="System.Windows.Markup\TrimSurroundingWhitespaceAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\UidPropertyAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\UsableDuringInitializationAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\ValueSerializer.cs" />\r
+    <Compile Include="System.Windows.Markup\ValueSerializerAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\WhitespaceSignificantCollectionAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\XmlLangPropertyAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\XmlnsCompatibleWithAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\XmlnsDefinitionAttribute.cs" />\r
+    <Compile Include="System.Windows.Markup\XmlnsPrefixAttribute.cs" />\r
+    <Compile Include="System.Windows.Media.Converters\MatrixValueSerializer.cs" />\r
+    <Compile Include="System.Windows.Media\DisableDpiAwarenessAttribute.cs" />\r
+    <Compile Include="System.Windows.Media\Matrix.cs" />\r
+    <Compile Include="System.Windows.Media\MatrixConverter.cs" />\r
+    <Compile Include="System.Windows.Threading\Dispatcher.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherEventArgs.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherFrame.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherHookEventArgs.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherHookEventHandler.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherHooks.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherObject.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherOperation.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherOperationCallback.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherOperationStatus.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherPriority.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherProcessingDisabled.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherSynchronizationContext.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherTimer.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherUnhandledExceptionEventArgs.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherUnhandledExceptionEventHandler.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherUnhandledExceptionFilterEventArgs.cs" />\r
+    <Compile Include="System.Windows.Threading\DispatcherUnhandledExceptionFilterEventHandler.cs" />\r
+    <Compile Include="System.Windows\AttachedPropertyBrowsableAttribute.cs" />\r
+    <Compile Include="System.Windows\AttachedPropertyBrowsableForTypeAttribute.cs" />\r
+    <Compile Include="System.Windows\AttachedPropertyBrowsableWhenAttributePresentAttribute.cs" />\r
+    <Compile Include="System.Windows\CoerceValueCallback.cs" />\r
+    <Compile Include="System.Windows\DependencyObject.cs" />\r
+    <Compile Include="System.Windows\DependencyObjectType.cs" />\r
+    <Compile Include="System.Windows\DependencyProperty.cs" />\r
+    <Compile Include="System.Windows\DependencyPropertyChangedEventArgs.cs" />\r
+    <Compile Include="System.Windows\DependencyPropertyChangedEventHandler.cs" />\r
+    <Compile Include="System.Windows\DependencyPropertyKey.cs" />\r
+    <Compile Include="System.Windows\Expression.cs" />\r
+    <Compile Include="System.Windows\ExpressionConverter.cs" />\r
+    <Compile Include="System.Windows\Freezable.cs" />\r
+    <Compile Include="System.Windows\Int32Rect.cs" />\r
+    <Compile Include="System.Windows\Int32RectConverter.cs" />\r
+    <Compile Include="System.Windows\IWeakEventListener.cs" />\r
+    <Compile Include="System.Windows\LocalValueEntry.cs" />\r
+    <Compile Include="System.Windows\LocalValueEnumerator.cs" />\r
+    <Compile Include="System.Windows\Point.cs" />\r
+    <Compile Include="System.Windows\PointConverter.cs" />\r
+    <Compile Include="System.Windows\PropertyChangedCallback.cs" />\r
+    <Compile Include="System.Windows\PropertyMetadata.cs" />\r
+    <Compile Include="System.Windows\Rect.cs" />\r
+    <Compile Include="System.Windows\RectConverter.cs" />\r
+    <Compile Include="System.Windows\Size.cs" />\r
+    <Compile Include="System.Windows\SizeConverter.cs" />\r
+    <Compile Include="System.Windows\SplashScreen.cs" />\r
+    <Compile Include="System.Windows\ValidateValueCallback.cs" />\r
+    <Compile Include="System.Windows\Vector.cs" />\r
+    <Compile Include="System.Windows\VectorConverter.cs" />\r
+    <Compile Include="System.Windows\WeakEventManager.cs" />\r
+    <Compile Include="ZipSharp\IOFunctions.cs" />\r
+    <Compile Include="ZipSharp\NativeUnzip.cs" />\r
+    <Compile Include="ZipSharp\NativeZip.cs" />\r
+    <Compile Include="ZipSharp\UnzipArchive.cs" />\r
+    <Compile Include="ZipSharp\UnzipFileInfo.cs" />\r
+    <Compile Include="ZipSharp\UnzipHandle.cs" />\r
+    <Compile Include="ZipSharp\UnzipReadStream.cs" />\r
+    <Compile Include="ZipSharp\ZipArchive.cs" />\r
+    <Compile Include="ZipSharp\ZipFileInfo.cs" />\r
+    <Compile Include="ZipSharp\ZipHandle.cs" />\r
+    <Compile Include="ZipSharp\ZipStream.cs" />\r
+    <Compile Include="ZipSharp\ZipTime.cs" />\r
+    <Compile Include="ZipSharp\ZipWriteStream.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Xaml/System.Xaml-net_4_x.csproj">\r
+      <Project>{4E79FA59-8344-4053-8E3B-B9619BA26513}</Project>\r
+      <Name>System.Xaml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index ddd9cb43a3158f25dcfc7bd46ceb3aac9bffff53..89222691f7ea0b0e2f0c929ea801d8d41c1e87d5 100644 (file)
@@ -37,13 +37,12 @@ RESOURCE_FILES = \
 
 REFERENCE_SOURCES_FLAGS = -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
 
-MOBILE_STATIC := $(filter mobile_static monotouch monotouch_runtime monotouch_watch, $(PROFILE))
-
 ifndef MOBILE_STATIC
 REFERENCE_SOURCES_FLAGS += -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY
 endif
 
-LOCAL_MCS_FLAGS = -unsafe -nostdlib -nowarn:612,618 -d:INSIDE_CORLIB,MONO_CULTURE_DATA -d:LIBC $(REFERENCE_SOURCES_FLAGS)
+WARNING_ABOUT_DISABLED_WARNING=1635
+LOCAL_MCS_FLAGS = -unsafe -nostdlib -nowarn:612,618,$(WARNING_ABOUT_DISABLED_WARNING) -d:INSIDE_CORLIB,MONO_CULTURE_DATA -d:LIBC $(REFERENCE_SOURCES_FLAGS)
 DEFAULT_REFERENCES =
 
 # System.IO/DirectoryInfoTest.cs needs Mono.Posix
index 53538b65e8d54c5a002f652cf4b7249847ecc562..5811cdc8337644fa162986abd2fef1e79988e376 100644 (file)
@@ -4,14 +4,6 @@ namespace System.Globalization
 {
        partial class TextInfo
        {
-               unsafe static ushort *to_lower_data_low;
-               unsafe static ushort *to_lower_data_high;
-               unsafe static ushort *to_upper_data_low;
-               unsafe static ushort *to_upper_data_high;
-
-               [MethodImplAttribute(System.Runtime.CompilerServices.MethodImplOptions.InternalCall)]
-               unsafe static extern void GetDataTablePointersLite (out ushort *to_lower_data_low, out ushort *to_lower_data_high, out ushort *to_upper_data_low, out ushort *to_upper_data_high);
-
                unsafe string ToUpperInternal (string str)
                {
                        if (str.Length == 0)
index c856267d8961598173a23cc91e4b85f5f6b352d1..a732d3eba0f5a602e660905a6b47db23f99ff5a8 100644 (file)
@@ -10,5 +10,10 @@ namespace Microsoft.Win32
                {
                        return "Error " + hr;
                }
+
+               public class SECURITY_ATTRIBUTES
+               {
+
+               }
        }
 }
\ No newline at end of file
index 3e775808fdc04a97de3a8adc125948cd2f9b4d7d..4b90b6fe8aeb9d55ea39d9c5475df0e47e4600d7 100644 (file)
@@ -57,6 +57,7 @@ namespace System.Diagnostics {
                public const int METHODS_TO_SKIP = 0;
 
                private StackFrame[] frames;
+               readonly StackTrace[] captured_traces;
                private bool debug_info;
 
                public StackTrace ()
@@ -119,11 +120,6 @@ namespace System.Diagnostics {
                }
 
                public StackTrace (Exception e, int skipFrames, bool fNeedFileInfo)
-                       : this (e, skipFrames, fNeedFileInfo, false)
-               {
-               }
-
-               internal StackTrace (Exception e, int skipFrames, bool fNeedFileInfo, bool returnNativeFrames)
                {
                        if (e == null)
                                throw new ArgumentNullException ("e");
@@ -132,22 +128,7 @@ namespace System.Diagnostics {
 
                        frames = get_trace (e, skipFrames, fNeedFileInfo);
 
-                       if (!returnNativeFrames) {
-                               bool resize = false;
-                               for (int i = 0; i < frames.Length; ++i)
-                                       if (frames [i].GetMethod () == null)
-                                               resize = true;
-
-                               if (resize) {
-                                       var l = new List<StackFrame> ();
-
-                                       for (int i = 0; i < frames.Length; ++i)
-                                               if (frames [i].GetMethod () != null)
-                                                       l.Add (frames [i]);
-
-                                       frames = l.ToArray ();
-                               }
-                       }
+                       captured_traces = e.captured_traces;
                }
 
                public StackTrace (StackFrame frame)
@@ -189,21 +170,14 @@ namespace System.Diagnostics {
                        return frames;
                }
 
-               internal bool AddFrames (StringBuilder sb, bool isException = false)
+               bool AddFrames (StringBuilder sb)
                {
                        bool printOffset;
                        string debugInfo, indentation;
                        string unknown = Locale.GetText ("<unknown method>");
 
-                       if (isException) {
-                               printOffset = true;
-                               indentation = "  ";
-                               debugInfo = Locale.GetText (" in {0}:{1} ");
-                       } else {
-                               printOffset = false;
-                               indentation = "   ";
-                               debugInfo = Locale.GetText (" in {0}:line {1}");
-                       }
+                       indentation = "  ";
+                       debugInfo = Locale.GetText (" in {0}:{1} ");
 
                        var newline = String.Format ("{0}{1}{2} ", Environment.NewLine, indentation,
                                        Locale.GetText ("at"));
@@ -220,21 +194,17 @@ namespace System.Diagnostics {
                                        string internal_name = frame.GetInternalMethodName ();
                                        if (internal_name != null)
                                                sb.Append (internal_name);
-                                       else if (printOffset)
-                                               sb.AppendFormat ("<0x{0:x5} + 0x{1:x5}> {2}", frame.GetMethodAddress (), frame.GetNativeOffset (), unknown);
                                        else
-                                               sb.AppendFormat (unknown);
+                                               sb.AppendFormat ("<0x{0:x5} + 0x{1:x5}> {2}", frame.GetMethodAddress (), frame.GetNativeOffset (), unknown);
                                } else {
                                        GetFullNameForStackTrace (sb, frame.GetMethod ());
 
-                                       if (printOffset) {
-                                               if (frame.GetILOffset () == -1) {
-                                                       sb.AppendFormat (" <0x{0:x5} + 0x{1:x5}>", frame.GetMethodAddress (), frame.GetNativeOffset ());
-                                                       if (frame.GetMethodIndex () != 0xffffff)
-                                                               sb.AppendFormat (" {0}", frame.GetMethodIndex ());
-                                               } else {
-                                                       sb.AppendFormat (" [0x{0:x5}]", frame.GetILOffset ());
-                                               }
+                                       if (frame.GetILOffset () == -1) {
+                                               sb.AppendFormat (" <0x{0:x5} + 0x{1:x5}>", frame.GetMethodAddress (), frame.GetNativeOffset ());
+                                               if (frame.GetMethodIndex () != 0xffffff)
+                                                       sb.AppendFormat (" {0}", frame.GetMethodIndex ());
+                                       } else {
+                                               sb.AppendFormat (" [0x{0:x5}]", frame.GetILOffset ());
                                        }
 
                                        sb.AppendFormat (debugInfo, frame.GetSecureFileName (),
@@ -306,6 +276,21 @@ namespace System.Diagnostics {
                public override string ToString ()
                {
                        StringBuilder sb = new StringBuilder ();
+
+                       //
+                       // Add traces captured using ExceptionDispatchInfo
+                       //
+                       if (captured_traces != null) {
+                               foreach (var t in captured_traces) {
+                                       if (!t.AddFrames (sb))
+                                               continue;
+
+                                       sb.Append (Environment.NewLine);
+                                       sb.Append ("--- End of stack trace from previous location where exception was thrown ---");
+                                       sb.Append (Environment.NewLine);
+                               }
+                       }
+
                        AddFrames (sb);
                        return sb.ToString ();
                }
index c3fb0d2ccb73e953e46c11ecd0b86c286e13131c..a85039bfa3cf150aaee93726b218077b03561af9 100644 (file)
@@ -816,8 +816,15 @@ namespace System.Globalization
                        CultureInfo ci = new CultureInfo ();
 
                        if (!ci.construct_internal_locale_from_name (name)) {
-                               int idx = name.IndexOf ('-');
-                               if (idx < 1 || !ci.construct_internal_locale_from_name (name.Substring (0, idx)))
+                               int idx = name.Length - 1;
+                               if (idx > 0) {
+                                       while ((idx = name.LastIndexOf ('-', idx - 1)) > 0) {
+                                               if (ci.construct_internal_locale_from_name (name.Substring (0, idx)))
+                                                       break;
+                                       }
+                               }
+
+                               if (idx <= 0)
                                        throw CreateNotFoundException (src_name);
                        }
 
index 610247d2e088429f6ca9d36eda5bbea5c5516218..9de058fbb3a3a42800baa9f25b84bb13b948515a 100644 (file)
@@ -73,12 +73,12 @@ namespace System.IO
                        : this (handle, access, ownsHandle, bufferSize, isAsync, false) {}
 
                [SecurityPermission (SecurityAction.Demand, UnmanagedCode = true)]
-               internal FileStream (IntPtr handle, FileAccess access, bool ownsHandle, int bufferSize, bool isAsync, bool isZeroSize)
+               internal FileStream (IntPtr handle, FileAccess access, bool ownsHandle, int bufferSize, bool isAsync, bool isConsoleWrapper)
                {
                        if (handle == MonoIO.InvalidHandle)
                                throw new ArgumentException ("handle", Locale.GetText ("Invalid."));
 
-                       Init (new SafeFileHandle (handle, false), access, ownsHandle, bufferSize, isAsync, isZeroSize);
+                       Init (new SafeFileHandle (handle, false), access, ownsHandle, bufferSize, isAsync, isConsoleWrapper);
                }
 
                // construct from filename
@@ -113,7 +113,6 @@ namespace System.IO
                {
                }
 
-#if !NET_2_1
                public FileStream (SafeFileHandle handle, FileAccess access)
                        :this(handle, access, DefaultBufferSize, false)
                {
@@ -130,6 +129,7 @@ namespace System.IO
                        Init (handle, access, false, bufferSize, isAsync, false);
                }
 
+#if !MOBILE
                [MonoLimitation ("This ignores the rights parameter")]
                public FileStream (string path, FileMode mode,
                                   FileSystemRights rights, FileShare share,
@@ -291,10 +291,14 @@ namespace System.IO
                        }
                }
 
-               private void Init (SafeFileHandle safeHandle, FileAccess access, bool ownsHandle, int bufferSize, bool isAsync, bool isZeroSize)
+               private void Init (SafeFileHandle safeHandle, FileAccess access, bool ownsHandle, int bufferSize, bool isAsync, bool isConsoleWrapper)
                {
+                       if (!isConsoleWrapper && safeHandle.IsInvalid)
+                               throw new ArgumentException(Environment.GetResourceString("Arg_InvalidHandle"), "handle");
                        if (access < FileAccess.Read || access > FileAccess.ReadWrite)
                                throw new ArgumentOutOfRangeException ("access");
+                       if (!isConsoleWrapper && bufferSize <= 0)
+                               throw new ArgumentOutOfRangeException("bufferSize", Environment.GetResourceString("ArgumentOutOfRange_NeedPosNum"));
 
                        MonoIOError error;
                        MonoFileType ftype = MonoIO.GetFileType (safeHandle, out error);
@@ -411,10 +415,8 @@ namespace System.IO
                                return ret;
                        }
                        set {
-                               if(value < 0) {
-                                       throw new ArgumentOutOfRangeException("Attempt to set the position to a negative value");
-                               }
-                               
+                               if (value < 0) throw new ArgumentOutOfRangeException("value", Environment.GetResourceString("ArgumentOutOfRange_NeedNonNegNum"));
+
                                Seek (value, SeekOrigin.Begin);
                        }
                }
diff --git a/mcs/class/corlib/System.IO/IntPtrStream.cs b/mcs/class/corlib/System.IO/IntPtrStream.cs
deleted file mode 100644 (file)
index 40b1c58..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-//
-// System.IO.IntPtrStream: A stream that is backed up by unmanaged memory
-//
-// Author:
-//   Miguel de Icaza (miguel@ximian.com)
-//
-// Based on the code for MemoryStream.cs:
-//
-// Authors:    Marcin Szczepanski (marcins@zipworld.com.au)
-//             Patrik Torstensson
-//             Gonzalo Paniagua Javier (gonzalo@ximian.com)
-//
-// (c) 2001,2002 Marcin Szczepanski, Patrik Torstensson
-// (c) 2003 Ximian, Inc. (http://www.ximian.com)
-//
-
-//
-// Copyright (C) 2004 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.Runtime.InteropServices;
-namespace System.IO {
-
-       internal class IntPtrStream : Stream {
-               unsafe byte *base_address;
-               int size;
-               int position;
-               bool closed;
-
-               public event EventHandler Closed;
-               
-               public IntPtrStream (IntPtr base_address, int size)
-               {
-                       unsafe {
-                               this.base_address = (byte*)((void *)base_address);
-                       }
-                       this.size = size;
-                       position = 0;
-               }
-
-               internal IntPtr BaseAddress {
-                       get {
-                               unsafe {
-                                       return new IntPtr ((void*) base_address);
-                               }
-                       }
-               }
-
-               public override bool CanRead {
-                       get {
-                               return true;
-                       }
-               }
-
-               public override bool CanSeek {
-                       get {
-                               return true;
-                       }
-               }
-
-               public override bool CanWrite {
-                       get {
-                               return false;
-                       }
-               }
-
-               public override long Position {
-                       get {
-                               return position;
-                       }
-
-                       set {
-                               if (position < 0)
-                                       throw new ArgumentOutOfRangeException ("Position", "Can not be negative");
-                               if (position > size)
-                                       throw new ArgumentOutOfRangeException ("Position", "Pointer falls out of range");
-
-                               position = (int) value;
-                       }
-               }
-
-               public override long Length {
-                       get {
-                               return size;
-                       }
-               }
-
-               public override int Read (byte [] buffer, int offset, int count)
-               {
-                       if (buffer == null)
-                               throw new ArgumentNullException ("buffer");
-
-                       if (offset < 0 || count < 0)
-                               throw new ArgumentOutOfRangeException ("offset or count less than zero.");
-
-                       if (buffer.Length - offset < count )
-                               throw new ArgumentException ("offset+count",
-                                                             "The size of the buffer is less than offset + count.");
-
-                       if (closed)
-                               throw new ObjectDisposedException ("Stream has been closed");
-
-                       if (position >= size || count == 0)
-                               return 0;
-
-                       if (position > size - count)
-                               count = size - position;
-
-                       unsafe {
-                               Marshal.Copy ((IntPtr) (base_address + position), buffer, offset, count);
-                       }
-                       position += count;
-                       return count;
-               }
-
-               public override int ReadByte ()
-               {
-                       if (position >= size)
-                               return -1;
-
-                       if (closed)
-                               throw new ObjectDisposedException ("Stream has been closed");
-
-                       unsafe {
-                               return base_address [position++];
-                       }
-               }
-
-               public override long Seek (long offset, SeekOrigin loc)
-               {
-                       // It's funny that they don't throw this exception for < Int32.MinValue
-                       if (offset > (long) Int32.MaxValue)
-                               throw new ArgumentOutOfRangeException ("Offset out of range. " + offset);
-
-                       if (closed)
-                               throw new ObjectDisposedException ("Stream has been closed");
-
-                       int ref_point;
-                       switch (loc) {
-                       case SeekOrigin.Begin:
-                               if (offset < 0)
-                                       throw new IOException ("Attempted to seek before start of MemoryStream.");
-                               ref_point = 0;
-                               break;
-                       case SeekOrigin.Current:
-                               ref_point = position;
-                               break;
-                       case SeekOrigin.End:
-                               ref_point = size;
-                               break;
-                       default:
-                               throw new ArgumentException ("loc", "Invalid SeekOrigin");
-                       }
-
-                       checked {
-                               try {
-                                       ref_point += (int) offset;
-                               } catch {
-                                       throw new ArgumentOutOfRangeException ("Too large seek destination");
-                               }
-                               
-                               if (ref_point < 0)
-                                       throw new IOException ("Attempted to seek before start of MemoryStream.");
-                       }
-
-                       position = ref_point;
-                       return position;
-               }
-               
-               public override void SetLength (long value)
-               {
-                       throw new NotSupportedException ("This stream can not change its size");
-               }
-
-               public override void Write (byte [] buffer, int offset, int count)
-               {
-                       throw new NotSupportedException ("This stream can not change its size");
-               }
-
-               public override void WriteByte (byte value)
-               {
-                       throw new NotSupportedException ("This stream can not change its size");
-               }
-               
-               public override void Flush ()
-               {
-               }
-
-               public override void Close ()
-               {
-                       closed = true;
-
-                       if (Closed != null)
-                               Closed (this, null);
-               }
-       }
-}
index e195b080e88a46caf773b94523756541894c0c7b..a15c475bbaa88aab7ec9854f900dd4bf16215afa 100644 (file)
@@ -572,11 +572,11 @@ namespace System.IO
                // pipe handles
 
                [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static bool CreatePipe (out IntPtr read_handle, out IntPtr write_handle);
+               public extern static bool CreatePipe (out IntPtr read_handle, out IntPtr write_handle, out MonoIOError error);
 
                [MethodImplAttribute (MethodImplOptions.InternalCall)]
                public extern static bool DuplicateHandle (IntPtr source_process_handle, IntPtr source_handle,
-                       IntPtr target_process_handle, out IntPtr target_handle, int access, int inherit, int options);
+                       IntPtr target_process_handle, out IntPtr target_handle, int access, int inherit, int options, out MonoIOError error);
 
                // path characters
 
@@ -599,9 +599,6 @@ namespace System.IO
                        [MethodImplAttribute (MethodImplOptions.InternalCall)]
                        get;
                }
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static int GetTempPath(out string path);
        }
 }
 
index b87647cd80e69dc2ed2f3dbd3025b5238b12d8e2..876de83bff0a9c2a5758d2d4f3babd590c34e9b9 100644 (file)
@@ -69,12 +69,28 @@ namespace System.Reflection {
                        }
                }
 
+               public override Module Module {
+                       get {
+                               return GetRuntimeModule ();
+                       }
+               }
+
+               internal RuntimeType GetDeclaringTypeInternal ()
+               {
+                       return (RuntimeType) DeclaringType;
+               }
+
                RuntimeType ReflectedTypeInternal {
                        get {
                                return (RuntimeType) ReflectedType;
                        }
                }
 
+               internal RuntimeModule GetRuntimeModule ()
+               {
+                       return GetDeclaringTypeInternal ().GetRuntimeModule ();
+               }
+
         #region ISerializable
         public void GetObjectData(SerializationInfo info, StreamingContext context)
         {
index 0f28d20d5c7fac4cb79f68ba57c325e193aff128..87310b19e2fa8d22835a84f4e05b3d75e0d9b932 100644 (file)
@@ -82,12 +82,28 @@ namespace System.Reflection {
                        }
                }
 
+               public override Module Module {
+                       get {
+                               return GetRuntimeModule ();
+                       }
+               }
+
+               internal RuntimeType GetDeclaringTypeInternal ()
+               {
+                       return (RuntimeType) DeclaringType;
+               }
+
                RuntimeType ReflectedTypeInternal {
                        get {
                                return (RuntimeType) ReflectedType;
                        }
                }
 
+               internal RuntimeModule GetRuntimeModule ()
+               {
+                       return GetDeclaringTypeInternal ().GetRuntimeModule ();
+               }
+
         #region Object Overrides
         public override String ToString()
         {
index 5a8f5ce05fda7356dc79ee4831ea5847e6069329..9beb48183e2af025c8e408a7509ce20348c336b8 100644 (file)
@@ -146,19 +146,15 @@ namespace System.Runtime.InteropServices
                {
                        if (!_fullyInitialized)
                                throw new InvalidOperationException ();
-                       DisposeInternal ();
+
+                       DangerousReleaseInternal (true);
+                       GC.SuppressFinalize (this);
                }
 
                void InternalFinalize ()
                {
                        if (_fullyInitialized)
-                               DisposeInternal ();
-               }
-
-               void DisposeInternal ()
-               {
-                       DangerousReleaseInternal (true);
-                       GC.SuppressFinalize (this);
+                               DangerousReleaseInternal (true);
                }
 
                void DangerousReleaseInternal (bool dispose)
@@ -192,23 +188,27 @@ namespace System.Runtime.InteropServices
                                if ((old_state & RefCount_Mask) == 0)
                                        throw new ObjectDisposedException ("handle");
 
-                               perform_release =
-                                       (old_state & RefCount_Mask) == RefCount_One
-                                        && (old_state & (int) State.Closed) == 0
-                                        && _ownsHandle;
-
-                               if (perform_release && IsInvalid)
+                               if ((old_state & RefCount_Mask) != RefCount_One)
+                                       perform_release = false;
+                               else if ((old_state & (int) State.Closed) != 0)
+                                       perform_release = false;
+                               else if (!_ownsHandle)
+                                       perform_release = false;
+                               else if (IsInvalid)
                                        perform_release = false;
+                               else
+                                       perform_release = true;
 
                                /* Attempt the update to the new state, fail and retry if the initial
                                 * state has been modified in the meantime. Decrement the ref count by
                                 * substracting SH_RefCountOne from the state then OR in the bits for
                                 * Dispose (if that's the reason for the Release) and closed (if the
                                 * initial ref count was 1). */
-                               new_state =
-                                       (old_state - RefCount_One)
-                                        | ((old_state & RefCount_Mask) == RefCount_One ? (int) State.Closed : 0)
-                                        | (dispose ? (int) State.Disposed : 0);
+                               new_state = (old_state & RefCount_Mask) - RefCount_One;
+                               if ((old_state & RefCount_Mask) == RefCount_One)
+                                       new_state |= (int) State.Closed;
+                               if (dispose)
+                                       new_state |= (int) State.Disposed;
                        } while (Interlocked.CompareExchange (ref _state, new_state, old_state) != old_state);
 
                        if (perform_release)
index 026f46c3797430f24db8ba3911b8a03bd84749fd..c5cda6920d2edc3729e325bd3228629350ef94ae 100644 (file)
@@ -192,9 +192,14 @@ namespace System.Threading
                [MethodImplAttribute(MethodImplOptions.InternalCall)]
                extern static void try_enter_with_atomic_var (object obj, int millisecondsTimeout, ref bool lockTaken);
 
+               [MethodImplAttribute(MethodImplOptions.InternalCall)]
+               extern static void enter_with_atomic_var (object obj, ref bool lockTaken);
+
+               // Can't make this an icall since it has the same name as the other Enter method
+               [MethodImpl(MethodImplOptions.AggressiveInlining)]
                public static void Enter (object obj, ref bool lockTaken)
                {
-                       TryEnter (obj, Timeout.Infinite, ref lockTaken);
+                       enter_with_atomic_var (obj, ref lockTaken);
                }
 
                public static void TryEnter (object obj, ref bool lockTaken)
diff --git a/mcs/class/corlib/System.Threading/ThreadPool.cs b/mcs/class/corlib/System.Threading/ThreadPool.cs
deleted file mode 100644 (file)
index eb01abf..0000000
+++ /dev/null
@@ -1,356 +0,0 @@
-//
-// System.Threading.ThreadPool.cs
-//
-// Author:
-//   Patrik Torstensson
-//   Dick Porter (dick@ximian.com)
-//   Maurer Dietmar (dietmar@ximian.com)
-//
-// (C) Ximian, Inc.  http://www.ximian.com
-// Copyright (C) 2004-2005 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.Collections;
-using System.Collections.Generic;
-using System.Globalization;
-using System.Runtime.CompilerServices;
-using System.Runtime.Remoting.Messaging;
-using System.Runtime.InteropServices;
-using System.Security;
-using System.Security.Permissions;
-
-namespace System.Threading {
-
-       public static class ThreadPool {
-
-               [Obsolete("This method is obsolete, use BindHandle(SafeHandle) instead")]
-               public static bool BindHandle (IntPtr osHandle)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               return Microsoft.ThreadPool.BindHandle (osHandle);
-                       else
-                               return true;
-               }
-
-               public static bool BindHandle (SafeHandle osHandle)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool) {
-                               return Microsoft.ThreadPool.BindHandle (osHandle);
-                       } else {
-                               if (osHandle == null)
-                                       throw new ArgumentNullException ("osHandle");
-                       
-                               return true;
-                       }
-               }
-
-               public static void GetAvailableThreads (out int workerThreads, out int completionPortThreads)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               Microsoft.ThreadPool.GetAvailableThreads (out workerThreads, out completionPortThreads);
-                       else
-                               GetAvailableThreads_internal (out workerThreads, out completionPortThreads);
-               }
-
-               [MethodImplAttribute(MethodImplOptions.InternalCall)]
-               static extern void GetAvailableThreads_internal (out int workerThreads, out int completionPortThreads);
-
-               public static void GetMaxThreads (out int workerThreads, out int completionPortThreads)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               Microsoft.ThreadPool.GetMaxThreads (out workerThreads, out completionPortThreads);
-                       else
-                               GetMaxThreads_internal (out workerThreads, out completionPortThreads);
-               }
-
-               [MethodImplAttribute(MethodImplOptions.InternalCall)]
-               static extern void GetMaxThreads_internal (out int workerThreads, out int completionPortThreads);
-
-               public static void GetMinThreads (out int workerThreads, out int completionPortThreads)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               Microsoft.ThreadPool.GetMinThreads (out workerThreads, out completionPortThreads);
-                       else
-                               GetMinThreads_internal (out workerThreads, out completionPortThreads);
-               }
-
-               [MethodImplAttribute(MethodImplOptions.InternalCall)]
-               static extern void GetMinThreads_internal (out int workerThreads, out int completionPortThreads);
-
-               [MonoTODO("The min number of completion port threads is not evaluated.")]
-               [SecurityPermission (SecurityAction.Demand, ControlThread=true)]
-               public static bool SetMinThreads (int workerThreads, int completionPortThreads)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               return Microsoft.ThreadPool.SetMinThreads (workerThreads, completionPortThreads);
-                       else
-                               return SetMinThreads_internal (workerThreads, completionPortThreads);
-               }
-
-               [MethodImplAttribute(MethodImplOptions.InternalCall)]
-               static extern bool SetMinThreads_internal (int workerThreads, int completionPortThreads);
-
-               [SecurityPermission (SecurityAction.Demand, ControlThread=true)]
-               public static bool SetMaxThreads (int workerThreads, int completionPortThreads)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               return Microsoft.ThreadPool.SetMaxThreads (workerThreads, completionPortThreads);
-                       else
-                               return SetMaxThreads_internal (workerThreads, completionPortThreads);
-               }
-
-               [MethodImplAttribute(MethodImplOptions.InternalCall)]
-               static extern bool SetMaxThreads_internal (int workerThreads, int completionPortThreads);
-
-               public static bool QueueUserWorkItem (WaitCallback callBack)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               return Microsoft.ThreadPool.QueueUserWorkItem (callBack, null);
-                       else
-                               return QueueUserWorkItem (callBack, null);
-               }
-
-               public static bool QueueUserWorkItem (WaitCallback callBack, object state)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool) {
-                               return Microsoft.ThreadPool.QueueUserWorkItem (callBack, state);
-                       } else {
-                               if (callBack == null)
-                                       throw new ArgumentNullException ("callBack");
-
-                               if (callBack.IsTransparentProxy ()) {
-                                       IAsyncResult ar = callBack.BeginInvoke (state, null, null);
-                                       if (ar == null)
-                                               return false;
-                               } else {
-                                       AsyncResult ares = new AsyncResult (callBack, state, !ExecutionContext.IsFlowSuppressed());
-                                       pool_queue (ares);
-                               }
-                               return true;
-                       }
-               }
-
-               [MethodImplAttribute(MethodImplOptions.InternalCall)]
-               static extern void pool_queue (AsyncResult ares);
-
-               // TODO: It should be interface interface only to avoid extra allocation
-               internal static void QueueWorkItem (WaitCallback callBack, object state)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               Microsoft.ThreadPool.QueueUserWorkItem (callBack, state);
-                       else
-                               pool_queue (new AsyncResult (callBack, state, false));
-               }
-
-               public static RegisteredWaitHandle RegisterWaitForSingleObject (WaitHandle waitObject,
-                                                                               WaitOrTimerCallback callBack,
-                                                                               object state,
-                                                                               int millisecondsTimeOutInterval,
-                                                                               bool executeOnlyOnce)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               return Microsoft.ThreadPool.RegisterWaitForSingleObject (waitObject, callBack, state, millisecondsTimeOutInterval, executeOnlyOnce);
-                       else
-                               return RegisterWaitForSingleObject (waitObject, callBack, state, (long) millisecondsTimeOutInterval, executeOnlyOnce);
-               }
-
-               public static RegisteredWaitHandle RegisterWaitForSingleObject (WaitHandle waitObject,
-                                                                               WaitOrTimerCallback callBack,
-                                                                               object state,
-                                                                               long millisecondsTimeOutInterval,
-                                                                               bool executeOnlyOnce)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool) {
-                               return Microsoft.ThreadPool.RegisterWaitForSingleObject (waitObject, callBack, state, millisecondsTimeOutInterval, executeOnlyOnce);
-                       } else {
-                               if (waitObject == null)
-                                       throw new ArgumentNullException ("waitObject");
-
-                               if (callBack == null)
-                                       throw new ArgumentNullException ("callBack");
-                       
-                               if (millisecondsTimeOutInterval < -1)
-                                       throw new ArgumentOutOfRangeException ("timeout", "timeout < -1");
-
-                               if (millisecondsTimeOutInterval > Int32.MaxValue)
-                                       throw new NotSupportedException ("Timeout is too big. Maximum is Int32.MaxValue");
-
-                               TimeSpan timeout = new TimeSpan (0, 0, 0, 0, (int) millisecondsTimeOutInterval);
-                       
-                               RegisteredWaitHandle waiter = new RegisteredWaitHandle (waitObject, callBack, state,
-                                                                                       timeout, executeOnlyOnce);
-                               QueueUserWorkItem (new WaitCallback (waiter.Wait), null);
-                               return waiter;
-                       }
-               }
-
-               public static RegisteredWaitHandle RegisterWaitForSingleObject (WaitHandle waitObject,
-                                                                               WaitOrTimerCallback callBack,
-                                                                               object state,
-                                                                               TimeSpan timeout,
-                                                                               bool executeOnlyOnce)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               return Microsoft.ThreadPool.RegisterWaitForSingleObject (waitObject, callBack, state, timeout, executeOnlyOnce);
-                       else
-                               return RegisterWaitForSingleObject (waitObject, callBack, state, (long) timeout.TotalMilliseconds, executeOnlyOnce);
-
-               }
-
-               [CLSCompliant(false)]
-               public static RegisteredWaitHandle RegisterWaitForSingleObject (WaitHandle waitObject,
-                                                                               WaitOrTimerCallback callBack,
-                                                                               object state,
-                                                                               uint millisecondsTimeOutInterval,
-                                                                               bool executeOnlyOnce)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               return Microsoft.ThreadPool.RegisterWaitForSingleObject (waitObject, callBack, state, millisecondsTimeOutInterval, executeOnlyOnce);
-                       else
-                               return RegisterWaitForSingleObject (waitObject, callBack, state, (long) millisecondsTimeOutInterval, executeOnlyOnce);
-               }
-
-               [CLSCompliant (false)]
-               unsafe public static bool UnsafeQueueNativeOverlapped (NativeOverlapped *overlapped)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               return Microsoft.ThreadPool.UnsafeQueueNativeOverlapped (overlapped);
-                       else
-                               throw new NotImplementedException ();
-               }
-
-#if !NET_2_1 || MOBILE
-
-               [SecurityPermission (SecurityAction.Demand, ControlEvidence=true, ControlPolicy=true)]
-               public static bool UnsafeQueueUserWorkItem (WaitCallback callBack, object state)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool) {
-                               return Microsoft.ThreadPool.UnsafeQueueUserWorkItem (callBack, state);
-                       } else {
-                               if (callBack == null)
-                                       throw new ArgumentNullException ("callBack");
-
-                               // no stack propagation here (that's why it's unsafe and requires extra security permissions)
-                               if (!callBack.IsTransparentProxy ()) {
-                                       AsyncResult ares = new AsyncResult (callBack, state, false);
-                                       pool_queue (ares);
-                                       return true;
-                               }
-                               try {
-                                       if (!ExecutionContext.IsFlowSuppressed ())
-                                               ExecutionContext.SuppressFlow (); // on current thread only
-                                       IAsyncResult ar = callBack.BeginInvoke (state, null, null);
-                                       if (ar == null)
-                                               return false;
-                               } finally {
-                                       if (ExecutionContext.IsFlowSuppressed ())
-                                               ExecutionContext.RestoreFlow ();
-                               }
-                               return true;
-                       }
-               }
-               
-               [MonoTODO("Not implemented")]
-               [SecurityPermission (SecurityAction.Demand, ControlEvidence=true, ControlPolicy=true)]
-               public static RegisteredWaitHandle UnsafeRegisterWaitForSingleObject (WaitHandle waitObject,
-                       WaitOrTimerCallback callBack, object state, int millisecondsTimeOutInterval,
-                       bool executeOnlyOnce) 
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               return Microsoft.ThreadPool.UnsafeRegisterWaitForSingleObject (waitObject, callBack, state, millisecondsTimeOutInterval, executeOnlyOnce);
-                       else
-                               throw new NotImplementedException ();
-               }
-               
-               [MonoTODO("Not implemented")]
-               [SecurityPermission (SecurityAction.Demand, ControlEvidence=true, ControlPolicy=true)]
-               public static RegisteredWaitHandle UnsafeRegisterWaitForSingleObject (WaitHandle waitObject,
-                       WaitOrTimerCallback callBack, object state, long millisecondsTimeOutInterval,
-                       bool executeOnlyOnce) 
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               return Microsoft.ThreadPool.UnsafeRegisterWaitForSingleObject (waitObject, callBack, state, millisecondsTimeOutInterval, executeOnlyOnce);
-                       else
-                               throw new NotImplementedException ();
-               }
-
-               [MonoTODO("Not implemented")]
-               [SecurityPermission (SecurityAction.Demand, ControlEvidence=true, ControlPolicy=true)]
-               public static RegisteredWaitHandle UnsafeRegisterWaitForSingleObject (WaitHandle waitObject,
-                       WaitOrTimerCallback callBack, object state, TimeSpan timeout,
-                       bool executeOnlyOnce) 
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               return Microsoft.ThreadPool.UnsafeRegisterWaitForSingleObject (waitObject, callBack, state, timeout, executeOnlyOnce);
-                       else
-                               throw new NotImplementedException ();
-               }
-
-               [MonoTODO("Not implemented")]
-               [CLSCompliant (false)]
-               [SecurityPermission (SecurityAction.Demand, ControlEvidence=true, ControlPolicy=true)]
-               public static RegisteredWaitHandle UnsafeRegisterWaitForSingleObject (WaitHandle waitObject,
-                       WaitOrTimerCallback callBack, object state, uint millisecondsTimeOutInterval,
-                       bool executeOnlyOnce) 
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               return Microsoft.ThreadPool.UnsafeRegisterWaitForSingleObject (waitObject, callBack, state, millisecondsTimeOutInterval, executeOnlyOnce);
-                       else
-                               throw new NotImplementedException ();
-               }
-
-#endif
-
-#region ReferenceSources
-               // Extracted from ../../../../external/referencesource/mscorlib/system/threading/threadpool.cs
-               internal static void UnsafeQueueCustomWorkItem(IThreadPoolWorkItem workItem, bool forceGlobal)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               Microsoft.ThreadPool.UnsafeQueueCustomWorkItem (workItem, forceGlobal);
-                       else
-                               QueueWorkItem ((obj) => ((IThreadPoolWorkItem)obj).ExecuteWorkItem (), workItem);
-               }
-
-               internal static IEnumerable<IThreadPoolWorkItem> GetQueuedWorkItems()
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               return Microsoft.ThreadPool.GetQueuedWorkItems ();
-                       else
-                               return new IThreadPoolWorkItem [0];
-               }
-
-               internal static bool TryPopCustomWorkItem(IThreadPoolWorkItem workItem)
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               return Microsoft.ThreadPool.TryPopCustomWorkItem (workItem);
-                       else
-                               return false;
-               }
-
-               internal static void NotifyWorkItemProgress()
-               {
-                       if (Microsoft.ThreadPool.UseMicrosoftThreadPool)
-                               Microsoft.ThreadPool.NotifyWorkItemProgress ();
-               }
-#endregion
-       }
-}
index 569fc383bfff53e366aaef7f89f43a1d0e3bedfb..22927ecd2f5d668eb44da7da7a933fb180d3983f 100644 (file)
@@ -1345,6 +1345,9 @@ namespace System {
                                DomainUnload(this, null);
                }
 
+               [MethodImplAttribute(MethodImplOptions.InternalCall)]
+               internal extern void DoUnhandledException (Exception e);
+
                internal void DoUnhandledException (UnhandledExceptionEventArgs args) {
                        if (UnhandledException != null)
                                UnhandledException (this, args);
index deb3eaf4bf76735cd197474d7f5775dcfda30b09..99c5236a7ddf1a7f587168c4f624b3918b87e1a9 100644 (file)
@@ -210,7 +210,8 @@ namespace System
                private static Stream Open (IntPtr handle, FileAccess access, int bufferSize)
                {
                        try {
-                               return new FileStream (handle, access, false, bufferSize, false, bufferSize == 0);
+                               // TODO: Should use __ConsoleStream from reference sources
+                               return new FileStream (handle, access, false, bufferSize, false, true);
                        } catch (IOException) {
                                return Stream.Null;
                        }
index c2f92a7f73b7a3abfd16bf12c62bd8bdca95375d..91eecdccb93919fae0197c20c93d12783945347d 100644 (file)
@@ -60,6 +60,7 @@ namespace System
                private object m_target;
                private IntPtr method;
                private IntPtr delegate_trampoline;
+               private IntPtr rgctx;
                private IntPtr method_code;
                private MethodInfo method_info;
 
@@ -68,6 +69,8 @@ namespace System
                private MethodInfo original_method_info;
 
                private DelegateData data;
+
+               private bool method_is_virtual;
 #pragma warning restore 169, 414, 649
                #endregion
 
@@ -103,13 +106,19 @@ namespace System
                                        return method_info;
                                } else {
                                        if (method != IntPtr.Zero) {
-                                               method_info = (MethodInfo)MethodBase.GetMethodFromHandleNoGenericCheck (new RuntimeMethodHandle (method));
+                                               if (!method_is_virtual)
+                                                       method_info = (MethodInfo)MethodBase.GetMethodFromHandleNoGenericCheck (new RuntimeMethodHandle (method));
+                                               else
+                                                       method_info = GetVirtualMethod_internal ();
                                        }
                                        return method_info;
                                }
                        }
                }
 
+               [MethodImplAttribute (MethodImplOptions.InternalCall)]
+               extern MethodInfo GetVirtualMethod_internal ();
+
                public object Target {
                        get {
                                return m_target;
@@ -467,13 +476,15 @@ namespace System
                        return MemberwiseClone ();
                }
 
-               internal bool Compare (Delegate d)
+               public override bool Equals (object obj)
                {
+                       Delegate d = obj as Delegate;
+
                        if (d == null)
                                return false;
-                       
+
                        // Do not compare method_ptr, since it can point to a trampoline
-                       if (d.m_target == m_target && d.method == method) {
+                       if (d.m_target == m_target && d.Method == Method) {
                                if (d.data != null || data != null) {
                                        /* Uncommon case */
                                        if (d.data != null && data != null)
@@ -492,14 +503,10 @@ namespace System
                        return false;
                }
 
-               public override bool Equals (object obj)
-               {
-                       return Compare (obj as Delegate);
-               }
-
                public override int GetHashCode ()
                {
-                       return method.GetHashCode () ^ (m_target != null ? m_target.GetHashCode () : 0);
+                       /* same implementation as CoreCLR */
+                       return GetType ().GetHashCode ();
                }
 
                protected virtual MethodInfo GetMethodImpl ()
index c6b01d789c92fb67ef1b4e0e4a7bcdd8d000caa1..d9267ac32307239d9910c71cc43de3a91bc5f1d6 100644 (file)
@@ -57,7 +57,7 @@ namespace System {
                 * of icalls, do not require an increment.
                 */
 #pragma warning disable 169
-               private const int mono_corlib_version = 135;
+               private const int mono_corlib_version = 138;
 #pragma warning restore 169
 
                [ComVisible (true)]
index 7670ce338e693a9c88343b870db8fb51d178ac95..e07d2e85b62917446160a44c05574c47afa90d0f 100644 (file)
@@ -69,6 +69,7 @@ namespace System
                IDictionary _data;
                internal StackTrace[] captured_traces;
                IntPtr[] native_trace_ips;
+               object dynamic_methods;
                #endregion
 #pragma warning restore 169, 649
 
@@ -199,26 +200,8 @@ namespace System
                                        /* Not thrown yet */
                                        return null;
 
-                               StringBuilder sb = new StringBuilder ();
-
-                               // Add traces captured using ExceptionDispatchInfo
-                               if (captured_traces != null) {
-                                       foreach (var t in captured_traces) {
-                                               if (!t.AddFrames (sb, true))
-                                                       continue;
-
-                                               sb.Append (Environment.NewLine);
-                                               sb.Append ("--- End of stack trace from previous location where exception was thrown ---");
-                                               sb.Append (Environment.NewLine);
-                                       }
-                               }
-
-                               StackTrace st = new StackTrace (this, 0, true, true);
-                               st.AddFrames (sb, true);
-
-                               stack_trace = sb.ToString ();
-
-                               return stack_trace;
+                               StackTrace st = new StackTrace (this, 0, true);
+                               return stack_trace = st.ToString ();
                        }
                }
 
@@ -316,6 +299,7 @@ namespace System
                {
                        captured_traces = (StackTrace[]) exceptionDispatchInfo.BinaryStackTraceArray;
                        trace_ips = null;
+                       stack_trace = null;
                }
 
                //
diff --git a/mcs/class/corlib/System/Math.cs b/mcs/class/corlib/System/Math.cs
deleted file mode 100644 (file)
index 3ba4b62..0000000
+++ /dev/null
@@ -1,504 +0,0 @@
-//
-// System.Math.cs
-//
-// Authors:
-//   Bob Smith (bob@thestuff.net)
-//   Dan Lewis (dihlewis@yahoo.co.uk)
-//   Pedro Martínez Juliá (yoros@wanadoo.es)
-//   Andreas Nahr (ClassDevelopment@A-SoftTech.com)
-//
-// (C) 2001 Bob Smith.  http://www.thestuff.net
-// Copyright (C) 2003 Pedro Martínez Juliá <yoros@wanadoo.es>
-// Copyright (C) 2004 Novell (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.Runtime.CompilerServices;
-using System.Runtime.ConstrainedExecution;
-
-namespace System
-{
-       public static class Math
-       {
-               public const double E = 2.7182818284590452354;
-               public const double PI = 3.14159265358979323846;
-
-               public static decimal Abs (decimal value)
-               {
-                       return (value < 0)? -value: value;
-               }
-
-               public static double Abs (double value)
-               {
-                       return (value < 0)? -value: value;
-               }
-
-               public static float Abs (float value)
-               {
-                       return (value < 0)? -value: value;
-               }
-
-               public static int Abs (int value)
-               {
-                       if (value == Int32.MinValue)
-                               throw new OverflowException (Locale.GetText ("Value is too small."));
-                       return (value < 0)? -value: value;
-               }
-
-               public static long Abs (long value)
-               {
-                       if (value == Int64.MinValue)
-                               throw new OverflowException (Locale.GetText ("Value is too small."));
-                       return (value < 0)? -value: value;
-               }
-
-               [CLSCompliant (false)]
-               public static sbyte Abs (sbyte value)
-               {
-                       if (value == SByte.MinValue)
-                               throw new OverflowException (Locale.GetText ("Value is too small."));
-                       return (sbyte)((value < 0)? -value: value);
-               }
-
-               public static short Abs (short value)
-               {
-                       if (value == Int16.MinValue)
-                               throw new OverflowException (Locale.GetText ("Value is too small."));
-                       return (short)((value < 0)? -value: value);
-               }
-
-               public static decimal Ceiling (decimal d)
-               {
-                       decimal result = Floor(d);
-                       if (result != d) {
-                               result++;
-                       }
-                       return result;
-               }
-
-               public static double Ceiling (double a)
-               {
-                       double result = Floor(a);
-                       if (result != a) {
-                               result++;
-                       }
-                       return result;
-               }
-
-               // The following methods are defined in ECMA specs but they are
-               // not implemented in MS.NET. However, they are in MS.NET 1.1
-
-               public static long BigMul (int a, int b)
-               {
-                       return ((long)a * (long)b);
-               }
-
-               public static int DivRem (int a, int b, out int result)
-               {
-                       result = (a % b);
-                       return (int)(a / b);
-               }
-
-               public static long DivRem (long a, long b, out long result)
-               {
-                       result = (a % b);
-                       return (long)(a / b);
-               }
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Floor (double d);
-
-               public static double IEEERemainder (double x, double y)
-               {
-                       double r;
-                       if (y == 0)
-                               return Double.NaN;
-                       r = x - (y * Math.Round(x/y));
-                       if (r != 0)
-                               return r;
-                       /* Int64BitsToDouble is not endian-aware, but that is fine here */
-                       return (x > 0) ? 0: (BitConverter.Int64BitsToDouble (Int64.MinValue));
-               }
-
-               public static double Log (double a, double newBase)
-               {
-                       if (newBase == 1.0)
-                               return Double.NaN;
-                       double result = Log(a) / Log(newBase);
-                       return (result == -0)? 0: result;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public static byte Max (byte val1, byte val2)
-               {
-                       return (val1 > val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public static decimal Max (decimal val1, decimal val2)
-               {
-                       return (val1 > val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public static double Max (double val1, double val2)
-               {
-                       if (Double.IsNaN (val1) || Double.IsNaN (val2)) {
-                               return Double.NaN;
-                       }
-                       return (val1 > val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public static float Max (float val1, float val2)
-               {
-                       if (Single.IsNaN (val1) || Single.IsNaN (val2)) {
-                               return Single.NaN;
-                       }
-                       return (val1 > val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public static int Max (int val1, int val2)
-               {
-                       return (val1 > val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public static long Max (long val1, long val2)
-               {
-                       return (val1 > val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               [CLSCompliant (false)]
-               public static sbyte Max (sbyte val1, sbyte val2)
-               {
-                       return (val1 > val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public static short Max (short val1, short val2)
-               {
-                       return (val1 > val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               [CLSCompliant (false)]
-               public static uint Max (uint val1, uint val2)
-               {
-                       return (val1 > val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               [CLSCompliant (false)]
-               public static ulong Max (ulong val1, ulong val2)
-               {
-                       return (val1 > val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               [CLSCompliant (false)]
-               public static ushort Max (ushort val1, ushort val2)
-               {
-                       return (val1 > val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public static byte Min (byte val1, byte val2)
-               {
-                       return (val1 < val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public static decimal Min (decimal val1, decimal val2)
-               {
-                       return (val1 < val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public static double Min (double val1, double val2)
-               {
-                       if (Double.IsNaN (val1) || Double.IsNaN (val2)) {
-                               return Double.NaN;
-                       }
-                       return (val1 < val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public static float Min (float val1, float val2)
-               {
-                       if (Single.IsNaN (val1) || Single.IsNaN (val2)) {
-                               return Single.NaN;
-                       }
-                       return (val1 < val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public static int Min (int val1, int val2)
-               {
-                       return (val1 < val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public static long Min (long val1, long val2)
-               {
-                       return (val1 < val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               [CLSCompliant (false)]
-               public static sbyte Min (sbyte val1, sbyte val2)
-               {
-                       return (val1 < val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public static short Min (short val1, short val2)
-               {
-                       return (val1 < val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               [CLSCompliant (false)]
-               public static uint Min (uint val1, uint val2)
-               {
-                       return (val1 < val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               [CLSCompliant (false)]
-               public static ulong Min (ulong val1, ulong val2)
-               {
-                       return (val1 < val2)? val1: val2;
-               }
-
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               [CLSCompliant (false)]
-               public static ushort Min (ushort val1, ushort val2)
-               {
-                       return (val1 < val2)? val1: val2;
-               }
-
-               public static decimal Round (decimal d)
-               {
-                       // Just call Decimal.Round(d, 0); when it rounds well.
-                       decimal int_part = Decimal.Floor(d);
-                       decimal dec_part = d - int_part;
-                       if (((dec_part == 0.5M) &&
-                               ((2.0M * ((int_part / 2.0M) -
-                               Decimal.Floor(int_part / 2.0M))) != 0.0M)) ||
-                               (dec_part > 0.5M)) {
-                               int_part++;
-                       }
-                       return int_part;
-               }
-
-               public static decimal Round (decimal d, int decimals)
-               {
-                       return Decimal.Round (d, decimals);
-               }
-
-               public static decimal Round (decimal d, MidpointRounding mode)
-               {
-                       if ((mode != MidpointRounding.ToEven) && (mode != MidpointRounding.AwayFromZero))
-                               throw new ArgumentException ("The value '" + mode + "' is not valid for this usage of the type MidpointRounding.", "mode");
-
-                       if (mode == MidpointRounding.ToEven)
-                               return Round (d);
-                       else
-                               return RoundAwayFromZero (d);
-               }
-
-               static decimal RoundAwayFromZero (decimal d)
-               {
-                       decimal int_part = Decimal.Floor(d);
-                       decimal dec_part = d - int_part;
-                       if (int_part >= 0 && dec_part >= 0.5M)
-                               int_part++;
-                       else if (int_part < 0 && dec_part > 0.5M)
-                               int_part++;
-                       return int_part;
-               }
-
-               public static decimal Round (decimal d, int decimals, MidpointRounding mode)
-               {
-                       return Decimal.Round (d, decimals, mode);
-               }
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Round (double a);
-
-               public static double Round (double value, int digits)
-               {
-                       if (digits < 0 || digits > 15)
-                               throw new ArgumentOutOfRangeException (Locale.GetText ("Value is too small or too big."));
-                       if (digits == 0)
-                               return Round (value);
-
-                       return Round2(value, digits, false);
-               }
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               private extern static double Round2 (double value, int digits, bool away_from_zero);
-
-
-               public static double Round (double value, MidpointRounding mode)
-               {
-                       if ((mode != MidpointRounding.ToEven) && (mode != MidpointRounding.AwayFromZero))
-                               throw new ArgumentException ("The value '" + mode + "' is not valid for this usage of the type MidpointRounding.", "mode");
-
-                       if (mode == MidpointRounding.ToEven)
-                               return Round (value);
-                       if (value > 0)
-                               return Floor (value + 0.5);
-                       else
-                               return Ceiling (value - 0.5);
-               }
-
-               public static double Round (double value, int digits, MidpointRounding mode)
-               {
-                       if ((mode != MidpointRounding.ToEven) && (mode != MidpointRounding.AwayFromZero))
-                               throw new ArgumentException ("The value '" + mode + "' is not valid for this usage of the type MidpointRounding.", "mode");
-                       if (digits == 0)
-                               return Round (value, mode);
-
-                       if (mode == MidpointRounding.ToEven)
-                               return Round (value, digits);
-                       else
-                               return Round2 (value, digits, true);
-               }
-               
-               public static double Truncate (double d)
-               {
-                       if (d > 0D)
-                               return Floor (d);
-                       else if (d < 0D)
-                               return Ceiling (d);
-                       else
-                               return d;
-               }
-
-               public static decimal Truncate (decimal d)
-               {
-                       return Decimal.Truncate (d);
-               }
-
-               public static decimal Floor (Decimal d)
-               {
-                       return Decimal.Floor (d);
-               }
-
-               public static int Sign (decimal value)
-               {
-                       if (value > 0) return 1;
-                       return (value == 0)? 0: -1;
-               }
-
-               public static int Sign (double value)
-               {
-                       if (Double.IsNaN (value))
-                               throw new ArithmeticException ("NAN");
-                       if (value > 0) return 1;
-                       return (value == 0)? 0: -1;
-               }
-
-               public static int Sign (float value)
-               {
-                       if (Single.IsNaN (value))
-                               throw new ArithmeticException ("NAN");
-                       if (value > 0) return 1;
-                       return (value == 0)? 0: -1;
-               }
-
-               public static int Sign (int value)
-               {
-                       if (value > 0) return 1;
-                       return (value == 0)? 0: -1;
-               }
-
-               public static int Sign (long value)
-               {
-                       if (value > 0) return 1;
-                       return (value == 0)? 0: -1;
-               }
-
-               [CLSCompliant (false)]
-               public static int Sign (sbyte value)
-               {
-                       if (value > 0) return 1;
-                       return (value == 0)? 0: -1;
-               }
-
-               public static int Sign (short value)
-               {
-                       if (value > 0) return 1;
-                       return (value == 0)? 0: -1;
-               }
-
-               // internal calls
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Sin (double a);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Cos (double d);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Tan (double a);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Sinh (double value);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Cosh (double value);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Tanh (double value);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Acos (double d);
-               
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Asin (double d);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Atan (double d);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Atan2 (double y, double x);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Exp (double d);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Log (double d);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Log10 (double d);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               public extern static double Pow (double x, double y);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
-               public extern static double Sqrt (double d);
-       }
-}
index 4941e7cea50f29760f44417f5a6b6d727b597524..795593d28ceb603aa1854a90247b1442db68c3ca 100644 (file)
@@ -74,6 +74,19 @@ namespace System
                        }
                }
 
+               // Some high-performance applications use this internal property
+               // to avoid using a slow path to determine if there is more than one handler
+               // This brings an API that we removed in f410e545e2db0e0dc338673a6b10a5cfd2d3340f
+               // which some users depeneded on
+               //
+               // This is an example of code that used this:
+               // https://gist.github.com/migueldeicaza/cd99938c2a4372e7e5d5
+               //
+               // Do not remove this API
+               internal bool HasSingleTarget {
+                       get { return delegates == null; }
+               }
+
                // <remarks>
                //   Equals: two multicast delegates are equal if their base is equal
                //   and their invocations list is equal.
index 8c661389b351873fafe0da6464dda2077e69bc94..45475e910b5caebc26b28d8ce92b16e5b026b2ef 100644 (file)
@@ -266,7 +266,7 @@ namespace System {
                        return timeZoneInfo;
                }
 
-               static void GetSystemTimeZones (List<TimeZoneInfo> systemTimeZones)
+               static void GetSystemTimeZonesCore (List<TimeZoneInfo> systemTimeZones)
                {
                        foreach (string id in AndroidTimeZones.GetAvailableIds ()) {
                                var tz = AndroidTimeZones.GetTimeZone (id, id);
index 3db0c0ab646d33141b3a373c49c7f557b43817d7..ba161b3f2e2f37856954f3f1be325ab10f286ee3 100644 (file)
@@ -58,7 +58,7 @@ namespace System {
                        }
                }
 
-               static void GetSystemTimeZones (List<TimeZoneInfo> systemTimeZones)
+               static void GetSystemTimeZonesCore (List<TimeZoneInfo> systemTimeZones)
                {
                        foreach (string name in GetMonoTouchNames ()) {
                                using (Stream stream = GetMonoTouchData (name, false)) {
index 3f0a069fa06f955fe23655bbd3e22ec0f21559b5..bc27da33976e6ff062adc0905a4fe81ec8e7a008 100644 (file)
@@ -33,6 +33,7 @@ using System.Threading;
 using System.Collections.Generic;
 using System.Collections.ObjectModel;
 using System.Runtime.Serialization;
+using System.Runtime.InteropServices;
 using System.Text;
 using System.Globalization;
 using System.IO;
@@ -89,6 +90,58 @@ namespace System
                */
                private List<KeyValuePair<DateTime, TimeType>> transitions;
 
+               private static bool libcNotFound;
+
+               [DllImport ("libc")]
+               private static extern int readlink (string path, byte[] buffer, int buflen);
+
+               private static string readlink (string path)
+               {
+                       if (libcNotFound)
+                               return null;
+
+                       byte[] buf = new byte [512];
+                       int ret;
+
+                       try {
+                               ret = readlink (path, buf, buf.Length);
+                       } catch (DllNotFoundException e) {
+                               libcNotFound = true;
+                               return null;
+                       }
+
+                       if (ret == -1) return null;
+                       char[] cbuf = new char [512];
+                       int chars = System.Text.Encoding.Default.GetChars (buf, 0, ret, cbuf, 0);
+                       return new String (cbuf, 0, chars);
+               }
+
+               private static bool TryGetNameFromPath (string path, out string name)
+               {
+                       name = null;
+                       var linkPath = readlink (path);
+                       if (linkPath != null)
+                               path = linkPath;
+
+                       path = Path.GetFullPath (path);
+
+                       if (string.IsNullOrEmpty (TimeZoneDirectory))
+                               return false;
+
+                       var baseDir = TimeZoneDirectory;
+                       if (baseDir [baseDir.Length-1] != Path.DirectorySeparatorChar)
+                               baseDir += Path.DirectorySeparatorChar;
+
+                       if (!path.StartsWith (baseDir, StringComparison.InvariantCulture))
+                               return false;
+
+                       name = path.Substring (baseDir.Length);
+                       if (name == "localtime")
+                               name = "Local";
+
+                       return true;
+               }
+
 #if !MOBILE || MOBILE_STATIC
                static TimeZoneInfo CreateLocal ()
                {
@@ -114,15 +167,22 @@ namespace System
                                }
                        }
 
-                       try {
-                               return FindSystemTimeZoneByFileName ("Local", "/etc/localtime");        
-                       } catch (TimeZoneNotFoundException) {
+                       var tzFilePaths = new string [] {
+                               "/etc/localtime",
+                               Path.Combine (TimeZoneDirectory, "localtime")};
+
+                       foreach (var tzFilePath in tzFilePaths) {
                                try {
-                                       return FindSystemTimeZoneByFileName ("Local", Path.Combine (TimeZoneDirectory, "localtime"));   
+                                       string tzName = null;
+                                       if (!TryGetNameFromPath (tzFilePath, out tzName))
+                                               tzName = "Local";
+                                       return FindSystemTimeZoneByFileName (tzName, tzFilePath);
                                } catch (TimeZoneNotFoundException) {
-                                       return Utc;
+                                       continue;
                                }
                        }
+
+                       return Utc;
                }
 
                static TimeZoneInfo FindSystemTimeZoneByIdCore (string id)
@@ -135,7 +195,7 @@ namespace System
 #endif
                }
 
-               static void GetSystemTimeZones (List<TimeZoneInfo> systemTimeZones)
+               static void GetSystemTimeZonesCore (List<TimeZoneInfo> systemTimeZones)
                {
 #if !MOBILE_STATIC
                        if (TimeZoneKey != null) {
@@ -651,7 +711,7 @@ namespace System
                {
                        if (systemTimeZones == null) {
                                var tz = new List<TimeZoneInfo> ();
-                               GetSystemTimeZones (tz);
+                               GetSystemTimeZonesCore (tz);
                                Interlocked.CompareExchange (ref systemTimeZones, new ReadOnlyCollection<TimeZoneInfo> (tz), null);
                        }
 
@@ -870,12 +930,12 @@ namespace System
                                }
 
                                // DaylightTime.Start is relative to the Standard time.
-                               if (start != DateTime.MinValue)
-                                       start += BaseUtcOffset;
+                               if (!TryAddTicks (start, BaseUtcOffset.Ticks, out start))
+                                       start = DateTime.MinValue;
 
                                // DaylightTime.End is relative to the DST time.
-                               if (end != DateTime.MinValue)
-                                       end += BaseUtcOffset + delta;
+                               if (!TryAddTicks (end, BaseUtcOffset.Ticks + delta.Ticks, out end))
+                                       end = DateTime.MinValue;
                        } else {
                                AdjustmentRule first = null, last = null;
 
@@ -1175,7 +1235,7 @@ namespace System
                        return (((i >> 24) & 0xff)
                                | ((i >> 8) & 0xff00)
                                | ((i << 8) & 0xff0000)
-                               | ((i << 24)));
+                               | (((i & 0xff) << 24)));
                }
 
                static int ReadBigEndianInt32 (byte [] buffer, int start)
index 32233f269db981b78c76b9dd72551f6667c63a71..41f2b229460786a00653b71f458f1a682e4efdc2 100644 (file)
@@ -171,6 +171,21 @@ namespace MonoTests.System.Globalization
 
                        ci = CultureInfo.CreateSpecificCulture ("");
                        Assert.AreEqual (CultureInfo.InvariantCulture, ci, "#5");
+
+                       ci = CultureInfo.CreateSpecificCulture ("zh-hant");
+                       Assert.AreEqual ("zh-HK", ci.Name, "#6");
+
+                       ci = CultureInfo.CreateSpecificCulture ("zh-hans");
+                       Assert.AreEqual ("zh-CN", ci.Name, "#7");
+
+                       ci = CultureInfo.CreateSpecificCulture ("zh-hans-CN");
+                       Assert.AreEqual ("zh-CN", ci.Name, "#8");
+
+                       ci = CultureInfo.CreateSpecificCulture ("zh-hant-US");
+                       Assert.AreEqual ("zh-HK", ci.Name, "#9");
+
+                       ci = CultureInfo.CreateSpecificCulture ("az-CyrlM-BR");
+                       Assert.AreEqual ("az-Latn-AZ", ci.Name, "#10");
                }
 
                [Test]
@@ -610,7 +625,7 @@ namespace MonoTests.System.Globalization
 
 #if NET_4_5
                CountdownEvent barrier = new CountdownEvent (3);
-               AutoResetEvent[] evt = new AutoResetEvent [] { new AutoResetEvent (false), new AutoResetEvent (false), new AutoResetEvent (false)};
+               AutoResetEvent[] evt = new AutoResetEvent [] { new AutoResetEvent (false), new AutoResetEvent (false), new AutoResetEvent (false), new AutoResetEvent (false)};
 
                CultureInfo[] initial_culture = new CultureInfo[4];
                CultureInfo[] changed_culture = new CultureInfo[4];
@@ -653,61 +668,63 @@ namespace MonoTests.System.Globalization
 
                [Test]
                public void DefaultThreadCurrentCulture () {
-                       var orig_culture = CultureInfo.CurrentCulture;
-                       var new_culture = new CultureInfo("fr-FR");
-
-                       // The test doesn't work if the current culture is already set
-                       if (orig_culture != CultureInfo.InvariantCulture)
-                               Assert.Ignore ("The test doesn't work if the current culture is already set.");
-
-                       /* Phase 0 - warm up */
-                       new Thread (ThreadWithoutChange).Start ();
-                       new Thread (ThreadWithChange).Start ();
-                       Action x = ThreadPoolWithoutChange;
-                       x.BeginInvoke (null, null);
-
-                       /* Phase 1 - let everyone witness initial values */
-                       initial_culture [0] = CultureInfo.CurrentCulture;
-                       barrier.Wait ();
-                       barrier.Reset ();
-
-                       /* Phase 2 - change the default culture*/
-                       CultureInfo.DefaultThreadCurrentCulture = new_culture;
-                       evt [0].Set ();
-                       evt [1].Set ();
-                       evt [2].Set ();
-                       /* Phase 3 - let everyone witness the new value */
-                       changed_culture [0] = CultureInfo.CurrentCulture;
-                       barrier.Wait ();
-                       barrier.Reset ();
-
-                       /* Phase 4 - revert the default culture back to null */
-                       CultureInfo.DefaultThreadCurrentCulture = null;
-                       evt [0].Set ();
-                       evt [1].Set ();
-                       evt [2].Set ();
-
-                       /* Phase 5 - let everyone witness the new value */
-                       changed_culture2 [0] = CultureInfo.CurrentCulture;
-                       barrier.Wait ();
-                       barrier.Reset ();
-
-                       CultureInfo.DefaultThreadCurrentCulture = null;
-
-                       Assert.AreEqual (orig_culture, initial_culture [0], "#1");
-                       Assert.AreEqual (orig_culture, initial_culture [1], "#2");
-                       Assert.AreEqual (alternative_culture, initial_culture [2], "#3");
-                       Assert.AreEqual (orig_culture, initial_culture [3], "#4");
-
-                       Assert.AreEqual (new_culture, changed_culture [0], "#5");
-                       Assert.AreEqual (new_culture, changed_culture [1], "#6");
-                       Assert.AreEqual (alternative_culture, changed_culture [2], "#7");
-                       Assert.AreEqual (new_culture, changed_culture [3], "#8");
 
-                       Assert.AreEqual (orig_culture, changed_culture [0], "#9");
-                       Assert.AreEqual (orig_culture, changed_culture2 [1], "#10");
-                       Assert.AreEqual (alternative_culture, changed_culture2 [2], "#11");
-                       Assert.AreEqual (orig_culture, changed_culture2 [3], "#12");
+                       Action c = () => {
+                               var orig_culture = CultureInfo.CurrentCulture;
+                               var new_culture = new CultureInfo("fr-FR");
+
+                               /* Phase 0 - warm up */
+                               new Thread (ThreadWithoutChange).Start ();
+                               new Thread (ThreadWithChange).Start ();
+                               Action x = ThreadPoolWithoutChange;
+                               x.BeginInvoke (null, null);
+
+                               /* Phase 1 - let everyone witness initial values */
+                               initial_culture [0] = CultureInfo.CurrentCulture;
+                               barrier.Wait ();
+                               barrier.Reset ();
+
+                               /* Phase 2 - change the default culture*/
+                               CultureInfo.DefaultThreadCurrentCulture = new_culture;
+                               evt [1].Set ();
+                               evt [2].Set ();
+                               evt [3].Set ();
+
+                               /* Phase 3 - let everyone witness the new value */
+                               changed_culture [0] = CultureInfo.CurrentCulture;
+                               barrier.Wait ();
+                               barrier.Reset ();
+
+                               /* Phase 4 - revert the default culture back to null */
+                               CultureInfo.DefaultThreadCurrentCulture = null;
+                               evt [1].Set ();
+                               evt [2].Set ();
+                               evt [3].Set ();
+
+                               /* Phase 5 - let everyone witness the new value */
+                               changed_culture2 [0] = CultureInfo.CurrentCulture;
+                               barrier.Wait ();
+                               barrier.Reset ();
+
+                               CultureInfo.DefaultThreadCurrentCulture = null;
+
+                               Assert.AreEqual (orig_culture, initial_culture [0], "#1");
+                               Assert.AreEqual (orig_culture, initial_culture [1], "#2");
+                               Assert.AreEqual (alternative_culture, initial_culture [2], "#3");
+                               Assert.AreEqual (orig_culture, initial_culture [3], "#4");
+
+                               Assert.AreEqual (new_culture, changed_culture [0], "#5");
+                               Assert.AreEqual (new_culture, changed_culture [1], "#6");
+                               Assert.AreEqual (alternative_culture, changed_culture [2], "#7");
+                               Assert.AreEqual (new_culture, changed_culture [3], "#8");
+
+                               Assert.AreEqual (orig_culture, changed_culture2 [0], "#9");
+                               Assert.AreEqual (orig_culture, changed_culture2 [1], "#10");
+                               Assert.AreEqual (alternative_culture, changed_culture2 [2], "#11");
+                               Assert.AreEqual (orig_culture, changed_culture2 [3], "#12");
+                       };
+                       var ar = c.BeginInvoke (null, null);
+                       ar.AsyncWaitHandle.WaitOne ();
                }
 
                [Test]
index 459974cdee4510253d0c38f84162660fd6ca688e..66eb27ed32407833e14b69f9fc6cb357b4f3d7ab 100644 (file)
@@ -1034,7 +1034,6 @@ namespace MonoTests.System.IO.IsolatedStorageTest {
                                isf.MoveFile ("  ", "file-new-new");
                                Assert.Fail ("#Exc2");
                        } catch (ArgumentException e) {
-                               Console.WriteLine (e);
                        }
 
                        try {
index bdeae0ba3aa6a2db36a900e8832fc1c7854456e4..be6236d6a0700d5c07c399ad02479732d13bd050 100644 (file)
@@ -16,6 +16,7 @@ using System.IO;
 using System.Runtime.InteropServices;
 using System.Text;
 using System.Threading;
+using Microsoft.Win32.SafeHandles;
 
 namespace MonoTests.System.IO
 {
@@ -1531,15 +1532,23 @@ namespace MonoTests.System.IO
                static IAsyncResult DoBeginWrite(Stream stream, ManualResetEvent mre, byte[] RandomBuffer)
                {
                        return stream.BeginWrite (RandomBuffer, 0, RandomBuffer.Length, ar => {
-                               stream.EndWrite (ar);
+                               IAsyncResult begin_write_recursive_ares;
 
-                               // we don't supply an ManualResetEvent so this will throw an NRE on the second run
-                               // which nunit-console will ignore (but other test runners don't like that)
-                               if (mre == null)
-                                       return;
+                               try {
+                                       stream.EndWrite (ar);
 
-                               DoBeginWrite (stream, null, RandomBuffer).AsyncWaitHandle.WaitOne ();
-                               mre.Set ();
+                                       // we don't supply an ManualResetEvent so this will throw an NRE on the second run
+                                       // which nunit-console will ignore (but other test runners don't like that)
+                                       if (mre == null)
+                                               return;
+
+                                       begin_write_recursive_ares = DoBeginWrite (stream, null, RandomBuffer);
+                                       begin_write_recursive_ares.AsyncWaitHandle.WaitOne ();
+
+                                       mre.Set ();
+                               } catch (ObjectDisposedException e) {
+                                       Console.WriteLine ("stream was disposed: {0}", e);
+                               }
                        }, null);
                }
 
@@ -1548,12 +1557,19 @@ namespace MonoTests.System.IO
                {
                        string path = TempFolder + Path.DirectorySeparatorChar + "temp";
                        DeleteFile (path);
-       
-                       using (FileStream stream = new FileStream (path, FileMode.OpenOrCreate, FileAccess.Write)) {
-                               var mre = new ManualResetEvent (false); 
-                               var RandomBuffer = new byte[1024];                      
-                               DoBeginWrite (stream, mre, RandomBuffer);
-                               Assert.IsTrue (mre.WaitOne (5000), "#1");
+
+                       IAsyncResult begin_write_ares = null;
+
+                       try {
+                               using (FileStream stream = new FileStream (path, FileMode.OpenOrCreate, FileAccess.Write)) {
+                                       var mre = new ManualResetEvent (false);
+                                       var RandomBuffer = new byte[1024];
+                                       begin_write_ares = DoBeginWrite (stream, mre, RandomBuffer);
+                                       Assert.IsTrue (mre.WaitOne (5000), "#1");
+                               }
+                       } finally {
+                               if (begin_write_ares != null)
+                                       begin_write_ares.AsyncWaitHandle.WaitOne ();
                        }
                }
 
@@ -1678,6 +1694,17 @@ namespace MonoTests.System.IO
                                DeleteFile (path);
                        }
                }
+
+               [Test]
+               public void Ctor_InvalidSafeHandle ()
+               {
+                       var sf = new SafeFileHandle (IntPtr.Zero, true);
+                       try {
+                               new FileStream (sf, FileAccess.ReadWrite);
+                               Assert.Fail ("#1");
+                       } catch (ArgumentException) {
+                       }
+               }
 #endif
        }
 }
index 2f8e2c05f5a779229b5cb3a1d15ece50c1f80045..f552e933a65290eca43c3c6cd3ffa9df00148d7d 100644 (file)
@@ -334,39 +334,44 @@ namespace MonoTests.System.IO
 
                        wh.Close ();
                }
-               
+
                [Test]
                public void BeginReadIsBlockingNextRead ()
                {
                        byte[] readBytes = new byte[5];
                        byte[] readBytes2 = new byte[3];
-                       var wh = new ManualResetEvent (false);
-                       var end = new ManualResetEvent (false);
+                       ManualResetEvent begin_read_unblock = new ManualResetEvent (false);
+                       ManualResetEvent begin_read_blocking = new ManualResetEvent (false);
+                       Task begin_read_task = null;
 
-                       using (var testStream = new SignaledMemoryStream (testStreamData, wh)) {
-                               var res = testStream.BeginRead (readBytes, 0, 5, null, null);
+                       try {
+                               using (var testStream = new SignaledMemoryStream (testStreamData, begin_read_unblock)) {
+                                       IAsyncResult begin_read_1_ares = testStream.BeginRead (readBytes, 0, 5, null, null);
 
-                               bool blocking = true;
-                               ThreadPool.QueueUserWorkItem (l => {
-                                       var res2 = testStream.BeginRead (readBytes2, 0, 3, null, null);
-                                       blocking = false;
-                                       Assert.IsTrue (res2.AsyncWaitHandle.WaitOne (2000), "#10");
-                                       Assert.IsTrue (res2.IsCompleted, "#11");
-                                       Assert.AreEqual (3, testStream.EndRead (res2), "#12");
-                                       Assert.AreEqual (95, readBytes2[0], "#13");
-                                       end.Set ();
-                               });
+                                       begin_read_task = Task.Factory.StartNew (() => {
+                                               IAsyncResult begin_read_2_ares = testStream.BeginRead (readBytes2, 0, 3, null, null);
+                                               begin_read_blocking.Set ();
 
-                               Assert.IsFalse (res.IsCompleted, "#1");
-                               Thread.Sleep (500);     // Lame but don't know how to wait for another BeginRead which does not return
-                               Assert.IsTrue (blocking, "#2");
+                                               Assert.IsTrue (begin_read_2_ares.AsyncWaitHandle.WaitOne (2000), "#10");
+                                               Assert.IsTrue (begin_read_2_ares.IsCompleted, "#11");
+                                               Assert.AreEqual (3, testStream.EndRead (begin_read_2_ares), "#12");
+                                               Assert.AreEqual (95, readBytes2[0], "#13");
+                                       });
 
-                               wh.Set ();
-                               Assert.IsTrue (res.AsyncWaitHandle.WaitOne (2000), "#3");
-                               Assert.IsTrue (res.IsCompleted, "#4");
-                               Assert.AreEqual (5, testStream.EndRead (res), "#5");
-                               Assert.IsTrue (end.WaitOne (2000), "#6");
-                               Assert.AreEqual (100, readBytes[0], "#7");
+                                       Assert.IsFalse (begin_read_1_ares.IsCompleted, "#1");
+                                       Assert.IsFalse (begin_read_blocking.WaitOne (500), "#2");
+
+                                       begin_read_unblock.Set ();
+
+                                       Assert.IsTrue (begin_read_1_ares.AsyncWaitHandle.WaitOne (2000), "#3");
+                                       Assert.IsTrue (begin_read_1_ares.IsCompleted, "#4");
+                                       Assert.AreEqual (5, testStream.EndRead (begin_read_1_ares), "#5");
+                                       Assert.IsTrue (begin_read_task.Wait (2000), "#6");
+                                       Assert.AreEqual (100, readBytes[0], "#7");
+                               }
+                       } finally {
+                               if (begin_read_task != null)
+                                       begin_read_task.Wait ();
                        }
                }
 
@@ -395,34 +400,38 @@ namespace MonoTests.System.IO
                {
                        byte[] readBytes = new byte[5];
                        byte[] readBytes2 = new byte[3] { 1, 2, 3 };
-                       var wh = new ManualResetEvent (false);
-                       var end = new ManualResetEvent (false);
+                       ManualResetEvent begin_read_unblock = new ManualResetEvent (false);
+                       ManualResetEvent begin_write_blocking = new ManualResetEvent (false);
+                       Task begin_write_task = null;
 
-                       using (var testStream = new SignaledMemoryStream (testStreamData, wh)) {
-                               var res = testStream.BeginRead (readBytes, 0, 5, null, null);
-
-                               bool blocking = true;
-                               ThreadPool.QueueUserWorkItem (l => {
-                                       var res2 = testStream.BeginWrite (readBytes2, 0, 3, null, null);
-                                       blocking = false;
-                                       Assert.IsTrue (res2.AsyncWaitHandle.WaitOne (2000), "#10");
-                                       Assert.IsTrue (res2.IsCompleted, "#11");
-                                       testStream.EndWrite (res2);
-                                       end.Set ();
-                               });
-
-                               Assert.IsFalse (res.IsCompleted, "#1");
-                               Thread.Sleep (500);     // Lame but don't know how to wait for another BeginWrite which does not return
-                               Assert.IsTrue (blocking, "#2");
-
-                               wh.Set ();
-                               Assert.IsTrue (res.AsyncWaitHandle.WaitOne (2000), "#3");
-                               Assert.IsTrue (res.IsCompleted, "#4");
-                               Assert.AreEqual (5, testStream.EndRead (res), "#5");
-                               Assert.IsTrue (end.WaitOne (2000), "#6");
+                       try {
+                               using (MemoryStream stream = new SignaledMemoryStream (testStreamData, begin_read_unblock)) {
+                                       IAsyncResult begin_read_ares = stream.BeginRead (readBytes, 0, 5, null, null);
+
+                                       begin_write_task = Task.Factory.StartNew (() => {
+                                               var begin_write_ares = stream.BeginWrite (readBytes2, 0, 3, null, null);
+                                               begin_write_blocking.Set ();
+                                               Assert.IsTrue (begin_write_ares.AsyncWaitHandle.WaitOne (2000), "#10");
+                                               Assert.IsTrue (begin_write_ares.IsCompleted, "#11");
+                                               stream.EndWrite (begin_write_ares);
+                                       });
+
+                                       Assert.IsFalse (begin_read_ares.IsCompleted, "#1");
+                                       Assert.IsFalse (begin_write_blocking.WaitOne (500), "#2");
+
+                                       begin_read_unblock.Set ();
+
+                                       Assert.IsTrue (begin_read_ares.AsyncWaitHandle.WaitOne (2000), "#3");
+                                       Assert.IsTrue (begin_read_ares.IsCompleted, "#4");
+                                       Assert.AreEqual (5, stream.EndRead (begin_read_ares), "#5");
+                                       Assert.IsTrue (begin_write_task.Wait (2000), "#6");
+                               }
+                       } finally {
+                               if (begin_write_task != null)
+                                       begin_write_task.Wait ();
                        }
                }
-               
+
                [Test]
                public void BeginWrite ()
                {
index 949c7365b9a5e9084b4a57ecede9343db892ffe9..c9a00481185d6374280d065700948e97c184f999 100644 (file)
@@ -12,6 +12,8 @@ using System.Reflection;
 using System.Reflection.Emit;
 using System.Runtime.InteropServices;
 using System.Text;
+using System.Diagnostics;
+using System.Runtime.ExceptionServices;
 
 using NUnit.Framework;
 
@@ -477,6 +479,104 @@ namespace MonoTests.System.Reflection.Emit
                        public string Name;
                }
 
+               class ExceptionHandling_Test_Support
+               {
+                       public static Exception Caught;
+                       public static string CaughtStackTrace;
+
+                       public static void ThrowMe ()
+                       {
+                               Caught = null;
+                               CaughtStackTrace = null;
+                               throw new Exception("test");
+                       }
+
+                       public static void Handler (Exception e)
+                       {
+                               Caught = e;
+                               CaughtStackTrace = e.StackTrace.ToString ();
+                       }
+               }
+
+               [Test]
+               public void ExceptionHandling ()
+               {
+                       var method = new DynamicMethod ("", typeof(void), new[] { typeof(int) }, typeof (DynamicMethodTest));
+                       var ig = method.GetILGenerator ();
+
+                       ig.BeginExceptionBlock();
+                       ig.Emit(OpCodes.Call, typeof(ExceptionHandling_Test_Support).GetMethod("ThrowMe"));
+
+                       ig.BeginCatchBlock(typeof(Exception));
+                       ig.Emit(OpCodes.Call, typeof(ExceptionHandling_Test_Support).GetMethod("Handler"));
+                       ig.EndExceptionBlock();
+
+                       ig.Emit(OpCodes.Ret);
+
+                       var invoke = (Action<int>) method.CreateDelegate (typeof(Action<int>));
+                       invoke (456324);
+
+                       Assert.IsNotNull (ExceptionHandling_Test_Support.Caught, "#1");
+                       Assert.AreEqual (2, ExceptionHandling_Test_Support.CaughtStackTrace.Split (new[] { Environment.NewLine }, StringSplitOptions.None).Length, "#2");
+
+                       var st = new StackTrace (ExceptionHandling_Test_Support.Caught, 0, true);
+
+                       // Caught stack trace when dynamic method is gone
+                       Assert.AreEqual (ExceptionHandling_Test_Support.CaughtStackTrace, st.ToString (), "#3");
+
+                       // Catch handler stack trace inside dynamic method match
+                       Assert.AreEqual (ExceptionHandling_Test_Support.Caught.StackTrace, st.ToString (), "#4");
+               }
+
+               class ExceptionHandlingWithExceptionDispatchInfo_Test_Support
+               {
+                       public static Exception Caught;
+                       public static string CaughtStackTrace;
+
+                       public static void ThrowMe ()
+                       {
+                               Caught = null;
+                               CaughtStackTrace = null;
+
+                               Exception e;
+                               try {
+                                       throw new Exception("test");
+                               } catch (Exception e2) {
+                                       e = e2;
+                               }
+
+                               var edi = ExceptionDispatchInfo.Capture(e);
+
+                               edi.Throw();
+                       }
+
+                       public static void Handler (Exception e)
+                       {
+                               var split = e.StackTrace.Split (new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
+                               Assert.AreEqual (5, split.Length, "#1");
+                               Assert.IsTrue (split [1].Contains ("---"), "#2");
+                       }
+               }
+
+               [Test]
+               public void ExceptionHandlingWithExceptionDispatchInfo ()
+               {
+                       var method = new DynamicMethod ("", typeof(void), new[] { typeof(int) }, typeof (DynamicMethodTest));
+                       var ig = method.GetILGenerator ();
+
+                       ig.BeginExceptionBlock();
+                       ig.Emit(OpCodes.Call, typeof(ExceptionHandlingWithExceptionDispatchInfo_Test_Support).GetMethod("ThrowMe"));
+
+                       ig.BeginCatchBlock(typeof(Exception));
+                       ig.Emit(OpCodes.Call, typeof(ExceptionHandlingWithExceptionDispatchInfo_Test_Support).GetMethod("Handler"));
+                       ig.EndExceptionBlock();
+
+                       ig.Emit(OpCodes.Ret);
+
+                       var invoke = (Action<int>) method.CreateDelegate (typeof(Action<int>));
+                       invoke (444);
+               }
+
 #if !MONODROID
                // RUNTIME: crash
                [Test]
index 576b7380707efa5f84e1d5a0cbf06495c71822c7..4d8f1bf0ddace880834887a756e0b5f4aea2b91a 100644 (file)
@@ -1807,6 +1807,28 @@ public class AssemblyNameTest {
                }
        }
 
+       [Test] // ctor (String)
+       public void Constructor1_Quoted ()
+       {
+               AssemblyName an;
+
+               an = new AssemblyName ("'System', Version=\"10.0.0.0\", Culture='Neutral', PublicKeyToken='b67a5c561934e089', Retargetable='Yes', ProcessorArchitecture='AMD64'");
+               Assert.AreEqual ("System, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b67a5c561934e089, Retargetable=Yes", an.ToString ());
+               Assert.AreEqual (ProcessorArchitecture.Amd64, an.ProcessorArchitecture, "Amd64");
+       }
+
+       [Test] // ctor (String)
+       public void Constructor1_Quoted_Invalid ()
+       {
+               AssemblyName an;
+
+               try {
+                       an = new AssemblyName ("System, Version=\"10.0.0.0'");
+                       Assert.Fail ("#1");
+               } catch (FileLoadException) {
+               }
+       }
+
        [Test (Description="Xamarin bug #99 - whitespaces in key=value")]
        public void WhiteSpaceInKeyValue ()
        {
index 5a1223795b5bf382c0dbabfe8d13d003522e6466..cf4ed9a7eaa2011fe8e93e9409669f9670314a51 100644 (file)
@@ -140,5 +140,14 @@ namespace MonoTests.System.Reflection
                        var ctor = typeof (Gen<>).GetConstructor (Type.EmptyTypes);
                        Assert.IsTrue (ctor.ContainsGenericParameters);
                }
+
+               [Test]
+               public void ConstructorInfoModule ()
+               {
+                       Type type = typeof (Foo);
+                       ConstructorInfo co = type.GetConstructors ()[0];
+
+                       Assert.AreEqual (type.Module, co.Module);
+               }
        }
 }
index 8147e9fe839aebe39d35a3f9004b869c4a2e21a9..311bf0f56a760fa14ac02c97ff349f39eba94fc6 100644 (file)
@@ -114,6 +114,15 @@ namespace MonoTests.System.Reflection
                        } catch (InvalidOperationException) {}                  
                }
 
+               [Test]
+               public void EventInfoModule ()
+               {
+                       Type type = typeof (TestClass);
+                       EventInfo ev = type.GetEvent ("pub");
+
+                       Assert.AreEqual (type.Module, ev.Module);
+               }
+
 #pragma warning disable 67
                public class PrivateEvent
                {
index 33c6fea356002d36fd7aa17208f76213e7aa3fed..3c6e3da2ffb6f74955c01a9e2cca04d2fdeaf55b 100644 (file)
@@ -361,14 +361,20 @@ namespace MonoTests.System.Reflection
 
                        IList<LocalVariableInfo> locals = mb.LocalVariables;
 
-                       // This might break with different compilers etc.
-                       Assert.AreEqual (2, locals.Count, "#3");
-
-                       Assert.IsTrue ((locals [0].LocalType == typeof (byte[])) || (locals [1].LocalType == typeof (byte[])), "#4");
-                       if (locals [0].LocalType == typeof (byte[]))
-                               Assert.AreEqual (false, locals [0].IsPinned, "#5");
-                       else
-                               Assert.AreEqual (false, locals [1].IsPinned, "#6");
+                       bool foundPinnedBytePointer = false;
+                       unsafe {
+                               foreach (LocalVariableInfo lvi in locals) {
+                                       if (lvi.LocalType == typeof (byte[]))
+                                               // This is optimized out by CSC in .NET 4.6
+                                               Assert.IsFalse (lvi.IsPinned, "#3-1");
+
+                                       if (/* mcs */ lvi.LocalType == typeof (byte*) || /* csc */ lvi.LocalType == typeof (byte).MakeByRefType ()) {
+                                               foundPinnedBytePointer = true;
+                                               Assert.IsTrue (lvi.IsPinned, "#3-2");
+                                       }
+                               }
+                       }
+                       Assert.IsTrue (foundPinnedBytePointer, "#4");
                }
 
                public int return_parameter_test ()
@@ -400,6 +406,15 @@ namespace MonoTests.System.Reflection
                        //Assert.IsTrue (pi.IsRetval, "#3");
                }
 
+               [Test]
+               public void MethodInfoModule ()
+               {
+                       Type type = typeof (MethodInfoTest);
+                       MethodInfo me = type.GetMethod ("return_parameter_test");
+
+                       Assert.AreEqual (type.Module, me.Module);
+               }
+
                [Test]
                        public void InvokeOnRefOnlyAssembly ()
                {
@@ -793,21 +808,44 @@ namespace MonoTests.System.Reflection
                        var type = typeof (GenericClass<>).GetMethod("Method").GetMethodBody().LocalVariables[0].LocalType;
                        Assert.AreEqual (typeofT, type);
                        Assert.AreEqual (typeof (GenericClass<>), type.DeclaringType);
+               
+                       bool foundTypeOfK = false;
+                       bool foundExpectedType = false;
+           
+                       MethodBody mb = typeof (GenericClass<>).GetMethod("Method2").GetMethodBody();
+                       foreach (LocalVariableInfo lvi in mb.LocalVariables) {
+                               if (lvi.LocalType == typeofK) {
+                                       foundTypeOfK = true;
+                                       Assert.AreEqual (typeof (GenericClass<>), lvi.LocalType.DeclaringType, "#1-1");
+                               } else if (lvi.LocalType == typeofT) {
+                                       foundExpectedType = true;
+                                       Assert.AreEqual (typeof (GenericClass<>), lvi.LocalType.DeclaringType, "#1-2");
+                               }
+                       }
 
-                       type = typeof (GenericClass<>).GetMethod("Method2").GetMethodBody().LocalVariables[0].LocalType;
-                       Assert.AreEqual (typeofT, type);
-                       Assert.AreEqual (typeof (GenericClass<>), type.DeclaringType);
-
-                       type = typeof (GenericClass<>).GetMethod("Method2").GetMethodBody().LocalVariables[1].LocalType;
-                       Assert.AreEqual (typeofK, type);
-                       Assert.AreEqual (typeof (GenericClass<>), type.DeclaringType);
-
-                       type = typeof (GenericClass<int>).GetMethod("Method2").GetMethodBody().LocalVariables[0].LocalType;
-                       Assert.AreEqual (typeof (int), type);
-
-                       type = typeof (GenericClass<int>).GetMethod("Method2").GetMethodBody().LocalVariables[1].LocalType;
-                       Assert.AreEqual (typeofK, type);
-                       Assert.AreEqual (typeof (GenericClass<>), type.DeclaringType);
+                       Assert.IsTrue (foundTypeOfK, "#1-3");
+                       if (mb.LocalVariables.Count < 2)
+                               Assert.Ignore ("Code built in release mode - 'T var0' optmized out");
+                       else
+                               Assert.IsTrue (foundExpectedType, "#1-4");
+           
+                       foundTypeOfK = false;
+                       foundExpectedType = false;
+                       mb = typeof (GenericClass<int>).GetMethod("Method2").GetMethodBody();
+                       foreach (LocalVariableInfo lvi in mb.LocalVariables) {
+                               if (lvi.LocalType == typeofK) {
+                                       foundTypeOfK = true;
+                                       Assert.AreEqual (typeof (GenericClass<>), lvi.LocalType.DeclaringType, "#2-1");
+                               } else if (lvi.LocalType == typeof (int)) {
+                                       foundExpectedType = true;
+                               }
+                       }
+           
+                       Assert.IsTrue (foundTypeOfK, "#2-3");
+                       if (mb.LocalVariables.Count < 2)
+                               Assert.Ignore ("Code built in release mode - 'int var0' optmized out");
+                       else
+                               Assert.IsTrue (foundExpectedType, "#2-4");
                }
 #endif
        }
index 49af23097c821009566f39ac66b60b723b58fe1a..dd38e16b7e52e7588d05cdbb637b9ae47da88b5b 100644 (file)
@@ -48,6 +48,7 @@ namespace MonoTests.System.Reflection
                {
                        Type type = typeof (TestClass);
                        PropertyInfo property = type.GetProperty ("ReadOnlyProperty");
+                       Assert.IsNotNull (property.Module, "#0");
 
                        MethodInfo [] methods = property.GetAccessors (true);
                        Assert.AreEqual (1, methods.Length, "#A1");
@@ -497,8 +498,20 @@ namespace MonoTests.System.Reflection
                        Assert.AreEqual (typeof (ClassWithNullableDateTime), siblingProperty.DeclaringType, "#3");
                        Assert.AreEqual (typeof (InheritsFromClassWithNullableDateTime), siblingProperty.ReflectedType, "#4");
                }
-               
-       
+
+               class Super { public long A { get; private set; } }
+
+               class Sub : Super { }
+
+               [Test]
+               public void PrivateSetterFromDerivedType ()
+               {
+                       var prop = typeof (Sub).GetProperty ("A");
+                       Assert.AreEqual (1, prop.GetAccessors (true).Length, "#1");
+                       Assert.IsFalse (prop.CanWrite, "#2");
+                       Assert.IsNull (prop.GetSetMethod (true), "#3");
+               }
+
                public class ClassWithNullableDateTime
                {
                        public DateTime? Property1 { get; set; }
index bef832b90c424aabe9d76f11943edbe7947d6671..9c566b4bafcc7111e311a308657b7f7c0922191c 100644 (file)
@@ -30,6 +30,7 @@ using System;
 using NUnit.Framework;
 using System.Runtime.ExceptionServices;
 using System.Threading.Tasks;
+using System.Diagnostics;
 
 namespace MonoTests.System.Runtime.ExceptionServices
 {
@@ -150,7 +151,25 @@ namespace MonoTests.System.Runtime.ExceptionServices
                                Assert.IsTrue (split [1].Contains ("---"), "#2");
                                Assert.IsTrue (split [4].Contains ("---"), "#3");
                        }
-               }               
+               }
+
+               [Test]
+               public void StackTraceUserCopy ()
+               {
+                       try {
+                               try {
+                                       throw new NotImplementedException ();
+                               } catch (Exception e) {
+                                       var edi = ExceptionDispatchInfo.Capture (e);
+                                       edi.Throw();
+                               }
+                       } catch (Exception ex) {
+                               var st = new StackTrace (ex, true);
+                               var split = st.ToString ().Split (new[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries);
+                               Assert.AreEqual (4, split.Length, "#1");
+                               Assert.IsTrue (split [1].Contains ("---"), "#2");
+                       }
+               }
        }
 }
 
index bcde74394a9fa374b6b619edbd834d29e208e17b..7708e84a39d1be8755091be53ecea8fd79861b3d 100644 (file)
@@ -32,7 +32,6 @@ using System;
 using System.Threading;
 using NUnit.Framework;
 using System.Threading.Tasks;
-using MonoTests.System.Threading.Tasks;
 
 namespace MonoTests.System.Threading
 {
@@ -446,10 +445,11 @@ namespace MonoTests.System.Threading
                        Assert.IsTrue (canceled, "#3");
                }
 
+               [Category ("NotWorking")] // why would linked token be imune to ObjectDisposedException on Cancel?
                [Test]
                public void ConcurrentCancelLinkedTokenSourceWhileDisposing ()
                {
-                       ParallelTestHelper.Repeat (delegate {
+                       for (int i = 0, total = 500; i < total; ++i) {
                                var src = new CancellationTokenSource ();
                                var linked = CancellationTokenSource.CreateLinkedTokenSource (src.Token);
                                var cntd = new CountdownEvent (2);
@@ -469,20 +469,19 @@ namespace MonoTests.System.Threading
                                t2.Start ();
                                t1.Join (500);
                                t2.Join (500);
-                       }, 500);
+                       }
                }
 
 #if NET_4_5
                [Test]
                public void DisposeRace ()
                {
-                       for (int i = 0; i < 1000; ++i) {
+                       for (int i = 0, total = 1000; i < total; ++i) {
                                var c1 = new CancellationTokenSource ();
-                               using (c1) {
-                                       var wh = c1.Token.WaitHandle;
-                                       c1.CancelAfter (1);
-                                       Thread.Sleep (1);
-                               }
+                               var wh = c1.Token.WaitHandle;
+                               c1.CancelAfter (1);
+                               Thread.Sleep (1);
+                               c1.Dispose ();
                        }
                }
 #endif
index 9bfc1c131eaa41121183797895077b5a4f308e8f..53921d2e13f30f80360c47ddd904bd3b26d20f8b 100644 (file)
@@ -800,15 +800,17 @@ namespace MonoTests.System.Threading
                [Test]
                public void Test_Interrupt ()
                {
+                       ManualResetEvent mre = new ManualResetEvent (false);
                        bool interruptedExceptionThrown = false;
+
                        ThreadPool.QueueUserWorkItem (Test_Interrupt_Worker, Thread.CurrentThread);
 
                        try {
                                try {
-                                       Thread.Sleep (3000);
+                                       mre.WaitOne (3000);
                                } finally {
                                        try {
-                                               Thread.Sleep (0);
+                                               mre.WaitOne (0);
                                        } catch (ThreadInterruptedException) {
                                                Assert.Fail ("ThreadInterruptedException thrown twice");
                                        }
@@ -838,11 +840,12 @@ namespace MonoTests.System.Threading
                [Category ("NotDotNet")] // it crashes nunit.
                public void Test_InterruptCurrentThread ()
                {
+                       ManualResetEvent mre = new ManualResetEvent (false);
                        bool interruptedExceptionThrown = false;
 
                        Thread.CurrentThread.Interrupt ();
                        try {
-                               Thread.Sleep (0);
+                               mre.WaitOne (0);
                                Assert.Fail ();
                        } catch (ThreadInterruptedException) {
                        }
index 5a45d64493050b13161728a1daeeae89d3b3de51..e318d62052e98ef1bdc53e5a364e4023948bd29e 100644 (file)
@@ -232,6 +232,7 @@ namespace MonoTests.System
                
                [Test]
                [ExpectedException (typeof (ArgumentOutOfRangeException))]
+               [Category("MobileNotWorking")]
                public void AddHoursOutOfRangeException1 ()
                {
                        DateTime t1 = new DateTime (myTicks [1]);
@@ -240,6 +241,7 @@ namespace MonoTests.System
 
                [Test]
                [ExpectedException (typeof (ArgumentOutOfRangeException))]
+               [Category("MobileNotWorking")]
                public void AddHoursOutOfRangeException2 ()
                {
                        DateTime t1 = new DateTime (myTicks [1]);
index 355b3960b01c10e864abe021e2e19faa9d2d5c77..537604ec2b73a8ea6bd62446e47732f0f48d8b20 100644 (file)
@@ -405,7 +405,7 @@ namespace MonoTests.System
                public void TestIEEERemainder ()
                {
                        double a = Math.IEEERemainder (y, x);
-                       double b = 0.0050000000000007816;
+                       double b = 0.0050000000000010592;
 
                        Assert.IsTrue ((Math.Abs (a - b) <= double_epsilon), a.ToString ("G99")
                                + " != " + b.ToString ("G99"));
@@ -456,7 +456,8 @@ namespace MonoTests.System
                        // MS docs say this should be PositiveInfinity
                        Assert.IsTrue (Math.Log (0, y) == double.NegativeInfinity);
                        Assert.IsTrue (Math.Log (double.PositiveInfinity, y) == double.PositiveInfinity);
-                       Assert.IsTrue (Math.Log (x, double.PositiveInfinity) == 0);
+
+                       Assert.IsTrue (Double.IsNaN (Math.Log (x, double.PositiveInfinity)));
                }
 
                [Test]
@@ -488,82 +489,109 @@ namespace MonoTests.System
                        //
                        // when using double_epsilon. Precision differs between different ARM CPUs, so we
                        // will just use a more conservative value
-                       precision = 0.000001;
+                       precision = double_epsilon * 10;
 #else
                        precision = double_epsilon;
 #endif
-                       try {
-                               double a = Math.Pow (y, x);
-                               double b = 1.363609446060212;
-
-                               Assert.IsTrue ((Math.Abs (a - b) <= precision), a.ToString ("G99") + " != " + b.ToString ("G99"));
-                               iTest++;
-                               Assert.IsTrue (double.IsNaN (Math.Pow (y, double.NaN)));
-                               iTest++;
-                               Assert.IsTrue (double.IsNaN (Math.Pow (double.NaN, x)));
-                               iTest++;
-                               Assert.IsTrue (double.IsNegativeInfinity (Math.Pow (double.NegativeInfinity, 1)),
-                                       "Math.Pow(double.NegativeInfinity, 1) should be NegativeInfinity");
-                               iTest++;
-                               Assert.IsTrue (double.IsPositiveInfinity (Math.Pow (double.NegativeInfinity, 2)),
-                                       "Math.Pow(double.NegativeInfinity, 2) should be PositiveInfinity");
 
-                               // MS docs say this should be 0
-                               iTest++;
-                               Assert.IsTrue (double.IsNaN (Math.Pow (1, double.NegativeInfinity)));
-                               iTest++;
-                               Assert.AreEqual ((double) 0, Math.Pow (double.PositiveInfinity, double.NegativeInfinity),
-                                       "Math.Pow(double.PositiveInfinity, double.NegativeInfinity)");
-                               iTest++;
-                               Assert.IsTrue (double.IsPositiveInfinity (Math.Pow (double.PositiveInfinity, 1)),
-                                       "Math.Pow(double.PositiveInfinity, 1) should be PositiveInfinity");
-
-                               // MS docs say this should be PositiveInfinity
-                               iTest++;
-                               Assert.IsTrue (double.IsNaN (Math.Pow (1, double.PositiveInfinity)),
-                                       "Math.Pow(1, double.PositiveInfinity) should be NaN");
-
-                               iTest++;
-                               Assert.IsTrue (Double.IsNaN (Math.Pow (1, Double.NaN)),
-                                       "Math.Pow(1, NaN) should be NaN");
-                               iTest++;
-                               Assert.IsTrue (Double.IsNaN (Math.Pow (Double.NaN, 0)),
-                                       "Math.Pow(NaN, 0) should be NaN");
-                               iTest++;
-                               Assert.IsTrue (1.0 == Math.Pow (-1, Double.MaxValue),
-                                       "Math.Pow(-1, MaxValue) should be 1.0");
-
-                               iTest++;
-                               Assert.IsTrue (1.0 == Math.Pow (-1, Double.MinValue),
-                                       "Math.Pow(-1, MinValue) should be 1.0");
-
-                               iTest++;
-                               Assert.IsTrue (Double.IsPositiveInfinity (Math.Pow (Double.MinValue,
-                                       Double.MaxValue)), "Math.Pow(MinValue, MaxValue) should be +Infinity");
-
-                               iTest++;
-                               Assert.IsTrue (0.0 == Math.Pow (Double.MinValue, Double.MinValue),
-                                       "Math.Pow(MinValue, MinValue) should be 0.0");
-
-                               //
-                               // The following bugs were present because we tried to outsmart the C Pow:
-                               //
-                               double infinity = Double.PositiveInfinity;
-                               Assert.IsTrue (Math.Pow (0.5, infinity) == 0.0,
-                                       "Math.Pow(0.5, Infinity) == 0.0");
-                               Assert.IsTrue (Math.Pow (0.5, -infinity) == infinity,
-                                       "Math.Pow(0.5, -Infinity) == Infinity");
-                               Assert.IsTrue (Math.Pow (2, infinity) == infinity,
-                                       "Math.Pow(2, Infinity) == Infinity");
-                               Assert.IsTrue (Math.Pow (2, -infinity) == 0.0,
-                                       "Math.Pow(2, -Infinity) == 0");
-                               Assert.IsTrue (Math.Pow (infinity, 0) == 1.0,
-                                       "Math.Pow(Infinity, 0) == 1.0");
-                               Assert.IsTrue (Math.Pow (-infinity, 0) == 1.0,
-                                       "Math.Pow(-Infinity, 0) == 1.0");
-                       } catch (Exception e) {
-                               Assert.Fail ("Unexpected exception at iTest=" + iTest + ". e=" + e);
-                       }
+                       /* documentation cases : https://msdn.microsoft.com/en-us/library/system.math.pow%28v=vs.110%29.aspx */
+
+                       /* x or y = NaN -> NaN */
+                       Assert.IsTrue (double.IsNaN (Math.Pow (             double.NaN,              double.NaN)), "#1");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (             double.NaN, double.NegativeInfinity)), "#2");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (             double.NaN,                      -2)), "#2");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (             double.NaN,                      -1)), "#3");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (             double.NaN,                       0)), "#4");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (             double.NaN,                       1)), "#5");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (             double.NaN,                       2)), "#6");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (             double.NaN, double.PositiveInfinity)), "#7");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (double.NegativeInfinity,              double.NaN)), "#8");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (                     -2,              double.NaN)), "#9");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (                     -1,              double.NaN)), "#10");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (                      0,              double.NaN)), "#11");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (                      1,              double.NaN)), "#12");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (                      2,              double.NaN)), "#13");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (double.PositiveInfinity,              double.NaN)), "#14");
+
+                       /* x = Any value except NaN; y = 0 -> 1 */
+                       Assert.AreEqual ((double) 1, Math.Pow (2, 0), "#15");
+
+                       /* x = NegativeInfinity; y < 0 -> 0 */
+                       Assert.AreEqual ((double) 0, Math.Pow (double.NegativeInfinity, -2), "#16");
+
+                       /* x = NegativeInfinity; y is a positive odd integer -> NegativeInfinity */
+                       Assert.AreEqual (double.NegativeInfinity, Math.Pow (double.NegativeInfinity, 3), "#17");
+
+                       /* x = NegativeInfinity; y is positive but not an odd integer -> PositiveInfinity */
+                       Assert.AreEqual (double.PositiveInfinity, Math.Pow (double.NegativeInfinity, 2), "#18");
+
+                       /* x < 0 but not NegativeInfinity; y is not an integer, NegativeInfinity, or PositiveInfinity -> NaN */
+                       Assert.IsTrue (double.IsNaN (Math.Pow (-1, 2.5)), "#19");
+
+                       /* x = -1; y = NegativeInfinity or PositiveInfinity -> NaN */
+                       Assert.IsTrue (double.IsNaN (Math.Pow (-1, double.PositiveInfinity)), "#20");
+                       Assert.IsTrue (double.IsNaN (Math.Pow (-1, double.NegativeInfinity)), "#21");
+
+                       /* -1 < x < 1; y = NegativeInfinity -> PositiveInfinity */
+                       Assert.AreEqual (double.PositiveInfinity, Math.Pow (-0.5, double.NegativeInfinity), "#22");
+                       Assert.AreEqual (double.PositiveInfinity, Math.Pow (+0.5, double.NegativeInfinity), "#23");
+
+                       /* -1 < x < 1; y = PositiveInfinity -> 0 */
+                       Assert.AreEqual ((double) 0, Math.Pow (-0.5, double.PositiveInfinity), "#24");
+                       Assert.AreEqual ((double) 0, Math.Pow (+0.5, double.PositiveInfinity), "#25");
+
+                       /* x < -1 or x > 1; y = NegativeInfinity -> 0 */
+                       Assert.AreEqual ((double) 0, Math.Pow (-2, double.NegativeInfinity), "#26");
+                       Assert.AreEqual ((double) 0, Math.Pow (+2, double.NegativeInfinity), "#27");
+
+                       /* x < -1 or x > 1; y = PositiveInfinity -> PositiveInfinity */
+                       Assert.AreEqual (double.PositiveInfinity, Math.Pow (-2, double.PositiveInfinity), "#28");
+                       Assert.AreEqual (double.PositiveInfinity, Math.Pow (+2, double.PositiveInfinity), "#29");
+
+                       /* x = 0; y < 0 -> PositiveInfinity */
+                       Assert.AreEqual (double.PositiveInfinity, Math.Pow (0, -2), "#30");
+
+                       /* x = 0; y > 0 -> PositiveInfinity */
+                       Assert.AreEqual ((double) 0, Math.Pow (0, +2), "#31");
+
+                       /* x = 1; y is any value except NaN -> 1 */
+                       Assert.AreEqual ((double) 1, Math.Pow (1, double.NegativeInfinity), "#32");
+                       Assert.AreEqual ((double) 1, Math.Pow (1,                      -2), "#33");
+                       Assert.AreEqual ((double) 1, Math.Pow (1,                       0), "#34");
+                       Assert.AreEqual ((double) 1, Math.Pow (1,                      +2), "#35");
+                       Assert.AreEqual ((double) 1, Math.Pow (1, double.PositiveInfinity), "#36");
+
+                       /* x = PositiveInfinity; y < 0 -> 0 */
+                       Assert.AreEqual ((double) 0, Math.Pow (double.PositiveInfinity, -1), "#37");
+                       Assert.AreEqual ((double) 0, Math.Pow (double.PositiveInfinity, -2), "#38");
+
+                       /* x = PositiveInfinity; y > 0 -> PositiveInfinity */
+                       Assert.AreEqual (double.PositiveInfinity, Math.Pow (double.PositiveInfinity, 1), "#39");
+                       Assert.AreEqual (double.PositiveInfinity, Math.Pow (double.PositiveInfinity, 2), "#40");
+
+                       /* other cases */
+
+                       double a = Math.Pow (y, x);
+                       double b = 1.363609446060212;
+
+                       Assert.IsTrue (Math.Abs (a - b) <= precision, "#41 " + a.ToString ("G99") + " != " + b.ToString ("G99") + " +/- " + precision.ToString ("G99"));
+                       Assert.AreEqual (double.NegativeInfinity, Math.Pow (double.NegativeInfinity, 1), "#42");
+                       Assert.AreEqual (double.PositiveInfinity, Math.Pow (double.NegativeInfinity, 2), "#43");
+
+                       Assert.AreEqual (Math.Pow (double.PositiveInfinity, double.NegativeInfinity), (double) 0, "#44");
+
+                       Assert.AreEqual ((double) 1, Math.Pow (-1, Double.MaxValue), "#45");
+                       Assert.AreEqual ((double) 1, Math.Pow (-1, Double.MinValue), "#46");
+                       Assert.AreEqual ((double) 0, Math.Pow (Double.MinValue, Double.MinValue), "#47");
+                       Assert.AreEqual (double.PositiveInfinity, Math.Pow (Double.MinValue, Double.MaxValue), "#48");
+
+                       double infinity = double.PositiveInfinity;
+                       Assert.AreEqual ((double) 0, Math.Pow (      0.5,  infinity), "#49");
+                       Assert.AreEqual (  infinity, Math.Pow (      0.5, -infinity), "#50");
+                       Assert.AreEqual (  infinity, Math.Pow (        2,  infinity), "#51");
+                       Assert.AreEqual ((double) 0, Math.Pow (        2, -infinity), "#52");
+                       Assert.AreEqual ((double) 1, Math.Pow ( infinity,         0), "#53");
+                       Assert.AreEqual ((double) 1, Math.Pow (-infinity,         0), "#54");
                }
 
                [Test]
index 003cea8ddfe9d5348b3e2a36ebf1f543b3f6c2dc..770ab17dffc7e0907e6c4ebd770fb4bf1f0b87bd 100644 (file)
@@ -28,6 +28,7 @@
 
 using System;
 using System.IO;
+using System.Runtime.InteropServices;
 using System.Runtime.Serialization.Formatters.Binary;
 using System.Collections;
 using System.Reflection;
@@ -38,6 +39,31 @@ namespace MonoTests.System
 {
        public class TimeZoneInfoTest
        {
+               static FieldInfo localField;
+               static FieldInfo cachedDataField;
+               static object localFieldObj;
+
+               public static void SetLocal (TimeZoneInfo val)
+               {
+                       if (localField == null) {
+                               if (Type.GetType ("Mono.Runtime") != null) {
+                                       localField = typeof (TimeZoneInfo).GetField ("local",
+                                                       BindingFlags.Static | BindingFlags.GetField | BindingFlags.NonPublic);
+                               } else {
+                                       cachedDataField = typeof (TimeZoneInfo).GetField ("s_cachedData",
+                                                       BindingFlags.Static | BindingFlags.GetField | BindingFlags.NonPublic);
+
+                                       localField = cachedDataField.FieldType.GetField ("m_localTimeZone",
+                                               BindingFlags.Instance | BindingFlags.GetField | BindingFlags.NonPublic);
+                               }
+                       }
+
+                       if (cachedDataField != null)
+                               localFieldObj = cachedDataField.GetValue (null);
+
+                       localField.SetValue (localFieldObj, val);
+               }
+
                [TestFixture]
                public class PropertiesTests
                {
@@ -50,6 +76,26 @@ namespace MonoTests.System
                                Assert.IsNotNull (local);
                                Assert.IsTrue (true);
                        }
+
+                       [DllImport ("libc")]
+                       private static extern int readlink (string path, byte[] buffer, int buflen);
+
+                       [Test] // Covers #24958
+                       public void LocalId ()
+                       {
+                               byte[] buf = new byte [512];
+
+                               var path = "/etc/localtime";
+                               try {
+                                       var ret = readlink (path, buf, buf.Length);
+                                       if (ret == -1)
+                                               return; // path is not a symbolic link, nothing to test
+                               } catch (DllNotFoundException e) {
+                                       return;
+                               }
+
+                               Assert.IsTrue (TimeZoneInfo.Local.Id != "Local", "Local timezone id should not be \"Local\"");
+                       }
                }
 
                [TestFixture]
@@ -313,6 +359,27 @@ namespace MonoTests.System
                        }
                }
                
+               [TestFixture]
+               public class ConvertTimeTests_LocalUtc : ConvertTimeTests
+               {
+                       static TimeZoneInfo oldLocal;
+
+                       [SetUp]
+                       public void SetLocal ()
+                       {
+                               base.CreateTimeZones ();
+
+                               oldLocal = TimeZoneInfo.Local;
+                               TimeZoneInfoTest.SetLocal (TimeZoneInfo.Utc);
+                       }
+
+                       [TearDown]
+                       public void RestoreLocal ()
+                       {
+                               TimeZoneInfoTest.SetLocal (oldLocal);
+                       }
+               }
+
                [TestFixture]
                public class ConvertTimeTests
                {
@@ -445,16 +512,29 @@ namespace MonoTests.System
                                Assert.AreEqual (res.Kind, DateTimeKind.Utc, "#2");
                        }
 
+                       [Test]
+                       public void ConvertFromToUtc_Utc ()
+                       {
+                               DateTime utc = DateTime.UtcNow;
+                               Assert.AreEqual (utc.Kind, DateTimeKind.Utc);
+                               DateTime converted = TimeZoneInfo.ConvertTimeFromUtc (utc, TimeZoneInfo.Utc);
+                               Assert.AreEqual (DateTimeKind.Utc, converted.Kind);
+                               DateTime back = TimeZoneInfo.ConvertTimeToUtc (converted, TimeZoneInfo.Utc);
+                               Assert.AreEqual (back.Kind, DateTimeKind.Utc);
+                               Assert.AreEqual (utc, back);
+                       }
+
                        [Test]
                        public void ConvertFromToLocal ()
                        {
                                DateTime utc = DateTime.UtcNow;
-                               Assert.AreEqual(utc.Kind, DateTimeKind.Utc);
-                               DateTime converted = TimeZoneInfo.ConvertTimeFromUtc(utc, TimeZoneInfo.Local);
-                               Assert.AreEqual(DateTimeKind.Local, converted.Kind);
-                               DateTime back = TimeZoneInfo.ConvertTimeToUtc(converted, TimeZoneInfo.Local);
-                               Assert.AreEqual(back.Kind, DateTimeKind.Utc);
-                               Assert.AreEqual(utc, back);
+                               Assert.AreEqual (utc.Kind, DateTimeKind.Utc);
+                               DateTime converted = TimeZoneInfo.ConvertTimeFromUtc (utc, TimeZoneInfo.Local);
+                               var expectedKind = (TimeZoneInfo.Local == TimeZoneInfo.Utc)? DateTimeKind.Utc : DateTimeKind.Local;
+                               Assert.AreEqual (expectedKind, converted.Kind);
+                               DateTime back = TimeZoneInfo.ConvertTimeToUtc (converted, TimeZoneInfo.Local);
+                               Assert.AreEqual (back.Kind, DateTimeKind.Utc);
+                               Assert.AreEqual (utc, back);
                        }
 
                        [Test]
@@ -488,8 +568,9 @@ namespace MonoTests.System
 
                                sdt = new DateTime (2014, 1, 9, 23, 0, 0);
                                ddt = TimeZoneInfo.ConvertTime (sdt, TimeZoneInfo.Local);
-                               Assert.AreEqual (ddt.Kind, sdt.Kind, "#3.1");
-                               Assert.AreEqual (ddt.Kind, DateTimeKind.Unspecified, "#3.2");
+                               var expectedKind = (TimeZoneInfo.Local == TimeZoneInfo.Utc)? DateTimeKind.Utc : sdt.Kind;
+                               Assert.AreEqual (expectedKind,  ddt.Kind, "#3.1");
+                               Assert.AreEqual (DateTimeKind.Unspecified, sdt.Kind, "#3.2");
                        }
 
                        [Test]
@@ -690,6 +771,15 @@ namespace MonoTests.System
                                }
                                Assert.Fail ("Europe/Brussels not found in SystemTZ");
                        }
+
+                       [Test]
+                       public void ReflectionReturnsTheCorrectMethod ()
+                       {
+                               var method = (MethodInfo) typeof (TimeZoneInfo).GetMember ("GetSystemTimeZones", MemberTypes.Method, BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)[0];
+
+                               var timeZones = (global::System.Collections.ObjectModel.ReadOnlyCollection<TimeZoneInfo>) method.Invoke (null, null);
+                               Assert.IsTrue (timeZones.Count > 0, "GetSystemTimeZones should not return an empty collection.");
+                       }
                }
                
                [TestFixture]
@@ -1058,6 +1148,19 @@ namespace MonoTests.System
                                Assert.AreEqual (new DateTime (2014, 10, 5, 2, 0, 0), changes.Start);
                                Assert.AreEqual (new DateTime (2014, 4, 6, 3, 0, 0), changes.End);
                        }
+
+                       [Test]
+                       public void AllTimeZonesDaylightChanges ()
+                       {
+                               foreach (var tz in TimeZoneInfo.GetSystemTimeZones ()) {
+                                       try {
+                                               for (var year = 1950; year <= 2051; year++)
+                                                       getChanges.Invoke (tz, new object [] {year} );
+                                       } catch (Exception e) {
+                                               Assert.Fail ("TimeZone " + tz.Id + " exception: " + e.ToString ()); 
+                                       }
+                               }
+                       }
                }
        }
 }
diff --git a/mcs/class/corlib/corlib-net_4_x.csproj b/mcs/class/corlib/corlib-net_4_x.csproj
new file mode 100644 (file)
index 0000000..74b5445
--- /dev/null
@@ -0,0 +1,1651 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>612,618,1635,1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mscorlib</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;FEATURE_REMOTING;MONO_COM;FEATURE_COMINTEROP;FEATURE_ROLE_BASED_SECURITY;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;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;FEATURE_REMOTING;MONO_COM;FEATURE_COMINTEROP;FEATURE_ROLE_BASED_SECURITY</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;FEATURE_REMOTING;MONO_COM;FEATURE_COMINTEROP;FEATURE_ROLE_BASED_SECURITY;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;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;FEATURE_REMOTING;MONO_COM;FEATURE_COMINTEROP;FEATURE_ROLE_BASED_SECURITY</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\\system\runtime\reliability\criticalfinalizerobject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\\system\runtime\reliability\prepreparemethodattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\\system\runtime\reliability\reliabilitycontractattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\microsoft\win32\safehandles\safefilehandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\microsoft\win32\safehandles\saferegistryhandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\microsoft\win32\safehandles\safewaithandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\microsoft\win32\safehandles\win32safehandles.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\__filters.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\__hresults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\_localdatastore.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\_localdatastoremgr.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\accessviolationexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\action.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\activator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\AggregateException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\appdomainattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\appdomainunloadedexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\applicationexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\applicationid.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\argumentexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\argumentnullexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\argumentoutofrangeexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\arithmeticexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\arraysegment.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\arraytypemismatchexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\asynccallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\attribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\attributetargets.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\attributeusageattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\badimageformatexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\bitconverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\boolean.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\buffer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\byte.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\cannotunloadappdomainexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\char.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\charenumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\clscompliantattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\arraylist.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\bitarray.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\caseinsensitivecomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\caseinsensitivehashcodeprovider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\collectionbase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\comparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\compatiblecomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\Concurrent\ConcurrentDictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\Concurrent\ConcurrentQueue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\Concurrent\ConcurrentStack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\Concurrent\IProducerConsumerCollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\Concurrent\OrderablePartitioner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\Concurrent\Partitioner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\Concurrent\PartitionerStatic.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\dictionarybase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\dictionaryentry.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\emptyreadonlydictionaryinternal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\comparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\debugview.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\dictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\equalitycomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\icollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\icomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\idictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\ienumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\ienumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\iequalitycomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\ilist.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\ireadonlycollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\ireadonlydictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\ireadonlylist.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\keynotfoundexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\keyvaluepair.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\generic\list.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\hashtable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\icollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\icomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\idictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\idictionaryenumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\ienumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\ienumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\iequalitycomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\ihashcodeprovider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\ilist.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\istructuralcomparable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\istructuralequatable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\keyvaluepairs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\listdictionaryinternal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\objectmodel\collection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\objectmodel\keyedcollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\objectmodel\readonlycollection.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\objectmodel\readonlydictionary.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\queue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\readonlycollectionbase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\sortedlist.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\stack.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\collections\structuralcomparisons.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\consolecanceleventargs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\consolecolor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\consolekey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\consolekeyinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\consolemodifiers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\consolespecialkey.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\contextboundobject.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\contextmarshalexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\contextstaticattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\convert.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\datamisalignedexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\datetime.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\datetimekind.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\datetimeoffset.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\dayofweek.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\dbnull.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\decimal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\defaultbinder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\diagnostics\assert.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\diagnostics\assertfilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\diagnostics\assertfilters.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\diagnostics\codeanalysis\suppressmessageattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\diagnostics\conditionalattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\diagnostics\contracts\contracts.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\diagnostics\contracts\contractsbcl.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\diagnostics\debuggerattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\dividebyzeroexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\dllnotfoundexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\double.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\duplicatewaitobjectexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\empty.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\entrypointnotfoundexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\enum.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\eventargs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\eventhandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\executionengineexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\fieldaccessexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\flagsattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\formatexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\bidicategory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\calendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\calendaralgorithmtype.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\calendardata.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\calendarweekrule.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\charunicodeinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\chineselunisolarcalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\compareinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\culturenotfoundexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\culturetypes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\datetimeformat.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\datetimeformatinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\datetimeformatinfoscanner.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\datetimeparse.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\datetimestyles.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\daylighttime.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\digitshapes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\eastasianlunisolarcalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\globalizationassembly.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\gregoriancalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\gregoriancalendarhelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\gregoriancalendartypes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\hebrewcalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\hebrewnumber.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\hijricalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\japanesecalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\japaneselunisolarcalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\juliancalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\koreancalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\koreanlunisolarcalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\numberformatinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\numberstyles.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\Persiancalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\sortversion.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\stringinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\taiwancalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\taiwanlunisolarcalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\textelementenumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\textinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\thaibuddhistcalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\timespanformat.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\timespanparse.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\umalquracalendar.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\globalization\unicodecategory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\guid.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\iappdomain.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\iappdomainsetup.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\iasyncresult.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\icloneable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\icomparable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\iconvertible.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\icustomformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\idisposable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\iequatable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\iformatprovider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\iformattable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\indexoutofrangeexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\insufficientexecutionstackexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\insufficientmemoryexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\int16.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\int32.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\int64.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\invalidcastexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\invalidoperationexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\invalidprogramexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\invalidtimezoneexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\__error.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\__hresults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\binaryreader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\binarywriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\bufferedstream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\directorynotfoundexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\drivenotfoundexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\endofstreamexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\fileloadexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\filenotfoundexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\ioexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\memorystream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\pathtoolongexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\pinnedbuffermemorystream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\stream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\streamreader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\streamwriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\stringreader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\stringwriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\textreader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\textwriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\unmanagedmemoryaccessor.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\unmanagedmemorystream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\io\unmanagedmemorystreamwrapper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\iobservable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\iobserver.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\iprogress.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\iserviceobjectprovider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\Lazy.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\math.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\memberaccessexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\methodaccessexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\midpointrounding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\missingfieldexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\missingmemberexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\missingmethodexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\multicastnotsupportedexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\nonserializedattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\notfinitenumberexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\notimplementedexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\notsupportedexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\nullreferenceexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\number.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\objectdisposedexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\obsoleteattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\operationcanceledexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\outofmemoryexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\overflowexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\paramarrayattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\platformnotsupportedexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\progress.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\random.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\rankexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\ambiguousmatchexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\assemblyattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\assemblynameflags.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\assemblynameproxy.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\binder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\bindingflags.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\callingconventions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\CustomAttributeExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\defaultmemberattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\emit\methodbuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\eventattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\fieldattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\genericparameterattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\icustomattributeprovider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\interfacemapping.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\introspectionextensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\invalidfiltercriteriaexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\ireflect.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\ireflectabletype.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\manifestresourceinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\mdimport.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\memberfilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\memberinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\memberinfoserializationholder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\membertypes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\methodattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\methodbase.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\methodbody.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\methodimplattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\missing.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\obfuscateassemblyattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\obfuscationattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\parameterattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\parametermodifier.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\pointer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\propertyattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\reflectioncontext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\resourceattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\RuntimeReflectionExtensions.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\typeattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\typedelegator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\typefilter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\reflection\typeinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resid.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\__fastresourcecomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\__hresults.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\filebasedresourcegroveler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\iresourcegroveler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\iresourcereader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\iresourcewriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\looselylinkedresourcereference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\manifestbasedresourcegroveler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\missingmanifestresourceexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\missingsatelliteassemblyexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\neutralresourceslanguageattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\resourcefallbackmanager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\resourcemanager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\resourcereader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\resourceset.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\resourcetypecode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\resourcewriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\runtimeresourceset.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\satellitecontractversionattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\resources\ultimateresourcefallbacklocation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\rttype.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\accessedthroughpropertyattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\assemblyattributesgohere.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\assemblysettingattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\AsyncMethodBuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\AsyncStateMachineAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\CallerFilePathAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\CallerLineNumberAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\CallerMemberNameAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\callingconvention.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\compilationrelaxations.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\compilergeneratedattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\compilerglobalscopeattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\compilermarshaloverride.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\customconstantattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\datetimeconstantattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\decimalconstantattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\decoratednameattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\discardableattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\extensionattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\fixedaddressvaluetypeattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\fixedbufferattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\hascopysemanticsattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\IAsyncStateMachine.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\idispatchconstantattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\indexernameattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\INotifyCompletion.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\internalsvisibletoattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\isboxed.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\isbyvalue.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\isconst.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\iscopyconstructed.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\isexplicitlydereferenced.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\isimplicitlydereferenced.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\isjitintrinsic.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\islong.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\ispinned.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\issignunspecifiedbyte.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\isudtreturn.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\isvolatile.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\IteratorStateMachineAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\iunknownconstantattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\methodimplattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\nativecppclassattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\ReferenceAssemblyAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\requiredattributeattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\RuntimeCompatibilityAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\RuntimeWrappedException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\scopelessenumattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\specialnameattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\StateMachineAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\suppressildasmattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\suppressmergecheckattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\TaskAwaiter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\typedependencyattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\TypeForwardedFromAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\TypeForwardedToAttribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\unsafevaluetypeattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\compilerservices\YieldAwaitable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\exceptionservices\corruptingexceptioncommon.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\exceptionservices\exceptionnotification.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\exceptionservices\exceptionservicescommon.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\attributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\ibindctx.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\iconnectionpoint.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\iconnectionpointcontainer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\ienumconnectionpoints.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\ienumconnections.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\ienumerable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\ienumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\ienummoniker.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\ienumstring.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\ienumvariant.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\iexpando.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\imoniker.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\ipersistfile.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\ireflect.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\irunningobjecttable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\istream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\itypecomp.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\itypeinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\itypeinfo2.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\itypelib.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ComTypes\itypelib2.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\expando\iexpando.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\safehandle.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\interopservices\ucomienumconnections.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\NgenServicingAttributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\remoting\callcontext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\deserializationeventhandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatterconverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\binary\binarycommonclasses.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\binary\binaryconverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\binary\binaryenums.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\binary\binaryformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\binary\binaryformatterwriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\binary\binarymethodmessage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\binary\binaryobjectinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\binary\binaryobjectreader.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\binary\binaryobjectwriter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\binary\binaryparser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\binary\binaryutilclasses.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\commonenums.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\ifieldinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\isoapmessage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\sertrace.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\soapfault.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatters\soapmessage.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\formatterservices.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\ideserializationcallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\iformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\iformatterconverter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\iobjectreference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\iserializable.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\iserializationsurrogate.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\isurrogateselector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\memberholder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\objectclonehelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\objectidgenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\objectmanager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\safeserializationmanager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\serializationattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\serializationbinder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\serializationeventscache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\serializationexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\serializationfieldinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\serializationinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\serializationinfoenumerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\serializationobjectmanager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\streamingcontext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\surrogateselector.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\serialization\valuetypefixupinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\versioning\binarycompatibility.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\versioning\componentguaranteesattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\versioning\multitargetinghelpers.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\versioning\resourceattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\versioning\targetframeworkattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\runtime\versioning\targetframeworkid.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\sbyte.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\attributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\claims\Claim.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\claims\ClaimsIdentity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\claims\ClaimsPrincipal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\claims\ClaimTypes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\claims\ClaimValueTypes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\claims\RoleClaimProvider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\aes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\asymmetricalgorithm.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\asymmetrickeyexchangedeformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\asymmetrickeyexchangeformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\asymmetricsignaturedeformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\asymmetricsignatureformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\base64transforms.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\crypto.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\cryptoapitransform.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\cryptostream.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\derivebytes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\des.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\descryptoserviceprovider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\dsa.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\dsasignaturedeformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\dsasignatureformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\hashalgorithm.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\hmac.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\hmacmd5.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\hmacripemd160.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\hmacsha1.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\hmacsha256.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\hmacsha384.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\hmacsha512.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\icryptotransform.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\keyedhashalgorithm.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\mactripledes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\maskgenerationmethod.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\md5.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\passwordderivebytes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\pkcs1maskgenerationmethod.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\randomnumbergenerator.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\rc2.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\rc2cryptoserviceprovider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\rfc2898derivebytes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\rijndael.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\rijndaelmanaged.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\rijndaelmanagedtransform.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\ripemd160.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\ripemd160managed.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\rsa.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\rsaoaepkeyexchangedeformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\rsaoaepkeyexchangeformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\rsapkcs1keyexchangedeformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\rsapkcs1keyexchangeformatter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\sha1.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\sha1managed.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\sha256.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\sha256managed.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\sha384.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\sha384managed.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\sha512.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\sha512managed.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\signaturedescription.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\symmetricalgorithm.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\tripledes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\tripledescryptoserviceprovider.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\utils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\cryptography\x509certificates\x509utils.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\principal\genericidentity.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\securitycontext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\securitydocument.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\util\hex.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\util\parser.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\security\util\tokenizer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\serializableattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\single.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\stackoverflowexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\string.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\stringcomparer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\stringfreezingattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\systemexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\asciiencoding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\codepageencoding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\decoder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\decoderbestfitfallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\decoderexceptionfallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\decoderfallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\decodernls.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\decoderreplacementfallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\encoder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\encoderbestfitfallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\encoderexceptionfallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\encoderfallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\encodernls.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\encoderreplacementfallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\encoding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\encodinginfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\mlangcodepageencoding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\stringbuilder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\stringbuildercache.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\surrogateencoder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\unicodeencoding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\utf32encoding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\utf7encoding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\text\utf8encoding.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threadattributes.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\abandonedmutexexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\apartmentstate.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\autoresetevent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\CancellationToken.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\CancellationTokenRegistration.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\CancellationTokenSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\CountdownEvent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\eventresetmode.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\executioncontext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\LazyInitializer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\lockrecursionexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\manualresetevent.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\ManualResetEventSlim.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\parameterizedthreadstart.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\semaphorefullexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\SemaphoreSlim.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\sendorpostcallback.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\SpinLock.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\SpinWait.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\synchronizationcontext.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\synchronizationlockexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\BeginEndAwaitableAdapter.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\ConcurrentExclusiveSchedulerPair.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\Future.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\FutureFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\Parallel.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\ParallelLoopState.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\ParallelRangeManager.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\ProducerConsumerQueues.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\Task.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\TaskCanceledException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\TaskCompletionSource.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\TaskContinuation.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\TaskExceptionHolder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\TaskFactory.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\TaskScheduler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\TaskSchedulerException.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\TaskToApm.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\Tasks\ThreadPoolTaskScheduler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\thread.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\threadabortexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\threadinterruptedexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\ThreadLocal.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\threadpool.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\threadpriority.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\threadstart.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\threadstartexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\threadstate.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\threadstateexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\timeout.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threading\waithandlecannotbeopenedexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\threadstaticattribute.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\throwhelper.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\timeoutexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\timespan.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\timezoneinfo.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\timezonenotfoundexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\tuple.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\type.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\typeaccessexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\typedreference.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\typeinitializationexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\typeloadexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\typeunloadedexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\uint16.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\uint32.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\uint64.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\unauthorizedaccessexception.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\unhandledexceptioneventargs.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\unhandledexceptioneventhandler.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\unityserializationholder.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\unsafecharbuffer.cs" />\r
+    <Compile Include="..\..\..\external\referencesource\mscorlib\system\version.cs" />\r
+    <Compile Include="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="..\..\build\common\MonoTODOAttribute.cs" />\r
+    <Compile Include="..\Mono.Parallel\Mono.Threading\AtomicBoolean.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Math.Prime.Generator\NextPrimeFinder.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Math.Prime.Generator\PrimeGeneratorBase.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Math.Prime.Generator\SequentialSearchPrimeGeneratorBase.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Math.Prime\ConfidenceFactor.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Math.Prime\PrimalityTests.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Math\BigInteger.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Authenticode\AuthenticodeBase.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Authenticode\AuthenticodeDeformatter.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\ARC4Managed.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\CryptoConvert.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\CryptoTools.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\KeyPairPersistence.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\MD2.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\MD2Managed.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\MD4.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\MD4Managed.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\PKCS1.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\PKCS8.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\RC4.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\RSAManaged.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.Cryptography\SymmetricTransform.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509.Extensions\BasicConstraintsExtension.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509.Extensions\KeyUsageExtension.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509.Extensions\SubjectKeyIdentifierExtension.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509\PKCS12.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509\X501Name.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509\X509Certificate.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509\X509CertificateCollection.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509\X509Chain.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509\X509ChainStatusFlags.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509\X509CRL.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509\X509Extension.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509\X509Extensions.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509\X509Store.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509\X509StoreManager.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509\X509Stores.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security.X509\X520Attributes.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security\ASN1.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security\ASN1Convert.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security\BitConverterLE.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security\PKCS7.cs" />\r
+    <Compile Include="..\Mono.Security\Mono.Security\StrongName.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="coreclr\AsyncLocal.cs" />\r
+    <Compile Include="coreclr\DisablePrivateReflectionAttribute.cs" />\r
+    <Compile Include="coreclr\EncodingProvider.cs" />\r
+    <Compile Include="coreclr\FormattableString.cs" />\r
+    <Compile Include="coreclr\FormattableStringFactory.cs" />\r
+    <Compile Include="coreclr\WaitHandleExtensions.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="Microsoft.Win32\RegistryKey.cs" />\r
+    <Compile Include="Microsoft.Win32\RegistryKeyPermissionCheck.cs" />\r
+    <Compile Include="Microsoft.Win32\RegistryOptions.cs" />\r
+    <Compile Include="Microsoft.Win32\RegistryValueKind.cs" />\r
+    <Compile Include="Microsoft.Win32\RegistryValueOptions.cs" />\r
+    <Compile Include="Microsoft.Win32\RegistryView.cs" />\r
+    <Compile Include="Microsoft.Win32\UnixRegistryApi.cs" />\r
+    <Compile Include="Microsoft.Win32\Win32RegistryApi.cs" />\r
+    <Compile Include="Microsoft.Win32\Win32ResultCode.cs" />\r
+    <Compile Include="Mono.Globalization.Unicode\CodePointIndexer.cs" />\r
+    <Compile Include="Mono.Globalization.Unicode\MSCompatUnicodeTable.cs" />\r
+    <Compile Include="Mono.Globalization.Unicode\MSCompatUnicodeTableUtil.cs" />\r
+    <Compile Include="Mono.Globalization.Unicode\Normalization.cs" />\r
+    <Compile Include="Mono.Globalization.Unicode\NormalizationTableUtil.cs" />\r
+    <Compile Include="Mono.Globalization.Unicode\SimpleCollator.cs" />\r
+    <Compile Include="Mono.Globalization.Unicode\SortKey.cs" />\r
+    <Compile Include="Mono.Globalization.Unicode\SortKeyBuffer.cs" />\r
+    <Compile Include="Mono.Interop\ComInteropProxy.cs" />\r
+    <Compile Include="Mono.Interop\IDispatch.cs" />\r
+    <Compile Include="Mono.Interop\IUnknown.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\DSAManaged.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\HMACAlgorithm.cs" />\r
+    <Compile Include="Mono.Security.Cryptography\MACAlgorithm.cs" />\r
+    <Compile Include="Mono.Security\StrongNameManager.cs" />\r
+    <Compile Include="Mono.Security\Uri.cs" />\r
+    <Compile Include="Mono.Xml\SecurityParser.cs" />\r
+    <Compile Include="Mono.Xml\SmallXmlParser.cs" />\r
+    <Compile Include="Mono\DataConverter.cs" />\r
+    <Compile Include="Mono\Runtime.cs" />\r
+    <Compile Include="ReferenceSources\__ConsoleStream.cs" />\r
+    <Compile Include="ReferenceSources\AppDomain.cs" />\r
+    <Compile Include="ReferenceSources\Array.cs" />\r
+    <Compile Include="ReferenceSources\BCLDebug.cs" />\r
+    <Compile Include="ReferenceSources\Buffer.cs" />\r
+    <Compile Include="ReferenceSources\CalendarData.cs" />\r
+    <Compile Include="ReferenceSources\CLRConfig.cs" />\r
+    <Compile Include="ReferenceSources\CompareInfo.cs" />\r
+    <Compile Include="ReferenceSources\CompatibilitySwitches.cs" />\r
+    <Compile Include="ReferenceSources\CultureData.cs" />\r
+    <Compile Include="ReferenceSources\DefaultBinder.cs" />\r
+    <Compile Include="ReferenceSources\EncodingDataItem.cs" />\r
+    <Compile Include="ReferenceSources\EncodingTable.cs" />\r
+    <Compile Include="ReferenceSources\Environment.cs" />\r
+    <Compile Include="ReferenceSources\HashHelpers.cs" />\r
+    <Compile Include="ReferenceSources\JitHelpers.cs" />\r
+    <Compile Include="ReferenceSources\MethodBase.cs" />\r
+    <Compile Include="ReferenceSources\ParseNumbers.cs" />\r
+    <Compile Include="ReferenceSources\RemotingFieldCachedData.cs" />\r
+    <Compile Include="ReferenceSources\RuntimeHandles.cs" />\r
+    <Compile Include="ReferenceSources\RuntimeType.cs" />\r
+    <Compile Include="ReferenceSources\SecurityContext.cs" />\r
+    <Compile Include="ReferenceSources\SharedStatics.cs" />\r
+    <Compile Include="ReferenceSources\String.cs" />\r
+    <Compile Include="ReferenceSources\TextInfo.cs" />\r
+    <Compile Include="ReferenceSources\Type.cs" />\r
+    <Compile Include="ReferenceSources\TypeBuilderInstantiation.cs" />\r
+    <Compile Include="ReferenceSources\TypeNameParser.cs" />\r
+    <Compile Include="ReferenceSources\win32native.cs" />\r
+    <Compile Include="System.Configuration.Assemblies\AssemblyHash.cs" />\r
+    <Compile Include="System.Configuration.Assemblies\AssemblyHashAlgorithm.cs" />\r
+    <Compile Include="System.Configuration.Assemblies\AssemblyVersionCompatibility.cs" />\r
+    <Compile Include="System.Configuration.Assemblies\ProcessorID.cs" />\r
+    <Compile Include="System.Deployment.Internal\InternalActivationContextHelper.cs" />\r
+    <Compile Include="System.Deployment.Internal\InternalApplicationIdentityHelper.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\ISymbolBinder.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\ISymbolBinder1.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\ISymbolDocument.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\ISymbolDocumentWriter.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\ISymbolMethod.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\ISymbolNamespace.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\ISymbolReader.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\ISymbolScope.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\ISymbolVariable.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\ISymbolWriter.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\SymAddressKind.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\SymbolToken.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\SymDocumentType.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\SymLanguageType.cs" />\r
+    <Compile Include="System.Diagnostics.SymbolStore\SymLanguageVendor.cs" />\r
+    <Compile Include="System.Diagnostics.Tracing\EventAttribute.cs" />\r
+    <Compile Include="System.Diagnostics.Tracing\EventCommand.cs" />\r
+    <Compile Include="System.Diagnostics.Tracing\EventCommandEventArgs.cs" />\r
+    <Compile Include="System.Diagnostics.Tracing\EventKeywords.cs" />\r
+    <Compile Include="System.Diagnostics.Tracing\EventLevel.cs" />\r
+    <Compile Include="System.Diagnostics.Tracing\EventSource.cs" />\r
+    <Compile Include="System.Diagnostics.Tracing\EventSourceAttribute.cs" />\r
+    <Compile Include="System.Diagnostics.Tracing\NonEventAttribute.cs" />\r
+    <Compile Include="System.Diagnostics\Debugger.cs" />\r
+    <Compile Include="System.Diagnostics\StackFrame.cs" />\r
+    <Compile Include="System.Diagnostics\StackTrace.cs" />\r
+    <Compile Include="System.Globalization\CultureInfo.cs" />\r
+    <Compile Include="System.Globalization\IdnMapping.cs" />\r
+    <Compile Include="System.Globalization\RegionInfo.cs" />\r
+    <Compile Include="System.Globalization\RegionInfo.MonoTouch.cs" />\r
+    <Compile Include="System.IO.IsolatedStorage\INormalizeForIsolatedStorage.cs" />\r
+    <Compile Include="System.IO.IsolatedStorage\IsolatedStorage.cs" />\r
+    <Compile Include="System.IO.IsolatedStorage\IsolatedStorageException.cs" />\r
+    <Compile Include="System.IO.IsolatedStorage\IsolatedStorageFile.cs" />\r
+    <Compile Include="System.IO.IsolatedStorage\IsolatedStorageFileEnumerator.cs" />\r
+    <Compile Include="System.IO.IsolatedStorage\IsolatedStorageFileStream.cs" />\r
+    <Compile Include="System.IO.IsolatedStorage\IsolatedStorageScope.cs" />\r
+    <Compile Include="System.IO.IsolatedStorage\IsolatedStorageSecurityOptions.cs" />\r
+    <Compile Include="System.IO.IsolatedStorage\IsolatedStorageSecurityState.cs" />\r
+    <Compile Include="System.IO\Directory.cs" />\r
+    <Compile Include="System.IO\DirectoryInfo.cs" />\r
+    <Compile Include="System.IO\DriveInfo.cs" />\r
+    <Compile Include="System.IO\DriveType.cs" />\r
+    <Compile Include="System.IO\File.cs" />\r
+    <Compile Include="System.IO\FileAccess.cs" />\r
+    <Compile Include="System.IO\FileAttributes.cs" />\r
+    <Compile Include="System.IO\FileInfo.cs" />\r
+    <Compile Include="System.IO\FileMode.cs" />\r
+    <Compile Include="System.IO\FileOptions.cs" />\r
+    <Compile Include="System.IO\FileShare.cs" />\r
+    <Compile Include="System.IO\FileStream.cs" />\r
+    <Compile Include="System.IO\FileStreamAsyncResult.cs" />\r
+    <Compile Include="System.IO\FileSystemInfo.cs" />\r
+    <Compile Include="System.IO\HGlobalUnmanagedMemoryStream.cs" />\r
+    <Compile Include="System.IO\LogcatTextWriter.cs" />\r
+    <Compile Include="System.IO\MonoFileType.cs" />\r
+    <Compile Include="System.IO\MonoIO.cs" />\r
+    <Compile Include="System.IO\MonoIOError.cs" />\r
+    <Compile Include="System.IO\MonoIOStat.cs" />\r
+    <Compile Include="System.IO\Path.cs" />\r
+    <Compile Include="System.IO\SearchOption.cs" />\r
+    <Compile Include="System.IO\SearchPattern.cs" />\r
+    <Compile Include="System.IO\SeekOrigin.cs" />\r
+    <Compile Include="System.IO\UnexceptionalStreamReader.cs" />\r
+    <Compile Include="System.IO\UnexceptionalStreamWriter.cs" />\r
+    <Compile Include="System.Reflection.Emit\AssemblyBuilder.cs" />\r
+    <Compile Include="System.Reflection.Emit\AssemblyBuilderAccess.cs" />\r
+    <Compile Include="System.Reflection.Emit\ConstructorBuilder.cs" />\r
+    <Compile Include="System.Reflection.Emit\ConstructorOnTypeBuilderInst.cs" />\r
+    <Compile Include="System.Reflection.Emit\CustomAttributeBuilder.cs" />\r
+    <Compile Include="System.Reflection.Emit\DerivedTypes.cs" />\r
+    <Compile Include="System.Reflection.Emit\DynamicILInfo.cs" />\r
+    <Compile Include="System.Reflection.Emit\DynamicMethod.cs" />\r
+    <Compile Include="System.Reflection.Emit\EnumBuilder.cs" />\r
+    <Compile Include="System.Reflection.Emit\EventBuilder.cs" />\r
+    <Compile Include="System.Reflection.Emit\EventOnTypeBuilderInst.cs" />\r
+    <Compile Include="System.Reflection.Emit\EventToken.cs" />\r
+    <Compile Include="System.Reflection.Emit\FieldBuilder.cs" />\r
+    <Compile Include="System.Reflection.Emit\FieldOnTypeBuilderInst.cs" />\r
+    <Compile Include="System.Reflection.Emit\FieldToken.cs" />\r
+    <Compile Include="System.Reflection.Emit\FlowControl.cs" />\r
+    <Compile Include="System.Reflection.Emit\GenericTypeParameterBuilder.cs" />\r
+    <Compile Include="System.Reflection.Emit\ILGenerator.cs" />\r
+    <Compile Include="System.Reflection.Emit\Label.cs" />\r
+    <Compile Include="System.Reflection.Emit\LocalBuilder.cs" />\r
+    <Compile Include="System.Reflection.Emit\MethodBuilder.cs" />\r
+    <Compile Include="System.Reflection.Emit\MethodOnTypeBuilderInst.cs" />\r
+    <Compile Include="System.Reflection.Emit\MethodRental.cs" />\r
+    <Compile Include="System.Reflection.Emit\MethodToken.cs" />\r
+    <Compile Include="System.Reflection.Emit\ModuleBuilder.cs" />\r
+    <Compile Include="System.Reflection.Emit\MonoArrayMethod.cs" />\r
+    <Compile Include="System.Reflection.Emit\OpCode.cs" />\r
+    <Compile Include="System.Reflection.Emit\OpCodeNames.cs" />\r
+    <Compile Include="System.Reflection.Emit\OpCodes.cs" />\r
+    <Compile Include="System.Reflection.Emit\OpCodeType.cs" />\r
+    <Compile Include="System.Reflection.Emit\OperandType.cs" />\r
+    <Compile Include="System.Reflection.Emit\PackingSize.cs" />\r
+    <Compile Include="System.Reflection.Emit\ParameterBuilder.cs" />\r
+    <Compile Include="System.Reflection.Emit\ParameterToken.cs" />\r
+    <Compile Include="System.Reflection.Emit\PEFileKinds.cs" />\r
+    <Compile Include="System.Reflection.Emit\PropertyBuilder.cs" />\r
+    <Compile Include="System.Reflection.Emit\PropertyOnTypeBuilderInst.cs" />\r
+    <Compile Include="System.Reflection.Emit\PropertyToken.cs" />\r
+    <Compile Include="System.Reflection.Emit\SignatureHelper.cs" />\r
+    <Compile Include="System.Reflection.Emit\SignatureToken.cs" />\r
+    <Compile Include="System.Reflection.Emit\StackBehaviour.cs" />\r
+    <Compile Include="System.Reflection.Emit\StringToken.cs" />\r
+    <Compile Include="System.Reflection.Emit\TypeBuilder.cs" />\r
+    <Compile Include="System.Reflection.Emit\TypeToken.cs" />\r
+    <Compile Include="System.Reflection.Emit\UnmanagedMarshal.cs" />\r
+    <Compile Include="System.Reflection\Assembly.cs" />\r
+    <Compile Include="System.Reflection\AssemblyName.cs" />\r
+    <Compile Include="System.Reflection\ConstructorInfo.cs" />\r
+    <Compile Include="System.Reflection\CustomAttributeData.cs" />\r
+    <Compile Include="System.Reflection\CustomAttributeFormatException.cs" />\r
+    <Compile Include="System.Reflection\CustomAttributeNamedArgument.cs" />\r
+    <Compile Include="System.Reflection\CustomAttributeTypedArgument.cs" />\r
+    <Compile Include="System.Reflection\EventInfo.cs" />\r
+    <Compile Include="System.Reflection\ExceptionHandlingClause.cs" />\r
+    <Compile Include="System.Reflection\FieldInfo.cs" />\r
+    <Compile Include="System.Reflection\ImageFileMachine.cs" />\r
+    <Compile Include="System.Reflection\LocalVariableInfo.cs" />\r
+    <Compile Include="System.Reflection\MethodBody.cs" />\r
+    <Compile Include="System.Reflection\MethodInfo.cs" />\r
+    <Compile Include="System.Reflection\Module.cs" />\r
+    <Compile Include="System.Reflection\ModuleResolveEventHandler.cs" />\r
+    <Compile Include="System.Reflection\MonoAssembly.cs" />\r
+    <Compile Include="System.Reflection\MonoEvent.cs" />\r
+    <Compile Include="System.Reflection\MonoField.cs" />\r
+    <Compile Include="System.Reflection\MonoGenericClass.cs" />\r
+    <Compile Include="System.Reflection\MonoGenericMethod.cs" />\r
+    <Compile Include="System.Reflection\MonoMethod.cs" />\r
+    <Compile Include="System.Reflection\MonoModule.cs" />\r
+    <Compile Include="System.Reflection\MonoParameterInfo.cs" />\r
+    <Compile Include="System.Reflection\MonoProperty.cs" />\r
+    <Compile Include="System.Reflection\ParameterInfo.cs" />\r
+    <Compile Include="System.Reflection\PortableExecutableKinds.cs" />\r
+    <Compile Include="System.Reflection\PropertyInfo.cs" />\r
+    <Compile Include="System.Reflection\ReflectionTypeLoadException.cs" />\r
+    <Compile Include="System.Reflection\StrongNameKeyPair.cs" />\r
+    <Compile Include="System.Reflection\TargetException.cs" />\r
+    <Compile Include="System.Reflection\TargetInvocationException.cs" />\r
+    <Compile Include="System.Reflection\TargetParameterCountException.cs" />\r
+    <Compile Include="System.Resources\Win32Resources.cs" />\r
+    <Compile Include="System.Runtime.CompilerServices\ConditionalWeakTable.cs" />\r
+    <Compile Include="System.Runtime.CompilerServices\RuntimeHelpers.cs" />\r
+    <Compile Include="System.Runtime.Hosting\ActivationArguments.cs" />\r
+    <Compile Include="System.Runtime.Hosting\ApplicationActivator.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\DefaultInterfaceAttribute.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\DesignerNamespaceResolveEventArgs.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\EventRegistrationToken.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\EventRegistrationTokenTable.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\IActivationFactory.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\InterfaceImplementedInVersionAttribute.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\NamespaceResolveEventArgs.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\ReadOnlyArrayAttribute.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\ReturnValueNameAttribute.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\WindowsRuntimeMarshal.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\WindowsRuntimeMetadata.cs" />\r
+    <Compile Include="System.Runtime.InteropServices.WindowsRuntime\WriteOnlyArrayAttribute.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_Activator.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_Assembly.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_AssemblyBuilder.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_AssemblyName.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_Attribute.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_ConstructorBuilder.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_ConstructorInfo.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_CustomAttributeBuilder.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_EnumBuilder.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_EventBuilder.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_EventInfo.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_Exception.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_FieldBuilder.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_FieldInfo.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_ILGenerator.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_LocalBuilder.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_MemberInfo.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_MethodBase.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_MethodBuilder.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_MethodInfo.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_MethodRental.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_Module.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_ModuleBuilder.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_ParameterBuilder.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_ParameterInfo.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_PropertyBuilder.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_PropertyInfo.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_SignatureHelper.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_Thread.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_Type.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\_TypeBuilder.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ArrayWithOffset.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\AssemblyRegistrationFlags.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\BIND_OPTS.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\BINDPTR.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\BStrWrapper.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\CALLCONV.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\CallingConvention.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\CharSet.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\COMException.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ComMemberType.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\CriticalHandle.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\CurrencyWrapper.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\DESCKIND.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\DispatchWrapper.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\DISPPARAMS.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ELEMDESC.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ErrorWrapper.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\EXCEPINFO.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ExporterEventKind.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ExtensibleClassFactory.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ExternalException.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\FILETIME.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\FUNCDESC.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\FUNCFLAGS.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\FUNCKIND.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\GCHandle.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\GCHandleType.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\HandleRef.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ICustomAdapter.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ICustomFactory.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ICustomMarshaler.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\IDLDESC.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\IDLFLAG.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\IErrorInfo.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\IMPLTYPEFLAGS.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ImporterEventKind.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\InvalidComObjectException.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\InvalidOleVariantTypeException.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\INVOKEKIND.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\IRegistrationServices.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ITypeLibConverter.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ITypeLibExporterNameProvider.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ITypeLibExporterNotifySink.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ITypeLibImporterNotifySink.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\LayoutKind.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\LIBFLAGS.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ManagedErrorInfo.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\Marshal.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\MarshalAsAttribute.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\MarshalDirectiveException.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\ObjectCreationDelegate.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\PARAMDESC.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\PARAMFLAG.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\RegistrationClassContext.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\RegistrationConnectionType.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\RegistrationServices.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\RuntimeEnvironment.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\SafeArrayRankMismatchException.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\SafeArrayTypeMismatchException.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\SafeBuffer.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\SafeHandle.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\SEHException.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\STATSTG.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\SYSKIND.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\TYPEATTR.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\TYPEDESC.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\TYPEFLAGS.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\TYPEKIND.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\TYPELIBATTR.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\TypeLibConverter.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\TypeLibExporterFlags.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\TypeLibImporterFlags.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UCOMIBindCtx.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UCOMIConnectionPoint.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UCOMIConnectionPointContainer.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UCOMIEnumConnectionPoints.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UCOMIEnumMoniker.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UCOMIEnumString.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UCOMIEnumVARIANT.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UCOMIMoniker.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UCOMIPersistFile.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UCOMIRunningObjectTable.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UCOMIStream.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UCOMITypeComp.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UCOMITypeInfo.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UCOMITypeLib.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\UnknownWrapper.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\VARDESC.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\VARFLAGS.cs" />\r
+    <Compile Include="System.Runtime.InteropServices\VariantWrapper.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Activation\ActivationServices.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Activation\ActivatorLevel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Activation\AppDomainLevelActivator.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Activation\ConstructionLevelActivator.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Activation\ContextLevelActivator.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Activation\IActivator.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Activation\IConstructionCallMessage.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Activation\IConstructionReturnMessage.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Activation\RemoteActivationAttribute.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Activation\RemoteActivator.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Activation\UrlAttribute.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\AggregateDictionary.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\BaseChannelObjectWithProperties.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\BaseChannelSinkWithProperties.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\BaseChannelWithProperties.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\ChannelDataStore.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\ChannelServices.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\ChannelSinkStackEntry.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\ClientChannelSinkStack.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\CrossAppDomainChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IChannelDataStore.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IChannelReceiver.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IChannelReceiverHook.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IChannelSender.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IChannelSinkBase.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IClientChannelSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IClientChannelSinkProvider.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IClientChannelSinkStack.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IClientFormatterSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IClientFormatterSinkProvider.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IClientResponseChannelSinkStack.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\ISecurableChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IServerChannelSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IServerChannelSinkProvider.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IServerChannelSinkStack.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IServerFormatterSinkProvider.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\IServerResponseChannelSinkStack.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\ITransportHeaders.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\ServerChannelSinkStack.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\ServerDispatchSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\ServerDispatchSinkProvider.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\ServerProcessing.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\SinkProviderData.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Channels\TransportHeaders.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\Context.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\ContextAttribute.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\ContextProperty.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\CrossContextChannel.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\CrossContextDelegate.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\IContextAttribute.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\IContextProperty.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\IContextPropertyActivator.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\IContributeClientContextSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\IContributeDynamicSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\IContributeEnvoySink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\IContributeObjectSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\IContributeServerContextSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\IDynamicMessageSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\IDynamicProperty.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Contexts\SynchronizationAttribute.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Lifetime\ClientSponsor.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Lifetime\ILease.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Lifetime\ISponsor.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Lifetime\Lease.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Lifetime\LeaseManager.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Lifetime\LeaseSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Lifetime\LeaseState.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Lifetime\LifetimeServices.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\ArgInfo.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\AsyncResult.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\CADMessages.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\ClientContextTerminatorSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\ConstructionCall.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\ConstructionCallDictionary.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\ConstructionResponse.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\EnvoyTerminatorSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\ErrorMessage.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\Header.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\HeaderHandler.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\IInternalMessage.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\IMessage.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\IMessageCtrl.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\IMessageSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\IMethodCallMessage.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\IMethodMessage.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\IMethodReturnMessage.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\InternalMessageWrapper.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\IRemotingFormatter.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\ISerializationRootObject.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\MessageSurrogateFilter.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\MethodCall.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\MethodCallDictionary.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\MethodCallMessageWrapper.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\MethodDictionary.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\MethodResponse.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\MethodReturnDictionary.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\MethodReturnMessageWrapper.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\MonoMethodMessage.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\OneWayAttribute.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\RemotingSurrogate.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\RemotingSurrogateSelector.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\ReturnMessage.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\ServerContextTerminatorSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\ServerObjectTerminatorSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Messaging\StackBuilderSink.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\ISoapXsd.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapAnyUri.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapBase64Binary.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapDate.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapDateTime.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapDay.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapDuration.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapEntities.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapEntity.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapHelper.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapHexBinary.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapId.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapIdref.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapIdrefs.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapInteger.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapLanguage.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapMonth.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapMonthDay.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapName.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNcName.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNegativeInteger.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNmtoken.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNmtokens.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNonNegativeInteger.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNonPositiveInteger.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNormalizedString.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapNotation.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapPositiveInteger.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapQName.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapTime.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapToken.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapYear.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata.W3cXsd2001\SoapYearMonth.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata\SoapAttribute.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata\SoapFieldAttribute.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata\SoapMethodAttribute.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata\SoapOption.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata\SoapParameterAttribute.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata\SoapTypeAttribute.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Metadata\XmlFieldOrderOption.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Proxies\ProxyAttribute.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Proxies\RealProxy.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Proxies\RemotingProxy.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Services\EnterpriseServicesHelper.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Services\ITrackingHandler.cs" />\r
+    <Compile Include="System.Runtime.Remoting.Services\TrackingServices.cs" />\r
+    <Compile Include="System.Runtime.Remoting\ActivatedClientTypeEntry.cs" />\r
+    <Compile Include="System.Runtime.Remoting\ActivatedServiceTypeEntry.cs" />\r
+    <Compile Include="System.Runtime.Remoting\CustomErrorsModes.cs" />\r
+    <Compile Include="System.Runtime.Remoting\EnvoyInfo.cs" />\r
+    <Compile Include="System.Runtime.Remoting\IChannelInfo.cs" />\r
+    <Compile Include="System.Runtime.Remoting\Identity.cs" />\r
+    <Compile Include="System.Runtime.Remoting\IEnvoyInfo.cs" />\r
+    <Compile Include="System.Runtime.Remoting\InternalRemotingServices.cs" />\r
+    <Compile Include="System.Runtime.Remoting\IObjectHandle.cs" />\r
+    <Compile Include="System.Runtime.Remoting\IRemotingTypeInfo.cs" />\r
+    <Compile Include="System.Runtime.Remoting\ObjectHandle.cs" />\r
+    <Compile Include="System.Runtime.Remoting\ObjRef.cs" />\r
+    <Compile Include="System.Runtime.Remoting\RemotingConfiguration.cs" />\r
+    <Compile Include="System.Runtime.Remoting\RemotingException.cs" />\r
+    <Compile Include="System.Runtime.Remoting\RemotingServices.cs" />\r
+    <Compile Include="System.Runtime.Remoting\RemotingTimeoutException.cs" />\r
+    <Compile Include="System.Runtime.Remoting\ServerException.cs" />\r
+    <Compile Include="System.Runtime.Remoting\ServerIdentity.cs" />\r
+    <Compile Include="System.Runtime.Remoting\SoapServices.cs" />\r
+    <Compile Include="System.Runtime.Remoting\TypeEntry.cs" />\r
+    <Compile Include="System.Runtime.Remoting\TypeInfo.cs" />\r
+    <Compile Include="System.Runtime.Remoting\WellKnownClientTypeEntry.cs" />\r
+    <Compile Include="System.Runtime.Remoting\WellKnownObjectMode.cs" />\r
+    <Compile Include="System.Runtime.Remoting\WellKnownServiceTypeEntry.cs" />\r
+    <Compile Include="System.Runtime.Versioning\CompatibilitySwitch.cs" />\r
+    <Compile Include="System.Runtime\GCLargeObjectHeapCompactionMode.cs" />\r
+    <Compile Include="System.Runtime\GCLatencyMode.cs" />\r
+    <Compile Include="System.Runtime\GCSettings.cs" />\r
+    <Compile Include="System.Runtime\MemoryFailPoint.cs" />\r
+    <Compile Include="System.Security.AccessControl\AccessControlActions.cs" />\r
+    <Compile Include="System.Security.AccessControl\AccessControlModification.cs" />\r
+    <Compile Include="System.Security.AccessControl\AccessControlSections.cs" />\r
+    <Compile Include="System.Security.AccessControl\AccessControlType.cs" />\r
+    <Compile Include="System.Security.AccessControl\AccessRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\AccessRule_T.cs" />\r
+    <Compile Include="System.Security.AccessControl\AceEnumerator.cs" />\r
+    <Compile Include="System.Security.AccessControl\AceFlags.cs" />\r
+    <Compile Include="System.Security.AccessControl\AceQualifier.cs" />\r
+    <Compile Include="System.Security.AccessControl\AceType.cs" />\r
+    <Compile Include="System.Security.AccessControl\AuditFlags.cs" />\r
+    <Compile Include="System.Security.AccessControl\AuditRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\AuditRule_T.cs" />\r
+    <Compile Include="System.Security.AccessControl\AuthorizationRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\AuthorizationRuleCollection.cs" />\r
+    <Compile Include="System.Security.AccessControl\CommonAce.cs" />\r
+    <Compile Include="System.Security.AccessControl\CommonAcl.cs" />\r
+    <Compile Include="System.Security.AccessControl\CommonObjectSecurity.cs" />\r
+    <Compile Include="System.Security.AccessControl\CommonSecurityDescriptor.cs" />\r
+    <Compile Include="System.Security.AccessControl\CompoundAce.cs" />\r
+    <Compile Include="System.Security.AccessControl\CompoundAceType.cs" />\r
+    <Compile Include="System.Security.AccessControl\ControlFlags.cs" />\r
+    <Compile Include="System.Security.AccessControl\CryptoKeyAccessRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\CryptoKeyAuditRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\CryptoKeyRights.cs" />\r
+    <Compile Include="System.Security.AccessControl\CryptoKeySecurity.cs" />\r
+    <Compile Include="System.Security.AccessControl\CustomAce.cs" />\r
+    <Compile Include="System.Security.AccessControl\DirectoryObjectSecurity.cs" />\r
+    <Compile Include="System.Security.AccessControl\DirectorySecurity.cs" />\r
+    <Compile Include="System.Security.AccessControl\DiscretionaryAcl.cs" />\r
+    <Compile Include="System.Security.AccessControl\EventWaitHandleAccessRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\EventWaitHandleAuditRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\EventWaitHandleRights.cs" />\r
+    <Compile Include="System.Security.AccessControl\EventWaitHandleSecurity.cs" />\r
+    <Compile Include="System.Security.AccessControl\FileSecurity.cs" />\r
+    <Compile Include="System.Security.AccessControl\FileSystemAccessRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\FileSystemAuditRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\FileSystemRights.cs" />\r
+    <Compile Include="System.Security.AccessControl\FileSystemSecurity.cs" />\r
+    <Compile Include="System.Security.AccessControl\GenericAce.cs" />\r
+    <Compile Include="System.Security.AccessControl\GenericAcl.cs" />\r
+    <Compile Include="System.Security.AccessControl\GenericSecurityDescriptor.cs" />\r
+    <Compile Include="System.Security.AccessControl\InheritanceFlags.cs" />\r
+    <Compile Include="System.Security.AccessControl\KnownAce.cs" />\r
+    <Compile Include="System.Security.AccessControl\MutexAccessRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\MutexAuditRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\MutexRights.cs" />\r
+    <Compile Include="System.Security.AccessControl\MutexSecurity.cs" />\r
+    <Compile Include="System.Security.AccessControl\NativeObjectSecurity.cs" />\r
+    <Compile Include="System.Security.AccessControl\ObjectAccessRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\ObjectAce.cs" />\r
+    <Compile Include="System.Security.AccessControl\ObjectAceFlags.cs" />\r
+    <Compile Include="System.Security.AccessControl\ObjectAuditRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\ObjectSecurity.cs" />\r
+    <Compile Include="System.Security.AccessControl\ObjectSecurity_T.cs" />\r
+    <Compile Include="System.Security.AccessControl\PrivilegeNotHeldException.cs" />\r
+    <Compile Include="System.Security.AccessControl\PropagationFlags.cs" />\r
+    <Compile Include="System.Security.AccessControl\QualifiedAce.cs" />\r
+    <Compile Include="System.Security.AccessControl\RawAcl.cs" />\r
+    <Compile Include="System.Security.AccessControl\RawSecurityDescriptor.cs" />\r
+    <Compile Include="System.Security.AccessControl\RegistryAccessRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\RegistryAuditRule.cs" />\r
+    <Compile Include="System.Security.AccessControl\RegistryRights.cs" />\r
+    <Compile Include="System.Security.AccessControl\RegistrySecurity.cs" />\r
+    <Compile Include="System.Security.AccessControl\ResourceType.cs" />\r
+    <Compile Include="System.Security.AccessControl\SddlAccessRight.cs" />\r
+    <Compile Include="System.Security.AccessControl\SecurityInfos.cs" />\r
+    <Compile Include="System.Security.AccessControl\SystemAcl.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509Certificate20.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509ContentType.cs" />\r
+    <Compile Include="System.Security.Cryptography.X509Certificates\X509KeyStorageFlags.cs" />\r
+    <Compile Include="System.Security.Cryptography\CryptoAPITransform.cs" />\r
+    <Compile Include="System.Security.Cryptography\CryptoConfig.cs" />\r
+    <Compile Include="System.Security.Cryptography\CryptoConfig.fullaot.cs" />\r
+    <Compile Include="System.Security.Cryptography\CryptoConfig_2_1.cs" />\r
+    <Compile Include="System.Security.Cryptography\CspKeyContainerInfo.cs" />\r
+    <Compile Include="System.Security.Cryptography\DESCryptoServiceProvider.cs" />\r
+    <Compile Include="System.Security.Cryptography\DSACryptoServiceProvider.cs" />\r
+    <Compile Include="System.Security.Cryptography\ICspAsymmetricAlgorithm.cs" />\r
+    <Compile Include="System.Security.Cryptography\KeyNumber.cs" />\r
+    <Compile Include="System.Security.Cryptography\MD5CryptoServiceProvider.cs" />\r
+    <Compile Include="System.Security.Cryptography\RC2CryptoServiceProvider.cs" />\r
+    <Compile Include="System.Security.Cryptography\RNGCryptoServiceProvider.cs" />\r
+    <Compile Include="System.Security.Cryptography\RSACryptoServiceProvider.cs" />\r
+    <Compile Include="System.Security.Cryptography\RSAPKCS1SignatureDeformatter.cs" />\r
+    <Compile Include="System.Security.Cryptography\RSAPKCS1SignatureFormatter.cs" />\r
+    <Compile Include="System.Security.Cryptography\SHA1CryptoServiceProvider.cs" />\r
+    <Compile Include="System.Security.Cryptography\TripleDESCryptoServiceProvider.cs" />\r
+    <Compile Include="System.Security.Permissions\CodeAccessSecurityAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\EnvironmentPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\EnvironmentPermissionAccess.cs" />\r
+    <Compile Include="System.Security.Permissions\EnvironmentPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\FileDialogPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\FileDialogPermissionAccess.cs" />\r
+    <Compile Include="System.Security.Permissions\FileDialogPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\FileIOPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\FileIOPermissionAccess.cs" />\r
+    <Compile Include="System.Security.Permissions\FileIOPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\GacIdentityPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\GacIdentityPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\HostProtectionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\HostProtectionPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\HostProtectionResource.cs" />\r
+    <Compile Include="System.Security.Permissions\IBuiltInPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\IsolatedStorageContainment.cs" />\r
+    <Compile Include="System.Security.Permissions\IsolatedStorageFilePermission.cs" />\r
+    <Compile Include="System.Security.Permissions\IsolatedStorageFilePermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\IsolatedStoragePermission.cs" />\r
+    <Compile Include="System.Security.Permissions\IsolatedStoragePermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\IUnrestrictedPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\KeyContainerPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\KeyContainerPermissionAccessEntry.cs" />\r
+    <Compile Include="System.Security.Permissions\KeyContainerPermissionAccessEntryCollection.cs" />\r
+    <Compile Include="System.Security.Permissions\KeyContainerPermissionAccessEntryEnumerator.cs" />\r
+    <Compile Include="System.Security.Permissions\KeyContainerPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\KeyContainerPermissionFlags.cs" />\r
+    <Compile Include="System.Security.Permissions\PermissionSetAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\PermissionState.cs" />\r
+    <Compile Include="System.Security.Permissions\PrincipalPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\PrincipalPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\PublisherIdentityPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\PublisherIdentityPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\ReflectionPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\ReflectionPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\ReflectionPermissionFlag.cs" />\r
+    <Compile Include="System.Security.Permissions\RegistryPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\RegistryPermissionAccess.cs" />\r
+    <Compile Include="System.Security.Permissions\RegistryPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\SecurityAction.cs" />\r
+    <Compile Include="System.Security.Permissions\SecurityAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\SecurityPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\SecurityPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\SecurityPermissionFlag.cs" />\r
+    <Compile Include="System.Security.Permissions\SiteIdentityPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\SiteIdentityPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\StrongNameIdentityPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\StrongNamePermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\StrongNamePublicKeyBlob.cs" />\r
+    <Compile Include="System.Security.Permissions\UIPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\UIPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\UIPermissionClipboard.cs" />\r
+    <Compile Include="System.Security.Permissions\UIPermissionWindow.cs" />\r
+    <Compile Include="System.Security.Permissions\UrlIdentityPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\UrlIdentityPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Permissions\ZoneIdentityPermission.cs" />\r
+    <Compile Include="System.Security.Permissions\ZoneIdentityPermissionAttribute.cs" />\r
+    <Compile Include="System.Security.Policy\AllMembershipCondition.cs" />\r
+    <Compile Include="System.Security.Policy\ApplicationDirectory.cs" />\r
+    <Compile Include="System.Security.Policy\ApplicationDirectoryMembershipCondition.cs" />\r
+    <Compile Include="System.Security.Policy\ApplicationSecurityInfo.cs" />\r
+    <Compile Include="System.Security.Policy\ApplicationSecurityManager.cs" />\r
+    <Compile Include="System.Security.Policy\ApplicationTrust.cs" />\r
+    <Compile Include="System.Security.Policy\ApplicationTrustCollection.cs" />\r
+    <Compile Include="System.Security.Policy\ApplicationTrustEnumerator.cs" />\r
+    <Compile Include="System.Security.Policy\ApplicationVersionMatch.cs" />\r
+    <Compile Include="System.Security.Policy\CodeConnectAccess.cs" />\r
+    <Compile Include="System.Security.Policy\CodeGroup.cs" />\r
+    <Compile Include="System.Security.Policy\DefaultPolicies.cs" />\r
+    <Compile Include="System.Security.Policy\Evidence.cs" />\r
+    <Compile Include="System.Security.Policy\EvidenceBase.cs" />\r
+    <Compile Include="System.Security.Policy\FileCodeGroup.cs" />\r
+    <Compile Include="System.Security.Policy\FirstMatchCodeGroup.cs" />\r
+    <Compile Include="System.Security.Policy\Gac.cs" />\r
+    <Compile Include="System.Security.Policy\GacMembershipCondition.cs" />\r
+    <Compile Include="System.Security.Policy\Hash.cs" />\r
+    <Compile Include="System.Security.Policy\HashMembershipCondition.cs" />\r
+    <Compile Include="System.Security.Policy\IApplicationTrustManager.cs" />\r
+    <Compile Include="System.Security.Policy\IBuiltInEvidence.cs" />\r
+    <Compile Include="System.Security.Policy\IConstantMembershipCondition.cs" />\r
+    <Compile Include="System.Security.Policy\IIdentityPermissionFactory.cs" />\r
+    <Compile Include="System.Security.Policy\IMembershipCondition.cs" />\r
+    <Compile Include="System.Security.Policy\MembershipConditionHelper.cs" />\r
+    <Compile Include="System.Security.Policy\MonoTrustManager.cs" />\r
+    <Compile Include="System.Security.Policy\NetCodeGroup.cs" />\r
+    <Compile Include="System.Security.Policy\PermissionRequestEvidence.cs" />\r
+    <Compile Include="System.Security.Policy\PolicyException.cs" />\r
+    <Compile Include="System.Security.Policy\PolicyLevel.cs" />\r
+    <Compile Include="System.Security.Policy\PolicyStatement.cs" />\r
+    <Compile Include="System.Security.Policy\PolicyStatementAttribute.cs" />\r
+    <Compile Include="System.Security.Policy\Publisher.cs" />\r
+    <Compile Include="System.Security.Policy\PublisherMembershipCondition.cs" />\r
+    <Compile Include="System.Security.Policy\Site.cs" />\r
+    <Compile Include="System.Security.Policy\SiteMembershipCondition.cs" />\r
+    <Compile Include="System.Security.Policy\StrongName.cs" />\r
+    <Compile Include="System.Security.Policy\StrongNameMembershipCondition.cs" />\r
+    <Compile Include="System.Security.Policy\TrustManagerContext.cs" />\r
+    <Compile Include="System.Security.Policy\TrustManagerUIContext.cs" />\r
+    <Compile Include="System.Security.Policy\UnionCodeGroup.cs" />\r
+    <Compile Include="System.Security.Policy\Url.cs" />\r
+    <Compile Include="System.Security.Policy\UrlMembershipCondition.cs" />\r
+    <Compile Include="System.Security.Policy\Zone.cs" />\r
+    <Compile Include="System.Security.Policy\ZoneMembershipCondition.cs" />\r
+    <Compile Include="System.Security.Principal\GenericPrincipal.cs" />\r
+    <Compile Include="System.Security.Principal\IdentityNotMappedException.cs" />\r
+    <Compile Include="System.Security.Principal\IdentityReference.cs" />\r
+    <Compile Include="System.Security.Principal\IdentityReferenceCollection.cs" />\r
+    <Compile Include="System.Security.Principal\IIdentity.cs" />\r
+    <Compile Include="System.Security.Principal\IPrincipal.cs" />\r
+    <Compile Include="System.Security.Principal\NTAccount.cs" />\r
+    <Compile Include="System.Security.Principal\PrincipalPolicy.cs" />\r
+    <Compile Include="System.Security.Principal\SecurityIdentifier.cs" />\r
+    <Compile Include="System.Security.Principal\TokenAccessLevels.cs" />\r
+    <Compile Include="System.Security.Principal\TokenImpersonationLevel.cs" />\r
+    <Compile Include="System.Security.Principal\WellKnownAccount.cs" />\r
+    <Compile Include="System.Security.Principal\WellKnownSidType.cs" />\r
+    <Compile Include="System.Security.Principal\WindowsAccountType.cs" />\r
+    <Compile Include="System.Security.Principal\WindowsBuiltInRole.cs" />\r
+    <Compile Include="System.Security.Principal\WindowsIdentity.cs" />\r
+    <Compile Include="System.Security.Principal\WindowsImpersonationContext.cs" />\r
+    <Compile Include="System.Security.Principal\WindowsPrincipal.cs" />\r
+    <Compile Include="System.Security\CodeAccessPermission.cs" />\r
+    <Compile Include="System.Security\HostProtectionException.cs" />\r
+    <Compile Include="System.Security\HostSecurityManager.cs" />\r
+    <Compile Include="System.Security\HostSecurityManagerFlags.cs" />\r
+    <Compile Include="System.Security\IEvidenceFactory.cs" />\r
+    <Compile Include="System.Security\IPermission.cs" />\r
+    <Compile Include="System.Security\ISecurityEncodable.cs" />\r
+    <Compile Include="System.Security\ISecurityPolicyEncodable.cs" />\r
+    <Compile Include="System.Security\IStackWalk.cs" />\r
+    <Compile Include="System.Security\NamedPermissionSet.cs" />\r
+    <Compile Include="System.Security\PermissionBuilder.cs" />\r
+    <Compile Include="System.Security\PermissionSet.cs" />\r
+    <Compile Include="System.Security\PolicyLevelType.cs" />\r
+    <Compile Include="System.Security\SecureString.cs" />\r
+    <Compile Include="System.Security\SecurityElement.cs" />\r
+    <Compile Include="System.Security\SecurityException.cs" />\r
+    <Compile Include="System.Security\SecurityFrame.cs" />\r
+    <Compile Include="System.Security\SecurityManager.cs" />\r
+    <Compile Include="System.Security\SecurityManager_mobile.cs" />\r
+    <Compile Include="System.Security\SecurityState.cs" />\r
+    <Compile Include="System.Security\SecurityZone.cs" />\r
+    <Compile Include="System.Security\VerificationException.cs" />\r
+    <Compile Include="System.Security\XmlSyntaxException.cs" />\r
+    <Compile Include="System.Text\EncodingHelper.cs" />\r
+    <Compile Include="System.Text\Latin1Encoding.cs" />\r
+    <Compile Include="System.Text\NormalizationForm.cs" />\r
+    <Compile Include="System.Threading.Tasks\DecoupledTask.cs" />\r
+    <Compile Include="System.Threading\CompressedStack.cs" />\r
+    <Compile Include="System.Threading\EventWaitHandle.cs" />\r
+    <Compile Include="System.Threading\HostExecutionContext.cs" />\r
+    <Compile Include="System.Threading\HostExecutionContextManager.cs" />\r
+    <Compile Include="System.Threading\Interlocked.cs" />\r
+    <Compile Include="System.Threading\LockCookie.cs" />\r
+    <Compile Include="System.Threading\LockQueue.cs" />\r
+    <Compile Include="System.Threading\Monitor.cs" />\r
+    <Compile Include="System.Threading\Mutex.cs" />\r
+    <Compile Include="System.Threading\NativeEventCalls.cs" />\r
+    <Compile Include="System.Threading\NativeOverlapped.cs" />\r
+    <Compile Include="System.Threading\Overlapped.cs" />\r
+    <Compile Include="System.Threading\ReaderWriterLock.cs" />\r
+    <Compile Include="System.Threading\RegisteredWaitHandle.cs" />\r
+    <Compile Include="System.Threading\Thread.cs" />\r
+    <Compile Include="System.Threading\Timer.cs" />\r
+    <Compile Include="System.Threading\TimerCallback.cs" />\r
+    <Compile Include="System.Threading\Volatile.cs" />\r
+    <Compile Include="System.Threading\WaitHandle.cs" />\r
+    <Compile Include="System\__ComObject.cs" />\r
+    <Compile Include="System\ActivationContext.cs" />\r
+    <Compile Include="System\AndroidPlatform.cs" />\r
+    <Compile Include="System\AppContext.cs" />\r
+    <Compile Include="System\AppDomain.cs" />\r
+    <Compile Include="System\AppDomainInitializer.cs" />\r
+    <Compile Include="System\AppDomainManager.cs" />\r
+    <Compile Include="System\AppDomainSetup.cs" />\r
+    <Compile Include="System\ApplicationIdentity.cs" />\r
+    <Compile Include="System\ArgIterator.cs" />\r
+    <Compile Include="System\Array.cs" />\r
+    <Compile Include="System\AssemblyLoadEventArgs.cs" />\r
+    <Compile Include="System\AssemblyLoadEventHandler.cs" />\r
+    <Compile Include="System\Console.cs" />\r
+    <Compile Include="System\Console.iOS.cs" />\r
+    <Compile Include="System\ConsoleDriver.cs" />\r
+    <Compile Include="System\ControlCharacters.cs" />\r
+    <Compile Include="System\CrossAppDomainDelegate.cs" />\r
+    <Compile Include="System\CStreamReader.cs" />\r
+    <Compile Include="System\CStreamWriter.cs" />\r
+    <Compile Include="System\Delegate.cs" />\r
+    <Compile Include="System\DelegateSerializationHolder.cs" />\r
+    <Compile Include="System\DomainManagerInitializationFlags.cs" />\r
+    <Compile Include="System\EmptyArray.cs" />\r
+    <Compile Include="System\Environment.cs" />\r
+    <Compile Include="System\EnvironmentVariableTarget.cs" />\r
+    <Compile Include="System\Exception.cs" />\r
+    <Compile Include="System\GC.cs" />\r
+    <Compile Include="System\GCCollectionMode.cs" />\r
+    <Compile Include="System\GCNotificationStatus.cs" />\r
+    <Compile Include="System\Guid.cs" />\r
+    <Compile Include="System\Guid.MonoTouch.cs" />\r
+    <Compile Include="System\IConsoleDriver.cs" />\r
+    <Compile Include="System\IntPtr.cs" />\r
+    <Compile Include="System\KnownTerminals.cs" />\r
+    <Compile Include="System\MarshalByRefObject.cs" />\r
+    <Compile Include="System\ModuleHandle.cs" />\r
+    <Compile Include="System\MonoAsyncCall.cs" />\r
+    <Compile Include="System\MonoCQItem.cs" />\r
+    <Compile Include="System\MonoCustomAttrs.cs" />\r
+    <Compile Include="System\MonoListItem.cs" />\r
+    <Compile Include="System\MonoTouchAOTHelper.cs" />\r
+    <Compile Include="System\MonoType.cs" />\r
+    <Compile Include="System\MulticastDelegate.cs" />\r
+    <Compile Include="System\Nullable.cs" />\r
+    <Compile Include="System\NullConsoleDriver.cs" />\r
+    <Compile Include="System\NumberFormatter.cs" />\r
+    <Compile Include="System\Object.cs" />\r
+    <Compile Include="System\OperatingSystem.cs" />\r
+    <Compile Include="System\PlatformID.cs" />\r
+    <Compile Include="System\ResolveEventArgs.cs" />\r
+    <Compile Include="System\ResolveEventHandler.cs" />\r
+    <Compile Include="System\RuntimeArgumentHandle.cs" />\r
+    <Compile Include="System\RuntimeFieldHandle.cs" />\r
+    <Compile Include="System\RuntimeMethodHandle.cs" />\r
+    <Compile Include="System\RuntimeTypeHandle.cs" />\r
+    <Compile Include="System\StringComparison.cs" />\r
+    <Compile Include="System\TermInfoBooleans.cs" />\r
+    <Compile Include="System\TermInfoDriver.cs" />\r
+    <Compile Include="System\TermInfoNumbers.cs" />\r
+    <Compile Include="System\TermInfoReader.cs" />\r
+    <Compile Include="System\TermInfoStrings.cs" />\r
+    <Compile Include="System\TimeZone.cs" />\r
+    <Compile Include="System\TimeZoneInfo.Android.cs" />\r
+    <Compile Include="System\TimeZoneInfo.cs" />\r
+    <Compile Include="System\TimeZoneInfo.MonoTouch.cs" />\r
+    <Compile Include="System\TimeZoneInfo.Serialization.cs" />\r
+    <Compile Include="System\TypeCode.cs" />\r
+    <Compile Include="System\TypeSpec.cs" />\r
+    <Compile Include="System\UIntPtr.cs" />\r
+    <Compile Include="System\ValueType.cs" />\r
+    <Compile Include="System\Variant.cs" />\r
+    <Compile Include="System\Void.cs" />\r
+    <Compile Include="System\WeakReference.cs" />\r
+    <Compile Include="System\WeakReference_T.cs" />\r
+    <Compile Include="System\WindowsConsoleDriver.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="resources/charinfo.nlp">\r
+      <LogicalName>charinfo.nlp</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/collation.core.bin">\r
+      <LogicalName>collation.core.bin</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/collation.tailoring.bin">\r
+      <LogicalName>collation.tailoring.bin</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/collation.cjkCHS.bin">\r
+      <LogicalName>collation.cjkCHS.bin</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/collation.cjkCHT.bin">\r
+      <LogicalName>collation.cjkCHT.bin</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/collation.cjkJA.bin">\r
+      <LogicalName>collation.cjkJA.bin</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/collation.cjkKO.bin">\r
+      <LogicalName>collation.cjkKO.bin</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="resources/collation.cjkKOlv2.bin">\r
+      <LogicalName>collation.cjkKOlv2.bin</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
index 961c6928149290423fac42911fc9ce51e50093b4..7af21cc117bf581d15584d8654d68b906d2ce25c 100644 (file)
@@ -110,7 +110,6 @@ System/IConsoleDriver.cs
 System/IntPtr.cs
 System/KnownTerminals.cs
 System/MarshalByRefObject.cs
-System/Math.cs
 System/MonoAsyncCall.cs
 System/MonoCQItem.cs
 System/MonoCustomAttrs.cs
@@ -1000,6 +999,7 @@ ReferenceSources/SecurityContext.cs
 ../../../external/referencesource/mscorlib/system/iserviceobjectprovider.cs
 ../../../external/referencesource/mscorlib/system/invalidtimezoneexception.cs
 ../../../external/referencesource/mscorlib/system/Lazy.cs
+../../../external/referencesource/mscorlib/system/math.cs
 ../../../external/referencesource/mscorlib/system/memberaccessexception.cs
 ../../../external/referencesource/mscorlib/system/methodaccessexception.cs
 ../../../external/referencesource/mscorlib/system/midpointrounding.cs
diff --git a/mcs/class/corlib/monotouch_tv_corlib.dll.sources b/mcs/class/corlib/monotouch_tv_corlib.dll.sources
new file mode 100644 (file)
index 0000000..9e173da
--- /dev/null
@@ -0,0 +1 @@
+#include corlib.dll.sources
\ No newline at end of file
diff --git a/mcs/class/monodoc/monodoc-net_4_x.csproj b/mcs/class/monodoc/monodoc-net_4_x.csproj
new file mode 100644 (file)
index 0000000..6a392a4
--- /dev/null
@@ -0,0 +1,759 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{0248869F-8D3B-4AB2-B976-B2A9AF1319A9}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>618,612,672,809,1699,169,164,162,168,219,618,612</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>monodoc</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <DebugType>full</DebugType>\r
+    <NoWarn>618,612,672,809,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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <DebugType>pdbonly</DebugType>\r
+    <NoWarn>618,612,672,809,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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\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
+  <!-- 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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib-net_4_x.csproj">\r
+      <Project>{4903F98F-B4C9-467A-8FBA-39E7F91D9327}</Project>\r
+      <Name>ICSharpCode.SharpZipLib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Xml.Linq/System.Xml.Linq-net_4_x.csproj">\r
+      <Project>{526286D5-38D9-4579-B001-471440D57752}</Project>\r
+      <Name>System.Xml.Linq-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../System.Configuration/System.Configuration-net_4_x.csproj">\r
+      <Project>{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}</Project>\r
+      <Name>System.Configuration-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="../../docs/monodoc.xml">\r
+      <LogicalName>monodoc.xml</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/base.css">\r
+      <LogicalName>base.css</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/ecmaspec-html-css.xsl">\r
+      <LogicalName>ecmaspec-html-css.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/ecmaspec-html.xsl">\r
+      <LogicalName>ecmaspec-html.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/ecmaspec.css">\r
+      <LogicalName>ecmaspec.css</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/helper.js">\r
+      <LogicalName>helper.js</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/home.html">\r
+      <LogicalName>home.html</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/Lminus.gif">\r
+      <LogicalName>Lminus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/Lplus.gif">\r
+      <LogicalName>Lplus.gif</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/creativecommons.png">\r
+      <LogicalName>creativecommons.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/mdoc-html-format.xsl">\r
+      <LogicalName>mdoc-html-format.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/mdoc-html-utils.xsl">\r
+      <LogicalName>mdoc-html-utils.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/mdoc-sections-css.xsl">\r
+      <LogicalName>mdoc-sections-css.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/mdoc-sections.xsl">\r
+      <LogicalName>mdoc-sections.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/mono-ecma-css.xsl">\r
+      <LogicalName>mono-ecma-css.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/mono-ecma-impl.xsl">\r
+      <LogicalName>mono-ecma-impl.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/mono-ecma.css">\r
+      <LogicalName>mono-ecma.css</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/mono-ecma.xsl">\r
+      <LogicalName>mono-ecma.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/toc-html.xsl">\r
+      <LogicalName>toc-html.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/bc_bg.png">\r
+      <LogicalName>bc_bg.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/bc_separator.png">\r
+      <LogicalName>bc_separator.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/error.png">\r
+      <LogicalName>error.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/hatch.png">\r
+      <LogicalName>hatch.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/headerbg.png">\r
+      <LogicalName>headerbg.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/help.png">\r
+      <LogicalName>help.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/house.png">\r
+      <LogicalName>house.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/members.png">\r
+      <LogicalName>members.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/namespace.png">\r
+      <LogicalName>namespace.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/privclass.png">\r
+      <LogicalName>privclass.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/privdelegate.png">\r
+      <LogicalName>privdelegate.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/privenumeration.png">\r
+      <LogicalName>privenumeration.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/privevent.png">\r
+      <LogicalName>privevent.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/privextension.png">\r
+      <LogicalName>privextension.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/privfield.png">\r
+      <LogicalName>privfield.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/privinterface.png">\r
+      <LogicalName>privinterface.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/privmethod.png">\r
+      <LogicalName>privmethod.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/privproperty.png">\r
+      <LogicalName>privproperty.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/privstructure.png">\r
+      <LogicalName>privstructure.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/protclass.png">\r
+      <LogicalName>protclass.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/protdelegate.png">\r
+      <LogicalName>protdelegate.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/protenumeration.png">\r
+      <LogicalName>protenumeration.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/protevent.png">\r
+      <LogicalName>protevent.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/protextension.png">\r
+      <LogicalName>protextension.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/protfield.png">\r
+      <LogicalName>protfield.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/protinterface.png">\r
+      <LogicalName>protinterface.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/protmethod.png">\r
+      <LogicalName>protmethod.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/protproperty.png">\r
+      <LogicalName>protproperty.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/protstructure.png">\r
+      <LogicalName>protstructure.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/pubclass.png">\r
+      <LogicalName>pubclass.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/pubdelegate.png">\r
+      <LogicalName>pubdelegate.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/pubenumeration.png">\r
+      <LogicalName>pubenumeration.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/pubevent.png">\r
+      <LogicalName>pubevent.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/pubextension.png">\r
+      <LogicalName>pubextension.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/pubfield.png">\r
+      <LogicalName>pubfield.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/pubinterface.png">\r
+      <LogicalName>pubinterface.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/pubmethod.png">\r
+      <LogicalName>pubmethod.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/pubproperty.png">\r
+      <LogicalName>pubproperty.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/pubstructure.png">\r
+      <LogicalName>pubstructure.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/reference.png">\r
+      <LogicalName>reference.png</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/images/treebg.png">\r
+      <LogicalName>treebg.png</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/errors/cs0023-26.cs b/mcs/errors/cs0023-26.cs
new file mode 100644 (file)
index 0000000..3dbaeb3
--- /dev/null
@@ -0,0 +1,15 @@
+// CS0023: The `?' operator cannot be applied to operand of type `method group'
+// Line: 14
+
+class X
+{
+       void Test ()
+       {
+       }
+
+       public static void Main ()
+       {
+               X x = null;
+               System.Action n = x?.Test;
+       }
+}
\ No newline at end of file
diff --git a/mcs/errors/cs0165-53.cs b/mcs/errors/cs0165-53.cs
new file mode 100644 (file)
index 0000000..571eddc
--- /dev/null
@@ -0,0 +1,21 @@
+// CS0165: Use of unassigned local variable `v'
+// Line: 19
+
+using System;
+
+class X
+{
+       void Foo (out int value)
+       {
+               value = 1;
+       }
+
+       public static void Main ()
+       {
+               int v;
+               X[] x = null;
+
+               x?[0].Foo (out v);
+               Console.WriteLine (v);
+       }
+}
\ No newline at end of file
diff --git a/mcs/errors/cs0165-54.cs b/mcs/errors/cs0165-54.cs
new file mode 100644 (file)
index 0000000..54b151b
--- /dev/null
@@ -0,0 +1,25 @@
+// CS0165: Use of unassigned local variable `res'
+// Line: 23
+
+class A
+{
+       public B b;
+}
+
+class B
+{
+       public void Foo (int arg)
+       {
+       }
+}
+
+class X
+{
+       public static void Main ()
+       {
+               A a = null;
+               int res;
+               a?.b.Foo(res = 3);
+               System.Console.WriteLine (res);
+       }
+}
\ No newline at end of file
diff --git a/mcs/errors/cs0165-55.cs b/mcs/errors/cs0165-55.cs
new file mode 100644 (file)
index 0000000..3375850
--- /dev/null
@@ -0,0 +1,14 @@
+// CS0165: Use of unassigned local variable `res'
+// Line: 11
+
+class X
+{
+       public static int Main ()
+       {
+               string[] a = null;
+               int res;
+               var m = a?[res = 3];
+               System.Console.WriteLine (res);
+               return 0;
+       }
+}
\ No newline at end of file
diff --git a/mcs/errors/cs0176-8.cs b/mcs/errors/cs0176-8.cs
new file mode 100644 (file)
index 0000000..e9a94d5
--- /dev/null
@@ -0,0 +1,11 @@
+// CS0176: Static member `string.Empty' cannot be accessed with an instance reference, qualify it with a type name instead
+// Line: 9
+
+class X
+{
+       public static void Main ()
+       {
+               string y = null;
+               var x = y?.Empty;
+       }
+}
\ No newline at end of file
diff --git a/mcs/errors/cs0619-41.cs b/mcs/errors/cs0619-41.cs
new file mode 100644 (file)
index 0000000..6836097
--- /dev/null
@@ -0,0 +1,18 @@
+// CS0619: `Y' is obsolete: `ooo'
+// Line: 6
+
+using System;
+
+class X : I<Y>
+{
+}
+
+interface I<T>
+{
+
+}
+
+[Obsolete("ooo", true)]
+class Y
+{
+}
diff --git a/mcs/errors/cs0619-58.cs b/mcs/errors/cs0619-58.cs
new file mode 100644 (file)
index 0000000..ca274ff
--- /dev/null
@@ -0,0 +1,25 @@
+// CS0619: `Program.TestEventArgs' is obsolete: `FooBar'
+// Line: 10
+
+using System;
+
+namespace Program
+{
+       public class TestClass
+       {
+               public EventHandler<TestEventArgs> Foo;
+       }
+
+       [Obsolete(Messages.Test, true)]
+       public sealed class TestEventArgs : EventArgs
+       {
+       }
+}
+
+namespace Program
+{
+       public static class Messages
+       {
+               public const string Test = "FooBar";
+       }
+}
\ No newline at end of file
diff --git a/mcs/errors/cs1503-18.cs b/mcs/errors/cs1503-18.cs
new file mode 100644 (file)
index 0000000..a9e9337
--- /dev/null
@@ -0,0 +1,13 @@
+// CS1503: Argument `#1' cannot convert `int?' expression to type `int'
+// Line: 11
+
+class X
+{
+       public static void Main ()
+       {
+               string x = null;
+               string y = null;
+
+               var res = x?[y?.Length];
+       }
+}
index 54c9b9ed8b87a68a701676d1c601bb4c0f20f718..8edae88d54c9820fb37509e3eff2285410067961 100644 (file)
@@ -1,4 +1,4 @@
-// CS1570: XML documentation comment on `Testing.Test.PrivateField2' is not well-formed XML markup (The 'summary' start tag on line 1 position 2 does not match the end tag of 'incorrect'. Line 3, position 3.)
+// CS1570: XML documentation comment on `Testing.Test.PrivateField2' is not well-formed XML markup (The 'summary' start tag on line 1 position 3 does not match the end tag of 'incorrect'. Line 3, position 4.)
 // Line: 23
 // Compiler options: -doc:dummy.xml -warn:1 -warnaserror
 
index fbe650d2c5fe1a3d36e46a62a4354b77400000f3..44584a8dd1cdc46ef9d8571a9c10e9cd9bec765d 100644 (file)
@@ -1,4 +1,4 @@
-// CS1570: XML documentation comment on `Testing.Test.PublicProperty2' is not well-formed XML markup (The 'summary' start tag on line 1 position 2 does not match the end tag of 'incorrect'. Line 3, position 3.)
+// CS1570: XML documentation comment on `Testing.Test.PublicProperty2' is not well-formed XML markup (The 'summary' start tag on line 1 position 3 does not match the end tag of 'incorrect'. Line 3, position 4.)
 // Line: 32
 // Compiler options: -doc:dummy.xml -warn:1 -warnaserror
 
index 2ff33071608d2521b9ce6c2777bf369de3a492aa..1284950a431f30acf23c00ae075e65009927bff2 100644 (file)
@@ -1,4 +1,4 @@
-// CS1570: XML documentation comment on `Test' is not well-formed XML markup (Unexpected XML declaration. The XML declaration must be the first node in the document, and no white space characters are allowed to appear before it. Line 3, position 3.)
+// CS1570: XML documentation comment on `Test' is not well-formed XML markup (Unexpected XML declaration. The XML declaration must be the first node in the document, and no white space characters are allowed to appear before it. Line 3, position 4.)
 // Line: 13
 // Compiler options: -doc:dummy.xml -warnaserror -warn:1
 
index 67843d33c97aa8d608b2f46aa1c494e71906889d..7566d206ad45761382e4d3100954389225a5b293 100644 (file)
@@ -6,9 +6,9 @@ using System;
 
 namespace Testing
 {
-       /// <summary>
+       ///<summary>
        /// Incorrect comment markup.
-       /// </incorrect>
+       ///</incorrect>
        public class Test2
        {
        }
index 67c7228f0062618116ec31c77c930b55b848e7a2..a1b1b8747e014ff8929d115948f62c3f652a3b18 100644 (file)
@@ -4,9 +4,9 @@
 
 namespace Testing
 {
-       /// <summary> 
+       ///<summary> 
        /// incorrect markup comment for struct
-       /// </incorrect>
+       ///</incorrect>
        public struct StructTest2
        {
        }
index b0d6cf7d5eb8b61c4f91e778d408d3eaa78f9e8e..0f50aff278a79a577122a31925a34d845495c535 100644 (file)
@@ -6,9 +6,9 @@ using System;
 
 namespace Testing
 {
-       /// <summary>
+       ///<summary>
        /// incorrect markup comment for interface
-       /// </incorrect>
+       ///</incorrect>
        public interface InterfaceTest2
        {
        }
index 735bdafb92fcef99cc85227ecc8fd02398964f89..a73342179c96a1ef34f57ef015ba68c71830ba87 100644 (file)
@@ -6,9 +6,9 @@ using System;
 
 namespace Testing
 {
-       /// <summary>
+       ///<summary>
        /// comment for enum type
-       /// </incorrect>
+       ///</incorrect>
        enum EnumTest2
        {
                Foo,
index e7098ee1c1d1e8518b23a2da18cbcce615341640..cec74ba11f5f6a3843b551751d96843d10ba9c1e 100644 (file)
@@ -1,4 +1,4 @@
-// CS1570: XML documentation comment on `Testing.MyDelegate2' is not well-formed XML markup (The 'summary' start tag on line 1 position 2 does not match the end tag of 'incorrect'. Line 3, position 3.)
+// CS1570: XML documentation comment on `Testing.MyDelegate2' is not well-formed XML markup (The 'summary' start tag on line 1 position 3 does not match the end tag of 'incorrect'. Line 3, position 4.)
 // Line: 12
 // Compiler options: -doc:dummy.xml -warn:1 -warnaserror
 
index 75a9a3b5ff4791f92c684a3ffc060928ddf4b767..2d3335ff989cceb6d4457d743fb55630b0c32172 100644 (file)
@@ -1,4 +1,4 @@
-// CS1570: XML documentation comment on `Testing.Test2' is not well-formed XML markup (Name cannot begin with the '6' character, hexadecimal value 0x36. Line 1, position 2.)
+// CS1570: XML documentation comment on `Testing.Test2' is not well-formed XML markup (Name cannot begin with the '6' character, hexadecimal value 0x36. Line 1, position 3.)
 // Line: 9
 // Compiler options: -doc:dummy.xml -warn:1 -warnaserror
 
index bec4e007eebfd0052437c734afeae14853033ed2..bec54e186f259fbfc37e7696829b19e7efa0ac05 100644 (file)
@@ -1,4 +1,4 @@
-// CS1570: XML documentation comment on `Testing.Test.Constant2' is not well-formed XML markup (The 'summary' start tag on line 1 position 2 does not match the end tag of 'invalid'. Line 3, position 3.)
+// CS1570: XML documentation comment on `Testing.Test.Constant2' is not well-formed XML markup (The 'summary' start tag on line 1 position 3 does not match the end tag of 'invalid'. Line 3, position 4.)
 // Line: 19
 // Compiler options: -doc:dummy.xml -warn:1 -warnaserror
 
index 15731039843a1286a043e95119aaed0255f3bf7f..8f8f4c82a9c56c953b98252a551bf70494dbf633 100644 (file)
@@ -1,4 +1,4 @@
-// CS1570: XML documentation comment on `Testing.Test.PublicField2' is not well-formed XML markup (The 'summary' start tag on line 1 position 2 does not match the end tag of 'invalid'. Line 3, position 3.)
+// CS1570: XML documentation comment on `Testing.Test.PublicField2' is not well-formed XML markup (The 'summary' start tag on line 1 position 3 does not match the end tag of 'invalid'. Line 3, position 4.)
 // Line: 19
 // Compiler options: -doc:dummy.xml -warn:1 -warnaserror
 
index 88bfd282a6f828156f727a1a1916e760a2ffe940..c809e4389081210dc9125d0ec19a0c24fadc2c29 100644 (file)
@@ -1,4 +1,4 @@
-// CS1570: XML documentation comment on `Testing.Test2' is not well-formed XML markup (The 'summary' start tag on line 1 position 2 does not match the end tag of 'incorrect'. Line 3, position 3.)
+// CS1570: XML documentation comment on `Testing.Test2' is not well-formed XML markup (The 'summary' start tag on line 1 position 3 does not match the end tag of 'incorrect'. Line 3, position 4.)
 // Line: 12
 // Compiler options: -doc:dummy.xml -warnaserror -warn:1
 
index a551c2a7cded4959fc08757bb53150328dd627e1..441753793d41427d2402badbb8d118d3c427ecf5 100644 (file)
@@ -1,6 +1,6 @@
-// CS1904: `-1' is not a valid warning number
+// CS1904: `4013' is not a valid warning number
 // Line: 0
-// Compiler options: -nowarn:1,-1
+// Compiler options: -nowarn:4014,4013
 
 class ClassMain {
         public static void Main () {}
index 245d6bef89a99f165e462f28ddccd2653071497e..b1f325420156192360dd2b3e8513015a706284fe 100644 (file)
@@ -10,7 +10,7 @@ struct S
 class C
 {
        public S Value {
-               set { }
+               set; get;
        }
 
        static void Main ()
diff --git a/mcs/errors/cs7064.cs b/mcs/errors/cs7064.cs
new file mode 100644 (file)
index 0000000..13425ef
--- /dev/null
@@ -0,0 +1,10 @@
+// CS7064: Error opening icon file `missing'. Could not find file "*PATH*/missing"
+// Line: 0
+// Compiler options: -win32icon:missing
+
+class C
+{
+       public static void Main ()
+       {
+       }
+}
\ No newline at end of file
index 8f994051c9abc1c6e40e55aca9c53effc5bd5b71..63ddee82bfa286db0e183495ef80d6a93e4d5b90 100644 (file)
@@ -480,6 +480,9 @@ namespace Mono.ILASM {
 %token K_OFF\r
 %token K_FORWARDER\r
 %token K_CHARMAPERROR\r
+%token K_LEGACY\r
+%token K_LIBRARY\r
+%token K_AUTO\r
 \r
 /* end generated */\r
 \r
@@ -3149,9 +3152,9 @@ assembly_all              : assembly_head OPEN_BRACE assembly_decls CLOSE_BRACE
                          }\r
                        ;\r
 \r
-assembly_head          : D_ASSEMBLY asm_attr slashed_name\r
+assembly_head          : D_ASSEMBLY legacylibrary_opt asm_attr slashed_name\r
                           {\r
-                                codegen.SetThisAssembly ((string) $3, (PEAPI.AssemAttr) $2);\r
+                                codegen.SetThisAssembly ((string) $4, (PEAPI.AssemAttr) $3);\r
                                 codegen.CurrentCustomAttrTarget = codegen.ThisAssembly;\r
                                codegen.CurrentDeclSecurityTarget = codegen.ThisAssembly;\r
                           }\r
@@ -3211,19 +3214,19 @@ asm_or_ref_decl         : D_PUBLICKEY ASSIGN bytes_list
 assemblyref_all                : assemblyref_head OPEN_BRACE assemblyref_decls CLOSE_BRACE\r
                        ;\r
 \r
-assemblyref_head       : D_ASSEMBLY K_EXTERN asm_attr slashed_name\r
+assemblyref_head       : D_ASSEMBLY K_EXTERN legacylibrary_opt asm_attr slashed_name\r
                           {\r
                                 System.Reflection.AssemblyName asmb_name = \r
                                        new System.Reflection.AssemblyName ();\r
-                               asmb_name.Name = (string) $4;\r
-                               codegen.BeginAssemblyRef ((string) $4, asmb_name, (PEAPI.AssemAttr) $3);\r
+                               asmb_name.Name = (string) $5;\r
+                               codegen.BeginAssemblyRef ((string) $5, asmb_name, (PEAPI.AssemAttr) $4);\r
                           }\r
-                       | D_ASSEMBLY K_EXTERN asm_attr slashed_name K_AS slashed_name\r
+                       | D_ASSEMBLY K_EXTERN legacylibrary_opt asm_attr slashed_name K_AS slashed_name\r
                           {\r
                                 System.Reflection.AssemblyName asmb_name = \r
                                        new System.Reflection.AssemblyName ();\r
-                               asmb_name.Name = (string) $4;\r
-                               codegen.BeginAssemblyRef ((string) $6, asmb_name, (PEAPI.AssemAttr) $3);\r
+                               asmb_name.Name = (string) $5;\r
+                               codegen.BeginAssemblyRef ((string) $7, asmb_name, (PEAPI.AssemAttr) $4);\r
                           }\r
                        ;\r
 \r
@@ -3258,6 +3261,7 @@ assemblyref_decl  : D_VER int32 COLON int32 COLON int32 COLON int32
                                 if (codegen.CurrentCustomAttrTarget != null)\r
                                         codegen.CurrentCustomAttrTarget.AddCustomAttribute ((CustomAttr) $1);\r
                           }\r
+            | K_AUTO  /* MS ilasm uses this keyword to lookup the specified assembly in the GAC and embeds its attributes, we just ignore it */\r
                        ;\r
 \r
 exptype_all            : exptype_head OPEN_BRACE exptype_decls CLOSE_BRACE\r
@@ -3424,6 +3428,10 @@ semicolon_opt
                        | SEMICOLON\r
                        ;\r
 \r
+legacylibrary_opt      : /* empty */\r
+                                       | K_LEGACY K_LIBRARY  /* MS ilasm has these keywords for backwards compatibility, we just ignore them */\r
+                                       ;\r
+\r
 %%\r
 \r
 }\r
index 628c9b443670a138ee99946132ff20c06047e1a7..62ab383b6b41134fffc9c73a95d4d1ab29692fdf 100644 (file)
@@ -317,6 +317,9 @@ namespace Mono.ILASM {
                                 keywords ["off"] = new ILToken (Token.K_OFF, "off");\r
                                keywords ["strict"] = new ILToken (Token.K_STRICT, "strict");\r
                                keywords ["forwarder"] = new ILToken (Token.K_FORWARDER, "forwarder");\r
+                                keywords ["legacy"] = new ILToken (Token.K_LEGACY, "legacy");\r
+                                keywords ["library"] = new ILToken (Token.K_LIBRARY, "library");\r
+                                keywords ["auto"] = new ILToken (Token.K_AUTO, "auto");\r
 \r
                                 return keywords;\r
                         }\r
index d2aa50e7a9c8371ae417511cb81057043950f723..301ef3efc5a5f652cc787aefcb89a0ecc7ca7ca4 100644 (file)
@@ -12,6 +12,8 @@ EXTRA_DISTFILES = \
        cs-parser.jay           \
        mcs.exe.sources
 
+LIB_REFS = System System.Core System.Xml
+
 ifeq (basic, $(PROFILE))
 PROGRAM = basic.exe
 sourcefile = mcs.exe.sources
index 62e3a569c9c611211d8a05d003aed73fda3cc5cc..558b0a6e07d58a45955705dae2bfb14803da8968 100644 (file)
@@ -884,8 +884,10 @@ namespace Mono.CSharp
                                } else {
                                        Builder.Save (module.Builder.ScopeName, pekind, machine);
                                }
+                       } catch (ArgumentOutOfRangeException) {
+                               Report.Error (16, "Output file `{0}' exceeds the 4GB limit");
                        } catch (Exception e) {
-                               Report.Error (16, "Could not write to file `" + name + "', cause: " + e.Message);
+                               Report.Error (16, "Could not write to file `{0}'. {1}", name, e.Message);
                        }
                        Compiler.TimeReporter.Stop (TimeReporter.TimerType.OutputSave);
 
@@ -1101,7 +1103,7 @@ namespace Mono.CSharp
        //
        public class AssemblyBuilderExtension
        {
-               readonly CompilerContext ctx;
+               protected readonly CompilerContext ctx;
 
                public AssemblyBuilderExtension (CompilerContext ctx)
                {
index 2aa793e79658681e2a6a9879ee60a024ea626d69..a145c37211fd58b2441b23dd32ec5b35a6a12a7a 100644 (file)
@@ -482,10 +482,7 @@ namespace Mono.CSharp {
                                return null;
                        }
 
-                       ObsoleteAttribute obsolete_attr = Type.GetAttributeObsolete ();
-                       if (obsolete_attr != null) {
-                               AttributeTester.Report_ObsoleteMessage (obsolete_attr, Type.GetSignatureForError (), Location, Report);
-                       }
+                       Type.CheckObsoleteness (context, expression.StartLocation);
 
                        ResolveContext rc = null;
 
@@ -579,8 +576,6 @@ namespace Mono.CSharp {
                                        return false;
                                }
 
-                               ObsoleteAttribute obsolete_attr;
-
                                if (member is PropertyExpr) {
                                        var pi = ((PropertyExpr) member).PropertyInfo;
 
@@ -596,7 +591,9 @@ namespace Mono.CSharp {
                                                return false;
                                        }
 
-                                       obsolete_attr = pi.GetAttributeObsolete ();
+//                                     if (!context.IsObsolete)
+                                               pi.CheckObsoleteness (ec, member.StartLocation);
+                                       
                                        pi.MemberDefinition.SetIsAssigned ();
                                } else {
                                        var fi = ((FieldExpr) member).Spec;
@@ -612,13 +609,12 @@ namespace Mono.CSharp {
                                                return false;
                                        }
 
-                                       obsolete_attr = fi.GetAttributeObsolete ();
+//                                     if (!context.IsObsolete)
+                                               fi.CheckObsoleteness (ec, member.StartLocation);
+
                                        fi.MemberDefinition.SetIsAssigned ();
                                }
 
-                               if (obsolete_attr != null && !context.IsObsolete)
-                                       AttributeTester.Report_ObsoleteMessage (obsolete_attr, member.GetSignatureForError (), member.Location, Report);
-
                                if (a.Type != member.Type) {
                                        a.Expr = Convert.ImplicitConversionRequired (ec, a.Expr, member.Type, a.Expr.Location);
                                }
index eaa12fa0ebeb5e3ef6cd1632e9d23c532f5446c4..787853a619af95c9efa300fa1d2019915707fa59 100644 (file)
@@ -1729,21 +1729,9 @@ namespace Mono.CSharp
                                return;
 
                        foreach (var member in members) {
-                               var pbm = member as PropertyBasedMember;
-                               if (pbm != null) {
+                               var pbm = member as MemberBase;
+                               if (pbm != null)
                                        pbm.PrepareEmit ();
-                                       continue;
-                               }
-
-                               var mc = member as MethodCore;
-                               if (mc != null) {
-                                       mc.PrepareEmit ();
-                                       continue;
-                               }
-
-                               var c = member as Const;
-                               if (c != null)
-                                       c.DefineValue ();
                        }
 
                        base.PrepareEmit ();
@@ -1913,9 +1901,7 @@ namespace Mono.CSharp
                                        if (compiled_iface != null)
                                                compiled_iface.Define ();
 
-                                       ObsoleteAttribute oa = iface_type.GetAttributeObsolete ();
-                                       if (oa != null && !IsObsolete)
-                                               AttributeTester.Report_ObsoleteMessage (oa, iface_type.GetSignatureForError (), Location, Report);
+                                       iface_type.CheckObsoleteness (this, Location);
 
                                        if (iface_type.Arity > 0) {
                                                // TODO: passing `this' is wrong, should be base type iface instead
@@ -1956,9 +1942,7 @@ namespace Mono.CSharp
                                // Run checks skipped during DefineType (e.g FullNamedExpression::ResolveAsType)
                                //
                                if (base_type_expr != null) {
-                                       ObsoleteAttribute obsolete_attr = base_type.GetAttributeObsolete ();
-                                       if (obsolete_attr != null && !IsObsolete)
-                                               AttributeTester.Report_ObsoleteMessage (obsolete_attr, base_type.GetSignatureForError (), base_type_expr.Location, Report);
+                                       base_type.CheckObsoleteness (this, base_type_expr.Location);
 
                                        if (IsGenericOrParentIsGeneric && base_type.IsAttribute) {
                                                Report.Error (698, base_type_expr.Location,
@@ -3773,6 +3757,9 @@ namespace Mono.CSharp
                        get {
                                return type_expr;
                        }
+                       set {
+                               type_expr = value;
+                       }
                }
 
                #endregion
@@ -3878,6 +3865,12 @@ namespace Mono.CSharp
                        return Parent.GetSignatureForDocumentation () + "." + MemberName.Basename;
                }
 
+               public virtual void PrepareEmit ()
+               {
+                       if (member_type != null && type_expr != null)
+                               member_type.CheckObsoleteness (this, type_expr.Location);
+               }
+
                protected virtual bool ResolveMemberType ()
                {
                        if (member_type != null)
index 429c3b9d3b0d1f23db2fb66109e2d5ab93f6ca03..61c5f068e83f67b456ed28a6d2b0bfa6c32876ed 100644 (file)
@@ -390,6 +390,22 @@ namespace Mono.CSharp
                        if (IsAnonymousStoreyMutateRequired)
                                type = CurrentAnonymousMethod.Storey.Mutator.Mutate (type);
 
+                       if (pinned) {
+                               //
+                               // This is for .net compatibility. I am not sure why pinned
+                               // pointer temps are converted to & even if they are pointers to
+                               // pointers.
+                               //
+                               var pt = type as PointerContainer;
+                               if (pt != null) {
+                                       type = pt.Element;
+                                       if (type.Kind == MemberKind.Void)
+                                               type = Module.Compiler.BuiltinTypes.IntPtr;
+                                       
+                                       return ig.DeclareLocal (type.GetMetaInfo ().MakeByRefType (), true);
+                               }
+                       }
+
                        return ig.DeclareLocal (type.GetMetaInfo (), pinned);
                }
 
@@ -1228,7 +1244,7 @@ namespace Mono.CSharp
                                        EmitLoad (ec, !conditionalAccess);
 
                                        if (conditionalAccess) {
-                                               conditional_access_dup = !IsInexpensiveLoad ();
+                                               conditional_access_dup = !ExpressionAnalyzer.IsInexpensiveLoad (instance);
                                                if (conditional_access_dup)
                                                        ec.Emit (OpCodes.Dup);
                                        }
@@ -1260,10 +1276,12 @@ namespace Mono.CSharp
                                        instance_address.AddressOf (ec, AddressOp.Load);
                                } else if (unwrap != null) {
                                        unwrap.Emit (ec);
-                                       var tmp = ec.GetTemporaryLocal (unwrap.Type);
-                                       ec.Emit (OpCodes.Stloc, tmp);
-                                       ec.Emit (OpCodes.Ldloca, tmp);
-                                       ec.FreeTemporaryLocal (tmp, unwrap.Type);
+                                       if (addressRequired) {
+                                               var tmp = ec.GetTemporaryLocal (unwrap.Type);
+                                               ec.Emit (OpCodes.Stloc, tmp);
+                                               ec.Emit (OpCodes.Ldloca, tmp);
+                                               ec.FreeTemporaryLocal (tmp, unwrap.Type);
+                                       }
                                } else if (!conditional_access_dup) {
                                        instance.Emit (ec);
                                }
@@ -1301,7 +1319,7 @@ namespace Mono.CSharp
                        instance.Emit (ec);
 
                        // Only to make verifier happy
-                       if (boxInstance && RequiresBoxing ()) {
+                       if (boxInstance && ExpressionAnalyzer.RequiresBoxing (instance)) {
                                ec.Emit (OpCodes.Box, instance_type);
                        }
                }
@@ -1319,7 +1337,12 @@ namespace Mono.CSharp
                        return instance_type;
                }
 
-               bool RequiresBoxing ()
+
+       }
+
+       static class ExpressionAnalyzer
+       {
+               public static bool RequiresBoxing (Expression instance)
                {
                        var instance_type = instance.Type;
                        if (instance_type.IsGenericParameter && !(instance is This) && TypeSpec.IsReferenceType (instance_type))
@@ -1334,12 +1357,12 @@ namespace Mono.CSharp
                //
                // Returns true for cheap race-free load, where we can avoid using dup
                //
-               bool IsInexpensiveLoad ()
+               public static bool IsInexpensiveLoad (Expression instance)
                {
                        if (instance is Constant)
                                return instance.IsSideEffectFree;
 
-                       if (RequiresBoxing ())
+                       if (RequiresBoxing (instance))
                                return false;
 
                        var vr = instance as VariableReference;
index eef90b34603c80175df19f75373cc6c0502e6b62..046aec24c1b18b8bb3619e23a5a899bbb074f27a 100644 (file)
@@ -111,6 +111,12 @@ namespace Mono.CSharp {
                {
                        visitor.Visit (this);
                }
+
+               public override void PrepareEmit ()
+               {
+                       base.PrepareEmit ();
+                       DefineValue ();
+               }
        }
 
        public class ConstSpec : FieldSpec
index 88e523700706480b073713dc308dcdc7b8a31625..504fbd01e1e2281a670267c79573b957a8053a08 100644 (file)
@@ -189,7 +189,7 @@ namespace Mono.CSharp
 
                        TryWithCatchScope = 1 << 15,
 
-                       ConditionalAccessReceiver = 1 << 16,
+                       DontSetConditionalAccessReceiver = 1 << 16,
 
                        ///
                        /// Indicates the current context is in probing mode, no errors are reported. 
@@ -445,7 +445,6 @@ namespace Mono.CSharp
        public class FlowAnalysisContext
        {
                readonly CompilerContext ctx;
-               DefiniteAssignmentBitSet conditional_access;
 
                public FlowAnalysisContext (CompilerContext ctx, ParametersBlock parametersBlock, int definiteAssignmentLength)
                {
@@ -497,7 +496,7 @@ namespace Mono.CSharp
                        }
 
                        foreach (var existing in das) {
-                               if (DefiniteAssignmentBitSet.AreEqual (existing, DefiniteAssignment))
+                               if (DefiniteAssignmentBitSet.IsIncluded (existing, DefiniteAssignment))
                                        return true;
                        }
 
@@ -523,19 +522,6 @@ namespace Mono.CSharp
                        return da;
                }
 
-               public void BranchConditionalAccessDefiniteAssignment ()
-               {
-                       if (conditional_access == null)
-                               conditional_access = BranchDefiniteAssignment ();
-               }
-
-               public void ConditionalAccessEnd ()
-               {
-                       Debug.Assert (conditional_access != null);
-                       DefiniteAssignment = conditional_access;
-                       conditional_access = null;
-               }
-
                public bool IsDefinitelyAssigned (VariableInfo variable)
                {
                        return variable.IsAssigned (DefiniteAssignment);
index 518e2c5ab8f6d659c4aa15361c6eb008b935d96f..c46fbc92f5477cee2195e0fed0b33adc6d53505e 100644 (file)
@@ -240,6 +240,7 @@ namespace Mono.CSharp
                public bool parsing_catch_when;
 
                int parsing_string_interpolation;
+               int string_interpolation_section;
                Stack<bool> parsing_string_interpolation_quoted;
 
                public bool parsing_interpolation_format;
@@ -411,6 +412,7 @@ namespace Mono.CSharp
                        public int current_token;
                        public object val;
                        public int parsing_string_interpolation;
+                       public int string_interpolation_section;
                        public Stack<bool> parsing_string_interpolation_quoted;
 
                        public Position (Tokenizer t)
@@ -430,9 +432,11 @@ namespace Mono.CSharp
                                        ifstack = new Stack<int> (clone);
                                }
                                parsing_generic_less_than = t.parsing_generic_less_than;
+                               string_interpolation_section = t.string_interpolation_section;
                                current_token = t.current_token;
                                val = t.val;
                                parsing_string_interpolation = t.parsing_string_interpolation;
+                               string_interpolation_section = t.string_interpolation_section;
                                if (t.parsing_string_interpolation_quoted != null && t.parsing_string_interpolation_quoted.Count != 0) {
                                        var clone = t.parsing_string_interpolation_quoted.ToArray ();
                                        Array.Reverse (clone);
@@ -3373,18 +3377,26 @@ namespace Mono.CSharp
 
                                case '{':
                                        val = ltb.Create (current_source, ref_line, col);
+
+                                       if (parsing_string_interpolation > 0)
+                                               ++string_interpolation_section;
+
                                        return Token.OPEN_BRACE;
                                case '}':
                                        if (parsing_string_interpolation > 0) {
-                                               --parsing_string_interpolation;
-                                               bool quoted;
-                                               if (parsing_string_interpolation_quoted != null && parsing_string_interpolation_quoted.Count > 0) {
-                                                       quoted = parsing_string_interpolation_quoted.Pop ();
-                                               } else {
-                                                       quoted = false;
+                                               if (string_interpolation_section == 0) {
+                                                       --parsing_string_interpolation;
+                                                       bool quoted;
+                                                       if (parsing_string_interpolation_quoted != null && parsing_string_interpolation_quoted.Count > 0) {
+                                                               quoted = parsing_string_interpolation_quoted.Pop ();
+                                                       } else {
+                                                               quoted = false;
+                                                       }
+
+                                                       return TokenizeInterpolatedString (quoted);
                                                }
 
-                                               return TokenizeInterpolatedString (quoted);
+                                               --string_interpolation_section;
                                        }
 
                                        val = ltb.Create (current_source, ref_line, col);
@@ -4089,8 +4101,6 @@ namespace Mono.CSharp
                private void handle_one_line_xml_comment ()
                {
                        int c;
-                       while ((c = peek_char ()) == ' ')
-                               get_char (); // skip heading whitespaces.
                        while ((c = peek_char ()) != -1 && c != '\n' && c != '\r') {
                                xml_comment_buffer.Append ((char) get_char ());
                        }
index d60e6ca0aece20e9b2e085ff78ab2c8146817449..a386ab18b3bab8e955d5d175fc99d843ff495d43 100644 (file)
@@ -508,16 +508,6 @@ namespace Mono.CSharp {
                        return obsolete;
                }
 
-               /// <summary>
-               /// Checks for ObsoleteAttribute presence. It's used for testing of all non-types elements
-               /// </summary>
-               public virtual void CheckObsoleteness (Location loc)
-               {
-                       ObsoleteAttribute oa = GetAttributeObsolete ();
-                       if (oa != null)
-                               AttributeTester.Report_ObsoleteMessage (oa, GetSignatureForError (), loc, Report);
-               }
-
                //
                // Checks whether the type P is as accessible as this member
                //
@@ -1071,6 +1061,16 @@ namespace Mono.CSharp {
 
                #endregion
 
+               public virtual void CheckObsoleteness (IMemberContext mc, Location loc)
+               {
+                       var oa = GetAttributeObsolete ();
+                       if (oa == null)
+                               return;
+
+                       if (!mc.IsObsolete)
+                               AttributeTester.Report_ObsoleteMessage (oa, GetSignatureForError (), loc, mc.Module.Compiler.Report);
+               }
+
                public virtual ObsoleteAttribute GetAttributeObsolete ()
                {
                        if ((state & (StateFlags.Obsolete | StateFlags.Obsolete_Undetected)) == 0)
index 56fb8d6d43cf8f7f936f162408d63f139d06c034..9ec4d99766cda5ed9e154a080e11c270297262ba 100644 (file)
@@ -308,6 +308,8 @@ namespace Mono.CSharp {
 
                        InvokeBuilder.PrepareEmit ();
                        if (BeginInvokeBuilder != null) {
+                               BeginInvokeBuilder.TypeExpression = null;
+                               EndInvokeBuilder.TypeExpression = null;
                                BeginInvokeBuilder.PrepareEmit ();
                                EndInvokeBuilder.PrepareEmit ();
                        }
@@ -457,7 +459,6 @@ namespace Mono.CSharp {
        //
        public abstract class DelegateCreation : Expression, OverloadResolver.IErrorHandler
        {
-               bool conditional_access_receiver;
                protected MethodSpec constructor_method;
                protected MethodGroupExpr method_group;
 
@@ -520,25 +521,25 @@ namespace Mono.CSharp {
                        return e.CreateExpressionTree (ec);
                }
 
+               void ResolveConditionalAccessReceiver (ResolveContext rc)
+               {
+                       // LAMESPEC: Not sure why this is explicitly disalloed with very odd error message
+                       if (!rc.HasSet (ResolveContext.Options.DontSetConditionalAccessReceiver) && method_group.HasConditionalAccess ()) {
+                               Error_OperatorCannotBeApplied (rc, loc, "?", method_group.Type);
+                       }
+               }
+
                protected override Expression DoResolve (ResolveContext ec)
                {
                        constructor_method = Delegate.GetConstructor (type);
 
                        var invoke_method = Delegate.GetInvokeMethod (type);
 
-                       if (!ec.HasSet (ResolveContext.Options.ConditionalAccessReceiver)) {
-                               if (method_group.HasConditionalAccess ()) {
-                                       conditional_access_receiver = true;
-                                       ec.Set (ResolveContext.Options.ConditionalAccessReceiver);
-                               }
-                       }
+                       ResolveConditionalAccessReceiver (ec);
 
                        Arguments arguments = CreateDelegateMethodArguments (ec, invoke_method.Parameters, invoke_method.Parameters.Types, loc);
                        method_group = method_group.OverloadResolve (ec, ref arguments, this, OverloadResolver.Restrictions.CovariantDelegate);
 
-                       if (conditional_access_receiver)
-                               ec.With (ResolveContext.Options.ConditionalAccessReceiver, false);
-
                        if (method_group == null)
                                return null;
 
@@ -594,9 +595,6 @@ namespace Mono.CSharp {
                
                public override void Emit (EmitContext ec)
                {
-                       if (conditional_access_receiver)
-                               ec.ConditionalAccess = new ConditionalAccessContext (type, ec.DefineLabel ());
-
                        if (method_group.InstanceExpression == null) {
                                ec.EmitNull ();
                        } else {
@@ -615,18 +613,12 @@ namespace Mono.CSharp {
                        }
 
                        ec.Emit (OpCodes.Newobj, constructor_method);
-
-                       if (conditional_access_receiver)
-                               ec.CloseConditionalAccess (null);
                }
 
                public override void FlowAnalysis (FlowAnalysisContext fc)
                {
                        base.FlowAnalysis (fc);
                        method_group.FlowAnalysis (fc);
-
-                       if (conditional_access_receiver)
-                               fc.ConditionalAccessEnd ();
                }
 
                void Error_ConversionFailed (ResolveContext ec, MethodSpec method, Expression return_type)
index adf6ea082d007b971c433a99e4b258aa7c0ba882..296faded937ff51c83192f1636673fae75fa1d2e 100644 (file)
@@ -92,22 +92,9 @@ namespace Mono.CSharp
                                el.SetAttribute ("name", name);
                                string normalized = mc.DocComment;
                                el.InnerXml = normalized;
-                               // csc keeps lines as written in the sources
-                               // and inserts formatting indentation (which 
-                               // is different from XmlTextWriter.Formatting
-                               // one), but when a start tag contains an 
-                               // endline, it joins the next line. We don't
-                               // have to follow such a hacky behavior.
-                               string [] split =
-                                       normalized.Split ('\n');
-                               int j = 0;
-                               for (int i = 0; i < split.Length; i++) {
-                                       string s = split [i].TrimEnd ();
-                                       if (s.Length > 0)
-                                               split [j++] = s;
-                               }
-                               el.InnerXml = line_head + String.Join (
-                                       line_head, split, 0, j);
+
+                               string [] split = normalized.Split ('\n');
+                               el.InnerXml = line_head + String.Join (line_head, split);
                                return el;
                        } catch (Exception ex) {
                                Report.Warning (1570, 1, mc.Location, "XML documentation comment on `{0}' is not well-formed XML markup ({1})",
index 7b8c67d915e192c4029f4550f164088ed002aabd..68909ea8dd8ebc43eb2613890b4a1840021b060d 100644 (file)
@@ -821,6 +821,7 @@ namespace Mono.CSharp {
                        IgnoreArity = 1 << 5,
                        IgnoreAmbiguity = 1 << 6,
                        NameOfExcluded = 1 << 7,
+                       DontSetConditionalAccess = 1 << 8
                }
 
                //
@@ -1338,8 +1339,14 @@ namespace Mono.CSharp {
                                return null;
 
                        ExpressionStatement es = e as ExpressionStatement;
-                       if (es == null || e is AnonymousMethodBody)
+                       if (es == null || e is AnonymousMethodBody) {
+                               var reduced = e as IReducedExpressionStatement;
+                               if (reduced != null) {
+                                       return EmptyExpressionStatement.Instance;
+                               }
+
                                Error_InvalidExpressionStatement (ec);
+                       }
 
                        //
                        // This is quite expensive warning, try to limit the damage
@@ -1406,6 +1413,10 @@ namespace Mono.CSharp {
                }
        }
 
+       interface IReducedExpressionStatement
+       {
+       }
+
        /// <summary>
        ///   This kind of cast is used to encapsulate the child
        ///   whose type is child.Type into an expression that is
@@ -2213,7 +2224,7 @@ namespace Mono.CSharp {
        //
        public class ReducedExpression : Expression
        {
-               public sealed class ReducedConstantExpression : EmptyConstantCast
+               public class ReducedConstantExpression : EmptyConstantCast
                {
                        readonly Expression orig_expr;
 
@@ -2263,6 +2274,14 @@ namespace Mono.CSharp {
                        }
                }
 
+               sealed class ReducedConstantStatement : ReducedConstantExpression, IReducedExpressionStatement
+               {
+                       public ReducedConstantStatement (Constant expr, Expression origExpr)
+                               : base (expr, origExpr)
+                       {
+                       }
+               }
+
                sealed class ReducedExpressionStatement : ExpressionStatement
                {
                        readonly Expression orig_expr;
@@ -2344,12 +2363,15 @@ namespace Mono.CSharp {
                //
                // Creates fully resolved expression switcher
                //
-               public static Constant Create (Constant expr, Expression original_expr)
+               public static Constant Create (Constant expr, Expression originalExpr)
                {
                        if (expr.eclass == ExprClass.Unresolved)
                                throw new ArgumentException ("Unresolved expression");
 
-                       return new ReducedConstantExpression (expr, original_expr);
+                       if (originalExpr is ExpressionStatement)
+                               return new ReducedConstantStatement (expr, originalExpr);
+
+                       return new ReducedConstantExpression (expr, originalExpr);
                }
 
                public static ExpressionStatement Create (ExpressionStatement s, Expression orig)
@@ -2864,13 +2886,18 @@ namespace Mono.CSharp {
 
                                                                pe.Getter = pe.PropertyInfo.Get;
                                                        } else {
-                                                               if (rc.HasSet (ResolveContext.Options.ConstructorScope) && pe.IsAutoPropertyAccess &&
-                                                                       pe.PropertyInfo.DeclaringType == rc.CurrentType && pe.IsStatic == rc.IsStatic) {
-                                                                       var p = (Property) pe.PropertyInfo.MemberDefinition;
-                                                                       return new FieldExpr (p.BackingField, loc);
+                                                               if (!pe.PropertyInfo.HasSet) {
+                                                                       if (rc.HasSet (ResolveContext.Options.ConstructorScope) && pe.IsAutoPropertyAccess &&
+                                                                               pe.PropertyInfo.DeclaringType == rc.CurrentType && pe.IsStatic == rc.IsStatic) {
+                                                                               var p = (Property) pe.PropertyInfo.MemberDefinition;
+                                                                               return new FieldExpr (p.BackingField, loc);
+                                                                       }
+
+                                                                       variable_found = true;
+                                                                       break;
                                                                }
 
-                                                               if (!pe.PropertyInfo.HasSet || !pe.PropertyInfo.Set.IsAccessible (rc)) {
+                                                               if (!pe.PropertyInfo.Set.IsAccessible (rc)) {
                                                                        variable_found = true;
                                                                        break;
                                                                }
@@ -3078,11 +3105,10 @@ namespace Mono.CSharp {
                        // Obsolete checks cannot be done when resolving base context as they
                        // require type dependencies to be set but we are in process of resolving them
                        //
-                       if (!(mc is TypeDefinition.BaseContext) && !(mc is UsingAliasNamespace.AliasContext)) {
-                               ObsoleteAttribute obsolete_attr = type.GetAttributeObsolete ();
-                               if (obsolete_attr != null && !mc.IsObsolete) {
-                                       AttributeTester.Report_ObsoleteMessage (obsolete_attr, te.GetSignatureForError (), Location, mc.Module.Compiler.Report);
-                               }
+                       if (mc is ResolveContext) {
+                               var oa = type.GetAttributeObsolete ();
+                               if (oa != null && !mc.IsObsolete)
+                                       AttributeTester.Report_ObsoleteMessage (oa, type.GetSignatureForError (), fne.Location, mc.Module.Compiler.Report);
                        }
 
                        return type;
@@ -3480,11 +3506,7 @@ namespace Mono.CSharp {
                                ImportedTypeDefinition.Error_MissingDependency (rc, dep, loc);
                        }
 
-                       if (!rc.IsObsolete) {
-                               ObsoleteAttribute oa = member.GetAttributeObsolete ();
-                               if (oa != null)
-                                       AttributeTester.Report_ObsoleteMessage (oa, member.GetSignatureForError (), loc, rc.Report);
-                       }
+                       member.CheckObsoleteness (rc, loc);
 
                        if (!(member is FieldSpec))
                                member.MemberDefinition.SetIsUsed ();
@@ -3507,20 +3529,13 @@ namespace Mono.CSharp {
                {
                        if (InstanceExpression != null) {
                                InstanceExpression.FlowAnalysis (fc);
-
-                               if (ConditionalAccess) {
-                                       fc.BranchConditionalAccessDefiniteAssignment ();
-                               }
                        }
                }
 
                protected void ResolveConditionalAccessReceiver (ResolveContext rc)
                {
-                       if (!rc.HasSet (ResolveContext.Options.ConditionalAccessReceiver)) {
-                               if (HasConditionalAccess ()) {
-                                       conditional_access_receiver = true;
-                                       rc.Set (ResolveContext.Options.ConditionalAccessReceiver);
-                               }
+                       if (!rc.HasSet (ResolveContext.Options.DontSetConditionalAccessReceiver) && HasConditionalAccess ()) {
+                               conditional_access_receiver = true;
                        }
                }
 
@@ -3583,10 +3598,7 @@ namespace Mono.CSharp {
                                        if (InstanceExpression is TypeExpr) {
                                                var t = InstanceExpression.Type;
                                                do {
-                                                       ObsoleteAttribute oa = t.GetAttributeObsolete ();
-                                                       if (oa != null && !rc.IsObsolete) {
-                                                               AttributeTester.Report_ObsoleteMessage (oa, t.GetSignatureForError (), loc, rc.Report);
-                                                       }
+                                                       t.CheckObsoleteness (rc, loc);
 
                                                        t = t.DeclaringType;
                                                } while (t != null);
@@ -3750,13 +3762,6 @@ namespace Mono.CSharp {
                        get { return true; }
                }
 
-               public override void FlowAnalysis (FlowAnalysisContext fc)
-               {
-                       if (ConditionalAccess) {
-                               fc.BranchConditionalAccessDefiniteAssignment ();
-                       }
-               }
-
                //
                // For extension methodgroup we are not looking for base members but parent
                // namespace extension methods
@@ -4066,6 +4071,7 @@ namespace Mono.CSharp {
 
                public void EmitCall (EmitContext ec, Arguments arguments, TypeSpec conditionalAccessReceiver, bool statement)
                {
+                       var ca = ec.ConditionalAccess;
                        ec.ConditionalAccess = new ConditionalAccessContext (conditionalAccessReceiver, ec.DefineLabel ()) {
                                Statement = statement
                        };
@@ -4073,12 +4079,15 @@ namespace Mono.CSharp {
                        EmitCall (ec, arguments, statement);
 
                        ec.CloseConditionalAccess (!statement && best_candidate_return != conditionalAccessReceiver && conditionalAccessReceiver.IsNullableType ? conditionalAccessReceiver : null);
+                       ec.ConditionalAccess = ca;
                }
 
                public override void Error_ValueCannotBeConverted (ResolveContext ec, TypeSpec target, bool expl)
                {
-                       ec.Report.Error (428, loc, "Cannot convert method group `{0}' to non-delegate type `{1}'. Consider using parentheses to invoke the method",
-                               Name, target.GetSignatureForError ());
+                       if (target != InternalType.ErrorType) {
+                               ec.Report.Error (428, loc, "Cannot convert method group `{0}' to non-delegate type `{1}'. Consider using parentheses to invoke the method",
+                                       Name, target.GetSignatureForError ());
+                       }
                }
 
                public bool HasAccessibleCandidate (ResolveContext rc)
@@ -5623,9 +5632,7 @@ namespace Mono.CSharp {
                                //
                                // Check ObsoleteAttribute on the best method
                                //
-                               ObsoleteAttribute oa = best_candidate.GetAttributeObsolete ();
-                               if (oa != null && !rc.IsObsolete)
-                                       AttributeTester.Report_ObsoleteMessage (oa, best_candidate.GetSignatureForError (), loc, rc.Report);
+                               best_candidate.CheckObsoleteness (rc, loc);
 
                                best_candidate.MemberDefinition.SetIsUsed ();
                        }
@@ -6250,7 +6257,7 @@ namespace Mono.CSharp {
                                DoBestMemberChecks (ec, spec);
 
                                if (conditional_access_receiver)
-                                       ec.With (ResolveContext.Options.ConditionalAccessReceiver, false);
+                                       ec.With (ResolveContext.Options.DontSetConditionalAccessReceiver, false);
                        }
 
                        var fb = spec as FixedFieldSpec;
@@ -6281,13 +6288,11 @@ namespace Mono.CSharp {
                                variable_info = var.VariableInfo.GetStructFieldInfo (Name);
                        }
 
-                       if (ConditionalAccess) {
-                               if (conditional_access_receiver)
-                                       type = LiftMemberType (ec, type);
+                       if (conditional_access_receiver)
+                               type = LiftMemberType (ec, type);
 
-                               if (InstanceExpression.IsNull)
-                                       return Constant.CreateConstantFromValue (type, null, loc);
-                       }
+                       if (ConditionalAccess && InstanceExpression != null && InstanceExpression.IsNull)
+                               return Constant.CreateConstantFromValue (type, null, loc);
 
                        eclass = ExprClass.Variable;
                        return this;
@@ -6456,10 +6461,12 @@ namespace Mono.CSharp {
                                }
                        }
 
+                       var da = conditional_access_receiver ? fc.BranchDefiniteAssignment () : null;
+
                        base.FlowAnalysis (fc);
 
                        if (conditional_access_receiver)
-                               fc.ConditionalAccessEnd ();
+                               fc.DefiniteAssignment = da;
                }
 
                static Expression SkipLeftValueTypeAccess (Expression expr)
@@ -6983,10 +6990,12 @@ namespace Mono.CSharp {
                                }
                        }
 
+                       var da = conditional_access_receiver ? fc.BranchDefiniteAssignment () : null;
+
                        base.FlowAnalysis (fc);
 
                        if (conditional_access_receiver)
-                               fc.ConditionalAccessEnd ();
+                               fc.DefiniteAssignment = da;
                }
 
                protected override Expression OverloadResolve (ResolveContext rc, Expression right_side)
@@ -7135,12 +7144,13 @@ namespace Mono.CSharp {
                                if (expr == null)
                                        return null;
 
-                               if (expr != this)
-                                       return expr.Resolve (ec);
+                               if (expr != this) {
+                                       using (ec.With (ResolveContext.Options.DontSetConditionalAccessReceiver, conditional_access_receiver))
+                                               return expr.Resolve (ec);
+                               }
 
                                if (conditional_access_receiver) {
                                        type = LiftMemberType (ec, type);
-                                       ec.With (ResolveContext.Options.ConditionalAccessReceiver, false);
                                }
                        }
 
@@ -7207,11 +7217,13 @@ namespace Mono.CSharp {
 
                void EmitConditionalAccess (EmitContext ec, ref CallEmitter call, MethodSpec method, Arguments arguments)
                {
+                       var ca = ec.ConditionalAccess;
                        ec.ConditionalAccess = new ConditionalAccessContext (type, ec.DefineLabel ());
 
                        call.Emit (ec, method, arguments, loc);
 
                        ec.CloseConditionalAccess (method.ReturnType != type && type.IsNullableType ? type : null);
+                       ec.ConditionalAccess = ca;
                }
 
                //
@@ -7360,11 +7372,7 @@ namespace Mono.CSharp {
 
                                        spec.MemberDefinition.SetIsUsed ();
 
-                                       if (!ec.IsObsolete) {
-                                               ObsoleteAttribute oa = spec.GetAttributeObsolete ();
-                                               if (oa != null)
-                                                       AttributeTester.Report_ObsoleteMessage (oa, spec.GetSignatureForError (), loc, ec.Report);
-                                       }
+                                       spec.CheckObsoleteness (ec, loc);
 
                                        if ((spec.Modifiers & (Modifiers.ABSTRACT | Modifiers.EXTERN)) != 0)
                                                Error_AssignmentEventOnly (ec);
index 36b70ad47b254199193ec0ca033054fb3426f8ab..5df7bb0c41e8372e26b2504a18bf583d7c32f769 100644 (file)
@@ -109,21 +109,25 @@ namespace Mono.CSharp
                        this.loc = loc;
                }
 
+               void ResolveConditionalAccessReceiver (ResolveContext rc)
+               {
+                       if (!rc.HasSet (ResolveContext.Options.DontSetConditionalAccessReceiver) && expr.HasConditionalAccess ()) {
+                               conditional_access_receiver = true;
+                       }                       
+               }
+
                protected override Expression DoResolve (ResolveContext rc)
                {
                        Expression res = null;
 
-                       if (!rc.HasSet (ResolveContext.Options.ConditionalAccessReceiver)) {
-                               if (expr.HasConditionalAccess ()) {
-                                       conditional_access_receiver = true;
-                                       using (rc.Set (ResolveContext.Options.ConditionalAccessReceiver)) {
-                                               res = expr.Resolve (rc);
-                                       }
+                       ResolveConditionalAccessReceiver (rc);
+                       if (conditional_access_receiver) {
+                               using (rc.Set (ResolveContext.Options.DontSetConditionalAccessReceiver)) {
+                                       res = expr.Resolve (rc);
                                }
-                       }
-
-                       if (!conditional_access_receiver)
+                       } else {
                                res = expr.Resolve (rc);
+                       }
 
                        var constant = res as Constant;
                        if (constant != null && constant.IsLiteral)
@@ -4533,6 +4537,9 @@ namespace Mono.CSharp
                                                expr = Convert.ImplicitConversion (rc, left, Nullable.NullableInfo.GetUnderlyingType (rtype), loc);
                                                if (expr == null)
                                                        return null;
+
+                                               if ((oper & Operator.BitwiseMask) != 0)
+                                                       type = rtype;
                                        }
 
                                        if (expr != null) {
@@ -4564,6 +4571,9 @@ namespace Mono.CSharp
                                                expr = Convert.ImplicitConversion (rc, right, Nullable.NullableInfo.GetUnderlyingType (ltype), loc);
                                                if (expr == null)
                                                        return null;
+
+                                               if ((oper & Operator.BitwiseMask) != 0)
+                                                       type = ltype;
                                        }
 
                                        if (expr != null) {
@@ -6911,12 +6921,7 @@ namespace Mono.CSharp
 
                        protected override MethodGroupExpr DoResolveOverload (ResolveContext rc)
                        {
-                               if (!rc.IsObsolete) {
-                                       var member = mg.BestCandidate;
-                                       ObsoleteAttribute oa = member.GetAttributeObsolete ();
-                                       if (oa != null)
-                                               AttributeTester.Report_ObsoleteMessage (oa, member.GetSignatureForError (), loc, rc.Report);
-                               }
+                               mg.BestCandidate.CheckObsoleteness (rc, loc);
 
                                return mg;
                        }
@@ -7038,17 +7043,16 @@ namespace Mono.CSharp
                        return CreateExpressionFactoryCall (ec, "Call", args);
                }
 
-               protected override Expression DoResolve (ResolveContext rc)
+               void ResolveConditionalAccessReceiver (ResolveContext rc)
                {
-                       if (!rc.HasSet (ResolveContext.Options.ConditionalAccessReceiver)) {
-                               if (expr.HasConditionalAccess ()) {
-                                       conditional_access_receiver = true;
-                                       using (rc.Set (ResolveContext.Options.ConditionalAccessReceiver)) {
-                                               return DoResolveInvocation (rc);
-                                       }
-                               }
+                       if (!rc.HasSet (ResolveContext.Options.DontSetConditionalAccessReceiver) && expr.HasConditionalAccess ()) {
+                               conditional_access_receiver = true;
                        }
+               }
 
+               protected override Expression DoResolve (ResolveContext rc)
+               {
+                       ResolveConditionalAccessReceiver (rc);
                        return DoResolveInvocation (rc);
                }
 
@@ -7056,6 +7060,11 @@ namespace Mono.CSharp
                {
                        Expression member_expr;
                        var atn = expr as ATypeNameExpression;
+
+                       var flags = default (ResolveContext.FlagsHandle);
+                       if (conditional_access_receiver)
+                               flags = ec.Set (ResolveContext.Options.DontSetConditionalAccessReceiver);
+
                        if (atn != null) {
                                member_expr = atn.LookupNameExpression (ec, MemberLookupRestrictions.InvocableOnly | MemberLookupRestrictions.ReadAccess);
                                if (member_expr != null) {
@@ -7070,6 +7079,9 @@ namespace Mono.CSharp
                                member_expr = expr.Resolve (ec);
                        }
 
+                       if (conditional_access_receiver)
+                               flags.Dispose ();
+
                        if (member_expr == null)
                                return null;
 
@@ -7206,13 +7218,15 @@ namespace Mono.CSharp
                        if (mg.IsConditionallyExcluded)
                                return;
 
+                       var da = conditional_access_receiver ? fc.BranchDefiniteAssignment () : null;
+
                        mg.FlowAnalysis (fc);
 
                        if (arguments != null)
                                arguments.FlowAnalysis (fc);
 
                        if (conditional_access_receiver)
-                               fc.ConditionalAccessEnd ();
+                               fc.DefiniteAssignment = da;
                }
 
                public override string GetSignatureForError ()
@@ -9635,7 +9649,7 @@ namespace Mono.CSharp
 
                protected override Expression DoResolve (ResolveContext rc)
                {
-                       var e = LookupNameExpression (rc, MemberLookupRestrictions.ReadAccess);
+                       var e = LookupNameExpression (rc, MemberLookupRestrictions.ReadAccess | MemberLookupRestrictions.DontSetConditionalAccess);
                        if (e != null)
                                e = e.Resolve (rc, ResolveFlags.VariableOrValue | ResolveFlags.Type | ResolveFlags.MethodGroup);
 
@@ -9698,18 +9712,13 @@ namespace Mono.CSharp
                                        expr = null;
                                }
                        } else {
-                               bool resolved = false;
-                               if (!rc.HasSet (ResolveContext.Options.ConditionalAccessReceiver)) {
-                                       if (expr.HasConditionalAccess ()) {
-                                               resolved = true;
-                                               using (rc.Set (ResolveContext.Options.ConditionalAccessReceiver)) {
-                                                       expr = expr.Resolve (rc, flags);
-                                               }
+                               if ((restrictions & MemberLookupRestrictions.DontSetConditionalAccess) != 0) {
+                                       using (rc.Set (ResolveContext.Options.DontSetConditionalAccessReceiver)) {
+                                               expr = expr.Resolve (rc, flags);
                                        }
-                               }
-
-                               if (!resolved)
+                               } else {
                                        expr = expr.Resolve (rc, flags);
+                               }
                        }
 
                        if (expr == null)
@@ -10203,6 +10212,7 @@ namespace Mono.CSharp
        {
                public Arguments Arguments;
                public Expression Expr;
+               bool conditional_access_receiver;
 
                public ElementAccess (Expression e, Arguments args, Location loc)
                {
@@ -10230,7 +10240,14 @@ namespace Mono.CSharp
                //
                Expression CreateAccessExpression (ResolveContext ec, bool conditionalAccessReceiver)
                {
+                       if (conditionalAccessReceiver)
+                               ec.Set (ResolveContext.Options.DontSetConditionalAccessReceiver);
+                       
                        Expr = Expr.Resolve (ec);
+
+                       if (conditionalAccessReceiver)
+                               ec.With (ResolveContext.Options.DontSetConditionalAccessReceiver, false);
+
                        if (Expr == null)
                                return null;
 
@@ -10241,12 +10258,17 @@ namespace Mono.CSharp
                                return null;
                        }
 
-                       if (type.IsArray)
-                               return new ArrayAccess (this, loc) {
+                       if (type.IsArray) {
+                               var aa = new ArrayAccess (this, loc) {
                                        ConditionalAccess = ConditionalAccess,
-                                       ConditionalAccessReceiver = conditionalAccessReceiver
                                };
 
+                               if (conditionalAccessReceiver)
+                                       aa.SetConditionalAccessReceiver ();
+
+                               return aa;
+                       }
+
                        if (type.IsPointer)
                                return Expr.MakePointerAccess (ec, type, Arguments);
 
@@ -10296,22 +10318,18 @@ namespace Mono.CSharp
                        return ConditionalAccess || Expr.HasConditionalAccess ();
                }
 
-               protected override Expression DoResolve (ResolveContext rc)
+               void ResolveConditionalAccessReceiver (ResolveContext rc)
                {
-                       Expression expr;
-                       if (!rc.HasSet (ResolveContext.Options.ConditionalAccessReceiver)) {
-                               if (HasConditionalAccess ()) {
-                                       using (rc.Set (ResolveContext.Options.ConditionalAccessReceiver)) {
-                                               expr = CreateAccessExpression (rc, true);
-                                               if (expr == null)
-                                                       return null;
-
-                                               return expr.Resolve (rc);
-                                       }
-                               }
+                       if (!rc.HasSet (ResolveContext.Options.DontSetConditionalAccessReceiver) && HasConditionalAccess ()) {
+                               conditional_access_receiver = true;
                        }
+               }
+
+               protected override Expression DoResolve (ResolveContext rc)
+               {
+                       ResolveConditionalAccessReceiver (rc);
 
-                       expr = CreateAccessExpression (rc, false);
+                       var expr = CreateAccessExpression (rc, conditional_access_receiver);
                        if (expr == null)
                                return null;
 
@@ -10336,9 +10354,6 @@ namespace Mono.CSharp
                {
                        Expr.FlowAnalysis (fc);
 
-                       if (ConditionalAccess)
-                               fc.BranchConditionalAccessDefiniteAssignment ();
-
                        Arguments.FlowAnalysis (fc);
                }
 
@@ -10374,6 +10389,7 @@ namespace Mono.CSharp
                LocalTemporary temp;
                bool prepared;
                bool? has_await_args;
+               bool conditional_access_receiver;
                
                public ArrayAccess (ElementAccess ea_data, Location l)
                {
@@ -10383,8 +10399,6 @@ namespace Mono.CSharp
 
                public bool ConditionalAccess { get; set; }
 
-               public bool ConditionalAccessReceiver { get; set; }
-
                public void AddressOf (EmitContext ec, AddressOp mode)
                {
                        var ac = (ArrayContainer) ea.Expr.Type;
@@ -10441,7 +10455,7 @@ namespace Mono.CSharp
                                UnsafeError (ec, ea.Location);
                        }
 
-                       if (ConditionalAccessReceiver)
+                       if (conditional_access_receiver)
                                type = LiftMemberType (ec, type);
 
                        foreach (Argument a in ea.Arguments) {
@@ -10464,7 +10478,12 @@ namespace Mono.CSharp
 
                public override void FlowAnalysis (FlowAnalysisContext fc)
                {
+                       var da = conditional_access_receiver ? fc.BranchDefiniteAssignment () : null;
+
                        ea.FlowAnalysis (fc);
+
+                       if (conditional_access_receiver)
+                               fc.DefiniteAssignment = da;
                }
 
                public override bool HasConditionalAccess ()
@@ -10506,14 +10525,14 @@ namespace Mono.CSharp
                                        LoadInstanceAndArguments (ec, false, true);
                                }
 
-                               if (ConditionalAccessReceiver)
+                               if (conditional_access_receiver)
                                        ec.ConditionalAccess = new ConditionalAccessContext (type, ec.DefineLabel ());
 
                                var ac = (ArrayContainer) ea.Expr.Type;
                                LoadInstanceAndArguments (ec, false, false);
                                ec.EmitArrayLoad (ac);
 
-                               if (ConditionalAccessReceiver)
+                               if (conditional_access_receiver)
                                        ec.CloseConditionalAccess (type.IsNullableType && type != ac.Element ? type : null);
                        }       
 
@@ -10631,6 +10650,11 @@ namespace Mono.CSharp
                                return Arguments.MakeExpression (ea.Arguments, ctx);
                        }
                }
+
+               public void SetConditionalAccessReceiver ()
+               {
+                       conditional_access_receiver = true;
+               }
        }
 
        //
@@ -10784,11 +10808,13 @@ namespace Mono.CSharp
 
                public override void FlowAnalysis (FlowAnalysisContext fc)
                {
+                       var da = conditional_access_receiver ? fc.BranchDefiniteAssignment () : null;
+
                        base.FlowAnalysis (fc);
                        arguments.FlowAnalysis (fc);
 
                        if (conditional_access_receiver)
-                               fc.ConditionalAccessEnd ();
+                               fc.DefiniteAssignment = da;
                }
 
                public override string GetSignatureForError ()
@@ -11198,9 +11224,7 @@ namespace Mono.CSharp
                        
                protected override Expression DoResolve (ResolveContext ec)
                {
-                       ObsoleteAttribute oa = method.GetAttributeObsolete ();
-                       if (oa != null)
-                               AttributeTester.Report_ObsoleteMessage (oa, GetSignatureForError (), loc, ec.Report);
+                       method.CheckObsoleteness (ec, source.Location);
 
                        eclass = ExprClass.Value;
                        return this;
@@ -11629,6 +11653,10 @@ namespace Mono.CSharp
                                return null;
 
                        if (source is CollectionOrObjectInitializers) {
+                               target = target.Resolve (ec);
+                               if (target == null)
+                                       return null;
+                               
                                Expression previous = ec.CurrentInitializerVariable;
                                ec.CurrentInitializerVariable = target;
                                source = source.Resolve (ec);
@@ -11638,6 +11666,7 @@ namespace Mono.CSharp
                                        
                                eclass = source.eclass;
                                type = source.Type;
+
                                return this;
                        }
 
@@ -11824,7 +11853,7 @@ namespace Mono.CSharp
                                return false;
                        }
 
-                       target = new IndexerExpr (indexers, type, init, args, loc).Resolve (rc);
+                       target = new IndexerExpr (indexers, type, init, args, loc);
                        return true;
                }
        }
index b9189c1f3d6d8aa31ef785065331a78c969c275b..267879c043b75ef8dc40f3df4f150503cd69317c 100644 (file)
@@ -552,7 +552,7 @@ namespace Mono.CSharp
 
                public static DefiniteAssignmentBitSet operator & (DefiniteAssignmentBitSet a, DefiniteAssignmentBitSet b)
                {
-                       if (AreEqual (a, b))
+                       if (IsEqual (a, b))
                                return a;
 
                        DefiniteAssignmentBitSet res;
@@ -575,7 +575,7 @@ namespace Mono.CSharp
 
                public static DefiniteAssignmentBitSet operator | (DefiniteAssignmentBitSet a, DefiniteAssignmentBitSet b)
                {
-                       if (AreEqual (a, b))
+                       if (IsEqual (a, b))
                                return a;
 
                        DefiniteAssignmentBitSet res;
@@ -678,7 +678,7 @@ namespace Mono.CSharp
                                large_bits[index >> 5] |= (1 << (index & 31));
                }
 
-               public static bool AreEqual (DefiniteAssignmentBitSet a, DefiniteAssignmentBitSet b)
+               static bool IsEqual (DefiniteAssignmentBitSet a, DefiniteAssignmentBitSet b)
                {
                        if (a.large_bits == null)
                                return (a.bits & ~copy_on_write_flag) == (b.bits & ~copy_on_write_flag);
@@ -690,5 +690,20 @@ namespace Mono.CSharp
 
                        return true;
                }
+
+               public static bool IsIncluded (DefiniteAssignmentBitSet set, DefiniteAssignmentBitSet test)
+               {
+                       var set_bits = set.large_bits;
+                       if (set_bits == null)
+                               return (set.bits & test.bits & ~copy_on_write_flag) == (set.bits & ~copy_on_write_flag);
+
+                       var test_bits = test.large_bits;
+                       for (int i = 0; i < set_bits.Length; ++i) {
+                               if ((set_bits[i] & test_bits[i]) != set_bits[i])
+                                       return false;
+                       }
+
+                       return true;
+               }
        }
 }
index 369ee5db92e12ba9d6a7406e0ae4d7601db40a00..e63e999dc79dd325b8e42d7a1ab839be35de00fd 100644 (file)
@@ -195,9 +195,7 @@ namespace Mono.CSharp {
                                        continue;
 
                                if (obsoleteCheck) {
-                                       ObsoleteAttribute obsolete_attr = t.GetAttributeObsolete ();
-                                       if (obsolete_attr != null)
-                                               AttributeTester.Report_ObsoleteMessage (obsolete_attr, t.GetSignatureForError (), c.Location, context.Module.Compiler.Report);
+                                       t.CheckObsoleteness (context, c.Location);
                                }
 
                                ConstraintChecker.Check (context, t, c.Location);
@@ -651,10 +649,10 @@ namespace Mono.CSharp {
                                var meta_constraints = new List<MetaType> (spec.TypeArguments.Length);
                                foreach (var c in spec.TypeArguments) {
                                        //
-                                       // Inflated type parameters can collide with special constraint types, don't
+                                       // Inflated type parameters can collide with base type constraint, don't
                                        // emit any such type parameter.
                                        //
-                                       if (c.BuiltinType == BuiltinTypeSpec.Type.Object || c.BuiltinType == BuiltinTypeSpec.Type.ValueType)
+                                       if (c.IsClass && spec.BaseType.BuiltinType != BuiltinTypeSpec.Type.Object)
                                                continue;
 
                                        meta_constraints.Add (c.GetMetaInfo ());
@@ -1336,12 +1334,26 @@ namespace Mono.CSharp {
                {
                        cache = new MemberCache ();
 
+                       if (targs != null) {
+                               foreach (var ta in targs) {
+                                       var tps = ta as TypeParameterSpec;
+                                       var b_type = tps == null ? ta : tps.GetEffectiveBase ();
+
+                                       //
+                                       // Find the most specific type when base type was inflated from base constraints
+                                       //
+                                       if (b_type != null && !b_type.IsStructOrEnum && TypeSpec.IsBaseClass (b_type, BaseType, false))
+                                               BaseType = b_type;
+                               }
+                       }
+
                        //
                        // For a type parameter the membercache is the union of the sets of members of the types
                        // specified as a primary constraint or secondary constraint
                        //
-                       if (BaseType.BuiltinType != BuiltinTypeSpec.Type.Object && BaseType.BuiltinType != BuiltinTypeSpec.Type.ValueType)
+                       if (BaseType.BuiltinType != BuiltinTypeSpec.Type.Object && BaseType.BuiltinType != BuiltinTypeSpec.Type.ValueType) {
                                cache.AddBaseType (BaseType);
+                       }
 
                        if (InterfacesDefined != null) {
                                foreach (var iface_type in InterfacesDefined) {
@@ -1349,25 +1361,13 @@ namespace Mono.CSharp {
                                }
                        }
 
+                       //
+                       // Import interfaces after base type to match behavior from ordinary classes
+                       //
                        if (targs != null) {
                                foreach (var ta in targs) {
                                        var tps = ta as TypeParameterSpec;
-                                       IList<TypeSpec> ifaces;
-                                       TypeSpec b_type;
-                                       if (tps != null) {
-                                               b_type = tps.GetEffectiveBase ();
-                                               ifaces = tps.InterfacesDefined;
-                                       } else {
-                                               b_type = ta;
-                                               ifaces = ta.Interfaces;
-                                       }
-
-                                       //
-                                       // Don't add base type which was inflated from base constraints but it's not valid
-                                       // in C# context
-                                       //
-                                       if (b_type != null && b_type.BuiltinType != BuiltinTypeSpec.Type.Object && b_type.BuiltinType != BuiltinTypeSpec.Type.ValueType && !b_type.IsStructOrEnum)
-                                               cache.AddBaseType (b_type);
+                                       var ifaces = tps == null ? ta.Interfaces : tps.InterfacesDefined;
 
                                        if (ifaces != null) {
                                                foreach (var iface_type in ifaces) {
@@ -1940,6 +1940,14 @@ namespace Mono.CSharp {
                        return definition.GetMetaInfo ().MakeGenericType (all.ToArray ());
                }
 
+               public override void CheckObsoleteness (IMemberContext mc, Location loc)
+               {
+                       base.CheckObsoleteness (mc, loc);
+
+                       foreach (var ta in TypeArguments)
+                               ta.CheckObsoleteness (mc, loc);
+               }
+
                public override ObsoleteAttribute GetAttributeObsolete ()
                {
                        return open_type.GetAttributeObsolete ();
index 62ce26b71c079c30d68f52a0aa93b62e41321554..4ed8cf62a4ecb7bc49e9684521b0fb0176b981b5 100644 (file)
@@ -617,7 +617,15 @@ namespace Mono.CSharp
 
                public override void DefineWin32IconResource (string fileName)
                {
-                       builder.__DefineIconResource (File.ReadAllBytes (fileName));
+                       byte[] bytes;
+                       try {
+                               bytes = File.ReadAllBytes (fileName);
+                       } catch (Exception e) {
+                               ctx.Report.Error (7064, Location.Null, "Error opening icon file `{0}'. {1}", fileName, e.Message);
+                               return;
+                       }
+
+                       builder.__DefineIconResource (bytes);
                }
 
                public override AssemblyName[] GetReferencedAssemblies ()
index 7868c6a2c9d49b576a63cc69b088fd6e9c722a2d..9c804ceca575e6730e194e54a8bce5735a24cb81 100644 (file)
@@ -217,8 +217,14 @@ namespace Mono.CSharp {
                                        return false;
 
                                statement = Expr as ExpressionStatement;
-                               if (statement == null)
-                                       Expr.Error_InvalidExpressionStatement (ec);
+                               if (statement == null) {
+                                       var reduced = Expr as IReducedExpressionStatement;
+                                       if (reduced != null) {
+                                               statement = EmptyExpressionStatement.Instance;
+                                       } else {
+                                               Expr.Error_InvalidExpressionStatement (ec);
+                                       }
+                               }
 
                                return true;
                        }
diff --git a/mcs/mcs/mcs-net_4_x.csproj b/mcs/mcs/mcs-net_4_x.csproj
new file mode 100644 (file)
index 0000000..46e528f
--- /dev/null
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{322A755A-ED38-4295-979D-E49EBAFA2852}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>bin\Debug\mcs-net_4_x</OutputPath>\r
+    <NoStdLib>True</NoStdLib>\r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mcs</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+  \r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
+    <DebugSymbols>true</DebugSymbols>\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
+    <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;DISABLE_CAS_USE</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\external\ikvm\reflect\*.cs" />\r
+    <Compile Include="..\..\external\ikvm\reflect\Emit\*.cs" />\r
+    <Compile Include="..\..\external\ikvm\reflect\Impl\ITypeOwner.cs" />\r
+    <Compile Include="..\..\external\ikvm\reflect\Impl\SymbolSupport.cs" />\r
+    <Compile Include="..\..\external\ikvm\reflect\Metadata\*.cs" />\r
+    <Compile Include="..\..\external\ikvm\reflect\Reader\*.cs" />\r
+    <Compile Include="..\..\external\ikvm\reflect\Writer\*.cs" />\r
+    <Compile Include="..\build\common\Consts.cs" />\r
+    <Compile Include="..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolFile.cs" />\r
+    <Compile Include="..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolTable.cs" />\r
+    <Compile Include="..\class\Mono.CompilerServices.SymbolWriter\SourceMethodBuilder.cs" />\r
+    <Compile Include="..\class\Mono.Security\Mono.Security.Cryptography\CryptoConvert.cs" />\r
+    <Compile Include="..\tools\monop\outline.cs" />\r
+    <Compile Include="anonymous.cs" />\r
+    <Compile Include="argument.cs" />\r
+    <Compile Include="assembly.cs" />\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="assign.cs" />\r
+    <Compile Include="async.cs" />\r
+    <Compile Include="attribute.cs" />\r
+    <Compile Include="cfold.cs" />\r
+    <Compile Include="class.cs" />\r
+    <Compile Include="codegen.cs" />\r
+    <Compile Include="complete.cs" />\r
+    <Compile Include="const.cs" />\r
+    <Compile Include="constant.cs" />\r
+    <Compile Include="context.cs" />\r
+    <Compile Include="convert.cs" />\r
+    <Compile Include="cs-tokenizer.cs" />\r
+    <Compile Include="decl.cs" />\r
+    <Compile Include="delegate.cs" />\r
+    <Compile Include="doc.cs" />\r
+    <Compile Include="driver.cs" />\r
+    <Compile Include="dynamic.cs" />\r
+    <Compile Include="ecore.cs" />\r
+    <Compile Include="enum.cs" />\r
+    <Compile Include="eval.cs" />\r
+    <Compile Include="expression.cs" />\r
+    <Compile Include="field.cs" />\r
+    <Compile Include="flowanalysis.cs" />\r
+    <Compile Include="generic.cs" />\r
+    <Compile Include="ikvm.cs" />\r
+    <Compile Include="import.cs" />\r
+    <Compile Include="iterators.cs" />\r
+    <Compile Include="lambda.cs" />\r
+    <Compile Include="linq.cs" />\r
+    <Compile Include="literal.cs" />\r
+    <Compile Include="location.cs" />\r
+    <Compile Include="membercache.cs" />\r
+    <Compile Include="method.cs" />\r
+    <Compile Include="modifiers.cs" />\r
+    <Compile Include="module.cs" />\r
+    <Compile Include="namespace.cs" />\r
+    <Compile Include="nullable.cs" />\r
+    <Compile Include="parameter.cs" />\r
+    <Compile Include="pending.cs" />\r
+    <Compile Include="property.cs" />\r
+    <Compile Include="reflection.cs" />\r
+    <Compile Include="report.cs" />\r
+    <Compile Include="settings.cs" />\r
+    <Compile Include="statement.cs" />\r
+    <Compile Include="support.cs" />\r
+    <Compile Include="typemanager.cs" />\r
+    <Compile Include="typespec.cs" />\r
+    <Compile Include="visit.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
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+$(ProjectDir)\..\jay\jay -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\cs-parser.jay > $(ProjectDir)\cs-parser.cs\r
+\r
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+$(ProjectDir)\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\cs-parser.jay > $(ProjectDir)\cs-parser.cs\r
+\r
+    </PreBuildEvent>\r
+\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../class/corlib/corlib-net_4_x.csproj">\r
+      <Project>{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}</Project>\r
+      <Name>corlib-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../class/System/System-net_4_x.csproj">\r
+      <Project>{2762E921-91A8-4C87-91E9-BA628013F753}</Project>\r
+      <Name>System-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../class/System.Core/System.Core-net_4_x.csproj">\r
+      <Project>{359142A1-D80F-401E-AA64-7167C9317649}</Project>\r
+      <Name>System.Core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../class/System.XML/System.Xml-net_4_x.csproj">\r
+      <Project>{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}</Project>\r
+      <Name>System.Xml-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 6033cf47de3f0cf54054dc676c1f8f3c63629d36..d1e0b3e2b83027c080f3cd70b615ba25f28411b2 100644 (file)
@@ -165,8 +165,9 @@ namespace Mono.CSharp {
                        return s + parameters.GetSignatureForDocumentation ();
                }
 
-               public virtual void PrepareEmit ()
+               public override void PrepareEmit ()
                {
+                       base.PrepareEmit ();
                        parameters.ResolveDefaultValues (this);
                }
 
@@ -1090,19 +1091,12 @@ namespace Mono.CSharp {
                                        }
 
                                        if (base_override.IsGeneric) {
-                                               ObsoleteAttribute oa;
                                                foreach (var base_tp in base_tparams) {
-                                                       oa = base_tp.BaseType.GetAttributeObsolete ();
-                                                       if (oa != null) {
-                                                               AttributeTester.Report_ObsoleteMessage (oa, base_tp.BaseType.GetSignatureForError (), Location, Report);
-                                                       }
+                                                       base_tp.BaseType.CheckObsoleteness (this, Location);
 
                                                        if (base_tp.InterfacesDefined != null) {
                                                                foreach (var iface in base_tp.InterfacesDefined) {
-                                                                       oa = iface.GetAttributeObsolete ();
-                                                                       if (oa != null) {
-                                                                               AttributeTester.Report_ObsoleteMessage (oa, iface.GetSignatureForError (), Location, Report);
-                                                                       }
+                                                                       iface.CheckObsoleteness (this, Location);
                                                                }
                                                        }
                                                }
index 541466770e7e2bc8f1e00f6831f7177614354137..2639d046d1bfe1c8ce36790aab6a936847098688 100644 (file)
@@ -1177,7 +1177,7 @@ namespace Mono.CSharp {
                                                                continue;
 
                                                        if (mode == LookupMode.Normal)
-                                                               throw new NotImplementedException ();
+                                                               continue;
                                                        
                                                        return null;
                                                }
index f3ed348c14fa910174e4322e61e0651f4e487ac5..210f5cb8ca6b9e7675e014ed079f6296bafd12e3 100644 (file)
@@ -1282,7 +1282,7 @@ namespace Mono.CSharp.Nullable
                        //
                        // Null check is done on original expression not after expression is converted to
                        // result type. This is in most cases same but when user conversion is involved
-                       // we can end up in situation when use operator does the null handling which is
+                       // we can end up in situation when user operator does the null handling which is
                        // not what the operator is supposed to do
                        //
                        var op_expr = left as UserCast;
index 20339cf7adb9a796a82660e0de7f4c7e05f0455b..275f1013e8b9dfb533215ddeaeb466e4d4a8faf9 100644 (file)
@@ -1336,6 +1336,9 @@ namespace Mono.CSharp {
                        for (int i = 0; i < parameters.Length; ++i) {
                                Parameter p = (Parameter) parameters [i];
 
+                               if (p.Type != null)
+                                       p.Type.CheckObsoleteness (m, p.Location);
+
                                //
                                // Try not to enter default values resolution if there are is not any default value possible
                                //
index 718fe669922f885d4191817f1de83d06e4543221..cdd1d15172598491583019f1d437a8d4d7d7517d 100644 (file)
@@ -82,8 +82,6 @@ namespace Mono.CSharp
                        }
                }
 
-               public abstract void PrepareEmit ();
-
                protected override bool VerifyClsCompliance ()
                {
                        if (!base.VerifyClsCompliance ())
@@ -1451,6 +1449,8 @@ namespace Mono.CSharp
 
                public override void PrepareEmit ()
                {
+                       base.PrepareEmit ();
+
                        add.PrepareEmit ();
                        remove.PrepareEmit ();
 
@@ -1760,9 +1760,8 @@ namespace Mono.CSharp
 
                public override void PrepareEmit ()
                {
-                       parameters.ResolveDefaultValues (this);
-
                        base.PrepareEmit ();
+                       parameters.ResolveDefaultValues (this);
                }
 
                protected override bool VerifyClsCompliance ()
index 9b366d636d852ef5040f9d0d6d145a2b542dfbc1..13abbd67c67425faf5f9b3701068ea4c9a2aefc2 100644 (file)
@@ -583,15 +583,21 @@ namespace Mono.CSharp {
                {
                        bool valid = true;
                        foreach (string wid in text.Split (numeric_value_separator, StringSplitOptions.RemoveEmptyEntries)) {
+                               var warning = wid;
+                               if (warning.Length == 6 && warning [0] == 'C' && warning [1] == 'S')
+                                       warning = warning.Substring (2);
+
                                int id;
-                               if (!int.TryParse (wid, NumberStyles.AllowLeadingWhite, CultureInfo.InvariantCulture, out id)) {
-                                       report.Error (1904, "`{0}' is not a valid warning number", wid);
-                                       valid = false;
+                               if (!int.TryParse (warning, NumberStyles.AllowLeadingWhite, CultureInfo.InvariantCulture, out id)) {
                                        continue;
                                }
 
-                               if (report.CheckWarningCode (id, Location.Null))
+                               if (report.CheckWarningCode (id, Location.Null)) {
                                        action (id);
+                               } else {
+                                       report.Error (1904, "`{0}' is not a valid warning number", wid);
+                                       valid = false;
+                               }
                        }
 
                        return valid;
@@ -1561,7 +1567,7 @@ namespace Mono.CSharp {
                                "   -help                Lists all compiler options (short: -?)\n" +
                                "   -keycontainer:NAME   The key pair container used to sign the output assembly\n" +
                                "   -keyfile:FILE        The key file used to strongname the ouput assembly\n" +
-                               "   -langversion:TEXT    Specifies language version: ISO-1, ISO-2, 3, 4, 5, Default or Future\n" +
+                               "   -langversion:TEXT    Specifies language version: ISO-1, ISO-2, 3, 4, 5, Default or Experimental\n" +
                                "   -lib:PATH1[,PATHn]   Specifies the location of referenced assemblies\n" +
                                "   -main:CLASS          Specifies the class with the Main method (short: -m)\n" +
                                "   -noconfig            Disables implicitly referenced assemblies\n" +
index 1d431c4b7580805193a4105b2dc296c7780ffdfa..f3bde1607cbb59d7728eccb21143b870dda1fc0f 100644 (file)
@@ -1222,7 +1222,7 @@ namespace Mono.CSharp {
                                                //
                                                // The return type is actually Task<T> type argument
                                                //
-                                               if (expr.Type == async_type) {
+                                               if (expr.Type == async_type && async_type.TypeArguments [0] != ec.Module.PredefinedTypes.Task.TypeSpec) {
                                                        ec.Report.Error (4016, loc,
                                                                "`{0}': The return expression type of async method must be `{1}' rather than `Task<{1}>'",
                                                                ec.GetSignatureForError (), async_type.TypeArguments[0].GetSignatureForError ());
@@ -2456,6 +2456,9 @@ namespace Mono.CSharp {
                        get {
                                return (flags & Flags.FixedVariable) != 0;
                        }
+                       set {
+                               flags = value ? flags | Flags.FixedVariable : flags & ~Flags.FixedVariable;
+                       }
                }
 
                bool INamedBlockVariable.IsParameter {
@@ -3367,7 +3370,7 @@ namespace Mono.CSharp {
                                                                var parent_this_block = pb;
                                                                while (parent_this_block.Parent != null) {
                                                                        parent_this_block = parent_this_block.Parent.ParametersBlock;
-                                                                       if (parent_this_block.StateMachine != null) {
+                                                                       if (parent_this_block.StateMachine != null && parent_this_block.StateMachine.HoistedThis != null) {
                                                                                break;
                                                                        }
                                                                }
@@ -6248,9 +6251,9 @@ namespace Mono.CSharp {
                        }
                }
 
-               class ExpressionEmitter : Emitter {
-                       public ExpressionEmitter (Expression converted, LocalVariable li) :
-                               base (converted, li)
+               sealed class ExpressionEmitter : Emitter {
+                       public ExpressionEmitter (Expression converted, LocalVariable li)
+                               base (converted, li)
                        {
                        }
 
@@ -6290,6 +6293,7 @@ namespace Mono.CSharp {
                                        LocalVariable.Flags.FixedVariable | LocalVariable.Flags.CompilerGenerated | LocalVariable.Flags.Used,
                                        vi.Location);
                                pinned_string.Type = rc.BuiltinTypes.String;
+                               vi.IsFixed = false;
 
                                eclass = ExprClass.Variable;
                                type = rc.BuiltinTypes.Int;
@@ -6348,8 +6352,9 @@ namespace Mono.CSharp {
                                //
                                // Case 1: Array
                                //
-                               if (res.Type.IsArray) {
-                                       TypeSpec array_type = TypeManager.GetElementType (res.Type);
+                               var ac = res.Type as ArrayContainer;
+                               if (ac != null) {
+                                       TypeSpec array_type = ac.Element;
 
                                        //
                                        // Provided that array_type is unmanaged,
@@ -6357,6 +6362,15 @@ namespace Mono.CSharp {
                                        if (!TypeManager.VerifyUnmanaged (bc.Module, array_type, loc))
                                                return null;
 
+                                       Expression res_init;
+                                       if (ExpressionAnalyzer.IsInexpensiveLoad (res)) {
+                                               res_init = res;
+                                       } else {
+                                               var expr_variable = LocalVariable.CreateCompilerGenerated (ac, bc.CurrentBlock, loc);
+                                               res_init = new CompilerAssign (expr_variable.CreateReferenceExpression (bc, loc), res, loc);
+                                               res = expr_variable.CreateReferenceExpression (bc, loc);
+                                       }
+
                                        //
                                        // and T* is implicitly convertible to the
                                        // pointer type given in the fixed statement.
@@ -6371,7 +6385,7 @@ namespace Mono.CSharp {
                                        // fixed (T* e_ptr = (e == null || e.Length == 0) ? null : converted [0])
                                        //
                                        converted = new Conditional (new BooleanExpression (new Binary (Binary.Operator.LogicalOr,
-                                               new Binary (Binary.Operator.Equality, res, new NullLiteral (loc)),
+                                               new Binary (Binary.Operator.Equality, res_init, new NullLiteral (loc)),
                                                new Binary (Binary.Operator.Equality, new MemberAccess (res, "Length"), new IntConstant (bc.BuiltinTypes, 0, loc)))),
                                                        new NullLiteral (loc),
                                                        converted, loc);
index aec01995e2f975870262b8212b6a003deb5468b7..81894f06c762ea1d6146e2e9d99905b2d3a7f4e1 100644 (file)
@@ -1627,6 +1627,11 @@ namespace Mono.CSharp
 
                #endregion
 
+               public override void CheckObsoleteness (IMemberContext mc, Location loc)
+               {
+                       Element.CheckObsoleteness (mc, loc);
+               }
+
                public override ObsoleteAttribute GetAttributeObsolete ()
                {
                        return Element.GetAttributeObsolete ();
index eeb4992cc9353e4c4b11ef0c961adfe8bd55b368..bc66d3dad63fe1e2747001c8e9c4af87747def1f 100644 (file)
@@ -74,6 +74,14 @@ class C
                if (res2)
                        return 17;
 
+               var r1 = a_n & E.V;
+               if (r1 != null)
+                       return 18;
+
+               var r2 = E.V & a_n;
+               if (r2 != null)
+                       return 19;
+
                Console.WriteLine ("ok");
 
                return 0;
diff --git a/mcs/tests/gtest-633.cs b/mcs/tests/gtest-633.cs
new file mode 100644 (file)
index 0000000..32882ba
--- /dev/null
@@ -0,0 +1,18 @@
+using System;
+
+struct BB
+{}
+
+public class X
+{
+       public static void Main ()
+       {
+               // Reduced expression statements
+               
+               new BB? ();
+               new float();
+
+               Action a = () => new float();
+               a ();
+       }
+}
\ No newline at end of file
diff --git a/mcs/tests/gtest-634.cs b/mcs/tests/gtest-634.cs
new file mode 100644 (file)
index 0000000..b078d28
--- /dev/null
@@ -0,0 +1,27 @@
+using System;
+
+public abstract class ThingWithOrganizationId
+{
+       public Guid OrganizationId;
+}
+
+public class Thing : ThingWithOrganizationId
+{
+}
+
+public abstract class BaseService<TConstraint> 
+{
+       public abstract void Save<T> (T newThing) where T : TConstraint;
+}
+
+public class DerivedService:BaseService<Thing>
+{
+       public override void Save<TThing>(TThing newThing)
+       {
+               Console.WriteLine (newThing.OrganizationId);
+       }
+
+       static void Main ()
+       {
+       }
+}
\ No newline at end of file
diff --git a/mcs/tests/gtest-autoproperty-20.cs b/mcs/tests/gtest-autoproperty-20.cs
new file mode 100644 (file)
index 0000000..b05fc17
--- /dev/null
@@ -0,0 +1,45 @@
+using System;
+
+namespace BrokenOverrideProperty
+{
+       abstract class BaseClass
+       {
+               protected BaseClass (string text)
+               {
+                       Whatever = text;
+               }
+
+               public virtual string Whatever { get; set; }
+       }
+
+       class DerivedClass : BaseClass
+       {
+               public string CalledValue;
+
+               public DerivedClass (string text) : base (text)
+               {
+               }
+
+               public override string Whatever {
+                       get {
+                               return "DerivedClass";
+                       }
+                       set {
+                               CalledValue = value;
+                               Console.WriteLine ("set called with {0}", value);
+                       }
+               }
+       }
+
+       class MainClass
+       {
+               public static int Main ()
+               {
+                       var klass = new DerivedClass ("test-value");
+                       if (klass.CalledValue != "test-value")
+                               return 1;
+
+                       return 0;
+               }
+       }
+}
diff --git a/mcs/tests/test-927.cs b/mcs/tests/test-927.cs
new file mode 100644 (file)
index 0000000..3a9df11
--- /dev/null
@@ -0,0 +1,27 @@
+// Compiler options: -unsafe
+
+using System;
+
+class MainClass
+{
+       static int called;
+
+       public static double[] GetTempBuffer ()
+       {
+               ++called;
+               return new double[4];
+       }
+
+       public static int Main ()
+       {
+               unsafe {
+                       fixed (double* dummy = GetTempBuffer()) {
+                       }
+               }
+
+               if (called != 1)
+                       return 1;
+
+               return 0;
+       }
+}
diff --git a/mcs/tests/test-928.cs b/mcs/tests/test-928.cs
new file mode 100644 (file)
index 0000000..9018013
--- /dev/null
@@ -0,0 +1,29 @@
+// Compiler options: -unsafe
+
+using System;
+using System.Reflection;
+using System.Linq;
+
+unsafe class Program
+{
+       public static void Test ()
+       {
+               string s = "";
+               unsafe {
+                       fixed (char *chars = s) {
+                       }
+               }
+       }
+
+       public static int Main ()
+       {
+               Test ();
+
+               var m = typeof (Program).GetMethod ("Test");
+               var lv = m.GetMethodBody ().LocalVariables.Where (l => l.LocalType == typeof (char*)).Single ();
+               if (lv.IsPinned)
+                       return 1;
+
+               return 0;
+       }
+}
diff --git a/mcs/tests/test-async-68.cs b/mcs/tests/test-async-68.cs
new file mode 100644 (file)
index 0000000..f101c94
--- /dev/null
@@ -0,0 +1,22 @@
+using System.Threading.Tasks;
+
+class X
+{
+       public async Task ReturnsTaskAsync (Task task)
+       {
+               await task;
+       }
+
+       public async Task<Task> ReturnsTaskOfTaskAsync ()
+       {
+               var t1 = Task.FromResult (ReturnsTaskAsync (null));
+               await t1;
+               Task<Task> t2 = Task.FromResult (ReturnsTaskAsync (null));
+               return t2;
+       }
+
+       public static void Main ()
+       {
+               new X ().ReturnsTaskOfTaskAsync ().Wait ();
+       }
+}
\ No newline at end of file
diff --git a/mcs/tests/test-async-80.cs b/mcs/tests/test-async-80.cs
new file mode 100644 (file)
index 0000000..3f2b127
--- /dev/null
@@ -0,0 +1,21 @@
+using System.Threading.Tasks;
+using System;
+
+class X
+{
+       public async Task Test<T, U> (int arg)
+       {
+               await Task.Run (async () => {
+                                       await Task.Run (async () => {
+                                               Console.WriteLine (this);
+                                       });
+                               return arg;
+                       }
+               );
+       }
+
+       public static void Main ()
+       {
+               new X().Test<int, long>(1).Wait ();
+       }
+}
\ No newline at end of file
diff --git a/mcs/tests/test-dictinit-05.cs b/mcs/tests/test-dictinit-05.cs
new file mode 100644 (file)
index 0000000..2d05213
--- /dev/null
@@ -0,0 +1,23 @@
+using System.Collections.Generic;
+
+class A {
+       public A ()
+       {
+               Info = new Dictionary<string, int>();
+       }
+
+       public Dictionary<string, int> Info { get; set; }
+}
+
+class X
+{
+       public static void Main ()
+       {
+               var x = new A () {
+                       Info = { 
+                               ["x"] = 1,
+                               ["y"] = 2
+                       }
+               };
+       }
+}
\ No newline at end of file
diff --git a/mcs/tests/test-interpolation-08.cs b/mcs/tests/test-interpolation-08.cs
new file mode 100644 (file)
index 0000000..f617c52
--- /dev/null
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+
+public class Program
+{
+       public static int Main ()
+       {
+               var x = $@"({
+                               new Dictionary<int, object> {
+                                       { 1, "bbb" }
+                               }.Count
+                               });";
+
+               if (x != "(1);")
+                       return 1;
+
+               return 0;
+       }
+}
\ No newline at end of file
diff --git a/mcs/tests/test-null-operator-04.cs b/mcs/tests/test-null-operator-04.cs
deleted file mode 100644 (file)
index 6796920..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-using System;
-
-public class D
-{
-       void Foo ()
-       {
-       }
-
-       public static void Main()
-       {
-               D d = null;
-               Action a = d?.Foo;
-       }
-}
diff --git a/mcs/tests/test-null-operator-16.cs b/mcs/tests/test-null-operator-16.cs
new file mode 100644 (file)
index 0000000..773744e
--- /dev/null
@@ -0,0 +1,33 @@
+using System;
+
+class X
+{
+       Action<string> a;
+
+       public static void Main ()
+       {
+               string x = null;
+               string y = null;
+               string[] z = null;
+
+               x?.Contains (y?.ToLowerInvariant ());
+               x?.Contains (y?.Length.ToString ());
+
+               var res = x?[y?.Length ?? 0];
+
+               var res2 = z?[x?.Length ?? 0];
+
+               x?.Foo (y?.ToLowerInvariant ());
+
+               X xx = null;
+               xx?.a (y?.ToLowerInvariant ());
+       }
+}
+
+static class E
+{
+       public static string Foo (this string arg, string value)
+       {
+               return "";
+       }
+}
diff --git a/mcs/tests/test-null-operator-17.cs b/mcs/tests/test-null-operator-17.cs
new file mode 100644 (file)
index 0000000..1268b64
--- /dev/null
@@ -0,0 +1,14 @@
+class A
+{
+       public int[] BB;
+}
+
+class X
+{
+       public static int Main ()
+       {
+               A a = null;
+               var m = a?.BB?[3];
+               return 0;
+       }
+}
\ No newline at end of file
diff --git a/mcs/tests/test-null-operator-18.cs b/mcs/tests/test-null-operator-18.cs
new file mode 100644 (file)
index 0000000..ad0d72e
--- /dev/null
@@ -0,0 +1,20 @@
+using System;
+
+static class MainClass
+{
+       public static void Main()
+       {
+               TestBug();
+       }
+
+       public static void TestBug()
+       {
+               int? value = null;
+               value?.Test();
+       }
+
+       public static void Test(this int value)
+       {
+               Console.WriteLine("Not null");
+       }
+}
diff --git a/mcs/tests/test-static-using-11.cs b/mcs/tests/test-static-using-11.cs
new file mode 100644 (file)
index 0000000..25d19b8
--- /dev/null
@@ -0,0 +1,34 @@
+using static A;
+using static B;
+
+class A
+{
+       public class TestMe
+       {
+       }
+
+       public static int TestMe1 ()
+       {
+               return 0;
+       }
+}
+
+class B
+{
+       public static int TestMe2 ()
+       {
+               return 0;
+       }
+
+       public class TestMe1
+       {
+       }
+}
+
+class C
+{
+       public static void Main ()
+       {
+               new TestMe1 ();
+       }
+}
\ No newline at end of file
diff --git a/mcs/tests/test-xml-073-ref.xml b/mcs/tests/test-xml-073-ref.xml
new file mode 100644 (file)
index 0000000..a67bfe5
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>test-xml-073</name>
+    </assembly>
+    <members>
+        <member name="T:X">
+            <text>
+            A line
+            
+               An indented line
+            </text>
+            </member>
+    </members>
+</doc>
diff --git a/mcs/tests/test-xml-073.cs b/mcs/tests/test-xml-073.cs
new file mode 100644 (file)
index 0000000..9c65c82
--- /dev/null
@@ -0,0 +1,13 @@
+// Compiler options: -doc:xml-073.xml
+///<text>
+///A line
+///
+///   An indented line
+///</text>
+class X
+{
+    public static void Main ()
+    {
+
+    }
+}
\ No newline at end of file
index 55d0bf8f5a7962c38f2304fceb1edd8a6f144061..5f67520de7d6cdc755b4364fada13315a71de998 100644 (file)
     </type>
     <type name="C">
       <method name="Int32 Main()" attrs="150">
-        <size>603</size>
+        <size>727</size>
       </method>
       <method name="Void .ctor()" attrs="6278">
         <size>7</size>
   <test name="gtest-629.cs">
     <type name="Program">
       <method name="Void Main()" attrs="150">
-        <size>135</size>
+        <size>116</size>
       </method>
       <method name="Void .ctor()" attrs="6278">
         <size>7</size>
       </method>
     </type>
   </test>
+  <test name="gtest-633.cs">
+    <type name="X">
+      <method name="Void Main()" attrs="150">
+        <size>38</size>
+      </method>
+      <method name="Void &lt;Main&gt;m__0()" attrs="145">
+        <size>1</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="gtest-634.cs">
+    <type name="ThingWithOrganizationId">
+      <method name="Void .ctor()" attrs="6276">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="Thing">
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="BaseService`1[TConstraint]">
+      <method name="Void Save[T](T)" attrs="1478">
+        <size>0</size>
+      </method>
+      <method name="Void .ctor()" attrs="6276">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="DerivedService">
+      <method name="Void Save[TThing](TThing)" attrs="198">
+        <size>23</size>
+      </method>
+      <method name="Void Main()" attrs="145">
+        <size>2</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-anontype-01.cs">
     <type name="Test">
       <method name="Int32 Main()" attrs="150">
       </method>
     </type>
   </test>
+  <test name="gtest-autoproperty-20.cs">
+    <type name="BrokenOverrideProperty.BaseClass">
+      <method name="System.String get_Whatever()" attrs="2502">
+        <size>14</size>
+      </method>
+      <method name="Void set_Whatever(System.String)" attrs="2502">
+        <size>8</size>
+      </method>
+      <method name="Void .ctor(String)" attrs="6276">
+        <size>15</size>
+      </method>
+    </type>
+    <type name="BrokenOverrideProperty.DerivedClass">
+      <method name="System.String get_Whatever()" attrs="2246">
+        <size>14</size>
+      </method>
+      <method name="Void set_Whatever(System.String)" attrs="2246">
+        <size>20</size>
+      </method>
+      <method name="Void .ctor(String)" attrs="6278">
+        <size>9</size>
+      </method>
+    </type>
+    <type name="BrokenOverrideProperty.MainClass">
+      <method name="Int32 Main()" attrs="150">
+        <size>49</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="gtest-collectioninit-01.cs">
     <type name="Test">
       <method name="Void TestList(System.Collections.Generic.List`1[System.Int32], Int32)" attrs="145">
       </method>
     </type>
   </test>
+  <test name="test-927.cs">
+    <type name="MainClass">
+      <method name="Double[] GetTempBuffer()" attrs="150">
+        <size>27</size>
+      </method>
+      <method name="Int32 Main()" attrs="150">
+        <size>70</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-928.cs">
+    <type name="Program">
+      <method name="Void Test()" attrs="150">
+        <size>25</size>
+      </method>
+      <method name="Int32 Main()" attrs="150">
+        <size>105</size>
+      </method>
+      <method name="Boolean &lt;Main&gt;m__0(System.Reflection.LocalVariableInfo)" attrs="145">
+        <size>29</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="test-93.cs">
     <type name="N1.C">
       <method name="Void .ctor()" attrs="6278">
     </type>
     <type name="Program+&lt;OnReadHandle&gt;c__AnonStorey0">
       <method name="Int32 &lt;&gt;m__0(Int32)" attrs="131">
-        <size>55</size>
+        <size>47</size>
       </method>
       <method name="Void .ctor()" attrs="6278">
         <size>7</size>
       </method>
     </type>
   </test>
+  <test name="test-async-68.cs">
+    <type name="X">
+      <method name="System.Threading.Tasks.Task ReturnsTaskAsync(System.Threading.Tasks.Task)" attrs="134">
+        <size>41</size>
+      </method>
+      <method name="System.Threading.Tasks.Task`1[System.Threading.Tasks.Task] ReturnsTaskOfTaskAsync()" attrs="134">
+        <size>41</size>
+      </method>
+      <method name="Void Main()" attrs="150">
+        <size>17</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="X+&lt;ReturnsTaskAsync&gt;c__async0">
+      <method name="Void MoveNext()" attrs="486">
+        <size>157</size>
+      </method>
+      <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">
+        <size>13</size>
+      </method>
+    </type>
+    <type name="X+&lt;ReturnsTaskOfTaskAsync&gt;c__async1">
+      <method name="Void MoveNext()" attrs="486">
+        <size>217</size>
+      </method>
+      <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">
+        <size>13</size>
+      </method>
+    </type>
+  </test>
   <test name="test-async-69.cs">
     <type name="Test">
       <method name="System.Threading.Tasks.Task`1[System.Int32] YieldValue(Int32)" attrs="145">
       </method>
     </type>
   </test>
+  <test name="test-async-80.cs">
+    <type name="X">
+      <method name="System.Threading.Tasks.Task Test[T,U](Int32)" attrs="134">
+        <size>49</size>
+      </method>
+      <method name="Void Main()" attrs="150">
+        <size>18</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="X+&lt;Test&gt;c__async0`2[T,U]">
+      <method name="Void MoveNext()" attrs="486">
+        <size>219</size>
+      </method>
+      <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">
+        <size>13</size>
+      </method>
+    </type>
+    <type name="X+&lt;Test&gt;c__async0`2+&lt;Test&gt;c__AnonStorey32[T,U]">
+      <method name="System.Threading.Tasks.Task`1[System.Int32] &lt;&gt;m__0()" attrs="131">
+        <size>54</size>
+      </method>
+      <method name="System.Threading.Tasks.Task &lt;&gt;m__1()" attrs="131">
+        <size>46</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="X+&lt;Test&gt;c__async0`2+&lt;Test&gt;c__AnonStorey32+&lt;Test&gt;c__async2B[T,U]">
+      <method name="Void MoveNext()" attrs="486">
+        <size>191</size>
+      </method>
+      <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">
+        <size>13</size>
+      </method>
+    </type>
+    <type name="X+&lt;Test&gt;c__async0`2+&lt;Test&gt;c__AnonStorey32+&lt;Test&gt;c__async31[T,U]">
+      <method name="Void MoveNext()" attrs="486">
+        <size>77</size>
+      </method>
+      <method name="Void SetStateMachine(System.Runtime.CompilerServices.IAsyncStateMachine)" attrs="486">
+        <size>13</size>
+      </method>
+    </type>
+  </test>
   <test name="test-cls-00.cs">
     <type name="CLSCLass_6">
       <method name="Void add_Disposed(Delegate)" attrs="2182">
       </method>
     </type>
   </test>
+  <test name="test-dictinit-05.cs">
+    <type name="A">
+      <method name="System.Collections.Generic.Dictionary`2[System.String,System.Int32] get_Info()" attrs="2182">
+        <size>14</size>
+      </method>
+      <method name="Void set_Info(System.Collections.Generic.Dictionary`2[System.String,System.Int32])" attrs="2182">
+        <size>8</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>19</size>
+      </method>
+    </type>
+    <type name="X">
+      <method name="Void Main()" attrs="150">
+        <size>44</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="test-ex-filter-01.cs">
     <type name="X">
       <method name="Int32 Main()" attrs="150">
       </method>
     </type>
   </test>
+  <test name="test-interpolation-08.cs">
+    <type name="Program">
+      <method name="Int32 Main()" attrs="150">
+        <size>73</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="test-iter-01.cs">
     <type name="X">
       <method name="Int32 Main()" attrs="150">
       </method>
     </type>
   </test>
-  <test name="test-null-operator-04.cs">
-    <type name="D">
-      <method name="Void Foo()" attrs="129">
-        <size>2</size>
-      </method>
-      <method name="Void Main()" attrs="150">
-        <size>26</size>
-      </method>
-      <method name="Void .ctor()" attrs="6278">
-        <size>7</size>
-      </method>
-    </type>
-  </test>
   <test name="test-null-operator-05.cs">
     <type name="CI">
       <method name="Void set_Item(System.String, System.String)" attrs="2182">
     </type>
   </test>
   <test name="test-null-operator-08.cs">
+    <type name="S">
+      <method name="Void Foo(Boolean)" attrs="486">
+        <size>38</size>
+      </method>
+    </type>
     <type name="Program">
       <method name="Void M[T](T)" attrs="145">
         <size>88</size>
       <method name="Void M3[T](System.Nullable`1[T])" attrs="145">
         <size>106</size>
       </method>
-      <method name="Void Main()" attrs="145">
-        <size>165</size>
-      </method>
-      <method name="Void .ctor()" attrs="6278">
-        <size>7</size>
-      </method>
-    </type>
-    <type name="S">
-      <method name="Void Foo(Boolean)" attrs="486">
-        <size>38</size>
-      </method>
-    </type>
-    <type name="Program">
       <method name="Void TestAddress_1[T](T)" attrs="145">
         <size>56</size>
       </method>
       <method name="Void TestAddress_2[T](T[])" attrs="145">
         <size>82</size>
       </method>
+      <method name="Void Main()" attrs="145">
+        <size>165</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
     </type>
   </test>
   <test name="test-null-operator-09.cs">
       </method>
     </type>
   </test>
+  <test name="test-null-operator-16.cs">
+    <type name="X">
+      <method name="Void Main()" attrs="150">
+        <size>307</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="E">
+      <method name="System.String Foo(System.String, System.String)" attrs="150">
+        <size>14</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-null-operator-17.cs">
+    <type name="A">
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="X">
+      <method name="Int32 Main()" attrs="150">
+        <size>61</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-null-operator-18.cs">
+    <type name="MainClass">
+      <method name="Void Main()" attrs="150">
+        <size>7</size>
+      </method>
+      <method name="Void TestBug()" attrs="150">
+        <size>38</size>
+      </method>
+      <method name="Void Test(Int32)" attrs="150">
+        <size>12</size>
+      </method>
+    </type>
+  </test>
+  <test name="test-null-operator-19.cs">
+    <type name="C">
+      <method name="S get_Acceleration()" attrs="2182">
+        <size>14</size>
+      </method>
+      <method name="Void set_Acceleration(S)" attrs="2182">
+        <size>8</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="X">
+      <method name="Int32 Main()" attrs="150">
+        <size>114</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="test-partial-01.cs">
     <type name="Foo.Hello">
       <method name="Void .ctor()" attrs="6278">
       </method>
     </type>
   </test>
+  <test name="test-static-using-11.cs">
+    <type name="A">
+      <method name="Int32 TestMe1()" attrs="150">
+        <size>10</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="A+TestMe">
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="B">
+      <method name="Int32 TestMe2()" attrs="150">
+        <size>10</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="B+TestMe1">
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+    <type name="C">
+      <method name="Void Main()" attrs="150">
+        <size>8</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="test-var-01.cs">
     <type name="Test">
       <method name="Int32 Main()" attrs="150">
index fb41c761c47027c13e63dbcfe4bd21f9732ab011..bb5f715b03f8025ccb1af0a2f6a27825dd5b3c28 100644 (file)
@@ -45,7 +45,8 @@ net_4_5_dirs := \
        security        \
        mdbrebase       \
        ikdasm          \
-       mono-symbolicate
+       mono-symbolicate        \
+       linker-analyzer
 
 build_SUBDIRS = gacutil security culevel
 net_4_5_SUBDIRS = gacutil
index d18efe5f70369084497d5295b53cd50f43799489..dee528ebc7a6966e7b1472855f14d5917298ca25 100644 (file)
@@ -61,6 +61,16 @@ namespace Xamarin.ApiDiff {
                {
                }
 
+               string GetContainingType (XElement el)
+               {
+                       return el.Ancestors ("class").First ().Attribute ("type").Value;
+               }
+
+               bool IsInInterface (XElement el)
+               {
+                       return GetContainingType (el) == "interface";
+               }
+
                public XElement Source { get; set; }
 
                public virtual bool Find (XElement e)
@@ -183,7 +193,9 @@ namespace Xamarin.ApiDiff {
                {
                        first = true;
                        Output.WriteLine ("<p>Added {0}:</p>", list.Count () > 1 ? GroupName : ElementName);
-                       Output.WriteLine (State.Colorize ? "<pre style='color: green'>" : "<pre>");
+
+                       bool isInterface = list.Count () > 0 && IsInInterface (list.First ());
+                       Output.WriteLine (State.Colorize ? string.Format ("<pre style='color: {0}'>", isInterface ? "red" : "green") : "<pre>");
                }
 
                public override void Added (XElement target)
@@ -551,7 +563,7 @@ namespace Xamarin.ApiDiff {
                                change.Append ("[Obsolete (");
                                if (tgtObsolete != string.Empty)
                                        change.Append ("\"").Append (tgtObsolete).Append ("\"");
-                               change.Append ("]\n");
+                               change.Append (")]\n");
                                change.Append (GetDescription (target));
                                if (State.Colorize)
                                        change.Append ("</span>");
index a689210b12bbcd6a1a791cef41794be3e1a4378c..b32394dd5f79d0b8aec634b48cb236b5981f15d3 100644 (file)
@@ -224,11 +224,11 @@ namespace CorCompare
                        AddAttribute (nassembly, "version", aname.Version.ToString ());
                        parent.AppendChild (nassembly);
                        TypeForwardedToData.OutputForwarders (document, nassembly, ass);
-                       AttributeData.OutputAttributes (document, nassembly, ass.CustomAttributes);
+                       AttributeData.OutputAttributes (document, nassembly, ass);
                        var typesCollection = ass.MainModule.Types;
                        if (typesCollection == null || typesCollection.Count == 0)
                                return;
-                       object [] typesArray = new object [typesCollection.Count];
+                       var typesArray = new TypeDefinition [typesCollection.Count];
                        for (int i = 0; i < typesCollection.Count; i++) {
                                typesArray [i] = typesCollection [i];
                        }
@@ -287,15 +287,12 @@ namespace CorCompare
                                if (!NoMemberAttributes)
                                        AddAttribute (mnode, "attrib", GetMemberAttributes (member));
 
-                               AttributeData.OutputAttributes (document, mnode, GetCustomAttributes (member));
+                               AttributeData.OutputAttributes (document, mnode, (ICustomAttributeProvider) member);
 
                                AddExtraData (mnode, member);
                        }
                }
 
-
-               protected abstract IList<CustomAttribute> GetCustomAttributes (MemberReference member);
-
                protected virtual void AddExtraData (XmlNode p, MemberReference memberDefenition)
                {
                }
@@ -330,15 +327,15 @@ namespace CorCompare
 
                        var gparameters = provider.GenericParameters;
 
-                       XmlElement ngeneric = document.CreateElement (string.Format ("generic-parameters"));
+                       XmlElement ngeneric = document.CreateElement ("generic-parameters");
                        nclass.AppendChild (ngeneric);
 
                        foreach (GenericParameter gp in gparameters) {
-                               XmlElement nparam = document.CreateElement (string.Format ("generic-parameter"));
+                               XmlElement nparam = document.CreateElement ("generic-parameter");
                                nparam.SetAttribute ("name", gp.Name);
                                nparam.SetAttribute ("attributes", ((int) gp.Attributes).ToString ());
 
-                               AttributeData.OutputAttributes (document, nparam, gp.CustomAttributes);
+                               AttributeData.OutputAttributes (document, nparam, gp);
 
                                ngeneric.AppendChild (nparam);
 
@@ -368,11 +365,6 @@ namespace CorCompare
                {
                        this.type = type;
                }
-
-               protected override IList<CustomAttribute> GetCustomAttributes (MemberReference member) {
-                       return ((TypeDefinition) member).CustomAttributes;
-               }
-
                public override void DoOutput ()
                {
                        if (document == null)
@@ -412,11 +404,11 @@ namespace CorCompare
 
                        parent.AppendChild (nclass);
 
-                       AttributeData.OutputAttributes (document, nclass, GetCustomAttributes(type));
+                       AttributeData.OutputAttributes (document, nclass, type);
 
                        XmlNode ifaces = null;
 
-                       foreach (TypeReference iface in  TypeHelper.GetInterfaces (type)) {
+                       foreach (TypeReference iface in TypeHelper.GetInterfaces (type).OrderBy (s => s.FullName)) {
                                if (!TypeHelper.IsPublic (iface))
                                        // we're only interested in public interfaces
                                        continue;
@@ -454,7 +446,7 @@ namespace CorCompare
 
                                MethodDefinition [] ctors = GetConstructors (type);
                                if (ctors.Length > 0) {
-                                       Array.Sort (ctors, MemberReferenceComparer.Default);
+                                       Array.Sort (ctors, MethodDefinitionComparer.Default);
                                        members.Add (new ConstructorData (document, nclass, ctors));
                                }
 
@@ -472,7 +464,7 @@ namespace CorCompare
 
                                MethodDefinition [] methods = GetMethods (type);
                                if (methods.Length > 0) {
-                                       Array.Sort (methods, MemberReferenceComparer.Default);
+                                       Array.Sort (methods, MethodDefinitionComparer.Default);
                                        members.Add (new MethodData (document, nclass, methods));
                                }
                        }
@@ -495,11 +487,13 @@ namespace CorCompare
                                nested.RemoveAt (i);
                        }
 
-
                        if (nested.Count > 0) {
+                               var nestedArray = nested.ToArray ();
+                               Array.Sort (nestedArray, TypeReferenceComparer.Default);
+
                                XmlNode classes = document.CreateElement ("classes", null);
                                nclass.AppendChild (classes);
-                               foreach (TypeDefinition t in nested) {
+                               foreach (TypeDefinition t in nestedArray) {
                                        TypeData td = new TypeData (document, classes, t);
                                        td.DoOutput ();
                                }
@@ -713,10 +707,6 @@ namespace CorCompare
                {
                }
 
-               protected override IList<CustomAttribute> GetCustomAttributes (MemberReference member) {
-                       return ((FieldDefinition) member).CustomAttributes;
-               }
-
                protected override string GetName (MemberReference memberDefenition)
                {
                        FieldDefinition field = (FieldDefinition) memberDefenition;
@@ -769,10 +759,6 @@ namespace CorCompare
                {
                }
 
-               protected override IList<CustomAttribute> GetCustomAttributes (MemberReference member) {
-                       return ((PropertyDefinition) member).CustomAttributes;
-               }
-
                protected override string GetName (MemberReference memberDefenition)
                {
                        PropertyDefinition prop = (PropertyDefinition) memberDefenition;
@@ -834,10 +820,6 @@ namespace CorCompare
                {
                }
 
-               protected override IList<CustomAttribute> GetCustomAttributes (MemberReference member) {
-                       return ((EventDefinition) member).CustomAttributes;
-               }
-
                protected override string GetName (MemberReference memberDefenition)
                {
                        EventDefinition evt = (EventDefinition) memberDefenition;
@@ -875,10 +857,6 @@ namespace CorCompare
                {
                }
 
-               protected override IList<CustomAttribute> GetCustomAttributes (MemberReference member) {
-                       return ((MethodDefinition) member).CustomAttributes;
-               }
-
                protected override string GetName (MemberReference memberDefenition)
                {
                        MethodDefinition method = (MethodDefinition) memberDefenition;
@@ -919,7 +897,7 @@ namespace CorCompare
                        if (rettype != "System.Void" || !mbase.IsConstructor)
                                AddAttribute (p, "returntype", (rettype));
 
-                       AttributeData.OutputAttributes (document, p, mbase.MethodReturnType.CustomAttributes);
+                       AttributeData.OutputAttributes (document, p, mbase.MethodReturnType);
 
                        MemberData.OutputGenericParameters (document, p, mbase);
                }
@@ -993,7 +971,7 @@ namespace CorCompare
                                if (direction != "in")
                                        AddAttribute (paramNode, "direction", direction);
 
-                               AttributeData.OutputAttributes (document, paramNode, parameter.CustomAttributes);
+                               AttributeData.OutputAttributes (document, paramNode, parameter);
                        }
                }
        }
@@ -1071,7 +1049,7 @@ namespace CorCompare
                        PopulateMapping (mapping, attribute);
 
                        var constructor = attribute.Constructor.Resolve ();
-                       if (constructor == null || constructor.Parameters.Count == 0)
+                       if (constructor == null || !constructor.HasParameters)
                                return mapping;
 
                        PopulateMapping (mapping, constructor, attribute);
@@ -1081,6 +1059,9 @@ namespace CorCompare
 
                static void PopulateMapping (Dictionary<string, object> mapping, CustomAttribute attribute)
                {
+                       if (!attribute.HasProperties)
+                               return;
+                       
                        foreach (var named_argument in attribute.Properties) {
                                var name = named_argument.Name;
                                var arg = named_argument.Argument;
@@ -1224,7 +1205,7 @@ namespace CorCompare
                        if (!type.IsEnum)
                                return false;
 
-                       if (type.CustomAttributes.Count == 0)
+                       if (!type.HasCustomAttributes)
                                return false;
 
                        foreach (CustomAttribute attribute in type.CustomAttributes)
@@ -1313,9 +1294,12 @@ namespace CorCompare
                                || type_name.EndsWith ("TODOAttribute");
                }
 
-               public static void OutputAttributes (XmlDocument doc, XmlNode parent, IList<CustomAttribute> attributes)
+               public static void OutputAttributes (XmlDocument doc, XmlNode parent, ICustomAttributeProvider provider)
                {
-                       AttributeData ad = new AttributeData (doc, parent, attributes);
+                       if (!provider.HasCustomAttributes)
+                               return;
+                       
+                       AttributeData ad = new AttributeData (doc, parent, provider.CustomAttributes);
                        ad.DoOutput ();
                }
        }
@@ -1325,7 +1309,7 @@ namespace CorCompare
                public static string GetSignature (IList<ParameterDefinition> infos)
                {
                        if (infos == null || infos.Count == 0)
-                               return "";
+                               return string.Empty;
 
                        var signature = new StringBuilder ();
                        for (int i = 0; i < infos.Count; i++) {
@@ -1343,8 +1327,10 @@ namespace CorCompare
                                else
                                        modifier = string.Empty;
 
-                               if (modifier.Length > 0)
-                                       signature.AppendFormat ("{0} ", modifier);
+                               if (modifier.Length > 0) {
+                                       signature.Append (modifier);
+                                       signature.Append (" ");
+                               }
 
                                signature.Append (Utils.CleanupTypeName (info.ParameterType));
                        }
@@ -1394,6 +1380,15 @@ namespace CorCompare
                        if (res != 0)
                                return res;
 
+                       if (!ma.HasParameters && !mb.HasParameters)
+                               return 0;
+
+                       if (!ma.HasParameters)
+                               return -1;
+
+                       if (!mb.HasParameters)
+                               return 1;
+
                        IList<ParameterDefinition> pia = ma.Parameters ;
                        IList<ParameterDefinition> pib = mb.Parameters;
                        res = pia.Count - pib.Count;
diff --git a/mcs/tools/linker-analyzer/ConsoleDependencyGraph.cs b/mcs/tools/linker-analyzer/ConsoleDependencyGraph.cs
new file mode 100644 (file)
index 0000000..a778ffd
--- /dev/null
@@ -0,0 +1,146 @@
+//
+// ConsoleDependencyGraph.cs: text output related code for dependency graph
+//
+// Author:
+//   Radek Doulik (rodo@xamarin.com)
+//
+// Copyright 2015 Xamarin Inc (http://www.xamarin.com).
+//
+using System;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
+using LinkerAnalyzer.Core;
+
+namespace LinkerAnalyzer
+{
+       public class ConsoleDependencyGraph : DependencyGraph
+       {
+               public bool Tree = false;
+
+               public void ShowDependencies (string raw, List<VertexData> verticesList, string searchString)
+               {
+                       VertexData vertex = Vertex (raw);
+                       if (vertex == null) {
+                               Regex regex = new Regex (searchString);
+                               int count = 0;
+
+                               foreach (var v in verticesList) {
+                                       if (regex.Match (v.value) != Match.Empty) {
+                                               ShowDependencies (v);
+                                               count++;
+                                       }
+                               }
+
+                               if (count == 0)
+                                       Console.WriteLine ("\nUnable to find vertex: {0}", raw);
+                               else
+                                       Console.WriteLine ("\nFound {0} matches", count);
+                       } else
+                               ShowDependencies (vertex);
+               }
+
+               public void ShowDependencies (VertexData vertex)
+               {
+                       Header ("{0} dependencies", vertex.value);
+                       if (vertex.parentIndexes == null) {
+                               Console.WriteLine ("Root dependency");
+                       } else {
+                               int i = 0;
+                               foreach (int index in vertex.parentIndexes) {
+                                       Console.WriteLine ("Dependency #{0}", ++i);
+                                       Console.WriteLine ("\t{0}", vertex.value);
+                                       var childVertex = Vertex (index);
+                                       Console.WriteLine ("\t| {0}{1}", childVertex.value, childVertex.DepsCount);
+                                       while (childVertex.parentIndexes != null) {
+                                               childVertex = Vertex (childVertex.parentIndexes [0]);
+                                               Console.WriteLine ("\t| {0}{1}", childVertex.value, childVertex.DepsCount);
+                                       }
+                                       if (Tree)
+                                               break;
+                               }
+                       }
+               }
+
+               public void ShowAllDependencies ()
+               {
+                       Header ("All dependencies");
+                       Console.WriteLine ("Types count: {0}", vertices.Count);
+                       foreach (var vertex in vertices)
+                               ShowDependencies (vertex);
+               }
+
+               public void ShowTypesDependencies ()
+               {
+                       Header ("All types dependencies");
+                       Console.WriteLine ("Deps count: {0}", Types.Count);
+                       foreach (var type in Types)
+                               ShowDependencies (type);
+               }
+
+               string Tabs (string key)
+               {
+                       int count = Math.Max (1, 2 - key.Length / 8);
+
+                       if (count == 1)
+                               return "\t";
+                       else
+                               return "\t\t";
+               }
+
+               public void ShowStat (bool verbose = false)
+               {
+                       Header ("Statistics");
+                       if (verbose) {
+                               foreach (var key in counts.Keys)
+                                       Console.WriteLine ("Vertex type:\t{0}{1}count:{2}", key, Tabs (key), counts [key]);
+                       } else {
+                               Console.WriteLine ("Assemblies:\t{0}", counts ["Assembly"]);
+                               Console.WriteLine ("Modules:\t{0}", counts ["Module"]);
+                               Console.WriteLine ("Types:\t\t{0}", counts ["TypeDef"]);
+                               Console.WriteLine ("Fields:\t\t{0}", counts ["Field"]);
+                               Console.WriteLine ("Methods:\t{0}", counts ["Method"]);
+                       }
+
+                       Console.WriteLine ();
+                       Console.WriteLine ("Total vertices: {0}", vertices.Count);
+               }
+
+               public void ShowRoots ()
+               {
+                       Header ("Root vertices");
+
+                       int count = 0;
+                       foreach (var vertex in vertices) {
+                               if (vertex.parentIndexes == null) {
+                                       Console.WriteLine ("{0}", vertex.value);
+                                       count++;
+                               }
+                       }
+
+                       Console.WriteLine ();
+                       Console.WriteLine ("Total root vertices: {0}", count);
+               }
+
+               public void ShowRawDependencies (string raw)
+               {
+                       Header ("Raw dependencies: '{0}'", raw);
+                       ShowDependencies (raw, vertices, raw);
+               }
+
+               public void ShowTypeDependencies (string raw)
+               {
+                       Header ("Type dependencies: '{0}'", raw);
+                       ShowDependencies ("TypeDef:" + raw, Types, raw);
+               }
+
+               void Header (string header, params object[] values)
+               {
+                       string formatted = string.Format (header, values);
+                       Console.WriteLine ();
+                       Console.Write ("--- {0} ", formatted);
+                       for (int i=0; i< Math.Max (3, 64 - formatted.Length); i++)
+                               Console.Write ('-');
+                       Console.WriteLine ();
+               }
+       }
+}
diff --git a/mcs/tools/linker-analyzer/Info.plist b/mcs/tools/linker-analyzer/Info.plist
new file mode 100644 (file)
index 0000000..19517b1
--- /dev/null
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+       <key>CFBundleDisplayName</key>
+       <string>LinkerAnalyzer</string>
+       <key>CFBundleDevelopmentRegion</key>
+       <string>en</string>
+       <key>CFBundleIconFile</key>
+       <string></string>
+       <key>CFBundleIdentifier</key>
+       <string>com.your-company.LinkerAnalyzer</string>
+       <key>CFBundleInfoDictionaryVersion</key>
+       <string>6.0</string>
+       <key>CFBundleName</key>
+       <string>LinkerAnalyzer</string>
+       <key>CFBundlePackageType</key>
+       <string>APPL</string>
+       <key>CFBundleShortVersionString</key>
+       <string>1.0</string>
+       <key>CFBundleSignature</key>
+       <string>????</string>
+       <key>CFBundleVersion</key>
+       <string>1</string>
+       <key>LSMinimumSystemVersion</key>
+       <string>10.8</string>
+       <key>NSHumanReadableCopyright</key>
+       <string>rodo</string>
+       <key>NSMainNibFile</key>
+       <string>MainMenu</string>
+       <key>NSPrincipalClass</key>
+       <string>NSApplication</string>
+</dict>
+</plist>
diff --git a/mcs/tools/linker-analyzer/LinkerAnalyzer.csproj b/mcs/tools/linker-analyzer/LinkerAnalyzer.csproj
new file mode 100644 (file)
index 0000000..bf0c453
--- /dev/null
@@ -0,0 +1,74 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectTypeGuids>{A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <ProjectGuid>{B64F51B1-2D82-479C-B8F5-8875CDF06D95}</ProjectGuid>
+    <OutputType>Exe</OutputType>
+    <RootNamespace>LinkerAnalyzer</RootNamespace>
+    <MonoMacResourcePrefix>Resources</MonoMacResourcePrefix>
+    <AssemblyName>LinkerAnalyzer</AssemblyName>
+    <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+    <TargetFrameworkIdentifier>Xamarin.Mac</TargetFrameworkIdentifier>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+    <UseRefCounting>true</UseRefCounting>
+    <UseSGen>true</UseSGen>
+    <IncludeMonoRuntime>false</IncludeMonoRuntime>
+    <EnablePackageSigning>false</EnablePackageSigning>
+    <CodeSigningKey>Mac Developer</CodeSigningKey>
+    <EnableCodeSigning>false</EnableCodeSigning>
+    <CreatePackage>false</CreatePackage>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>full</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+    <LinkMode>SdkOnly</LinkMode>
+    <UseRefCounting>true</UseRefCounting>
+    <UseSGen>true</UseSGen>
+    <IncludeMonoRuntime>true</IncludeMonoRuntime>
+    <CreatePackage>true</CreatePackage>
+    <CodeSigningKey>Developer ID Application</CodeSigningKey>
+    <EnableCodeSigning>true</EnableCodeSigning>
+    <EnablePackageSigning>false</EnablePackageSigning>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="Xamarin.Mac" />
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Resources\" />
+    <Folder Include="Mono.Options\" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="Info.plist" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Main.cs" />
+    <Compile Include="ConsoleDependencyGraph.cs" />
+    <Compile Include="..\..\class\Mono.Options\Mono.Options\Options.cs">
+      <Link>Mono.Options\Options.cs</Link>
+    </Compile>
+  </ItemGroup>
+  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.CSharp.targets" />
+  <ItemGroup>
+    <ProjectReference Include="LinkerAnalyzerCore\LinkerAnalyzerCore.csproj">
+      <Project>{E1B8F203-5251-470E-A573-C9E79B60781B}</Project>
+      <Name>LinkerAnalyzerCore</Name>
+    </ProjectReference>
+  </ItemGroup>
+</Project>
\ No newline at end of file
diff --git a/mcs/tools/linker-analyzer/LinkerAnalyzer.sln b/mcs/tools/linker-analyzer/LinkerAnalyzer.sln
new file mode 100644 (file)
index 0000000..1debe4c
--- /dev/null
@@ -0,0 +1,23 @@
+\r
+Microsoft Visual Studio Solution File, Format Version 12.00\r
+# Visual Studio 2012\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LinkerAnalyzer", "LinkerAnalyzer.csproj", "{B64F51B1-2D82-479C-B8F5-8875CDF06D95}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LinkerAnalyzerCore", "LinkerAnalyzerCore\LinkerAnalyzerCore.csproj", "{E1B8F203-5251-470E-A573-C9E79B60781B}"\r
+EndProject\r
+Global\r
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+               Debug|Any CPU = Debug|Any CPU\r
+               Release|Any CPU = Release|Any CPU\r
+       EndGlobalSection\r
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+               {B64F51B1-2D82-479C-B8F5-8875CDF06D95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {B64F51B1-2D82-479C-B8F5-8875CDF06D95}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {B64F51B1-2D82-479C-B8F5-8875CDF06D95}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+               {B64F51B1-2D82-479C-B8F5-8875CDF06D95}.Release|Any CPU.Build.0 = Release|Any CPU\r
+               {E1B8F203-5251-470E-A573-C9E79B60781B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+               {E1B8F203-5251-470E-A573-C9E79B60781B}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+               {E1B8F203-5251-470E-A573-C9E79B60781B}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+               {E1B8F203-5251-470E-A573-C9E79B60781B}.Release|Any CPU.Build.0 = Release|Any CPU\r
+       EndGlobalSection\r
+EndGlobal\r
diff --git a/mcs/tools/linker-analyzer/LinkerAnalyzerCore/DependencyGraph.cs b/mcs/tools/linker-analyzer/LinkerAnalyzerCore/DependencyGraph.cs
new file mode 100644 (file)
index 0000000..e488209
--- /dev/null
@@ -0,0 +1,118 @@
+//
+// DependencyGraph.cs: linker dependencies graph
+//
+// Author:
+//   Radek Doulik (rodo@xamarin.com)
+//
+// Copyright 2015 Xamarin Inc (http://www.xamarin.com).
+//
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.IO.Compression;
+using System.Xml;
+
+namespace LinkerAnalyzer.Core
+{
+       public class VertexData {
+               public string value;
+               public List<int> parentIndexes;
+               public int index;
+
+               public string DepsCount {
+                       get {
+                               if (parentIndexes == null || parentIndexes.Count < 1)
+                                       return "";
+                               return string.Format (" [{0} deps]", parentIndexes.Count);
+                       }
+               }
+       };
+
+       public class DependencyGraph
+       {
+               protected List<VertexData> vertices = new List<VertexData> ();
+               public List<VertexData> Types = new List<VertexData> ();
+               Dictionary<string, int> indexes = new Dictionary<string, int> ();
+               protected Dictionary<string, int> counts = new Dictionary<string, int> ();
+
+               public void Load (string filename)
+               {
+                       Console.WriteLine ("Loading dependency tree from: {0}", filename);
+
+                       using (var fileStream = File.OpenRead (filename))
+                       using (var zipStream = new GZipStream (fileStream, CompressionMode.Decompress)) {
+                               try {
+                                       Load (zipStream);
+                               } catch (Exception) {
+                                       Console.WriteLine ("Unable to open and read the dependecies.");
+                                       Environment.Exit (1);
+                               }
+                       }
+               }
+
+               void Load (GZipStream zipStream) {
+                       using (XmlReader reader = XmlReader.Create (zipStream)) {
+                               while (reader.Read ()) {
+                                       switch (reader.NodeType) {
+                                       case XmlNodeType.Element:
+                                               //Console.WriteLine (reader.Name);
+                                               if (reader.Name == "edge" && reader.IsStartElement ()) {
+                                                       string b = reader.GetAttribute ("b");
+                                                       string e = reader.GetAttribute ("e");
+                                                       //Console.WriteLine ("edge value " + b + "  -->  " + e);
+
+                                                       if (e != b) {
+                                                               VertexData begin = Vertex (b, true);
+                                                               VertexData end = Vertex (e, true);
+
+                                                               if (end.parentIndexes == null)
+                                                                       end.parentIndexes = new List<int> ();
+                                                               if (!end.parentIndexes.Contains (begin.index)) {
+                                                                       end.parentIndexes.Add (begin.index);
+                                                                       //Console.WriteLine (" end parent index: {0}", end.parentIndexes);
+                                                               }
+                                                       }
+                                               }
+                                               break;
+                                       default:
+                                               //Console.WriteLine ("node: " + reader.NodeType);
+                                               break;
+                                       }
+                               }
+                       }
+               }
+
+               public VertexData Vertex (string vertexName, bool create = false)
+               {
+                       VertexData vertex;
+
+                       try {
+                               vertex = vertices [indexes [vertexName]];
+                       } catch (KeyNotFoundException) {
+                               if (create) {
+                                       int index = vertices.Count;
+                                       vertex = new VertexData () { value = vertexName, index = index };
+                                       vertices.Add (vertex);
+                                       indexes.Add (vertexName, index);
+                                       string prefix = vertexName.Substring (0, vertexName.IndexOf (':'));
+                                       if (counts.ContainsKey (prefix))
+                                               counts [prefix]++;
+                                       else
+                                               counts [prefix] = 1;
+                                       //Console.WriteLine ("prefix " + prefix + " count " + counts[prefix]);
+                                       if (prefix == "TypeDef") {
+                                               Types.Add (vertex);
+                                       }
+                               } else
+                                       return null;
+                       }
+
+                       return vertex;
+               }
+
+               public VertexData Vertex (int index)
+               {
+                       return vertices [index];
+               }
+       }
+}
diff --git a/mcs/tools/linker-analyzer/LinkerAnalyzerCore/LinkerAnalyzerCore.csproj b/mcs/tools/linker-analyzer/LinkerAnalyzerCore/LinkerAnalyzerCore.csproj
new file mode 100644 (file)
index 0000000..6427516
--- /dev/null
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectTypeGuids>{A3F8F2AB-B479-4A4A-A458-A89E7DC349F1};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <ProjectGuid>{E1B8F203-5251-470E-A573-C9E79B60781B}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <RootNamespace>LinkerAnalyzer.Core</RootNamespace>
+    <MonoMacResourcePrefix>Resources</MonoMacResourcePrefix>
+    <AssemblyName>LinkerAnalyzerCore</AssemblyName>
+    <UseXamMacFullFramework>true</UseXamMacFullFramework>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug</OutputPath>
+    <DefineConstants>DEBUG;</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+    <UseRefCounting>false</UseRefCounting>
+    <UseSGen>false</UseSGen>
+    <IncludeMonoRuntime>false</IncludeMonoRuntime>
+    <CreatePackage>false</CreatePackage>
+    <EnableCodeSigning>false</EnableCodeSigning>
+    <EnablePackageSigning>false</EnablePackageSigning>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>full</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release</OutputPath>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <ConsolePause>false</ConsolePause>
+    <UseRefCounting>false</UseRefCounting>
+    <UseSGen>false</UseSGen>
+    <IncludeMonoRuntime>false</IncludeMonoRuntime>
+    <CreatePackage>false</CreatePackage>
+    <EnableCodeSigning>false</EnableCodeSigning>
+    <EnablePackageSigning>false</EnablePackageSigning>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core" />
+    <Reference Include="Xamarin.Mac" />
+    <Reference Include="System.Xml" />
+    <Reference Include="Mono.Cecil">
+      <HintPath>..\..\..\git\upstream\cecil\bin\net_4_0_Debug\Mono.Cecil.dll</HintPath>
+    </Reference>
+  </ItemGroup>
+  <ItemGroup>
+    <Folder Include="Resources\" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+    <Compile Include="DependencyGraph.cs" />
+  </ItemGroup>
+  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Mac\Xamarin.Mac.CSharp.targets" />
+</Project>
\ No newline at end of file
diff --git a/mcs/tools/linker-analyzer/LinkerAnalyzerCore/Properties/AssemblyInfo.cs b/mcs/tools/linker-analyzer/LinkerAnalyzerCore/Properties/AssemblyInfo.cs
new file mode 100644 (file)
index 0000000..b78aef5
--- /dev/null
@@ -0,0 +1,27 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+// Information about this assembly is defined by the following attributes.
+// Change them to the values specific to your project.
+
+[assembly: AssemblyTitle ("LinkerAnalyzerCore")]
+[assembly: AssemblyDescription ("")]
+[assembly: AssemblyConfiguration ("")]
+[assembly: AssemblyCompany ("")]
+[assembly: AssemblyProduct ("")]
+[assembly: AssemblyCopyright ("rodo")]
+[assembly: AssemblyTrademark ("")]
+[assembly: AssemblyCulture ("")]
+
+// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}".
+// The form "{Major}.{Minor}.*" will automatically update the build and revision,
+// and "{Major}.{Minor}.{Build}.*" will update just the revision.
+
+[assembly: AssemblyVersion ("1.0.*")]
+
+// The following attributes are used to specify the signing key for the assembly,
+// if desired. See the Mono documentation for more information about signing.
+
+//[assembly: AssemblyDelaySign(false)]
+//[assembly: AssemblyKeyFile("")]
+
diff --git a/mcs/tools/linker-analyzer/Main.cs b/mcs/tools/linker-analyzer/Main.cs
new file mode 100644 (file)
index 0000000..5c75ba5
--- /dev/null
@@ -0,0 +1,86 @@
+//
+// Main.cs: Main program file of command line utility.
+//
+// Author:
+//   Radek Doulik (rodo@xamarin.com)
+//
+// Copyright 2015 Xamarin Inc (http://www.xamarin.com).
+//
+using System;
+using Mono.Options;
+using LinkerAnalyzer.Core;
+
+namespace LinkerAnalyzer
+{
+       static class MainClass
+       {
+               static void Main (string[] args)
+               {
+                       bool showUsage = true;
+                       bool showAllDeps = false;
+                       bool showTypeDeps = false;
+                       string typeName = null;
+                       bool showRawDeps = false;
+                       string rawName = null;
+                       bool showRoots = false;
+                       bool showSpaceUsage = false;
+                       bool showStat = false;
+                       bool showTypes = false;
+                       bool reduceToTree = false;
+                       bool verbose = false;
+
+                       var optionsParser = new OptionSet () {
+                               { "a|alldeps", "show all dependencies", v => { showAllDeps = v != null; } },
+                               { "h|help", "show this message and exit.", v => showUsage = v != null },
+                               { "r|rawdeps=", "show raw vertex dependencies. Raw vertex VALUE is in the raw format written by linker to the dependency XML file. VALUE can be regular expression", v => { showRawDeps = v != null; rawName = v; } },
+                               { "roots", "show root dependencies.", v => showRoots = v != null },
+                               { "stat", "show statistic of loaded dependencies.", v => showStat = v != null },
+                               { "tree", "reduce the dependency graph to the tree.", v => reduceToTree = v != null },
+                               { "types", "show all types dependencies.", v => showTypes = v != null },
+                               { "t|typedeps=", "show type dependencies. The VALUE can be regular expression", v => { showTypeDeps = v != null; typeName = v; } },
+                               //{ "u|spaceusage", "show space analysis.", v => showSpaceUsage = v != null },
+                               { "v|verbose", "be more verbose. Enables stat and roots options.", v => verbose = v != null },
+                       };
+
+                       if (args.Length > 0) {
+                               showUsage = false;
+                               optionsParser.Parse (args);
+                       }
+
+                       if (showUsage) {
+                               Console.WriteLine ("Usage:\n\n\tlinkeranalyzer [Options] <linker-dependency-file.xml.gz>\n\nOptions:\n");
+                               optionsParser.WriteOptionDescriptions (Console.Out);
+                               Console.WriteLine ();
+                               return;
+                       }
+
+                       string dependencyFile = args [args.Length - 1];
+
+                       ConsoleDependencyGraph deps = new ConsoleDependencyGraph () { Tree = reduceToTree };
+                       deps.Load (dependencyFile);
+
+                       if (showSpaceUsage) {
+//                             SpaceAnalyzer sa = new SpaceAnalyzer (System.IO.Path.GetDirectoryName (dependencyFile));
+//                             sa.LoadAssemblies (verbose);
+                       }
+
+                       if (verbose) {
+                               showStat = true;
+                               showRoots = true;
+                       }
+
+                       if (showStat)
+                               deps.ShowStat (verbose);
+                       if (showRoots)
+                               deps.ShowRoots ();
+                       if (showRawDeps)
+                               deps.ShowRawDependencies (rawName);
+                       if (showTypeDeps)
+                               deps.ShowTypeDependencies (typeName);
+                       if (showAllDeps)
+                               deps.ShowAllDependencies ();
+                       else if (showTypes)
+                               deps.ShowTypesDependencies ();
+               }
+       }
+}
diff --git a/mcs/tools/linker-analyzer/Makefile b/mcs/tools/linker-analyzer/Makefile
new file mode 100644 (file)
index 0000000..c8fd5ff
--- /dev/null
@@ -0,0 +1,7 @@
+thisdir = tools/linker-analyzer
+SUBDIRS =
+include ../../build/rules.make
+
+PROGRAM = linkeranalyzer.exe
+
+include ../../build/executable.make
diff --git a/mcs/tools/linker-analyzer/linkeranalyzer.exe.sources b/mcs/tools/linker-analyzer/linkeranalyzer.exe.sources
new file mode 100644 (file)
index 0000000..1da8185
--- /dev/null
@@ -0,0 +1,5 @@
+ConsoleDependencyGraph.cs
+Main.cs
+
+LinkerAnalyzerCore/DependencyGraph.cs
+../../class/Mono.Options/Mono.Options/Options.cs
index c9b66af44ab1d6d16bed8dae33b598a1c3be3da0..bd55c8527c6d154f2b16908a6a7d4c3144eb83d9 100644 (file)
@@ -123,7 +123,9 @@ namespace Mono.Linker.Steps {
                {
                        while (!QueueIsEmpty ()) {
                                MethodDefinition method = (MethodDefinition) _methods.Dequeue ();
+                               Annotations.Push (method);
                                ProcessMethod (method);
+                               Annotations.Pop ();
                        }
                }
 
@@ -355,7 +357,6 @@ namespace Mono.Linker.Steps {
                        if ((git != null) && git.HasGenericArguments) {
                                foreach (var ga in git.GenericArguments)
                                        MarkWithResolvedScope (ga);
-                               return;
                        }
                        // we cannot set the Scope of a TypeSpecification but it's element type can be set
                        // e.g. System.String[] -> System.String
@@ -483,6 +484,8 @@ namespace Mono.Linker.Steps {
                        if (CheckProcessed (type))
                                return null;
 
+                       Annotations.Push (type);
+
                        MarkScope (type.Scope);
                        MarkType (type.BaseType);
                        MarkType (type.DeclaringType);
@@ -516,6 +519,8 @@ namespace Mono.Linker.Steps {
 
                        DoAdditionalTypeProcessing (type);
 
+                       Annotations.Pop ();
+
                        Annotations.Mark (type);
 
                        ApplyPreserveInfo (type);
@@ -878,6 +883,7 @@ namespace Mono.Linker.Steps {
                        if (reference.DeclaringType is ArrayType)
                                return null;
 
+                       Annotations.Push (reference);
                        if (reference.DeclaringType is GenericInstanceType)
                                MarkType (reference.DeclaringType);
 
@@ -886,13 +892,18 @@ namespace Mono.Linker.Steps {
 
                        MethodDefinition method = ResolveMethodDefinition (reference);
 
-                       if (method == null)
+                       if (method == null) {
+                               Annotations.Pop ();
                                throw new ResolutionException (reference);
+                       }
 
                        if (Annotations.GetAction (method) == MethodAction.Nothing)
                                Annotations.SetAction (method, MethodAction.Parse);
 
                        EnqueueMethod (method);
+
+                       Annotations.Pop ();
+
                        return method;
                }
 
index 5dfa488d6251b22d5c556edcc0a2ea3bea074909..0260c892e99b74494f18250b4979bf3c20fbff4c 100644 (file)
@@ -39,6 +39,7 @@ namespace Mono.Linker.Steps {
                protected override void Process ()
                {
                        CheckOutputDirectory ();
+                       Annotations.SaveDependencies ();
                }
 
                void CheckOutputDirectory ()
@@ -63,9 +64,11 @@ namespace Mono.Linker.Steps {
                        switch (Annotations.GetAction (assembly)) {
                        case AssemblyAction.Save:
                        case AssemblyAction.Link:
+                               Context.Annotations.AddDependency (assembly);
                                assembly.Write (GetAssemblyFileName (assembly, directory), SaveSymbols (assembly));
                                break;
                        case AssemblyAction.Copy:
+                               Context.Annotations.AddDependency (assembly);
                                CloseSymbols (assembly);
                                CopyAssembly (GetOriginalAssemblyFileInfo (assembly), directory, Context.LinkSymbols);
                                break;
index e3ad96b410bf8cf324874466307965919e3ba050..6219bc92ffc27d21e83361e511e2dce69db5508e 100644 (file)
@@ -56,10 +56,10 @@ namespace Mono.Linker.Steps {
                        switch (assembly.MainModule.Kind) {
                        case ModuleKind.Dll:
                                ProcessLibrary (Context, assembly);
-                               return;
+                               break;
                        default:
                                ProcessExecutable (assembly);
-                               return;
+                               break;
                        }
                }
 
@@ -79,14 +79,20 @@ namespace Mono.Linker.Steps {
                {
                        SetAction (context, assembly, AssemblyAction.Copy);
 
+                       context.Annotations.Push (assembly);
+
                        foreach (TypeDefinition type in assembly.MainModule.Types)
                                MarkType (context, type);
+
+                       context.Annotations.Pop ();
                }
 
                static void MarkType (LinkContext context, TypeDefinition type)
                {
                        context.Annotations.Mark (type);
 
+                       context.Annotations.Push (type);
+
                        if (type.HasFields)
                                MarkFields (context, type.Fields);
                        if (type.HasMethods)
@@ -94,14 +100,20 @@ namespace Mono.Linker.Steps {
                        if (type.HasNestedTypes)
                                foreach (var nested in type.NestedTypes)
                                        MarkType (context, nested);
+
+                       context.Annotations.Pop ();
                }
 
                void ProcessExecutable (AssemblyDefinition assembly)
                {
                        SetAction (Context, assembly, AssemblyAction.Link);
 
+                       Annotations.Push (assembly);
+
                        Annotations.Mark (assembly.EntryPoint.DeclaringType);
                        MarkMethod (Context, assembly.EntryPoint, MethodAction.Parse);
+
+                       Annotations.Pop ();
                }
 
                static void MarkFields (LinkContext context, ICollection fields)
index 41fb042c7e549b05db221f8bc9001be70249c1dd..72c59bad8b968fb5ba5786118985b2ecacc7c178 100644 (file)
@@ -29,6 +29,8 @@
 using System;
 using System.Collections;
 using System.Collections.Generic;
+using System.IO;
+using System.IO.Compression;
 
 using Mono.Cecil;
 using Mono.Cecil.Cil;
@@ -50,6 +52,32 @@ namespace Mono.Linker {
 
                readonly Dictionary<object, Dictionary<IMetadataTokenProvider, object>> custom_annotations = new Dictionary<object, Dictionary<IMetadataTokenProvider, object>> ();
 
+               Stack<object> dependency_stack;
+               System.Xml.XmlWriter writer;
+               GZipStream zipStream;
+
+               public void PrepareDependenciesDump ()
+               {
+                       PrepareDependenciesDump ("linker-dependencies.xml.gz");
+               }
+
+               public void PrepareDependenciesDump (string filename)
+               {
+                       dependency_stack = new Stack<object> ();
+                       System.Xml.XmlWriterSettings settings = new System.Xml.XmlWriterSettings();
+                       settings.Indent = true;
+                       settings.IndentChars = "\t";
+                       var depsFile = File.OpenWrite (filename);
+                       zipStream = new GZipStream (depsFile, CompressionMode.Compress);
+
+                       writer = System.Xml.XmlWriter.Create (zipStream, settings);
+                       writer.WriteStartDocument ();
+                       writer.WriteStartElement ("dependencies");
+                       writer.WriteStartAttribute ("version");
+                       writer.WriteString ("1.0");
+                       writer.WriteEndAttribute ();
+               }
+
                public AssemblyAction GetAction (AssemblyDefinition assembly)
                {
                        AssemblyAction action;
@@ -86,6 +114,7 @@ namespace Mono.Linker {
                public void Mark (IMetadataTokenProvider provider)
                {
                        marked.Add (provider);
+                       AddDependency (provider);
                }
 
                public bool IsMarked (IMetadataTokenProvider provider)
@@ -237,5 +266,64 @@ namespace Mono.Linker {
                        custom_annotations.Add (key, slots);
                        return slots;
                }
+
+               public void AddDependency (object o)
+               {
+                       if (writer == null)
+                               return;
+
+                       KeyValuePair<object, object> pair = new KeyValuePair<object, object> (dependency_stack.Count > 0 ? dependency_stack.Peek () : null, o);
+                       writer.WriteStartElement ("edge");
+                       writer.WriteAttributeString ("b", TokenString (pair.Key));
+                       writer.WriteAttributeString ("e", TokenString (pair.Value));
+                       writer.WriteEndElement ();
+               }
+
+               public void Push (object o)
+               {
+                       if (writer == null)
+                               return;
+
+                       if (dependency_stack.Count > 0)
+                               AddDependency (o);
+                       dependency_stack.Push (o);
+               }
+
+               public void Pop ()
+               {
+                       if (writer == null)
+                               return;
+
+                       dependency_stack.Pop ();
+               }
+
+               string TokenString (object o)
+               {
+                       if (o == null)
+                               return "N:null";
+
+                       if (o is IMetadataTokenProvider)
+                               return (o as IMetadataTokenProvider).MetadataToken.TokenType + ":" + o;
+
+                       return "Other:" + o;
+               }
+
+               public void SaveDependencies ()
+               {
+                       if (writer == null)
+                               return;
+
+                       writer.WriteEndElement ();
+                       writer.WriteEndDocument ();
+                       writer.Flush ();
+                       writer.Close ();
+                       zipStream.Close ();
+
+                       writer.Dispose ();
+                       zipStream.Dispose ();
+                       writer = null;
+                       zipStream = null;
+                       dependency_stack = null;
+               }
        }
 }
index 437a938fa2e11c8e0418eac127c86b560e8f34c9..7ae07d24f1e4a2bd9d0d6c07e3972b2dd500d58c 100644 (file)
@@ -114,7 +114,9 @@ namespace Mono.Linker {
                {
                        while (_steps.Count > 0) {
                                IStep step = (IStep) _steps [0];
+                               context.Annotations.Push (step);
                                step.Process (context);
+                               context.Annotations.Pop ();
                                _steps.Remove (step);
                        }
                }
index a5bced66881cd52641c18ff1b705b88477814ec6..0991269d178ba765710c12989456cfbdaaff90e2 100644 (file)
@@ -108,6 +108,22 @@ Test/DocTest-DropNS-classic.dll:
 Test/DocTest-DropNS-unified.dll:
        $(CSCOMPILE) $(TEST_CSCFLAGS) -debug -unsafe -target:library -out:$@ Test/DocTest-DropNS-unified.cs
 
+Test/DocTest-DropNS-unified-deletetest.dll:
+       rm -f Test/DocTest-DropNS-unified-deletetest.dll
+       $(CSCOMPILE) $(TEST_CSCFLAGS) -debug -unsafe -target:library -out:$@ Test/DocTest-DropNS-unified.cs /define:DELETETEST
+
+Test/DocTest-DropNS-unified-deletetest-V2.dll:
+       rm -f Test/DocTest-DropNS-unified-deletetest.dll
+       $(CSCOMPILE) $(TEST_CSCFLAGS) -debug -unsafe -target:library -out:Test/DocTest-DropNS-unified-deletetest.dll Test/DocTest-DropNS-unified.cs /define:DELETETEST,V2
+
+Test/DocTest-DropNS-classic-deletetest.dll:
+       rm -f Test/DocTest-DropNS-classic-deletetest.dll
+       $(CSCOMPILE) $(TEST_CSCFLAGS) -debug -unsafe -target:library -out:$@ Test/DocTest-DropNS-classic.cs /define:DELETETEST
+
+Test/DocTest-DropNS-classic-deletetest-V2.dll:
+       rm -f Test/DocTest-DropNS-classic-deletetest.dll
+       $(CSCOMPILE) $(TEST_CSCFLAGS) -debug -unsafe -target:library -out:Test/DocTest-DropNS-classic-deletetest.dll Test/DocTest-DropNS-classic.cs /define:DELETETEST,V2
+
 Test/DocTest.dll: 
        $(CSCOMPILE) $(TEST_CSCFLAGS) -debug -unsafe -target:library -out:$@ Test/DocTest.cs
 
@@ -151,6 +167,20 @@ check-monodocer-dropns-classic: $(PROGRAM)
        $(MAKE) update-monodocer-dropns-unified
        diff --exclude=.svn -rup Test/en.expected-dropns-classic-v1 Test/en.actual
 
+check-monodocer-dropns-delete: $(PROGRAM)
+       -rm -Rf Test/en.actual
+       rm -Rf Test/DocTest-DropNS-classic-deletetest.dll
+       rm -Rf Test/DocTest-DropNS-unified-deletetest.dll
+       $(MAKE) Test/DocTest-DropNS-classic-deletetest.dll
+       $(MONO) $(PROGRAM) update --delete --exceptions=all -o Test/en.actual Test/DocTest-DropNS-classic-deletetest.dll
+       $(MAKE) Test/DocTest-DropNS-unified-deletetest.dll
+       $(MONO) $(PROGRAM) update --delete --exceptions=all -o Test/en.actual Test/DocTest-DropNS-unified-deletetest.dll --dropns Test/DocTest-DropNS-unified-deletetest.dll=MyFramework
+       $(MAKE) Test/DocTest-DropNS-classic-deletetest-V2.dll
+       $(MONO) $(PROGRAM) update --delete --exceptions=all -o Test/en.actual Test/DocTest-DropNS-classic-deletetest.dll
+       $(MAKE) Test/DocTest-DropNS-unified-deletetest-V2.dll
+       $(MONO) $(PROGRAM) update --delete --exceptions=all -o Test/en.actual Test/DocTest-DropNS-unified-deletetest.dll --dropns Test/DocTest-DropNS-unified-deletetest.dll=MyFramework
+       diff --exclude=.dvn -rup Test/en.expected-dropns-delete Test/en.actual
+
 check-monodocer-dropns-classic-withsecondary: $(PROGRAM)
        # tests case where a secondary assembly is included with a --dropns parameter
        -rm -Rf Test/en.actual
@@ -335,21 +365,21 @@ check-doc-tools: check-monodocer-since \
        check-mdoc-export-html \
        check-mdoc-export-html-with-version \
        check-mdoc-export-msxdoc \
-       check-mdoc-validate
+       check-mdoc-validate \
+       check-monodocer-dropns-classic \
+       check-monodocer-dropns-classic-withsecondary \
+       check-monodocer-dropns-delete \
+       check-monodocer-internal-interface \
+       check-monodocer-enumerations
 
 check-doc-tools-update: check-monodocer-since-update \
        check-monodocer-importecmadoc-update \
        check-monodocer-importslashdoc-update \
        check-monodocer-update \
-       check-monodocer-dropns-classic \
-       check-monodocer-dropns-classic-withsecondary \
-       check-monodocer-internal-interface \
-       check-monodocer-enumerations \
        check-monodocer-delete-update \
        check-mdoc-export-html-update \
        check-mdoc-export-msxdoc-update \
        check-mdoc-validate-update 
 
-check: check-doc-tools \
-       check-doc-tools-update
+check: check-doc-tools 
 
index 81bcc850c5671d9a038c7d1f6677fdb1d41952e7..7d54a28947b1f8da02de4832e9b490b9df27175a 100644 (file)
@@ -187,6 +187,11 @@ class MDocUpdater : MDocCommand
                return !string.IsNullOrWhiteSpace (droppedNamespace) && droppedAssemblies.Any(da => da == forModule.Name);
        }
 
+       public static bool HasDroppedAnyNamespace ()
+       {
+               return !string.IsNullOrWhiteSpace (droppedNamespace);
+       }
+
        
        static List<string> droppedAssemblies = new List<string>();
 
@@ -444,8 +449,10 @@ class MDocUpdater : MDocCommand
                        }
                        if (r == null)
                                continue;
-                       c.Remove (n);
-                       c.InsertBefore (n, r);
+                       if (c [n.Name] != null) {
+                               c.RemoveNamedItem (n.Name);
+                               c.InsertBefore (n, r);
+                       }
                }
        }
        
@@ -671,12 +678,6 @@ class MDocUpdater : MDocCommand
                        XmlElement td = StubType(type, output);
                        if (td == null)
                                return null;
-                       
-                       System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo (DocUtils.PathCombine (dest, type.Namespace));
-                       if (!dir.Exists) {
-                               dir.Create();
-                               Console.WriteLine("Namespace Directory Created: " + type.Namespace);
-                       }
                }
                return reltypefile;
        }
@@ -1005,18 +1006,64 @@ class MDocUpdater : MDocCommand
                                        XmlElement e = doc.SelectSingleNode("/Type") as XmlElement;
                                        string assemblyName = doc.SelectSingleNode ("/Type/AssemblyInfo/AssemblyName").InnerText;
                                        AssemblyDefinition assembly = assemblies.FirstOrDefault (a => a.Name.Name == assemblyName);
-                                       if (e != null && !no_assembly_versions && assembly != null && assemblyName != null && UpdateAssemblyVersions(e, assembly, GetAssemblyVersions(assemblyName), false)) {
+
+                                       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;
                                        }
 
-                                       if (string.IsNullOrWhiteSpace (PreserveTag)) { // only do this if there was no -preserve
+                                       Action actuallyDelete = () => {
                                                string newname = typefile.FullName + ".remove";
-                                               try { System.IO.File.Delete(newname); } catch (Exception) { }
-                                               try { typefile.MoveTo(newname); } catch (Exception) { }
-                                               Console.WriteLine("Class no longer present; file renamed: " + Path.Combine(nsdir.Name, typefile.Name));
+                                               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[@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 ();
+                                                       }
+                                               }
                                        }
                                }
                        }
@@ -1112,6 +1159,16 @@ class MDocUpdater : MDocCommand
                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
@@ -1291,34 +1348,54 @@ class MDocUpdater : MDocCommand
                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, 
-                               member.SelectSingleNode ("MemberSignature[@Language='C#']/@Value").Value);
-                       if (!delete && MemberDocsHaveUserContent (member)) {
-                               Warning ("Member deletions must be enabled with the --delete option.");
-                       } else if (HasDroppedNamespace (type)) {
-                               // if we're dropping the namespace, add the "classic style"
-                               var existingAttribute = member.Attributes ["apistyle"];
-                               if (existingAttribute != null) {
-                                       existingAttribute.Value = "classic";
-                               } else {
-                                       // add the attribute and do not remove
-                                       XmlAttribute apistyleAttr = member.OwnerDocument.CreateAttribute ("apistyle");
+                               signature);
 
-                                       apistyleAttr.Value = "classic";
+               // 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);
 
-                                       member.Attributes.Append (apistyleAttr);
-                               }
-                       } else if (!HasDroppedNamespace (type) && member.Attributes ["apistyle"] != null && member.Attributes ["apistyle"].Value == "unified") {
-                               // do nothing if there's an apistyle=new attribute and we haven't dropped the namespace
-                       } else if (!string.IsNullOrWhiteSpace (PreserveTag)) {
-                               // do nothing
-                       } else {
+               bool unifiedRun = HasDroppedNamespace (type);
+
+               var classicAssemblyInfo = member.SelectSingleNode ("AssemblyInfo[@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);
+                       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 (!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);
+                               }
+                       }
                }
        }
 
@@ -2882,21 +2959,41 @@ enum ApiStyle {
 static class DocUtils {
 
        public static bool DoesNotHaveApiStyle(this XmlElement element, ApiStyle style) {
-               string styleString = style.ToString ().ToLower ();
+               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 ().ToLower ();
+               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 ().ToLower ();
+               string styleString = style.ToString ().ToLowerInvariant ();
                var existingValue = element.GetAttribute ("apistyle");
                if (string.IsNullOrWhiteSpace (existingValue) || existingValue != styleString) {
                        element.SetAttribute ("apistyle", 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)
        {
@@ -3197,7 +3294,7 @@ class DocumentationEnumerator {
                
                string docName = member.MemberName;
 
-               string[] docTypeParams = GetTypeParameters (docName);
+               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;
@@ -3307,7 +3404,7 @@ class DocumentationEnumerator {
                return likelyCandidate;
        }
 
-       static string[] GetTypeParameters (string docName)
+       static string[] GetTypeParameters (string docName, IEnumerable<string> knownParameters)
        {
                if (docName [docName.Length-1] != '>')
                        return null;
@@ -3324,7 +3421,12 @@ class DocumentationEnumerator {
                } while (--i >= 0);
 
                types.Reverse ();
-               return types.ToArray ();
+               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)
index a279b0e85a75619279e7193cfef543bdbd875b83..8346834b778364e1413d16713c509c446398b228 100644 (file)
@@ -4,5 +4,25 @@ namespace MyFramework.MyNamespace {
                public float Hello(int value) {
                        return 0.0f;
                }
+               #if DELETETEST
+               public string InBoth {get;set;}
+               public string InBothClassic {get;set;}
+               public int InBothMagicType {get;set;}
+               #endif
+
+               #if DELETETEST && V2
+               public string AddedInV2 {get;set;}
+               public string AddedInV2Classic {get;set;}
+               #endif
+               #if DELETETEST && !V2
+               public string WillDeleteInV2 {get;set;}
+               public string WillDeleteInV2Classic {get;set;}
+               #endif
        }
+
+       #if DELETETEST && !V2
+       public class WillDelete {
+               public string Name {get;set;}
+       }
+       #endif
 }
index 8ee5e8a6ffd0875e9cc3d6b2064cf33147e23db3..9b0c364aef3eb084e5079fe50527f893cda0ddf7 100644 (file)
@@ -4,5 +4,30 @@ namespace MyNamespace {
                public float Hello(int value) {
                        return 0.0f;
                }
+               #if DELETETEST
+               public string InBoth {get;set;}
+               public string InBothUnified {get;set;}
+               public nint InBothMagicType {get;set;}
+               #endif
+
+               #if DELETETEST && V2
+               public string AddedInV2 {get;set;}
+               public string AddedInV2Unified {get;set;}
+               #endif
+               #if DELETETEST && !V2
+               public string WillDeleteInV2 {get;set;}
+               public string WillDeleteInV2Unified {get;set;}
+               #endif
        }
+
+       #if DELETETEST
+       public struct nint {
+
+       }
+       #endif
+       #if DELETETEST && !V2
+       public class WillDelete {
+               public string Name {get;set;}
+       }
+       #endif
 }
diff --git a/mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/MyClass.xml b/mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/MyClass.xml
new file mode 100644 (file)
index 0000000..cb620b8
--- /dev/null
@@ -0,0 +1,204 @@
+<Type Name="MyClass" FullName="MyFramework.MyNamespace.MyClass">
+  <TypeSignature Language="C#" Value="public class MyClass" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyClass extends System.Object" />
+  <AssemblyInfo apistyle="classic">
+    <AssemblyName>DocTest-DropNS-classic-deletetest</AssemblyName>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
+  </AssemblyInfo>
+  <AssemblyInfo apistyle="unified">
+    <AssemblyName>DocTest-DropNS-unified-deletetest</AssemblyName>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>System.Object</BaseTypeName>
+  </Base>
+  <Interfaces />
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+  </Docs>
+  <Members>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public MyClass ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+      <MemberType>Constructor</MemberType>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="AddedInV2">
+      <MemberSignature Language="C#" Value="public string AddedInV2 { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance string AddedInV2" />
+      <MemberType>Property</MemberType>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.String</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="AddedInV2Classic">
+      <MemberSignature Language="C#" Value="public string AddedInV2Classic { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance string AddedInV2Classic" />
+      <MemberType>Property</MemberType>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.String</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="AddedInV2Unified">
+      <MemberSignature Language="C#" Value="public string AddedInV2Unified { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance string AddedInV2Unified" />
+      <MemberType>Property</MemberType>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.String</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="Hello">
+      <MemberSignature Language="C#" Value="public float Hello (int value);" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(int32 value) cil managed" />
+      <MemberType>Method</MemberType>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Single</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="value" Type="System.Int32" />
+      </Parameters>
+      <Docs>
+        <param name="value">To be added.</param>
+        <summary>To be added.</summary>
+        <returns>To be added.</returns>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="InBoth">
+      <MemberSignature Language="C#" Value="public string InBoth { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance string InBoth" />
+      <MemberType>Property</MemberType>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.String</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="InBothClassic">
+      <MemberSignature Language="C#" Value="public string InBothClassic { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance string InBothClassic" />
+      <MemberType>Property</MemberType>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.String</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="InBothMagicType">
+      <MemberSignature Language="C#" Value="public int InBothMagicType { get; set; }" apistyle="classic" />
+      <MemberSignature Language="ILAsm" Value=".property instance int32 InBothMagicType" apistyle="classic" />
+      <MemberSignature Language="C#" Value="public MyFramework.MyNamespace.nint InBothMagicType { get; set; }" apistyle="unified" />
+      <MemberSignature Language="ILAsm" Value=".property instance valuetype MyFramework.MyNamespace.nint InBothMagicType" apistyle="unified" />
+      <MemberType>Property</MemberType>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType apistyle="classic">System.Int32</ReturnType>
+        <ReturnType apistyle="unified">MyFramework.MyNamespace.nint</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="InBothUnified">
+      <MemberSignature Language="C#" Value="public string InBothUnified { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance string InBothUnified" />
+      <MemberType>Property</MemberType>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.String</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="MyProperty">
+      <MemberSignature Language="C#" Value="public string MyProperty { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance string MyProperty" />
+      <MemberType>Property</MemberType>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.String</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+  </Members>
+</Type>
diff --git a/mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/WillDelete.xml.remove b/mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/WillDelete.xml.remove
new file mode 100644 (file)
index 0000000..ac5394f
--- /dev/null
@@ -0,0 +1,43 @@
+<Type Name="WillDelete" FullName="MyFramework.MyNamespace.WillDelete">
+  <TypeSignature Language="C#" Value="public class WillDelete" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit WillDelete extends System.Object" />
+  <Base>
+    <BaseTypeName>System.Object</BaseTypeName>
+  </Base>
+  <Interfaces />
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+  </Docs>
+  <Members>
+    <Member MemberName=".ctor">
+      <MemberSignature Language="C#" Value="public WillDelete ();" />
+      <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
+      <MemberType>Constructor</MemberType>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <Parameters />
+      <Docs>
+        <summary>To be added.</summary>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+    <Member MemberName="Name">
+      <MemberSignature Language="C#" Value="public string Name { get; set; }" />
+      <MemberSignature Language="ILAsm" Value=".property instance string Name" />
+      <MemberType>Property</MemberType>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.String</ReturnType>
+      </ReturnValue>
+      <Docs>
+        <summary>To be added.</summary>
+        <value>To be added.</value>
+        <remarks>To be added.</remarks>
+      </Docs>
+    </Member>
+  </Members>
+</Type>
diff --git a/mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/nint.xml b/mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/nint.xml
new file mode 100644 (file)
index 0000000..2a8b2e2
--- /dev/null
@@ -0,0 +1,17 @@
+<Type Name="nint" FullName="MyFramework.MyNamespace.nint">
+  <TypeSignature Language="C#" Value="public struct nint" />
+  <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed beforefieldinit nint extends System.ValueType" />
+  <AssemblyInfo apistyle="unified">
+    <AssemblyName>DocTest-DropNS-unified-deletetest</AssemblyName>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
+  </AssemblyInfo>
+  <Base>
+    <BaseTypeName>System.ValueType</BaseTypeName>
+  </Base>
+  <Interfaces />
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+  </Docs>
+  <Members />
+</Type>
diff --git a/mcs/tools/mdoc/Test/en.expected-dropns-delete/index.xml b/mcs/tools/mdoc/Test/en.expected-dropns-delete/index.xml
new file mode 100644 (file)
index 0000000..0988450
--- /dev/null
@@ -0,0 +1,23 @@
+<Overview>
+  <Assemblies>
+    <Assembly Name="DocTest-DropNS-unified-deletetest" Version="0.0.0.0">
+      <Attributes>
+        <Attribute>
+          <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName>
+        </Attribute>
+        <Attribute>
+          <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName>
+        </Attribute>
+      </Attributes>
+    </Assembly>
+  </Assemblies>
+  <Remarks>To be added.</Remarks>
+  <Copyright>To be added.</Copyright>
+  <Types>
+    <Namespace Name="MyFramework.MyNamespace">
+      <Type Name="MyClass" Kind="Class" />
+      <Type Name="nint" Kind="Structure" />
+    </Namespace>
+  </Types>
+  <Title>DocTest-DropNS-classic-deletetest</Title>
+</Overview>
diff --git a/mcs/tools/mdoc/Test/en.expected-dropns-delete/ns-MyFramework.MyNamespace.xml b/mcs/tools/mdoc/Test/en.expected-dropns-delete/ns-MyFramework.MyNamespace.xml
new file mode 100644 (file)
index 0000000..74df75a
--- /dev/null
@@ -0,0 +1,6 @@
+<Namespace Name="MyFramework.MyNamespace">
+  <Docs>
+    <summary>To be added.</summary>
+    <remarks>To be added.</remarks>
+  </Docs>
+</Namespace>
index bf6e99b4d88173bbab47a864279350063369095d..a6e2b67d05681087c47dd0fd7ef794716ca51993 100644 (file)
@@ -88,9 +88,9 @@
       <Docs>
         <param name="list">To be added.</param>
         <summary>
-          <see cref="T:System.Collections.Generic.IEnumerable{System.Int32}" />
-            extension method.
-            </summary>
+          <see cref="T:System.Collections.Generic.IEnumerable{System.Int32}" /> 
+               extension method.
+             </summary>
         <returns>To be added.</returns>
         <remarks>
           <c>M:Mono.DocTest.Generic.Extensions.ToDouble</c>
         <param name="val">To be added.</param>
         <summary>
           <see cref="T:Mono.DocTest.Generic.IFoo`1" /> extension method.
-            </summary>
+             </summary>
         <returns>To be added.</returns>
         <remarks>
           <c>M:Mono.DocTest.Generic.Extensions.ToDouble</c>
index 602521615fb87641a48e5fd9147591786aa955af..690987bc0a83fb35bc8f8fe528f1ea170ab0ba09 100644 (file)
@@ -12,8 +12,8 @@
     <summary>Possible colors</summary>
     <remarks>
       <see cref="T:Mono.DocTest.Color" />.
-            Namespace Test: [<see cref="N:Mono.DocTest" />]
-            </remarks>
+               Namespace Test: [<see cref="N:Mono.DocTest" />]
+             </remarks>
   </Docs>
   <Members>
     <Member MemberName="AnotherGreen">
index 82aa9a349194ae35692ad7a0efcec0e51ea8a6cb..01a74c3c6c0709b1856eb39796bc371a82fdcd87 100644 (file)
@@ -18,8 +18,8 @@
     <summary>To be added.</summary>
     <remarks>
       <para>
-            cref=<c>T:Mono.DocTest.DocAttribute</c>.
-            </para>
+               cref=<c>T:Mono.DocTest.DocAttribute</c>.
+              </para>
       <format type="text/html">
         <table width="100%">
           <tr>
index ceb5e1acfc73644967cf97a96f6c0961d418c144..b1dd1908c0a0ca860991bc4121fa3f6029536cbc 100644 (file)
@@ -31,8 +31,8 @@
       </Parameters>
       <Docs>
         <param name="folder">
-            A <see cref="T:System.Environment+SpecialFolder" /> instance.
-            </param>
+               A <see cref="T:System.Environment+SpecialFolder" /> instance.
+             </param>
         <summary>To be added.</summary>
         <returns>To be added.</returns>
         <remarks>
index 1d4f1666def111adb322537776cda56822efec8b..1ce623fffb22bbed40b1e608c0aade3b0d6bd1fb 100644 (file)
         <Docs>
           <param name="list">To be added.</param>
           <summary>
-            <see cref="T:System.Collections.Generic.IEnumerable{System.Int32}" />
-            extension method.
-            </summary>
+            <see cref="T:System.Collections.Generic.IEnumerable{System.Int32}" /> 
+               extension method.
+             </summary>
         </Docs>
         <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.ToDouble(System.Collections.Generic.IEnumerable{System.Int32})" />
       </Member>
           <param name="val">To be added.</param>
           <summary>
             <see cref="T:Mono.DocTest.Generic.IFoo`1" /> extension method.
-            </summary>
+             </summary>
         </Docs>
         <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.ToDouble``1(``0)" />
       </Member>
index 8516f82c9d31abf4f223be8bf8fedeb699e522bd..11b496fe6305ac4c815154ef93d4300665e73255 100644 (file)
                 <td colspan="2">
                   <b>
                     <a href="#M:Mono.DocTest.Generic.Extensions.ToDouble(System.Collections.Generic.IEnumerable{System.Int32})">ToDouble</a>
-                  </b>(<i>this</i> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;double&gt;</a></nobr><blockquote><a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a>
-            extension method.
-            </blockquote></td>
+                  </b>(<i>this</i> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;double&gt;</a></nobr><blockquote><a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a> 
+               extension method.
+             </blockquote></td>
               </tr>
               <tr valign="top">
                 <td>
                   <b>
                     <a href="#M:Mono.DocTest.Generic.Extensions.ToDouble``1(``0)">ToDouble&lt;T&gt;</a>
                   </b>(<i>this</i> <i title="To be added.">T</i>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Double">double</a></nobr><blockquote><a href="../Mono.DocTest.Generic/IFoo`1.html">Mono.DocTest.Generic.IFoo`1</a> extension method.
-            </blockquote></td>
+             </blockquote></td>
               </tr>
               <tr valign="top">
                 <td>
         <h3 id="M:Mono.DocTest.Generic.Extensions.ToDouble(System.Collections.Generic.IEnumerable{System.Int32})">ToDouble Method</h3>
         <blockquote id="M:Mono.DocTest.Generic.Extensions.ToDouble(System.Collections.Generic.IEnumerable{System.Int32}):member">
           <div class="msummary">
-            <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a>
-            extension method.
-            </div>
+            <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a> 
+               extension method.
+             </div>
           <h2>Syntax</h2>
           <div class="Signature">public static <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;double&gt;</a> <b>ToDouble</b> (<i>this</i> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a> list)</div>
           <h4 class="Subsection">Parameters</h4>
         <blockquote id="M:Mono.DocTest.Generic.Extensions.ToDouble``1(``0):member">
           <div class="msummary">
             <a href="../Mono.DocTest.Generic/IFoo`1.html">Mono.DocTest.Generic.IFoo`1</a> extension method.
-            </div>
+             </div>
           <h2>Syntax</h2>
           <div class="Signature">public static <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Double">double</a> <b>ToDouble&lt;T&gt;</b> (<i>this</i> <i title="To be added.">T</i> val)<br /> where T : <a href="../Mono.DocTest.Generic/IFoo`1.html">Mono.DocTest.Generic.IFoo&lt;T&gt;</a></div>
           <h4 class="Subsection">Type Parameters</h4>
index 8ecbbc337080224a56e298e0ff6e8bcd8007e35f..a6515dded5b27c0e5c36c0cbd6a49b25ada0191e 100644 (file)
                   <b>
                     <a href="../Mono.DocTest.Generic/Extensions.html#M:Mono.DocTest.Generic.Extensions.ToDouble``1(``0)">ToDouble&lt;T&gt;</a>
                   </b>(<i>this</i> <a href="javascript:alert(&quot;Documentation not found.&quot;)">T</a>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Double">double</a></nobr><blockquote><a href="../Mono.DocTest.Generic/IFoo`1.html">Mono.DocTest.Generic.IFoo`1</a> extension method.
-            </blockquote></td>
+             </blockquote></td>
               </tr>
               <tr valign="top">
                 <td>
index 0ddb2466190207f3c51b4b048143b21b1d48d542..8ec7050a3505ee0c3dc4374b7c513a98d6a9c291 100644 (file)
                 <td colspan="2">
                   <b>
                     <a href="../Mono.DocTest.Generic/Extensions.html#M:Mono.DocTest.Generic.Extensions.ToDouble(System.Collections.Generic.IEnumerable{System.Int32})">ToDouble</a>
-                  </b>(<i>this</i> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;double&gt;</a></nobr><blockquote><a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a>
-            extension method.
-            </blockquote></td>
+                  </b>(<i>this</i> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;double&gt;</a></nobr><blockquote><a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a> 
+               extension method.
+             </blockquote></td>
               </tr>
               <tr valign="top">
                 <td>
index 6ebacddd70c580a1f742967e8f7335e6d055d4ce..453b4d5d93585f29f66a0d8b4020f97c652e5558 100644 (file)
                 <td colspan="2">
                   <b>
                     <a href="../Mono.DocTest.Generic/Extensions.html#M:Mono.DocTest.Generic.Extensions.ToDouble(System.Collections.Generic.IEnumerable{System.Int32})">ToDouble</a>
-                  </b>(<i>this</i> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;double&gt;</a></nobr><blockquote><a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a>
-            extension method.
-            </blockquote></td>
+                  </b>(<i>this</i> <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;double&gt;</a></nobr><blockquote><a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Collections.Generic.IEnumerable`1">IEnumerable&lt;int&gt;</a> 
+               extension method.
+             </blockquote></td>
               </tr>
               <tr valign="top">
                 <td>
                   <b>
                     <a href="../Mono.DocTest.Generic/Extensions.html#M:Mono.DocTest.Generic.Extensions.ToDouble``1(``0)">ToDouble&lt;T&gt;</a>
                   </b>(<i>this</i> <i title="To be added.">T</i>)<nobr> : <a href="http://www.go-mono.com/docs/monodoc.ashx?link=T:System.Double">double</a></nobr><blockquote><a href="../Mono.DocTest.Generic/IFoo`1.html">Mono.DocTest.Generic.IFoo`1</a> extension method.
-            </blockquote></td>
+             </blockquote></td>
               </tr>
               <tr valign="top">
                 <td>
index dae529e4670ffa4ae2804b63467aaeeef3e4b83f..5d9b1497690228946c4d568485d60d2d445a5842 100644 (file)
       <h2 class="Section">Remarks</h2>
       <div class="SectionBox" id="T:Mono.DocTest.Color:Docs:Remarks">
         <a href="../Mono.DocTest/Color.html">Mono.DocTest.Color</a>.
-            Namespace Test: [<a href="../Mono.DocTest/index.html">Mono.DocTest</a>]
-            </div>
+               Namespace Test: [<a href="../Mono.DocTest/index.html">Mono.DocTest</a>]
+             </div>
       <h2 class="Section">Members</h2>
       <div class="SectionBox" id="T:Mono.DocTest.Color:Docs:Members">
         <table class="Enumeration">
index 58d6f91b6d1e76abe4aebe5c833f7c86d8b759eb..1c14d779287ba89e6b6ecad836810f23736024ba 100644 (file)
       <h2 class="Section">Remarks</h2>
       <div class="SectionBox" id="T:Mono.DocTest.DocAttribute:Docs:Remarks">
         <p>
-            cref=<tt>T:Mono.DocTest.DocAttribute</tt>.
-            </p>
+               cref=<tt>T:Mono.DocTest.DocAttribute</tt>.
+              </p>
         <table width="100%">
           <tr>
             <td style="color:red">red</td>
index 16ddbfc35ceb70784255b1fe4c3d156cfd97c584..b69e603915bf4929c3061086255ae914b36da866 100644 (file)
                 <i>folder</i>
               </dt>
               <dd>
-            A <a href="../System/Environment+SpecialFolder.html">Environment.SpecialFolder</a> instance.
-            </dd>
+               A <a href="../System/Environment+SpecialFolder.html">Environment.SpecialFolder</a> instance.
+             </dd>
             </dl>
           </blockquote>
           <h4 class="Subsection">Returns</h4>
index 32f5ba7d7aa7adf2887d9816d11cc5413e00d315..11134443164e2edc57031a5cfc0fab5b579d25e5 100644 (file)
@@ -17,8 +17,8 @@
             <summary>Possible colors</summary>
             <remarks>
                 <see cref="T:Mono.DocTest.Color" />.
-            Namespace Test: [<see cref="N:Mono.DocTest" />]
-            </remarks>
+               Namespace Test: [<see cref="N:Mono.DocTest" />]
+             </remarks>
         </member>
         <member name="F:Mono.DocTest.Color.AnotherGreen">
             <summary>To be added.</summary>
@@ -50,8 +50,8 @@
             <summary>To be added.</summary>
             <remarks>
                 <para>
-            cref=<c>T:Mono.DocTest.DocAttribute</c>.
-            </para>
+               cref=<c>T:Mono.DocTest.DocAttribute</c>.
+              </para>
                 <format type="text/html">
                     <table width="100%">
                         <tr>
@@ -915,9 +915,9 @@ class Example {
         <member name="M:Mono.DocTest.Generic.Extensions.ToDouble(System.Collections.Generic.IEnumerable{System.Int32})">
             <param name="list">To be added.</param>
             <summary>
-                <see cref="T:System.Collections.Generic.IEnumerable{System.Int32}" />
-            extension method.
-            </summary>
+                <see cref="T:System.Collections.Generic.IEnumerable{System.Int32}" /> 
+               extension method.
+             </summary>
             <returns>To be added.</returns>
             <remarks>
                 <c>M:Mono.DocTest.Generic.Extensions.ToDouble</c>
@@ -928,7 +928,7 @@ class Example {
             <param name="val">To be added.</param>
             <summary>
                 <see cref="T:Mono.DocTest.Generic.IFoo`1" /> extension method.
-            </summary>
+             </summary>
             <returns>To be added.</returns>
             <remarks>
                 <c>M:Mono.DocTest.Generic.Extensions.ToDouble</c>
@@ -1567,8 +1567,8 @@ class Example {
         </member>
         <member name="M:System.Environment.GetFolderPath(System.Environment+SpecialFolder)">
             <param name="folder">
-            A <see cref="T:System.Environment+SpecialFolder" /> instance.
-            </param>
+               A <see cref="T:System.Environment+SpecialFolder" /> instance.
+             </param>
             <summary>To be added.</summary>
             <returns>To be added.</returns>
             <remarks>
index 2dc2bf799d94c473556fc5796cc6f619e2b5e27b..ec5c1f10aabad6e73e5b4e84fa54d1b42b21a954 100755 (executable)
@@ -156,6 +156,13 @@ class MakeBundle {
                                }
                                ctor_func = args [++i];
                                break;
+                       case "--dos2unix":
+                       case "--dos2unix=true":
+                               use_dos2unix = true;
+                               break;
+                       case "--dos2unix=false":
+                               use_dos2unix = false;
+                               break;
                        default:
                                sources.Add (args [i]);
                                break;
@@ -651,6 +658,10 @@ void          mono_register_config_for_assembly (const char* assembly_name, cons
                                   "    -L path             Adds `path' to the search path for assemblies\n" +
                                   "    --nodeps            Turns off automatic dependency embedding (default)\n" +
                                   "    --deps              Turns on automatic dependency embedding\n" +
+                                  "    --dos2unix[=true|false]\n" +
+                                  "                        When no value provided, or when `true` specified\n" +
+                                  "                        `dos2unix` will be invoked to convert paths on Windows.\n" +
+                                  "                        When `--dos2unix=false` used, dos2unix is NEVER used.\n" +
                                   "    --keeptemp          Keeps the temporary files\n" +
                                   "    --config F          Bundle system config file `F'\n" +
                                   "    --config-dir D      Set MONO_CFG_DIR to `D'\n" +
@@ -704,7 +715,6 @@ void          mono_register_config_for_assembly (const char* assembly_name, cons
                        return system (cmdLine);
                }
                
-#if XAMARIN_ANDROID
                // on Windows, we have to pipe the output of a
                // `cmd` interpolation to dos2unix, because the shell does not
                // strip the CRLFs generated by the native pkg-config distributed
@@ -733,7 +743,6 @@ void          mono_register_config_for_assembly (const char* assembly_name, cons
                }
                // and if there is no dos2unix, just run cmd /c.
                if (use_dos2unix == false) {
-#endif
                        Console.WriteLine (cmdLine);
                        ProcessStartInfo dos2unix = new ProcessStartInfo ();
                        dos2unix.UseShellExecute = false;
@@ -744,19 +753,15 @@ void          mono_register_config_for_assembly (const char* assembly_name, cons
                                p.WaitForExit ();
                                return p.ExitCode;
                        }
-#if XAMARIN_ANDROID
                }
-#endif
 
                StringBuilder b = new StringBuilder ();
                int count = 0;
                for (int i = 0; i < cmdLine.Length; i++) {
                        if (cmdLine [i] == '`') {
-#if XAMARIN_ANDROID
                                if (count % 2 != 0) {
                                        b.Append ("|dos2unix");
                                }
-#endif
                                count++;
                        }
                        b.Append (cmdLine [i]);
index 7e14ab8a62fe7e42a917c0be74fd0e5417a5c793..75d04c1e21ce9d23a8dd31e477b1cf9b23bc83c4 100644 (file)
@@ -39,7 +39,9 @@ BUILD_TEST_EXE = @\
        mkdir -p $(OUT_DIR); \
        $(MCS) -debug $(TEST_CS) -out:$(TEST_EXE)
 
-check: all
+check: test-local
+
+test-local: all
        $(BUILD_TEST_EXE)
        @echo "Checking $(PROGRAM) without AOT"
        $(CHECK_DIFF)
index c9d6b55d110f354096d384554ddfc309bd3faa38..78e2db9a8986eea92339c3eb772d778dfcd5a1cf 100644 (file)
@@ -9,86 +9,54 @@ class StackTraceDumper {
                        throw new Exception ("Stacktrace with 1 frame");
                } catch (Exception e) {
                        Console.WriteLine (e);
+                       Console.WriteLine ("Stacktrace:");
+                       Console.WriteLine (new System.Diagnostics.StackTrace(e));
                }
 
-               try {
-                       ThrowException ("Stacktrace with 2 frames");
-               } catch (Exception e) {
-                       Console.WriteLine (e);
-               }
+               Catch (() => {throw new Exception ("Stacktrace with 2 frames");});
 
-               try {
-                       ThrowException ("Stacktrace with 3 frames", 2);
-               } catch (Exception e) {
-                       Console.WriteLine (e);
-               }
+               Catch (() => ThrowException ("Stacktrace with 3 frames", 1));
 
-               try {
+               Catch (() => ThrowException ("Stacktrace with 4 frames", 2));
+
+               Catch (() => {
                        var message = "Stack frame with method overload using ref parameter";
                        ThrowException (ref message);
-               } catch (Exception e) {
-                       Console.WriteLine (e);
-               }
+               });
 
-               try {
+               Catch (() => {
                        int i;
                        ThrowException ("Stack frame with method overload using out parameter", out i);
-               } catch (Exception e) {
-                       Console.WriteLine (e);
-               }
+               });
 
-               try {
-                       ThrowExceptionGeneric<double> ("Stack frame with 1 generic parameter");
-               } catch (Exception e) {
-                       Console.WriteLine (e);
-               }
+               Catch (() => ThrowExceptionGeneric<double> ("Stack frame with 1 generic parameter"));
 
-               try {
-                       ThrowExceptionGeneric<double,string> ("Stack frame with 2 generic parameters");
-               } catch (Exception e) {
-                       Console.WriteLine (e);
-               }
+               Catch (() => ThrowExceptionGeneric<double,string> ("Stack frame with 2 generic parameters"));
 
-               try {
-                       ThrowExceptionGeneric (12);
-               } catch (Exception e) {
-                       Console.WriteLine (e);
-               }
+               Catch (() => ThrowExceptionGeneric (12));
 
-               try {
-                       InnerClass.ThrowException ("Stack trace with inner class");
-               } catch (Exception e) {
-                       Console.WriteLine (e);
-               }
+               Catch (() => InnerClass.ThrowException ("Stack trace with inner class"));
 
-               try {
-                       InnerGenericClass<string>.ThrowException ("Stack trace with inner generic class");
-               } catch (Exception e) {
-                       Console.WriteLine (e);
-               }
+               Catch (() => InnerGenericClass<string>.ThrowException ("Stack trace with inner generic class"));
 
-               try {
-                       InnerGenericClass<string>.ThrowException ("Stack trace with inner generic class and method generic parameter", "string");
-               } catch (Exception e) {
-                       Console.WriteLine (e);
-               }
+               Catch (() => InnerGenericClass<string>.ThrowException ("Stack trace with inner generic class and method generic parameter", "string"));
 
-               try {
-                       InnerGenericClass<string>.ThrowException<string> ("Stack trace with inner generic class and generic overload", "string");
-               } catch (Exception e) {
-                       Console.WriteLine (e);
-               }
+               Catch (() => InnerGenericClass<string>.ThrowException<string> ("Stack trace with inner generic class and generic overload", "string"));
 
-               try {
-                       InnerGenericClass<string>.InnerInnerGenericClass<int>.ThrowException ("Stack trace with 2 inner generic class and generic overload");
-               } catch (Exception e) {
-                       Console.WriteLine (e);
-               }
+               Catch (() => InnerGenericClass<string>.InnerInnerGenericClass<int>.ThrowException ("Stack trace with 2 inner generic class and generic overload"));
 
+               Catch (() => InnerGenericClass<int>.InnerInnerGenericClass<string>.ThrowException ("Stack trace with 2 inner generic class and generic overload"));
+       }
+
+       public static void Catch (Action action)
+       {
                try {
-                       InnerGenericClass<int>.InnerInnerGenericClass<string>.ThrowException ("Stack trace with 2 inner generic class and generic overload");
+                       action ();
                } catch (Exception e) {
+                       Console.WriteLine();
                        Console.WriteLine (e);
+                       Console.WriteLine ("Stacktrace:");
+                       Console.WriteLine (new System.Diagnostics.StackTrace (e));
                }
        }
 
index 59182caba3c29e8731c6c68182b6610969b1a319..a426d61200eaed9a2c3e8664903605e3f015d807 100644 (file)
 System.Exception: Stacktrace with 1 frame
   at StackTraceDumper.Main () in StackTraceDumper.cs:9 
+Stacktrace:
+  at StackTraceDumper.Main () in StackTraceDumper.cs:9 
+
 System.Exception: Stacktrace with 2 frames
-  at StackTraceDumper.ThrowException (System.String message) in StackTraceDumper.cs:97 
-  at StackTraceDumper.Main () in StackTraceDumper.cs:15 
+  at StackTraceDumper.<Main>m__0 () in StackTraceDumper.cs:16 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+Stacktrace:
+  at StackTraceDumper.<Main>m__0 () in StackTraceDumper.cs:16 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+
 System.Exception: Stacktrace with 3 frames
-  at StackTraceDumper.ThrowException (System.String message, Int32 i) in StackTraceDumper.cs:110 
-  at StackTraceDumper.ThrowException (System.String message, Int32 i) in StackTraceDumper.cs:108 
-  at StackTraceDumper.Main () in StackTraceDumper.cs:21 
+  at StackTraceDumper.ThrowException (System.String message, Int32 i) in StackTraceDumper.cs:78 
+  at StackTraceDumper.<Main>m__1 () in StackTraceDumper.cs:18 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+Stacktrace:
+  at StackTraceDumper.ThrowException (System.String message, Int32 i) in StackTraceDumper.cs:78 
+  at StackTraceDumper.<Main>m__1 () in StackTraceDumper.cs:18 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+
+System.Exception: Stacktrace with 4 frames
+  at StackTraceDumper.ThrowException (System.String message, Int32 i) in StackTraceDumper.cs:78 
+  at StackTraceDumper.ThrowException (System.String message, Int32 i) in StackTraceDumper.cs:76 
+  at StackTraceDumper.<Main>m__2 () in StackTraceDumper.cs:20 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+Stacktrace:
+  at StackTraceDumper.ThrowException (System.String message, Int32 i) in StackTraceDumper.cs:78 
+  at StackTraceDumper.ThrowException (System.String message, Int32 i) in StackTraceDumper.cs:76 
+  at StackTraceDumper.<Main>m__2 () in StackTraceDumper.cs:20 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+
 System.Exception: Stack frame with method overload using ref parameter
-  at StackTraceDumper.ThrowException (System.String& message) in StackTraceDumper.cs:102 
-  at StackTraceDumper.Main () in StackTraceDumper.cs:28 
+  at StackTraceDumper.ThrowException (System.String& message) in StackTraceDumper.cs:70 
+  at StackTraceDumper.<Main>m__3 () in StackTraceDumper.cs:24 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+Stacktrace:
+  at StackTraceDumper.ThrowException (System.String& message) in StackTraceDumper.cs:70 
+  at StackTraceDumper.<Main>m__3 () in StackTraceDumper.cs:24 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+
 System.Exception: Stack frame with method overload using out parameter
-  at StackTraceDumper.ThrowException (System.String message, System.Int32& o) in StackTraceDumper.cs:115 
-  at StackTraceDumper.Main () in StackTraceDumper.cs:35 
+  at StackTraceDumper.ThrowException (System.String message, System.Int32& o) in StackTraceDumper.cs:83 
+  at StackTraceDumper.<Main>m__4 () in StackTraceDumper.cs:29 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+Stacktrace:
+  at StackTraceDumper.ThrowException (System.String message, System.Int32& o) in StackTraceDumper.cs:83 
+  at StackTraceDumper.<Main>m__4 () in StackTraceDumper.cs:29 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+
 System.Exception: Stack frame with 1 generic parameter
-  at StackTraceDumper.ThrowExceptionGeneric[T] (System.String message) in StackTraceDumper.cs:120 
-  at StackTraceDumper.Main () in StackTraceDumper.cs:41 
+  at StackTraceDumper.ThrowExceptionGeneric[T] (System.String message) in StackTraceDumper.cs:88 
+  at StackTraceDumper.<Main>m__5 () in StackTraceDumper.cs:32 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+Stacktrace:
+  at StackTraceDumper.ThrowExceptionGeneric[T] (System.String message) in StackTraceDumper.cs:88 
+  at StackTraceDumper.<Main>m__5 () in StackTraceDumper.cs:32 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+
 System.Exception: Stack frame with 2 generic parameters
-  at StackTraceDumper.ThrowExceptionGeneric[T1,T2] (System.String message) in StackTraceDumper.cs:140 
-  at StackTraceDumper.Main () in StackTraceDumper.cs:47 
+  at StackTraceDumper.ThrowExceptionGeneric[T1,T2] (System.String message) in StackTraceDumper.cs:108 
+  at StackTraceDumper.<Main>m__6 () in StackTraceDumper.cs:34 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+Stacktrace:
+  at StackTraceDumper.ThrowExceptionGeneric[T1,T2] (System.String message) in StackTraceDumper.cs:108 
+  at StackTraceDumper.<Main>m__6 () in StackTraceDumper.cs:34 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+
 System.Exception: Stack frame with generic method overload
-  at StackTraceDumper.ThrowExceptionGeneric[T] (T a1) in StackTraceDumper.cs:125 
-  at StackTraceDumper.Main () in StackTraceDumper.cs:53 
+  at StackTraceDumper.ThrowExceptionGeneric[T] (T a1) in StackTraceDumper.cs:93 
+  at StackTraceDumper.<Main>m__7 () in StackTraceDumper.cs:36 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+Stacktrace:
+  at StackTraceDumper.ThrowExceptionGeneric[T] (T a1) in StackTraceDumper.cs:93 
+  at StackTraceDumper.<Main>m__7 () in StackTraceDumper.cs:36 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+
 System.Exception: Stack trace with inner class
-  at StackTraceDumper+InnerClass.ThrowException (System.String message) in StackTraceDumper.cs:146 
-  at StackTraceDumper.Main () in StackTraceDumper.cs:59 
+  at StackTraceDumper+InnerClass.ThrowException (System.String message) in StackTraceDumper.cs:114 
+  at StackTraceDumper.<Main>m__8 () in StackTraceDumper.cs:38 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+Stacktrace:
+  at StackTraceDumper+InnerClass.ThrowException (System.String message) in StackTraceDumper.cs:114 
+  at StackTraceDumper.<Main>m__8 () in StackTraceDumper.cs:38 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+
 System.Exception: Stack trace with inner generic class
-  at StackTraceDumper+InnerGenericClass`1[T].ThrowException (System.String message) in StackTraceDumper.cs:153 
-  at StackTraceDumper.Main () in StackTraceDumper.cs:65 
+  at StackTraceDumper+InnerGenericClass`1[T].ThrowException (System.String message) in StackTraceDumper.cs:121 
+  at StackTraceDumper.<Main>m__9 () in StackTraceDumper.cs:40 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+Stacktrace:
+  at StackTraceDumper+InnerGenericClass`1[T].ThrowException (System.String message) in StackTraceDumper.cs:121 
+  at StackTraceDumper.<Main>m__9 () in StackTraceDumper.cs:40 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
 Generic to string:string
+
 System.Exception: Stack trace with inner generic class and method generic parameter
-  at StackTraceDumper+InnerGenericClass`1[T].ThrowException (System.String message, T arg) in StackTraceDumper.cs:159 
-  at StackTraceDumper.Main () in StackTraceDumper.cs:71 
+  at StackTraceDumper+InnerGenericClass`1[T].ThrowException (System.String message, T arg) in StackTraceDumper.cs:127 
+  at StackTraceDumper.<Main>m__A () in StackTraceDumper.cs:42 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+Stacktrace:
+  at StackTraceDumper+InnerGenericClass`1[T].ThrowException (System.String message, T arg) in StackTraceDumper.cs:127 
+  at StackTraceDumper.<Main>m__A () in StackTraceDumper.cs:42 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+
 System.Exception: Stack trace with inner generic class and generic overload
-  at StackTraceDumper+InnerGenericClass`1[T].ThrowException[T1] (System.String message, T1 arg) in StackTraceDumper.cs:164 
-  at StackTraceDumper.Main () in StackTraceDumper.cs:77 
+  at StackTraceDumper+InnerGenericClass`1[T].ThrowException[T1] (System.String message, T1 arg) in StackTraceDumper.cs:132 
+  at StackTraceDumper.<Main>m__B () in StackTraceDumper.cs:44 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+Stacktrace:
+  at StackTraceDumper+InnerGenericClass`1[T].ThrowException[T1] (System.String message, T1 arg) in StackTraceDumper.cs:132 
+  at StackTraceDumper.<Main>m__B () in StackTraceDumper.cs:44 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+
 System.Exception: Stack trace with 2 inner generic class and generic overload
-  at StackTraceDumper+InnerGenericClass`1+InnerInnerGenericClass`1[T,T2].ThrowException (T message) in StackTraceDumper.cs:170 
-  at StackTraceDumper.Main () in StackTraceDumper.cs:83 
+  at StackTraceDumper+InnerGenericClass`1+InnerInnerGenericClass`1[T,T2].ThrowException (T message) in StackTraceDumper.cs:138 
+  at StackTraceDumper.<Main>m__C () in StackTraceDumper.cs:46 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+Stacktrace:
+  at StackTraceDumper+InnerGenericClass`1+InnerInnerGenericClass`1[T,T2].ThrowException (T message) in StackTraceDumper.cs:138 
+  at StackTraceDumper.<Main>m__C () in StackTraceDumper.cs:46 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+
 System.Exception: Stack trace with 2 inner generic class and generic overload
-  at StackTraceDumper+InnerGenericClass`1+InnerInnerGenericClass`1[T,T2].ThrowException (T2 message) in StackTraceDumper.cs:175 
-  at StackTraceDumper.Main () in StackTraceDumper.cs:89 
+  at StackTraceDumper+InnerGenericClass`1+InnerInnerGenericClass`1[T,T2].ThrowException (T2 message) in StackTraceDumper.cs:143 
+  at StackTraceDumper.<Main>m__D () in StackTraceDumper.cs:48 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
+Stacktrace:
+  at StackTraceDumper+InnerGenericClass`1+InnerInnerGenericClass`1[T,T2].ThrowException (T2 message) in StackTraceDumper.cs:143 
+  at StackTraceDumper.<Main>m__D () in StackTraceDumper.cs:48 
+  at StackTraceDumper.Catch (System.Action action) in StackTraceDumper.cs:54 
index 6fc37c34271a59f7da5163add23b049f802fdfa5..52ecbbb3fb53f719e83c8f14d9518385d0a148fa 100644 (file)
@@ -13,4 +13,4 @@ run-test-local : basic-tests
 
 basic-tests:
        for type in System.Array System.String 'System.Collections.Generic.List`1'; do \
-       echo $$type; $(RUNTIME) $(build_lib) $$type >/dev/null || exit 1; done
\ No newline at end of file
+       echo $$type; MONO_PATH="$(topdir)/class/lib/$(PROFILE)$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) $(build_lib) $$type >/dev/null || exit 1; done
index f87026bbfa9367592d9bdccac6fffc1d1c388f5d..d37ec8604daecd6e2deaff901e3084d940c5bdd8 100644 (file)
@@ -13,6 +13,7 @@ using System.Globalization;
 using System.Text;
 using System.IO;
 using System.Collections;
+using System.Collections.Generic;
 using System.Resources;
 using System.Reflection;
 using System.Xml;
@@ -22,6 +23,7 @@ class ResGen {
        static Assembly swf;
        static Type resxr;
        static Type resxw;
+       static HashSet<string> symbols = new HashSet<string> ();
 
        /*
         * We load the ResX format stuff on demand, since the classes are in 
@@ -61,7 +63,18 @@ Options:
        output file name (if not set).
 -usesourcepath, /useSourcePath
        to resolve relative file paths, use the directory of the resource 
-       file as current directory.";
+       file as current directory.
+-define, /define:SYMBOL1,SYMBOL2
+       takes a comma-separated list of symbols that control conditional
+       inclusion of resources file. The source file needs to be in 
+       the '.txt' format.
+
+       Resources enclosed with #ifdef SYMBOL1 ... #endif directives
+       will be included in the destination file when SYMBOL1 has
+       been specified using /define option.
+
+       Resources enclosed with #if ! SYMBOL2 ... #endif directives
+       will be included only if SYMBOL2 has NOT been specified.";
                Usage += @"
 ";
                Console.WriteLine( Usage );
@@ -74,7 +87,7 @@ Options:
                        return new PoResourceReader (stream);
                case ".txt":
                case ".text":
-                       return new TxtResourceReader (stream);
+                       return new TxtResourceReader (stream, symbols);
                case ".resources":
                        return new ResourceReader (stream);
                case ".resx":
@@ -215,6 +228,22 @@ Options:
                                break;
 
                        default:
+                               if (args [i].StartsWith ("/d:")       ||
+                                   args [i].StartsWith ("-d:")       ||
+                                   args [i].StartsWith ("/define:")  ||
+                                   args [i].StartsWith ("-define:")  ||
+                                   args [i].StartsWith ("/D:")       ||
+                                   args [i].StartsWith ("-D:")       ||
+                                   args [i].StartsWith ("/DEFINE:")  ||
+                                   args [i].StartsWith ("-DEFINE:")) {
+
+                                       string defines = args [i].Substring (args [i].IndexOf (':') + 1);
+                                       foreach (string s in defines.Split (',') ) {
+                                               symbols.Add(s);
+                                       }
+                                       break;
+                               }
+
                                if (!IsFileArgument (args [i])) {
                                        Usage ();
                                        return 1;
@@ -358,10 +387,13 @@ class TxtResourceWriter : IResourceWriter {
 class TxtResourceReader : IResourceReader {
        Hashtable data;
        Stream s;
+       HashSet <String> defines;
        
-       public TxtResourceReader (Stream stream) {
+       public TxtResourceReader (Stream stream, IEnumerable<string> symbols) {
                data = new Hashtable ();
                s = stream;
+
+               defines = new HashSet<String> (symbols);
                Load ();
        }
        
@@ -371,17 +403,84 @@ class TxtResourceReader : IResourceReader {
        public IDictionaryEnumerator GetEnumerator() {
                return data.GetEnumerator ();
        }
-       
+
+       static string NextWord(ref string line) {
+               int i, j;
+               string keywd;
+               line = line.TrimStart ();
+               for (i = 0; i < line.Length && !Char.IsWhiteSpace (line [i]) && line [i] != ';'; i++ );
+
+               if (i < line.Length) {
+                       for (j = i; j < line.Length && Char.IsWhiteSpace (line [j]) && line [j] != ';'; j++ );
+
+                       keywd = line.Substring (0, i);
+                       line = line.Substring (j).TrimStart ();
+               } else {
+                       keywd = line;
+                       line = "";
+               }
+               return keywd;
+       }
+
        void Load () {
                StreamReader reader = new StreamReader (s);
                string line, key, val;
+               Stack<bool> conditional = new Stack<bool> (5);
                int epos, line_num = 0;
+
+               conditional.Push(true);
                while ((line = reader.ReadLine ()) != null) {
                        line_num++;
                        line = line.Trim ();
-                       if (line.Length == 0 || line [0] == '#' ||
-                           line [0] == ';')
+
+                       if (line.Length == 0 || line [0] == ';')
                                continue;
+
+                       if (line [0] == '#') {
+                               bool stat;
+                               bool neg = false;
+                               string keywd, symbol;
+
+                               line = line.Substring (1);
+                               keywd = NextWord (ref line).ToLower ();
+                               symbol = "";
+
+                               if (line.Length > 0) {
+                                       if (line[0] == '!') {
+                                               line = line.Substring (1);
+                                               neg = true;
+                                       }
+                                       symbol = NextWord (ref line);
+                               }
+
+                               switch (keywd) {
+                               case "endif":
+                               case "else":
+                                       stat = conditional.Pop ();
+                                       if (conditional.Count < 1)
+                                               throw new Exception (String.Format ("Found an #{0} without matching #ifdef", keywd));
+
+                                       if (keywd == "else")
+                                               conditional.Push (conditional.Peek () && !stat);
+                                       break;
+
+                               case "ifdef":
+                               case "if":
+                                       if (symbol.Length == 0)
+                                               throw new Exception (String.Format ("Missing symbol after {0}", keywd));
+                                       stat = defines.Contains (symbol);
+                                       if (neg)
+                                               stat = !stat;
+
+                                       conditional.Push (conditional.Peek () && stat);
+                                       break;
+
+                }
+                               continue;
+                       }
+                       if (conditional.Peek () == false)
+                               continue;
+
                        epos = line.IndexOf ('=');
                        if (epos < 0) 
                                throw new Exception ("Invalid format at line " + line_num);
@@ -399,6 +498,8 @@ class TxtResourceReader : IResourceReader {
 
                        data.Add (key, val);
                }
+               if (conditional.Count > 1)
+                       throw new Exception ("Found an #ifdef but not a matching #endif before reaching the end of the file.");
        }
 
        // \\n -> \n ...
index 44280675dd1aa9b316c31f95843eeee671161160..ac2c2ef82c72d87c20a4c9a4a86869f290bd53b1 100644 (file)
@@ -49,6 +49,7 @@ namespace Mono.Tools
        
                static string inputFile;
                static bool quiet;
+               static bool userStore;
 
                static X509Certificate DecodeCertificate (string s)
                {
@@ -115,7 +116,7 @@ namespace Mono.Tools
                                return 0;
                        }
                                
-                       X509Stores stores = (X509StoreManager.LocalMachine);
+                       X509Stores stores = userStore ? X509StoreManager.CurrentUser : X509StoreManager.LocalMachine;
                        X509CertificateCollection trusted = stores.TrustedRoot.Certificates;
                        int additions = 0;
                        WriteLine ("I already trust {0}, your new list has {1}", trusted.Count, roots.Count);
@@ -124,10 +125,11 @@ namespace Mono.Tools
                                        try {
                                                stores.TrustedRoot.Import (root);
                                                WriteLine ("Certificate added: {0}", root.SubjectName);
-                                       } catch {
-                                               WriteLine ("Warning: Could not import {0}");
+                                               additions++;
+                                       } catch (Exception e) {
+                                               WriteLine ("Warning: Could not import {0}", root.SubjectName);
+                                               WriteLine (e.ToString ());
                                        }
-                                       additions++;
                                }
                        }
                        if (additions > 0)
@@ -168,14 +170,17 @@ namespace Mono.Tools
                                case "--quiet":
                                        quiet = true;
                                        break;
+                               case "--user":
+                                       userStore = true;
+                                       break;
                                default:
-                                       WriteLine ("Unknown option '{0}'.");
+                                       WriteLine ("Unknown option '{0}'.", args[i]);
                                        return false;
                                }
                        }
                        inputFile = args [args.Length - 1];
                        if (!File.Exists (inputFile)) {
-                               WriteLine ("Unknown option or file not found '{0}'.");
+                               WriteLine ("Unknown option or file not found '{0}'.", inputFile);
                                return false;
                        }
                        return true;
@@ -188,7 +193,7 @@ namespace Mono.Tools
 
                static void Help ()
                {
-                       Console.WriteLine ("Usage: cert-sync [--quiet] system-ca-bundle.crt");
+                       Console.WriteLine ("Usage: cert-sync [--quiet] [--user] system-ca-bundle.crt");
                        Console.WriteLine ("Where system-ca-bundle.crt is in PEM format");
                }
 
index 99baefdd8b75df074ceaff4f1170f692230f1283..05d662c03981c979db50a7345cf556c49dc040e5 100644 (file)
@@ -105,7 +105,7 @@ namespace Mono.Tools {
                        RSA subjectKey = (RSA)RSA.Create ();
 
                        bool selfSigned = false;
-                       string hashName = "SHA1";
+                       string hashName = "SHA512";
 
                        CspParameters subjectParams = new CspParameters ();
                        CspParameters issuerParams = new CspParameters ();
@@ -150,11 +150,18 @@ namespace Mono.Tools {
                                                case "-a":
                                                        // hash algorithm
                                                        switch (args [i++].ToLower ()) {
+                                                               case "sha512":
+                                                                       hashName = "SHA512";
+                                                                       break;
+                                                               case "sha256":
+                                                                       hashName = "SHA256";
+                                                                       break;
                                                                case "sha1":
+                                                                       Console.WriteLine ("WARNING: SHA1 is not safe for this usage.");
                                                                        hashName = "SHA1";
                                                                        break;
                                                                case "md5":
-                                                                       Console.WriteLine ("WARNING: MD5 is no more safe for this usage.");
+                                                                       Console.WriteLine ("WARNING: MD5 is no safe for this usage.");
                                                                        hashName = "MD5";
                                                                        break;
                                                                default:
index 439afd50e35f2afc5f9fe50dd3d8865494954fd1..9dcf5ee05afc4e9bc4a51658a00738dff404443d 100644 (file)
@@ -181,14 +181,26 @@ namespace Mono.Tuner {
 
                void DispatchAssembly (AssemblyDefinition assembly)
                {
-                       foreach (var substep in on_assemblies)
+                       foreach (var substep in on_assemblies) {
+                               var bs = substep as BaseSubStep;
+                               if (bs != null)
+                                       bs.Annotations.Push (substep);
                                substep.ProcessAssembly (assembly);
+                               if (bs != null)
+                                       bs.Annotations.Pop ();
+                       }
                }
 
                void DispatchType (TypeDefinition type)
                {
-                       foreach (var substep in on_types)
+                       foreach (var substep in on_types) {
+                               var bs = substep as BaseSubStep;
+                               if (bs != null)
+                                       bs.Annotations.Push (substep);
                                substep.ProcessType (type);
+                               if (bs != null)
+                                       bs.Annotations.Pop ();
+                       }
                }
 
                void DispatchField (FieldDefinition field)
index 628d85c1a598b9606c3d3594e5e76d67f007fa84..1d32ae1b0bae491313a0ca6a6365f0d8f1c473f0 100644 (file)
@@ -53,6 +53,8 @@ install-frameworks:
        $(INSTALL_DATA) frameworks/net_4.0_client.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.0/Profile/Client/RedistList/FrameworkList.xml
        $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.5.1/RedistList
        $(INSTALL_DATA) frameworks/net_4.5.1.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.5.1/RedistList/FrameworkList.xml
+       $(MKINSTALLDIRS) $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.5.2/RedistList
+       $(INSTALL_DATA) frameworks/net_4.5.2.xml $(DESTDIR)$(NETFRAMEWORK_DIR)/v4.5.2/RedistList/FrameworkList.xml
 
 install-pcl-targets:
        $(MKINSTALLDIRS) $(DESTDIR)$(PORTABLE_TARGETS_DIR)/v4.0
@@ -103,6 +105,7 @@ EXTRA_DISTFILES = \
        frameworks/net_4.0_client.xml \
        frameworks/net_4.5.xml \
        frameworks/net_4.5.1.xml \
+       frameworks/net_4.5.2.xml \
        targets/Microsoft.Portable.CSharp_4.0.targets \
        targets/Microsoft.Portable.CSharp_4.5.targets \
        targets/Microsoft.Portable.VisualBasic_4.0.targets \
index 11b40d66a9b51c6c6696def143aea14a91bf6e79..1d111a1cf66d3201a71ed68f67c803fbcf239884 100644 (file)
@@ -96,7 +96,7 @@
                        WarningLevel="$(WarningLevel)"
                        WarningsAsErrors="$(WarningsAsErrors)"
                        WarningsNotAsErrors="$(WarningsNotAsErrors)"
-                       Win32Icon="$(Win32Icon)"
+                       Win32Icon="$(ApplicationIcon)"
                        Win32Resource="$(Win32Resource)"
                        Resources="@(ManifestResourceWithNoCulture);@(ManifestNonResxWithNoCultureOnDisk);@(CompiledLicenseFile)"
                        ToolExe="$(CscToolExe)"
index fdf43ccd488b2b7019eda123ea3625c93ae92179..3c27732bf4f26f682aeedbbe4394285df23edb76 100644 (file)
                <AssignProjectConfiguration
                        ProjectReferences = "@(ProjectReference)"
                        SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)"
-                       Condition="'$(BuildingSolutionFile)' == 'true'">
+                       Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'">
 
                        <Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/>
                </AssignProjectConfiguration>
 
                <!-- Else, just -->
-               <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true'">
+               <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true' and '$(BuildingInsideVisualStudio)' != 'true'">
                        <Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/>
                </CreateItem>
 
index 11b40d66a9b51c6c6696def143aea14a91bf6e79..1d111a1cf66d3201a71ed68f67c803fbcf239884 100644 (file)
@@ -96,7 +96,7 @@
                        WarningLevel="$(WarningLevel)"
                        WarningsAsErrors="$(WarningsAsErrors)"
                        WarningsNotAsErrors="$(WarningsNotAsErrors)"
-                       Win32Icon="$(Win32Icon)"
+                       Win32Icon="$(ApplicationIcon)"
                        Win32Resource="$(Win32Resource)"
                        Resources="@(ManifestResourceWithNoCulture);@(ManifestNonResxWithNoCultureOnDisk);@(CompiledLicenseFile)"
                        ToolExe="$(CscToolExe)"
index d420c093660edff104b5f8e0fc5f22dee810c642..094a1383bb7b51ec99373e2640d5cfffe5b25bc0 100644 (file)
                        <Output TaskParameter="RelatedFiles" ItemName="_ReferenceRelatedPaths"/>
                        <Output TaskParameter="SatelliteFiles" ItemName="ReferenceSatellitePaths"/>
                        <Output TaskParameter="CopyLocalFiles" ItemName="ReferenceCopyLocalPaths"/>
-
+                       <Output TaskParameter="DependsOnSystemRuntime" PropertyName="DependsOnSystemRuntime"/>
+                       
                        <!-- FIXME: backwards compatibility -->
                        <Output TaskParameter="ResolvedDependencyFiles" ItemName="_ResolvedDependencyFiles"/>
                </ResolveAssemblyReference>
                <AssignProjectConfiguration
                        ProjectReferences = "@(ProjectReference)"
                        SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)"
-                       Condition="'$(BuildingSolutionFile)' == 'true'">
+                       Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'">
 
                        <Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/>
                </AssignProjectConfiguration>
 
                <!-- Else, just -->
-               <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true'">
+               <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true' and '$(BuildingInsideVisualStudio)' != 'true'">
                        <Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/>
                </CreateItem>
 
        <Target Name="ImplicitlyExpandDesignTimeFacades" Condition="'$(ImplicitlyExpandDesignTimeFacades)' == 'true'" DependsOnTargets="$(ImplicitlyExpandDesignTimeFacadesDependsOn)">
 
                <PropertyGroup>
-                       <_HasReferenceToSystemRuntime Condition="'%(_ResolvedDependencyFiles.Filename)' == 'System.Runtime'">true</_HasReferenceToSystemRuntime>
+                       <!-- Does one of our dependencies reference a System.Runtime-based portable library? -->
+                       <_HasReferenceToSystemRuntime Condition="'$(DependsOnSystemRuntime)' == 'true' or '%(_ResolvedProjectReferencePaths.TargetPlatformIdentifier)' == 'Portable'">true</_HasReferenceToSystemRuntime>
                </PropertyGroup>
 
                <ItemGroup Condition="'$(_HasReferenceToSystemRuntime)' == 'true'">
index 114e862c88c897ee2574cab27ff9f6c14026268c..29bd5d826aed56752aab8e74daa46868be68ec70 100644 (file)
@@ -65,7 +65,7 @@
                        WarningLevel="$(WarningLevel)"
                        WarningsAsErrors="$(WarningsAsErrors)"
                        WarningsNotAsErrors="$(WarningsNotAsErrors)"
-                       Win32Icon="$(Win32Icon)"
+                       Win32Icon="$(ApplicationIcon)"
                        Win32Resource="$(Win32Resource)"
                        Resources="@(ManifestResourceWithNoCulture);@(ManifestNonResxWithNoCultureOnDisk);@(CompiledLicenseFile)"
                        ToolExe="$(CscToolExe)"
index 31fd0bc580a611201908f7868b38314c7f51f0eb..079b8e092a2e4154871b7bfec7e714eb7dce598d 100644 (file)
                <AssignProjectConfiguration
                        ProjectReferences = "@(ProjectReference)"
                        SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)"
-                       Condition="'$(BuildingSolutionFile)' == 'true'">
+                       Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'">
 
                        <Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/>
                </AssignProjectConfiguration>
 
                <!-- Else, just -->
-               <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true'">
+               <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true' and '$(BuildingInsideVisualStudio)' != 'true'">
                        <Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/>
                </CreateItem>
 
index 114e862c88c897ee2574cab27ff9f6c14026268c..29bd5d826aed56752aab8e74daa46868be68ec70 100644 (file)
@@ -65,7 +65,7 @@
                        WarningLevel="$(WarningLevel)"
                        WarningsAsErrors="$(WarningsAsErrors)"
                        WarningsNotAsErrors="$(WarningsNotAsErrors)"
-                       Win32Icon="$(Win32Icon)"
+                       Win32Icon="$(ApplicationIcon)"
                        Win32Resource="$(Win32Resource)"
                        Resources="@(ManifestResourceWithNoCulture);@(ManifestNonResxWithNoCultureOnDisk);@(CompiledLicenseFile)"
                        ToolExe="$(CscToolExe)"
index 5e5a5679ebaca17d4619e5b3cdd5546953be90ee..c3f560a5f0e6191049df0eddd3bcdab4e1dcd6af 100644 (file)
                <AssignProjectConfiguration
                        ProjectReferences = "@(ProjectReference)"
                        SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)"
-                       Condition="'$(BuildingSolutionFile)' == 'true'">
+                       Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'">
 
                        <Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/>
                </AssignProjectConfiguration>
 
                <!-- Else, just -->
-               <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true'">
+               <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true' and '$(BuildingInsideVisualStudio)' != 'true'">
                        <Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/>
                </CreateItem>
 
index 11b40d66a9b51c6c6696def143aea14a91bf6e79..1d111a1cf66d3201a71ed68f67c803fbcf239884 100644 (file)
@@ -96,7 +96,7 @@
                        WarningLevel="$(WarningLevel)"
                        WarningsAsErrors="$(WarningsAsErrors)"
                        WarningsNotAsErrors="$(WarningsNotAsErrors)"
-                       Win32Icon="$(Win32Icon)"
+                       Win32Icon="$(ApplicationIcon)"
                        Win32Resource="$(Win32Resource)"
                        Resources="@(ManifestResourceWithNoCulture);@(ManifestNonResxWithNoCultureOnDisk);@(CompiledLicenseFile)"
                        ToolExe="$(CscToolExe)"
index 832b54fbefc1598284a5bffcc8fee189913787da..47b6b7f36e068e0631f374b4545c9853de7d9e93 100644 (file)
                <AssignProjectConfiguration
                        ProjectReferences = "@(ProjectReference)"
                        SolutionConfigurationContents = "$(CurrentSolutionConfigurationContents)"
-                       Condition="'$(BuildingSolutionFile)' == 'true'">
+                       Condition="'$(BuildingSolutionFile)' == 'true' or '$(BuildingInsideVisualStudio)' == 'true'">
 
                        <Output TaskParameter = "AssignedProjects" ItemName = "ProjectReferenceWithConfiguration"/>
                </AssignProjectConfiguration>
 
                <!-- Else, just -->
-               <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true'">
+               <CreateItem Include="@(ProjectReference)" Condition="'$(BuildingSolutionFile)' != 'true' and '$(BuildingInsideVisualStudio)' != 'true'">
                        <Output TaskParameter="Include" ItemName="ProjectReferenceWithConfiguration"/>
                </CreateItem>
 
diff --git a/mcs/tools/xbuild/frameworks/net_4.5.2.xml b/mcs/tools/xbuild/frameworks/net_4.5.2.xml
new file mode 100644 (file)
index 0000000..ec5a0e9
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FileList  Name=".NET Framework 4.5.2" TargetFrameworkDirectory="..\..\..\..\4.5">
+</FileList>
diff --git a/mono/arch/arm/tramp.c b/mono/arch/arm/tramp.c
deleted file mode 100644 (file)
index f736c7a..0000000
+++ /dev/null
@@ -1,710 +0,0 @@
-/*
- * Create trampolines to invoke arbitrary functions.
- * Copyright (c) 2002 Sergey Chaban <serge@wildwestsoftware.com>
- *
- * Contributions by Malte Hildingson
- */
-
-#include "arm-codegen.h"
-#include "arm-dis.h"
-
-#if defined(_WIN32_WCE) || defined (UNDER_CE)
-#      include <windows.h>
-#else
-#include <unistd.h>
-#include <sys/mman.h>
-#endif
-
-#if !defined(PLATFORM_MACOSX)
-#include <errno.h>
-
-#include "mono/metadata/class.h"
-#include "mono/metadata/tabledefs.h"
-#include "mono/interpreter/interp.h"
-#include "mono/metadata/appdomain.h"
-
-
-#if 0
-#      define ARM_DUMP_DISASM 1
-#endif
-
-/* prototypes for private functions (to avoid compiler warnings) */
-void flush_icache (void);
-void* alloc_code_buff (int num_instr);
-
-
-
-/*
- * The resulting function takes the form:
- * void func (void (*callme)(), void *retval, void *this_obj, stackval *arguments);
- * NOTE: all args passed in ARM registers (A1-A4),
- *       then copied to R4-R7 (see definitions below).
- */
-
-#define REG_FUNC_ADDR ARMREG_R4
-#define REG_RETVAL    ARMREG_R5
-#define REG_THIS      ARMREG_R6
-#define REG_ARGP      ARMREG_R7
-
-
-#define ARG_SIZE sizeof(stackval)
-
-
-
-
-void flush_icache ()
-{
-#if defined(_WIN32)
-       FlushInstructionCache(GetCurrentProcess(), NULL, 0);
-#else
-# if 0
-       asm ("mov r0, r0");
-       asm ("mov r0, #0");
-       asm ("mcr p15, 0, r0, c7, c7, 0");
-# else
-       /* TODO: use (movnv  pc, rx) method */
-# endif
-#endif
-}
-
-
-void* alloc_code_buff (int num_instr)
-{
-       void* code_buff;
-       int code_size = num_instr * sizeof(arminstr_t);
-
-#if defined(_WIN32) || defined(UNDER_CE)
-       int old_prot = 0;
-
-       code_buff = malloc(code_size);
-       VirtualProtect(code_buff, code_size, PAGE_EXECUTE_READWRITE, &old_prot);
-#else
-       int page_size = sysconf(_SC_PAGESIZE);
-       int new_code_size;
-
-       new_code_size = code_size + page_size - 1;
-       code_buff = malloc(new_code_size);
-       code_buff = (void *) (((int) code_buff + page_size - 1) & ~(page_size - 1));
-
-       if (mprotect(code_buff, code_size, PROT_READ|PROT_WRITE|PROT_EXEC) != 0) {
-               g_critical (G_GNUC_PRETTY_FUNCTION
-                               ": mprotect error: %s", g_strerror (errno));
-       }
-#endif
-
-       return code_buff;
-}
-
-
-/*
- * Refer to ARM Procedure Call Standard (APCS) for more info.
- */
-MonoPIFunc mono_arch_create_trampoline (MonoMethodSignature *sig, gboolean string_ctor)
-{
-       MonoType* param;
-       MonoPIFunc code_buff;
-       arminstr_t* p;
-       guint32 code_size, stack_size;
-       guint32 simple_type;
-       int i, hasthis, aregs, regc, stack_offs;
-       int this_loaded;
-       guchar reg_alloc [ARM_NUM_ARG_REGS];
-
-       /* pessimistic estimation for prologue/epilogue size */
-       code_size = 16 + 16;
-       /* push/pop work regs */
-       code_size += 2; 
-       /* call */
-       code_size += 2;
-       /* handle retval */
-       code_size += 2;
-
-       stack_size = 0;
-       hasthis = sig->hasthis ? 1 : 0;
-
-       aregs = ARM_NUM_ARG_REGS - hasthis;
-
-       for (i = 0, regc = aregs; i < sig->param_count; ++i) {
-               param = sig->params [i];
-
-               /* keep track of argument sizes */
-               if (i < ARM_NUM_ARG_REGS) reg_alloc [i] = 0;
-
-               if (param->byref) {
-                       if (regc > 0) {
-                               code_size += 1;
-                               reg_alloc [i] = regc;
-                               --regc;
-                       } else {
-                               code_size += 2;
-                               stack_size += sizeof(gpointer);
-                       }
-               } else {
-                       simple_type = param->type;
-enum_calc_size:
-                       switch (simple_type) {
-                       case MONO_TYPE_BOOLEAN:
-                       case MONO_TYPE_CHAR:
-                       case MONO_TYPE_I1:
-                       case MONO_TYPE_U1:
-                       case MONO_TYPE_I2:
-                       case MONO_TYPE_U2:
-                       case MONO_TYPE_I4:
-                       case MONO_TYPE_U4:
-                       case MONO_TYPE_I:
-                       case MONO_TYPE_U:
-                       case MONO_TYPE_PTR:
-                       case MONO_TYPE_R4:
-                       case MONO_TYPE_SZARRAY:
-                       case MONO_TYPE_CLASS:
-                       case MONO_TYPE_OBJECT:
-                       case MONO_TYPE_STRING:
-                               if (regc > 0) {
-                                       /* register arg */
-                                       code_size += 1;
-                                       reg_alloc [i] = regc;
-                                       --regc;
-                               } else {
-                                       /* stack arg */
-                                       code_size += 2;
-                                       stack_size += 4;
-                               }
-                               break;
-                       case MONO_TYPE_I8:
-                       case MONO_TYPE_U8:
-                       case MONO_TYPE_R8:
-                               /* keep track of argument sizes */
-                               if (regc > 1) {
-                                       /* fits into registers, two LDRs */
-                                       code_size += 2;
-                                       reg_alloc [i] = regc;
-                                       regc -= 2;
-                               } else if (regc > 0) {
-                                       /* first half fits into register, one LDR */
-                                       code_size += 1;
-                                       reg_alloc [i] = regc;
-                                       --regc;
-                                       /* the rest on the stack, LDR/STR */
-                                       code_size += 2;
-                                       stack_size += 4;
-                               } else {
-                                       /* stack arg, 4 instrs - 2x(LDR/STR) */
-                                       code_size += 4;
-                                       stack_size += 2 * 4;
-                               }
-                               break;
-                       case MONO_TYPE_VALUETYPE:
-                               if (param->data.klass->enumtype) {
-                                       simple_type = param->data.klass->enum_basetype->type;
-                                       goto enum_calc_size;
-                               }
-
-                               if (mono_class_value_size(param->data.klass, NULL) != 4) {
-                                       g_error("can only marshal enums, not generic structures (size: %d)", mono_class_value_size(param->data.klass, NULL));
-                               }
-                               if (regc > 0) {
-                                       /* register arg */
-                                       code_size += 1;
-                                       reg_alloc [i] = regc;
-                                       --regc;
-                               } else {
-                                       /* stack arg */
-                                       code_size += 2;
-                                       stack_size += 4;
-                               }
-                               break;
-                       default :
-                               break;
-                       }
-               }
-       }
-
-       code_buff = (MonoPIFunc)alloc_code_buff(code_size);
-       p = (arminstr_t*)code_buff;
-
-       /* prologue */
-       p = arm_emit_lean_prologue(p, stack_size,
-               /* save workset (r4-r7) */
-               (1 << ARMREG_R4) | (1 << ARMREG_R5) | (1 << ARMREG_R6) | (1 << ARMREG_R7));
-
-
-       /* copy args into workset */
-       /* callme - always present */
-       ARM_MOV_REG_REG(p, ARMREG_R4, ARMREG_A1);
-       /* retval */
-       if (sig->ret->byref || string_ctor || (sig->ret->type != MONO_TYPE_VOID)) {
-               ARM_MOV_REG_REG(p, ARMREG_R5, ARMREG_A2);
-       }
-       /* this_obj */
-       if (sig->hasthis) {
-               this_loaded = 0;
-               if (stack_size == 0) {
-                       ARM_MOV_REG_REG(p, ARMREG_A1, ARMREG_A3);
-                       this_loaded = 1;
-               } else {
-                       ARM_MOV_REG_REG(p, ARMREG_R6, ARMREG_A3);
-               }
-       }
-       /* args */
-       if (sig->param_count != 0) {
-               ARM_MOV_REG_REG(p, ARMREG_R7, ARMREG_A4);
-       }
-
-       stack_offs = stack_size;
-
-       /* handle arguments */
-       /* in reverse order so we could use r0 (arg1) for memory transfers */
-       for (i = sig->param_count; --i >= 0;) {
-               param = sig->params [i];
-               if (param->byref) {
-                       if (i < aregs && reg_alloc[i] > 0) {
-                               ARM_LDR_IMM(p, ARMREG_A1 + i, REG_ARGP, i*ARG_SIZE);
-                       } else {
-                               stack_offs -= sizeof(armword_t);
-                               ARM_LDR_IMM(p, ARMREG_R0, REG_ARGP, i*ARG_SIZE);
-                               ARM_STR_IMM(p, ARMREG_R0, ARMREG_SP, stack_offs);
-                       }
-               } else {
-                       simple_type = param->type;
-enum_marshal:
-                       switch (simple_type) {
-                       case MONO_TYPE_BOOLEAN:
-                       case MONO_TYPE_CHAR:
-                       case MONO_TYPE_I1:
-                       case MONO_TYPE_U1:
-                       case MONO_TYPE_I2:
-                       case MONO_TYPE_U2:
-                       case MONO_TYPE_I4:
-                       case MONO_TYPE_U4:
-                       case MONO_TYPE_I:
-                       case MONO_TYPE_U:
-                       case MONO_TYPE_PTR:
-                       case MONO_TYPE_R4:
-                       case MONO_TYPE_SZARRAY:
-                       case MONO_TYPE_CLASS:
-                       case MONO_TYPE_OBJECT:
-                       case MONO_TYPE_STRING:
-                               if (i < aregs && reg_alloc [i] > 0) {
-                                       /* pass in register */
-                                       ARM_LDR_IMM(p, ARMREG_A1 + hasthis + (aregs - reg_alloc [i]), REG_ARGP, i*ARG_SIZE);
-                               } else {
-                                       stack_offs -= sizeof(armword_t);
-                                       ARM_LDR_IMM(p, ARMREG_R0, REG_ARGP, i*ARG_SIZE);
-                                       ARM_STR_IMM(p, ARMREG_R0, ARMREG_SP, stack_offs);
-                               }
-                               break;
-                       case MONO_TYPE_I8:
-                       case MONO_TYPE_U8:
-                       case MONO_TYPE_R8:
-                               if (i < aregs && reg_alloc [i] > 0) {
-                                       if (reg_alloc [i] > 1) {
-                                               /* pass in registers */
-                                               ARM_LDR_IMM(p, ARMREG_A1 + hasthis + (aregs - reg_alloc [i]), REG_ARGP, i*ARG_SIZE);
-                                               ARM_LDR_IMM(p, ARMREG_A1 + hasthis + (aregs - reg_alloc [i]) + 1, REG_ARGP, i*ARG_SIZE + 4);
-                                       } else {
-                                               stack_offs -= sizeof(armword_t);
-                                               ARM_LDR_IMM(p, ARMREG_R0, REG_ARGP, i*ARG_SIZE + 4);
-                                               ARM_STR_IMM(p, ARMREG_R0, ARMREG_SP, stack_offs);
-                                               ARM_LDR_IMM(p, ARMREG_A1 + hasthis + (aregs - reg_alloc [i]), REG_ARGP, i*ARG_SIZE);
-                                       }
-                               } else {
-                                       /* two words transferred on the stack */
-                                       stack_offs -= 2*sizeof(armword_t);
-                                       ARM_LDR_IMM(p, ARMREG_R0, REG_ARGP, i*ARG_SIZE);
-                                       ARM_STR_IMM(p, ARMREG_R0, ARMREG_SP, stack_offs);
-                                       ARM_LDR_IMM(p, ARMREG_R0, REG_ARGP, i*ARG_SIZE + 4);
-                                       ARM_STR_IMM(p, ARMREG_R0, ARMREG_SP, stack_offs + 4);
-                               }
-                               break;
-                       case MONO_TYPE_VALUETYPE:
-                               if (param->data.klass->enumtype) {
-                                       /* it's an enum value, proceed based on its base type */
-                                       simple_type = param->data.klass->enum_basetype->type;
-                                       goto enum_marshal;
-                               } else {
-                                       if (i < aregs && reg_alloc[i] > 0) {
-                                               int vtreg = ARMREG_A1 + hasthis +
-                                                               hasthis + (aregs - reg_alloc[i]);
-                                               ARM_LDR_IMM(p, vtreg, REG_ARGP, i * ARG_SIZE);
-                                               ARM_LDR_IMM(p, vtreg, vtreg, 0);
-                                       } else {
-                                               stack_offs -= sizeof(armword_t);
-                                               ARM_LDR_IMM(p, ARMREG_R0, REG_ARGP, i * ARG_SIZE);
-                                               ARM_LDR_IMM(p, ARMREG_R0, ARMREG_R0, 0);
-                                               ARM_STR_IMM(p, ARMREG_R0, ARMREG_SP, stack_offs);
-                                       }
-                               }
-                               break;
-
-                       default:
-                               break;
-                       }
-               }
-       }
-
-       if (sig->hasthis && !this_loaded) {
-               /* [this] always passed in A1, regardless of sig->call_convention */
-               ARM_MOV_REG_REG(p, ARMREG_A1, REG_THIS);
-       }
-
-       /* call [func] */
-       ARM_MOV_REG_REG(p, ARMREG_LR, ARMREG_PC);
-       ARM_MOV_REG_REG(p, ARMREG_PC, REG_FUNC_ADDR);
-
-       /* handle retval */
-       if (sig->ret->byref || string_ctor) {
-               ARM_STR_IMM(p, ARMREG_R0, REG_RETVAL, 0);
-       } else {
-               simple_type = sig->ret->type;
-enum_retvalue:
-               switch (simple_type) {
-               case MONO_TYPE_BOOLEAN:
-               case MONO_TYPE_I1:
-               case MONO_TYPE_U1:
-                       ARM_STRB_IMM(p, ARMREG_R0, REG_RETVAL, 0);
-                       break;
-               case MONO_TYPE_CHAR:
-               case MONO_TYPE_I2:
-               case MONO_TYPE_U2:
-                       ARM_STRH_IMM(p, ARMREG_R0, REG_RETVAL, 0);
-                       break;
-               /*
-                * A 32-bit integer and integer-equivalent return value
-                * is returned in R0.
-                * Single-precision floating-point values are returned in R0.
-                */
-               case MONO_TYPE_I:
-               case MONO_TYPE_U:
-               case MONO_TYPE_I4:
-               case MONO_TYPE_U4:
-               case MONO_TYPE_R4:
-               case MONO_TYPE_OBJECT:
-               case MONO_TYPE_CLASS:
-               case MONO_TYPE_ARRAY:
-               case MONO_TYPE_SZARRAY:
-               case MONO_TYPE_STRING:
-                       ARM_STR_IMM(p, ARMREG_R0, REG_RETVAL, 0);
-                       break;
-               /*
-                * A 64-bit integer is returned in R0 and R1.
-                * Double-precision floating-point values are returned in R0 and R1.
-                */
-               case MONO_TYPE_I8:
-               case MONO_TYPE_U8:
-               case MONO_TYPE_R8:
-                       ARM_STR_IMM(p, ARMREG_R0, REG_RETVAL, 0);
-                       ARM_STR_IMM(p, ARMREG_R1, REG_RETVAL, 4);
-                       break;
-               case MONO_TYPE_VALUETYPE:
-                       if (sig->ret->data.klass->enumtype) {
-                               simple_type = sig->ret->data.klass->enum_basetype->type;
-                               goto enum_retvalue;
-                       }
-                       break;
-               case MONO_TYPE_VOID:
-                       break;
-               default:
-                       break;
-               }
-       }
-       
-       p = arm_emit_std_epilogue(p, stack_size,
-               /* restore R4-R7 */
-               (1 << ARMREG_R4) | (1 << ARMREG_R5) | (1 << ARMREG_R6) | (1 << ARMREG_R7));
-
-       flush_icache();
-
-#ifdef ARM_DUMP_DISASM
-       _armdis_decode((arminstr_t*)code_buff, ((guint8*)p) - ((guint8*)code_buff));
-#endif
-
-       return code_buff;
-}
-
-
-
-#define MINV_OFFS(member) G_STRUCT_OFFSET(MonoInvocation, member)
-
-
-
-/*
- * Returns a pointer to a native function that can be used to
- * call the specified method.
- * The function created will receive the arguments according
- * to the call convention specified in the method.
- * This function works by creating a MonoInvocation structure,
- * filling the fields in and calling ves_exec_method on it.
- * Still need to figure out how to handle the exception stuff
- * across the managed/unmanaged boundary.
- */
-void* mono_arch_create_method_pointer (MonoMethod* method)
-{
-       MonoMethodSignature* sig;
-       guchar* p, * p_method, * p_stackval_from_data, * p_exec;
-       void* code_buff;
-       int i, stack_size, arg_pos, arg_add, stackval_pos, offs;
-       int areg, reg_args, shift, pos;
-       MonoJitInfo *ji;
-
-       code_buff = alloc_code_buff(128);
-       p = (guchar*)code_buff;
-
-       sig = method->signature;
-
-       ARM_B(p, 3);
-
-       /* embed magic number followed by method pointer */
-       *p++ = 'M';
-       *p++ = 'o';
-       *p++ = 'n';
-       *p++ = 'o';
-       /* method ptr */
-       *(void**)p = method;
-       p_method = p;
-       p += 4;
-
-       /* call table */
-       *(void**)p = stackval_from_data;
-       p_stackval_from_data = p;
-       p += 4;
-       *(void**)p = ves_exec_method;
-       p_exec = p;
-       p += 4;
-
-       stack_size = sizeof(MonoInvocation) + ARG_SIZE*(sig->param_count + 1) + ARM_NUM_ARG_REGS*2*sizeof(armword_t);
-
-       /* prologue */
-       p = (guchar*)arm_emit_lean_prologue((arminstr_t*)p, stack_size,
-           (1 << ARMREG_R4) |
-           (1 << ARMREG_R5) |
-           (1 << ARMREG_R6) |
-           (1 << ARMREG_R7));
-
-       /* R7 - ptr to stack args */
-       ARM_MOV_REG_REG(p, ARMREG_R7, ARMREG_IP);
-
-       /*
-        * Initialize MonoInvocation fields, first the ones known now.
-        */
-       ARM_MOV_REG_IMM8(p, ARMREG_R4, 0);
-       ARM_STR_IMM(p, ARMREG_R4, ARMREG_SP, MINV_OFFS(ex));
-       ARM_STR_IMM(p, ARMREG_R4, ARMREG_SP, MINV_OFFS(ex_handler));
-       ARM_STR_IMM(p, ARMREG_R4, ARMREG_SP, MINV_OFFS(parent));
-
-       /* Set the method pointer. */
-       ARM_LDR_IMM(p, ARMREG_R4, ARMREG_PC, -(int)(p - p_method + sizeof(arminstr_t)*2));
-       ARM_STR_IMM(p, ARMREG_R4, ARMREG_SP, MINV_OFFS(method));
-
-       if (sig->hasthis) {
-               /* [this] in A1 */
-               ARM_STR_IMM(p, ARMREG_A1, ARMREG_SP, MINV_OFFS(obj));
-       } else {
-               /* else set minv.obj to NULL */
-               ARM_STR_IMM(p, ARMREG_R4, ARMREG_SP, MINV_OFFS(obj));
-       }
-
-       /* copy args from registers to stack */
-       areg = ARMREG_A1 + sig->hasthis;
-       arg_pos = -(int)(ARM_NUM_ARG_REGS - sig->hasthis) * 2 * sizeof(armword_t);
-       arg_add = 0;
-       for (i = 0; i < sig->param_count; ++i) {
-               if (areg >= ARM_NUM_ARG_REGS) break;
-               ARM_STR_IMM(p, areg, ARMREG_R7, arg_pos);
-               ++areg;
-               if (!sig->params[i]->byref) {
-                       switch (sig->params[i]->type) {
-                       case MONO_TYPE_I8:
-                       case MONO_TYPE_U8:
-                       case MONO_TYPE_R8:
-                               if (areg >= ARM_NUM_ARG_REGS) {
-                                       /* load second half of 64-bit arg */
-                                       ARM_LDR_IMM(p, ARMREG_R4, ARMREG_R7, 0);
-                                       ARM_STR_IMM(p, ARMREG_R4, ARMREG_R7, arg_pos + sizeof(armword_t));
-                                       arg_add = sizeof(armword_t);
-                               } else {
-                                       /* second half is already the register */
-                                       ARM_STR_IMM(p, areg, ARMREG_R7, arg_pos + sizeof(armword_t));
-                                       ++areg;
-                               }
-                               break;
-                       case MONO_TYPE_VALUETYPE:
-                               /* assert */
-                       default:
-                               break;
-                       }
-               }
-               arg_pos += 2 * sizeof(armword_t);
-       }
-       /* number of args passed in registers */
-       reg_args = i;
-
-
-
-       /*
-        * Calc and save stack args ptr,
-        * args follow MonoInvocation struct on the stack.
-        */
-       ARM_ADD_REG_IMM8(p, ARMREG_R1, ARMREG_SP, sizeof(MonoInvocation));
-       ARM_STR_IMM(p, ARMREG_R1, ARMREG_SP, MINV_OFFS(stack_args));
-
-       /* convert method args to stackvals */
-       arg_pos = -(int)(ARM_NUM_ARG_REGS - sig->hasthis) * 2 * sizeof(armword_t);
-       stackval_pos = sizeof(MonoInvocation);
-       for (i = 0; i < sig->param_count; ++i) {
-               if (i < reg_args) {
-                       ARM_SUB_REG_IMM8(p, ARMREG_A3, ARMREG_R7, -arg_pos);
-                       arg_pos += 2 * sizeof(armword_t);
-               } else {
-                       if (arg_pos < 0) arg_pos = 0;
-                       pos = arg_pos + arg_add;
-                       if (pos <= 0xFF) {
-                               ARM_ADD_REG_IMM8(p, ARMREG_A3, ARMREG_R7, pos);
-                       } else {
-                               if (is_arm_const((armword_t)pos)) {
-                                       shift = calc_arm_mov_const_shift((armword_t)pos);
-                                       ARM_ADD_REG_IMM(p, ARMREG_A3, ARMREG_R7, pos >> ((32 - shift) & 31), shift >> 1);
-                               } else {
-                                       p = (guchar*)arm_mov_reg_imm32((arminstr_t*)p, ARMREG_R6, (armword_t)pos);
-                                       ARM_ADD_REG_REG(p, ARMREG_A2, ARMREG_R7, ARMREG_R6);
-                               }
-                       }
-                       arg_pos += sizeof(armword_t);
-                       if (!sig->params[i]->byref) {
-                               switch (sig->params[i]->type) {
-                               case MONO_TYPE_I8:
-                               case MONO_TYPE_U8:
-                               case MONO_TYPE_R8:
-                                       arg_pos += sizeof(armword_t);
-                                       break;
-                               case MONO_TYPE_VALUETYPE:
-                                       /* assert */
-                               default:
-                                       break;
-                               }
-                       }
-               }
-
-               /* A2 = result */
-               if (stackval_pos <= 0xFF) {
-                       ARM_ADD_REG_IMM8(p, ARMREG_A2, ARMREG_SP, stackval_pos);
-               } else {
-                       if (is_arm_const((armword_t)stackval_pos)) {
-                               shift = calc_arm_mov_const_shift((armword_t)stackval_pos);
-                               ARM_ADD_REG_IMM(p, ARMREG_A2, ARMREG_SP, stackval_pos >> ((32 - shift) & 31), shift >> 1);
-                       } else {
-                               p = (guchar*)arm_mov_reg_imm32((arminstr_t*)p, ARMREG_R6, (armword_t)stackval_pos);
-                               ARM_ADD_REG_REG(p, ARMREG_A2, ARMREG_SP, ARMREG_R6);
-                       }
-               }
-
-               /* A1 = type */
-               p = (guchar*)arm_mov_reg_imm32((arminstr_t*)p, ARMREG_A1, (armword_t)sig->params [i]);
-
-               stackval_pos += ARG_SIZE;
-
-               offs = -(p + 2*sizeof(arminstr_t) - p_stackval_from_data);
-               /* load function address */
-               ARM_LDR_IMM(p, ARMREG_R4, ARMREG_PC, offs);
-               /* call stackval_from_data */
-               ARM_MOV_REG_REG(p, ARMREG_LR, ARMREG_PC);
-               ARM_MOV_REG_REG(p, ARMREG_PC, ARMREG_R4);
-       }
-
-       /* store retval ptr */
-       p = (guchar*)arm_mov_reg_imm32((arminstr_t*)p, ARMREG_R5, (armword_t)stackval_pos);
-       ARM_ADD_REG_REG(p, ARMREG_R5, ARMREG_SP, ARMREG_R4);
-       ARM_STR_IMM(p, ARMREG_R5, ARMREG_SP, MINV_OFFS(retval));
-
-       /*
-        * Call the method.
-        */
-       /* A1 = MonoInvocation ptr */
-       ARM_MOV_REG_REG(p, ARMREG_A1, ARMREG_SP);
-       offs = -(p + 2*sizeof(arminstr_t) - p_exec);
-       /* load function address */
-       ARM_LDR_IMM(p, ARMREG_R4, ARMREG_PC, offs);
-       /* call ves_exec */
-       ARM_MOV_REG_REG(p, ARMREG_LR, ARMREG_PC);
-       ARM_MOV_REG_REG(p, ARMREG_PC, ARMREG_R4);
-
-
-       /*
-        * Move retval into reg.
-        */
-       if (sig->ret->byref) {
-               ARM_LDR_IMM(p, ARMREG_R0, ARMREG_R5, 0);
-       } else {
-               switch (sig->ret->type) {
-               case MONO_TYPE_BOOLEAN:
-               case MONO_TYPE_I1:
-               case MONO_TYPE_U1:
-                       ARM_LDRB_IMM(p, ARMREG_R0, ARMREG_R5, 0);
-                       break;
-               case MONO_TYPE_CHAR:
-               case MONO_TYPE_I2:
-               case MONO_TYPE_U2:
-                       ARM_LDRH_IMM(p, ARMREG_R0, ARMREG_R5, 0);
-                       break;
-               case MONO_TYPE_I:
-               case MONO_TYPE_U:
-               case MONO_TYPE_I4:
-               case MONO_TYPE_U4:
-               case MONO_TYPE_R4:
-               case MONO_TYPE_OBJECT:
-               case MONO_TYPE_CLASS:
-               case MONO_TYPE_ARRAY:
-               case MONO_TYPE_SZARRAY:
-                       ARM_LDR_IMM(p, ARMREG_R0, ARMREG_R5, 0);
-                       break;
-               case MONO_TYPE_I8:
-               case MONO_TYPE_U8:
-               case MONO_TYPE_R8:
-                       ARM_LDR_IMM(p, ARMREG_R0, ARMREG_R5, 0);
-                       ARM_LDR_IMM(p, ARMREG_R1, ARMREG_R5, 4);
-                       break;
-               case MONO_TYPE_VOID:
-               default:
-                       break;
-               }
-       }
-
-
-       p = (guchar*)arm_emit_std_epilogue((arminstr_t*)p, stack_size,
-           (1 << ARMREG_R4) |
-           (1 << ARMREG_R5) |
-           (1 << ARMREG_R6) |
-           (1 << ARMREG_R7));
-
-       flush_icache();
-
-#ifdef ARM_DUMP_DISASM
-       _armdis_decode((arminstr_t*)code_buff, ((guint8*)p) - ((guint8*)code_buff));
-#endif
-
-       ji = g_new0(MonoJitInfo, 1);
-       ji->method = method;
-       ji->code_size = ((guint8 *) p) - ((guint8 *) code_buff);
-       ji->code_start = (gpointer) code_buff;
-
-       mono_jit_info_table_add(mono_get_root_domain (), ji);
-
-       return code_buff;
-}
-
-
-/*
- * mono_create_method_pointer () will insert a pointer to the MonoMethod
- * so that the interp can easily get at the data: this function will retrieve 
- * the method from the code stream.
- */
-MonoMethod* mono_method_pointer_get (void* code)
-{
-       unsigned char* c = code;
-       /* check out magic number that follows unconditional branch */
-       if (c[4] == 'M' &&
-           c[5] == 'o' &&
-           c[6] == 'n' &&
-           c[7] == 'o') return ((MonoMethod**)code)[2];
-       return NULL;
-}
-#endif
index c938f9e4bbb9de64fcd9db711cf891aa6fdd6e68..c5d4fbeb70e94f400e7824cc1db1373a6f465094 100644 (file)
@@ -79,11 +79,8 @@ extern gboolean _wapi_handle_count_signalled_handles (guint32 numhandles,
                                                      guint32 *lowest);
 extern void _wapi_handle_unlock_handles (guint32 numhandles,
                                         gpointer *handles);
-extern int _wapi_handle_wait_signal (gboolean poll);
-extern int _wapi_handle_timedwait_signal (struct timespec *timeout, gboolean poll);
-extern int _wapi_handle_wait_signal_handle (gpointer handle, gboolean alertable);
-extern int _wapi_handle_timedwait_signal_handle (gpointer handle,
-                                                                                                struct timespec *timeout, gboolean alertable, gboolean poll);
+extern int _wapi_handle_timedwait_signal (struct timespec *timeout, gboolean poll, gboolean *alerted);
+extern int _wapi_handle_timedwait_signal_handle (gpointer handle, struct timespec *timeout, gboolean alertable, gboolean poll, gboolean *alerted);
 extern gboolean _wapi_handle_get_or_set_share (guint64 device, guint64 inode,
                                               guint32 new_sharemode,
                                               guint32 new_access,
index 3ffe49b725d17b4c76c39b7c5bd8f0c765eb1f7a..14fa71c9a74e909f64710bc0ed272c783e448acb 100644 (file)
@@ -45,6 +45,7 @@
 
 #include <mono/utils/mono-mutex.h>
 #include <mono/utils/mono-proclib.h>
+#include <mono/utils/mono-threads.h>
 #undef DEBUG_REFS
 
 #if 0
@@ -1537,29 +1538,50 @@ static int timedwait_signal_poll_cond (pthread_cond_t *cond, mono_mutex_t *mutex
        return(ret);
 }
 
-int _wapi_handle_wait_signal (gboolean poll)
+int
+_wapi_handle_timedwait_signal (struct timespec *timeout, gboolean poll, gboolean *alerted)
 {
-       return _wapi_handle_timedwait_signal_handle (_wapi_global_signal_handle, NULL, TRUE, poll);
+       return _wapi_handle_timedwait_signal_handle (_wapi_global_signal_handle, timeout, TRUE, poll, alerted);
 }
 
-int _wapi_handle_timedwait_signal (struct timespec *timeout, gboolean poll)
+static void
+signal_handle_and_unref (gpointer handle)
 {
-       return _wapi_handle_timedwait_signal_handle (_wapi_global_signal_handle, timeout, TRUE, poll);
-}
+       pthread_cond_t *cond;
+       mono_mutex_t *mutex;
+       guint32 idx;
 
-int _wapi_handle_wait_signal_handle (gpointer handle, gboolean alertable)
-{
-       DEBUG ("%s: waiting for %p", __func__, handle);
-       
-       return _wapi_handle_timedwait_signal_handle (handle, NULL, alertable, FALSE);
+       g_assert (handle);
+
+       /* If we reach here, then interrupt token is set to the flag value, which
+        * means that the target thread is either
+        * - before the first CAS in timedwait, which means it won't enter the wait.
+        * - it is after the first CAS, so it is already waiting, or it will enter
+        *    the wait, and it will be interrupted by the broadcast. */
+       idx = GPOINTER_TO_UINT (handle);
+       cond = &_WAPI_PRIVATE_HANDLES (idx).signal_cond;
+       mutex = &_WAPI_PRIVATE_HANDLES (idx).signal_mutex;
+
+       mono_mutex_lock (mutex);
+       mono_cond_broadcast (cond);
+       mono_mutex_unlock (mutex);
+
+       _wapi_handle_unref (handle);
 }
 
-int _wapi_handle_timedwait_signal_handle (gpointer handle,
-                                                                                 struct timespec *timeout, gboolean alertable, gboolean poll)
+int
+_wapi_handle_timedwait_signal_handle (gpointer handle, struct timespec *timeout,
+               gboolean alertable, gboolean poll, gboolean *alerted)
 {
        DEBUG ("%s: waiting for %p (type %s)", __func__, handle,
                   _wapi_handle_typename[_wapi_handle_type (handle)]);
-       
+
+       if (alertable)
+               g_assert (alerted);
+
+       if (alerted)
+               *alerted = FALSE;
+
        if (_WAPI_SHARED_HANDLE (_wapi_handle_type (handle))) {
                if (WAPI_SHARED_HANDLE_DATA(handle).signalled == TRUE) {
                        return (0);
@@ -1593,8 +1615,12 @@ int _wapi_handle_timedwait_signal_handle (gpointer handle,
                pthread_cond_t *cond;
                mono_mutex_t *mutex;
 
-               if (alertable && !wapi_thread_set_wait_handle (handle))
-                       return 0;
+               if (alertable) {
+                       mono_thread_info_install_interrupt (signal_handle_and_unref, handle, alerted);
+                       if (*alerted)
+                               return 0;
+                       _wapi_handle_ref (handle);
+               }
 
                cond = &_WAPI_PRIVATE_HANDLES (idx).signal_cond;
                mutex = &_WAPI_PRIVATE_HANDLES (idx).signal_mutex;
@@ -1609,8 +1635,13 @@ int _wapi_handle_timedwait_signal_handle (gpointer handle,
                                res = mono_cond_wait (cond, mutex);
                }
 
-               if (alertable)
-                       wapi_thread_clear_wait_handle (handle);
+               if (alertable) {
+                       mono_thread_info_uninstall_interrupt (alerted);
+                       if (!*alerted) {
+                               /* if it is alerted, then the handle is unref in the interrupt callback */
+                               _wapi_handle_unref (handle);
+                       }
+               }
 
                return res;
        }
@@ -1914,7 +1945,8 @@ void _wapi_handle_dump (void)
                                                 _wapi_handle_typename[handle_data->type],
                                                 handle_data->signalled?"Sg":"Un",
                                                 handle_data->ref);
-                               handle_details[handle_data->type](&handle_data->u);
+                               if (handle_details[handle_data->type])
+                                       handle_details[handle_data->type](&handle_data->u);
                                g_print ("\n");
                        }
                }
index ba25cb3730721bd49b13d20b62e9cc35cf6c07f9..685a822749100c2215ded9dd302e080a1d8f5106 100644 (file)
@@ -3420,48 +3420,6 @@ gboolean CreatePipe (gpointer *readpipe, gpointer *writepipe,
        return(TRUE);
 }
 
-guint32 GetTempPath (guint32 len, gunichar2 *buf)
-{
-       gchar *tmpdir=g_strdup (g_get_tmp_dir ());
-       gunichar2 *tmpdir16=NULL;
-       glong dirlen;
-       gsize bytes;
-       guint32 ret;
-       
-       if(tmpdir[strlen (tmpdir)]!='/') {
-               g_free (tmpdir);
-               tmpdir=g_strdup_printf ("%s/", g_get_tmp_dir ());
-       }
-       
-       tmpdir16=mono_unicode_from_external (tmpdir, &bytes);
-       if(tmpdir16==NULL) {
-               g_free (tmpdir);
-               return(0);
-       } else {
-               dirlen=(bytes/2);
-               
-               if(dirlen+1>len) {
-                       DEBUG ("%s: Size %d smaller than needed (%ld)",
-                                  __func__, len, dirlen+1);
-               
-                       ret=dirlen+1;
-               } else {
-                       /* Add the terminator */
-                       memset (buf, '\0', bytes+2);
-                       memcpy (buf, tmpdir16, bytes);
-               
-                       ret=dirlen;
-               }
-       }
-
-       if(tmpdir16!=NULL) {
-               g_free (tmpdir16);
-       }
-       g_free (tmpdir);
-       
-       return(ret);
-}
-
 #ifdef HAVE_GETFSSTAT
 /* Darwin has getfsstat */
 gint32 GetLogicalDriveStrings (guint32 len, gunichar2 *buf)
index e8627764812f3e98632ca244254d96fa7efc823d..12a1310d96784cf7bb40bb5a1c8c6789ebc6b145 100644 (file)
@@ -210,7 +210,6 @@ extern guint32 GetCurrentDirectory (guint32 length, gunichar2 *buffer);
 extern gboolean SetCurrentDirectory (const gunichar2 *path);
 extern gboolean CreatePipe (gpointer *readpipe, gpointer *writepipe,
                            WapiSecurityAttributes *security, guint32 size);
-extern guint32 GetTempPath (guint32 len, gunichar2 *buf);
 extern gint32 GetLogicalDriveStrings (guint32 len, gunichar2 *buf);
 extern gboolean GetDiskFreeSpaceEx(const gunichar2 *path_name, WapiULargeInteger *free_bytes_avail,
                                   WapiULargeInteger *total_number_of_bytes,
index 5f0805878cf7173c6c492460d6254159a2c3e859..df101ae76a42d42424b56a21f47a2c1f2fb93566 100644 (file)
@@ -554,6 +554,7 @@ gboolean CreateProcess (const gunichar2 *appname, const gunichar2 *cmdline,
                        WapiStartupInfo *startup,
                        WapiProcessInformation *process_info)
 {
+#if defined (HAVE_FORK) && defined (HAVE_EXECVE)
        char *cmd = NULL, *prog = NULL, *full_prog = NULL, *args = NULL, *args_after_prog = NULL;
        char *dir = NULL, **env_strings = NULL, **argv = NULL;
        guint32 i, env_count = 0;
@@ -1098,6 +1099,10 @@ free_strings:
        mono_processes_cleanup ();
        
        return ret;
+#else
+       SetLastError (ERROR_NOT_SUPPORTED);
+       return FALSE;
+#endif // defined (HAVE_FORK) && defined (HAVE_EXECVE)
 }
                
 static void
@@ -1864,7 +1869,31 @@ get_process_name_from_proc (pid_t pid)
        /* No proc name on OSX < 10.5 nor ppc nor iOS */
        memset (buf, '\0', sizeof(buf));
        proc_name (pid, buf, sizeof(buf));
-       if (strlen (buf) > 0)
+
+       // Fixes proc_name triming values to 15 characters #32539
+       if (strlen (buf) >= MAXCOMLEN - 1) {
+               char path_buf [PROC_PIDPATHINFO_MAXSIZE];
+               char *name_buf;
+               int path_len;
+
+               memset (path_buf, '\0', sizeof(path_buf));
+               path_len = proc_pidpath (pid, path_buf, sizeof(path_buf));
+
+               if (path_len > 0 && path_len < sizeof(path_buf)) {
+                       name_buf = path_buf + path_len;
+                       for(;name_buf > path_buf; name_buf--) {
+                               if (name_buf [0] == '/') {
+                                       name_buf++;
+                                       break;
+                               }
+                       }
+
+                       if (memcmp (buf, name_buf, MAXCOMLEN - 1) == 0)
+                               ret = g_strdup (name_buf);
+               }
+       }
+
+       if (ret == NULL && strlen (buf) > 0)
                ret = g_strdup (buf);
 #else
        if (sysctl(mib, 4, NULL, &size, NULL, 0) < 0)
@@ -2171,6 +2200,53 @@ get_module_name (gpointer process, gpointer module,
        return 0;
 }
 
+static guint32
+get_module_filename (gpointer process, gpointer module,
+                                        gunichar2 *basename, guint32 size)
+{
+       int pid, len;
+       gsize bytes;
+       char *path;
+       gunichar2 *proc_path;
+       
+       size *= sizeof (gunichar2); /* adjust for unicode characters */
+
+       if (basename == NULL || size == 0)
+               return 0;
+
+       pid = GetProcessId (process);
+
+       path = wapi_process_get_path (pid);
+       if (path == NULL)
+               return 0;
+
+       proc_path = mono_unicode_from_external (path, &bytes);
+       g_free (path);
+
+       if (proc_path == NULL)
+               return 0;
+
+       len = (bytes / 2);
+       
+       /* Add the terminator */
+       bytes += 2;
+
+       if (size < bytes) {
+               DEBUG ("%s: Size %d smaller than needed (%ld); truncating", __func__, size, bytes);
+
+               memcpy (basename, proc_path, size);
+       } else {
+               DEBUG ("%s: Size %d larger than needed (%ld)",
+                          __func__, size, bytes);
+
+               memcpy (basename, proc_path, bytes);
+       }
+
+       g_free (proc_path);
+
+       return len;
+}
+
 guint32
 GetModuleBaseName (gpointer process, gpointer module,
                                   gunichar2 *basename, guint32 size)
@@ -2182,7 +2258,7 @@ guint32
 GetModuleFileNameEx (gpointer process, gpointer module,
                                         gunichar2 *filename, guint32 size)
 {
-       return get_module_name (process, module, filename, size, FALSE);
+       return get_module_filename (process, module, filename, size);
 }
 
 gboolean
index 9121f86731c3923586f7824b4f1b8c18bad09217..c5279448570c77be44ca5c6f15b97ede95151c8e 100644 (file)
@@ -700,8 +700,9 @@ int _wapi_setsockopt(guint32 fd, int level, int optname,
                tv.tv_usec = (ms % 1000) * 1000;        // micro from milli
                tmp_val = &tv;
                optlen = sizeof (tv);
+       }
 #if defined (__linux__)
-       else if (level == SOL_SOCKET &&
+       else if (level == SOL_SOCKET &&
                   (optname == SO_SNDBUF || optname == SO_RCVBUF)) {
                /* According to socket(7) the Linux kernel doubles the
                 * buffer sizes "to allow space for bookkeeping
@@ -711,8 +712,8 @@ int _wapi_setsockopt(guint32 fd, int level, int optname,
 
                bufsize /= 2;
                tmp_val = &bufsize;
-#endif
        }
+#endif
                
        ret = setsockopt (fd, level, optname, tmp_val, optlen);
        if (ret == -1) {
@@ -733,7 +734,7 @@ int _wapi_setsockopt(guint32 fd, int level, int optname,
                socklen_t type_len = sizeof (type);
 
                if (!getsockopt (fd, level, SO_TYPE, &type, &type_len)) {
-                       if (type == SOCK_DGRAM)
+                       if (type == SOCK_DGRAM || type == SOCK_STREAM)
                                setsockopt (fd, level, SO_REUSEPORT, tmp_val, optlen);
                }
        }
index e9f8f9c8813af499e66b6191b97b1c37e6c400c8..3ea1af1197884f7efaa31af5c52d7e52b970c7d5 100644 (file)
 
 extern struct _WapiHandleOps _wapi_thread_ops;
 
-#define INTERRUPTION_REQUESTED_HANDLE (gpointer)0xFFFFFFFE
-
 struct _WapiHandle_thread
 {
        pthread_t id;
        GPtrArray *owned_mutexes;
-       /* 
-     * Handle this thread waits on. If this is INTERRUPTION_REQUESTED_HANDLE,
-        * it means the thread is interrupted by another thread, and shouldn't enter
-        * a wait.
-        * This also acts as a reference for the handle.
-        */
-       gpointer wait_handle;
 };
 
 typedef struct _WapiHandle_thread WapiHandle_thread;
 
-extern gboolean _wapi_thread_apc_pending (gpointer handle);
 extern gboolean _wapi_thread_cur_apc_pending (void);
 extern void _wapi_thread_own_mutex (gpointer mutex);
 extern void _wapi_thread_disown_mutex (gpointer mutex);
index 13b6bd1401f0b9192d258690f512272d7176e71e..a756a40fb64a7f42dd96e4b70bcda5252afd34eb 100644 (file)
@@ -30,14 +30,6 @@ extern gsize GetCurrentThreadId(void); /* NB return is 32bit in MS API */
 extern void Sleep(guint32 ms);
 extern guint32 SleepEx(guint32 ms, gboolean alertable);
 
-void wapi_clear_interruption (void);
-gboolean wapi_thread_set_wait_handle (gpointer handle);
-void wapi_thread_clear_wait_handle (gpointer handle);
-void wapi_self_interrupt (void);
-
-gpointer wapi_prepare_interrupt_thread (gpointer thread_handle);
-void wapi_finish_interrupt_thread (gpointer wait_handle);
-
 gpointer wapi_create_thread_handle (void);
 void wapi_thread_handle_set_exited (gpointer handle, guint32 exitstatus);
 void wapi_ref_thread_handle (gpointer handle);
index 8bdf39bdbf8ac54d05257c7365b73feb8b902b94..42fc96fe4fb6ad14bdeb451437b48b1bc0b0ac53 100644 (file)
@@ -130,12 +130,10 @@ guint32 WaitForSingleObjectEx(gpointer handle, guint32 timeout,
 
                ret = _wapi_handle_ops_special_wait (handle, timeout, alertable);
        
-               if (alertable && _wapi_thread_apc_pending (current_thread)) {
-                       apc_pending = TRUE;
+               if (alertable && _wapi_thread_cur_apc_pending ())
                        ret = WAIT_IO_COMPLETION;
-               }
 
-               goto check_pending;
+               return ret;
        }
        
        
@@ -153,13 +151,7 @@ guint32 WaitForSingleObjectEx(gpointer handle, guint32 timeout,
                        goto done;
                }
        }
-       
-       if (alertable && _wapi_thread_apc_pending (current_thread)) {
-               apc_pending = TRUE;
-               ret = WAIT_IO_COMPLETION;
-               goto done;
-       }
-       
+
        if (own_if_signalled (handle) == TRUE) {
                DEBUG ("%s: handle %p already signalled", __func__,
                           handle);
@@ -189,15 +181,8 @@ guint32 WaitForSingleObjectEx(gpointer handle, guint32 timeout,
                        ret = WAIT_OBJECT_0;
                        goto done;
                }
-                       
-               if (timeout == INFINITE) {
-                       waited = _wapi_handle_wait_signal_handle (handle, alertable);
-               } else {
-                       waited = _wapi_handle_timedwait_signal_handle (handle, &abstime, alertable, FALSE);
-               }
-       
-               if (alertable)
-                       apc_pending = _wapi_thread_apc_pending (current_thread);
+
+               waited = _wapi_handle_timedwait_signal_handle (handle, timeout == INFINITE ? NULL : &abstime, alertable, FALSE, &apc_pending);
 
                if(waited==0 && !apc_pending) {
                        /* Condition was signalled, so hopefully
@@ -220,19 +205,15 @@ guint32 WaitForSingleObjectEx(gpointer handle, guint32 timeout,
        DEBUG ("%s: wait on handle %p error: %s", __func__, handle,
                   strerror (waited));
 
-       ret = WAIT_TIMEOUT;
-       
+       ret = apc_pending ? WAIT_IO_COMPLETION : WAIT_TIMEOUT;
+
 done:
 
        DEBUG ("%s: unlocking handle %p", __func__, handle);
        
        thr_ret = _wapi_handle_unlock_handle (handle);
        g_assert (thr_ret == 0);
-       
-check_pending:
-       if (apc_pending)
-               ret = WAIT_IO_COMPLETION;
-               
+
        return(ret);
 }
 
@@ -351,13 +332,7 @@ guint32 SignalObjectAndWait(gpointer signal_handle, gpointer wait,
                        goto done;
                }
        }
-       
-       if (alertable && _wapi_thread_apc_pending (current_thread)) {
-               apc_pending = TRUE;
-               ret = WAIT_IO_COMPLETION;
-               goto done;
-       }
-       
+
        if (own_if_signalled (wait)) {
                DEBUG ("%s: handle %p already signalled", __func__, wait);
 
@@ -381,16 +356,8 @@ guint32 SignalObjectAndWait(gpointer signal_handle, gpointer wait,
                        ret = WAIT_OBJECT_0;
                        goto done;
                }
-               
-               if (timeout == INFINITE) {
-                       waited = _wapi_handle_wait_signal_handle (wait, alertable);
-               } else {
-                       waited = _wapi_handle_timedwait_signal_handle (wait, &abstime, alertable, FALSE);
-               }
 
-               if (alertable) {
-                       apc_pending = _wapi_thread_apc_pending (current_thread);
-               }
+               waited = _wapi_handle_timedwait_signal_handle (wait, timeout == INFINITE ? NULL : &abstime, alertable, FALSE, &apc_pending);
 
                if (waited==0 && !apc_pending) {
                        /* Condition was signalled, so hopefully
@@ -413,8 +380,8 @@ guint32 SignalObjectAndWait(gpointer signal_handle, gpointer wait,
        DEBUG ("%s: wait on handle %p error: %s", __func__, wait,
                   strerror (ret));
 
-       ret = WAIT_TIMEOUT;
-       
+       ret = apc_pending ? WAIT_IO_COMPLETION : WAIT_TIMEOUT;
+
 done:
 
        DEBUG ("%s: unlocking handle %p", __func__, wait);
@@ -422,9 +389,6 @@ done:
        thr_ret = _wapi_handle_unlock_handle (wait);
        g_assert (thr_ret == 0);
 
-       if (apc_pending)
-               ret = WAIT_IO_COMPLETION;
-       
        return(ret);
 }
 
@@ -500,6 +464,7 @@ guint32 WaitForMultipleObjectsEx(guint32 numobjects, gpointer *handles,
        guint32 retval;
        gboolean poll;
        gpointer sorted_handles [MAXIMUM_WAIT_OBJECTS];
+       gboolean apc_pending = FALSE;
        
        if (current_thread == NULL) {
                SetLastError (ERROR_INVALID_HANDLE);
@@ -590,9 +555,6 @@ guint32 WaitForMultipleObjectsEx(guint32 numobjects, gpointer *handles,
                _wapi_calc_timeout (&abstime, timeout);
        }
 
-       if (alertable && _wapi_thread_apc_pending (current_thread))
-               return WAIT_IO_COMPLETION;
-       
        for (i = 0; i < numobjects; i++) {
                /* Add a reference, as we need to ensure the handle wont
                 * disappear from under us while we're waiting in the loop
@@ -633,11 +595,7 @@ guint32 WaitForMultipleObjectsEx(guint32 numobjects, gpointer *handles,
                
                if (!done) {
                        /* Enter the wait */
-                       if (timeout == INFINITE) {
-                               ret = _wapi_handle_wait_signal (poll);
-                       } else {
-                               ret = _wapi_handle_timedwait_signal (&abstime, poll);
-                       }
+                       ret = _wapi_handle_timedwait_signal (timeout == INFINITE ? NULL : &abstime, poll, &apc_pending);
                } else {
                        /* No need to wait */
                        ret = 0;
@@ -648,7 +606,7 @@ guint32 WaitForMultipleObjectsEx(guint32 numobjects, gpointer *handles,
                thr_ret = _wapi_handle_unlock_signal_mutex (NULL);
                g_assert (thr_ret == 0);
                
-               if (alertable && _wapi_thread_apc_pending (current_thread)) {
+               if (alertable && apc_pending) {
                        retval = WAIT_IO_COMPLETION;
                        break;
                }
index 6db10c716ab4b526b485d03e429b550b75965df8..123755888b590792818522f1d80016c2525a74e9 100644 (file)
@@ -50,7 +50,6 @@
 #define GetCurrentDirectory wapi_GetCurrentDirectory 
 #define SetCurrentDirectory wapi_SetCurrentDirectory 
 #define CreatePipe wapi_CreatePipe 
-#define GetTempPath wapi_GetTempPath 
 #define GetLogicalDriveStrings wapi_GetLogicalDriveStrings 
 #define GetDiskFreeSpaceEx wapi_GetDiskFreeSpaceEx
 #define GetDriveType wapi_GetDriveType
index 90a8cc4ffa855b6690c0895b78f9778b096f8b1b..781e3318f276ec37fd24cc39e700f13c10c746ee 100644 (file)
@@ -30,6 +30,8 @@
 #include <mono/utils/mono-threads.h>
 #include <mono/utils/atomic.h>
 #include <mono/utils/mono-mutex.h>
+#include <mono/utils/mono-lazy-init.h>
+#include <mono/utils/mono-time.h>
 
 #ifdef HAVE_VALGRIND_MEMCHECK_H
 #include <valgrind/memcheck.h>
@@ -217,281 +219,149 @@ GetCurrentThreadId (void)
        return MONO_NATIVE_THREAD_ID_TO_UINT (id);
 }
 
-/**
- * SleepEx:
- * @ms: The time in milliseconds to suspend for
- * @alertable: if TRUE, the wait can be interrupted by an APC call
- *
- * Suspends execution of the current thread for @ms milliseconds.  A
- * value of zero causes the thread to relinquish its time slice.  A
- * value of %INFINITE causes an infinite delay.
- */
-guint32
-SleepEx (guint32 ms, gboolean alertable)
-{
-       int ms_quot, ms_rem;
-       int ret;
-       gpointer current_thread = NULL;
-#if defined (__linux__) && !defined(PLATFORM_ANDROID)
-       struct timespec start, target;
-#else
-       struct timespec rem;
-#endif
-       
-       DEBUG("%s: Sleeping for %d ms", __func__, ms);
+static mono_lazy_init_t sleepex_init = MONO_LAZY_INIT_STATUS_NOT_INITIALIZED;
+static mono_mutex_t sleepex_mutex;
+static mono_cond_t sleepex_cond;
 
-       if (alertable) {
-               current_thread = get_current_thread_handle ();
-               
-               if (_wapi_thread_apc_pending (current_thread))
-                       return WAIT_IO_COMPLETION;
-       }
-       
-       if(ms==0) {
-               sched_yield();
-               return 0;
-       }
-       
-       /* FIXME: check for INFINITE and sleep forever */
-       ms_quot = ms / 1000;
-       ms_rem = ms % 1000;
-       
-#if defined (__linux__) && !defined(PLATFORM_ANDROID)
-       /* Use clock_nanosleep () to prevent time drifting problems when nanosleep () is interrupted by signals */
-       ret = clock_gettime (CLOCK_MONOTONIC, &start);
-       g_assert (ret == 0);
-       target = start;
-       target.tv_sec += ms_quot;
-       target.tv_nsec += ms_rem * 1000000;
-       if (target.tv_nsec > 999999999) {
-               target.tv_nsec -= 999999999;
-               target.tv_sec ++;
-       }
-
-       while (TRUE) {
-               ret = clock_nanosleep (CLOCK_MONOTONIC, TIMER_ABSTIME, &target, NULL);
-
-               if (alertable && _wapi_thread_apc_pending (current_thread))
-                       return WAIT_IO_COMPLETION;
-
-               if (ret == 0)
-                       break;
-       }
-
-#else
-       struct timespec req;
-
-       req.tv_sec=ms_quot;
-       req.tv_nsec=ms_rem*1000000;
-
-again:
-       memset (&rem, 0, sizeof (rem));
-       ret=nanosleep(&req, &rem);
-
-       if (alertable && _wapi_thread_apc_pending (current_thread))
-               return WAIT_IO_COMPLETION;
-       
-       if(ret==-1) {
-               /* Sleep interrupted with rem time remaining */
-#ifdef DEBUG_ENABLED
-               guint32 rems=rem.tv_sec*1000 + rem.tv_nsec/1000000;
-               
-               g_message("%s: Still got %d ms to go", __func__, rems);
-#endif
-               req=rem;
-               goto again;
-       }
-
-#endif /* __linux__ */
-
-       return 0;
-}
-
-void
-Sleep(guint32 ms)
-{
-       SleepEx(ms, FALSE);
-}
-
-gboolean
-_wapi_thread_cur_apc_pending (void)
+static void
+sleepex_initialize (void)
 {
-       return _wapi_thread_apc_pending (get_current_thread_handle ());
+       mono_mutex_init (&sleepex_mutex);
+       mono_cond_init (&sleepex_cond, NULL);
 }
 
-gboolean
-_wapi_thread_apc_pending (gpointer handle)
+static void
+sleepex_interrupt (gpointer data)
 {
-       WapiHandle_thread *thread;
-
-       thread = lookup_thread (handle);
-       
-       return thread->wait_handle == INTERRUPTION_REQUESTED_HANDLE;
+       mono_mutex_lock (&sleepex_mutex);
+       mono_cond_broadcast (&sleepex_cond);
+       mono_mutex_unlock (&sleepex_mutex);
 }
 
-/*
- * wapi_interrupt_thread:
- *
- * The state of the thread handle HANDLE is set to 'interrupted' which means that
- * if the thread calls one of the WaitFor functions, the function will return with 
- * WAIT_IO_COMPLETION instead of waiting. Also, if the thread was waiting when
- * this function was called, the wait will be broken.
- * It is possible that the wait functions return WAIT_IO_COMPLETION, but the
- * target thread didn't receive the interrupt signal yet, in this case it should
- * call the wait function again. This essentially means that the target thread will
- * busy wait until it is ready to process the interruption.
- */
-gpointer
-wapi_prepare_interrupt_thread (gpointer thread_handle)
+static inline guint32
+sleepex_interruptable (guint32 ms)
 {
-       WapiHandle_thread *thread;
-       gpointer prev_handle, wait_handle;
+       gboolean interrupted;
+       guint32 start, now, end;
 
-       thread = lookup_thread (thread_handle); /* FIXME this is wrong, move this whole thing to MonoThreads where it can be done lockfree */
+       g_assert (INFINITE == G_MAXUINT32);
 
-       while (TRUE) {
-               wait_handle = thread->wait_handle;
+       start = mono_msec_ticks ();
 
-               /* 
-                * Atomically obtain the handle the thread is waiting on, and
-                * change it to a flag value.
-                */
-               prev_handle = InterlockedCompareExchangePointer (&thread->wait_handle,
-                                                                                                                INTERRUPTION_REQUESTED_HANDLE, wait_handle);
-               if (prev_handle == INTERRUPTION_REQUESTED_HANDLE)
-                       /* Already interrupted */
-                       return 0;
-               if (prev_handle == wait_handle)
-                       break;
-
-               /* Try again */
+       if (start < G_MAXUINT32 - ms) {
+               end = start + ms;
+       } else {
+               /* start + ms would overflow guint32 */
+               end = G_MAXUINT32;
        }
 
-       WAIT_DEBUG (printf ("%p: state -> INTERRUPTED.\n", thread->id););
+       mono_lazy_initialize (&sleepex_init, sleepex_initialize);
 
-       return wait_handle;
-}
+       mono_mutex_lock (&sleepex_mutex);
 
-void
-wapi_finish_interrupt_thread (gpointer wait_handle)
-{
-       pthread_cond_t *cond;
-       mono_mutex_t *mutex;
-       guint32 idx;
+       for (now = mono_msec_ticks (); ms == INFINITE || now - start < ms; now = mono_msec_ticks ()) {
+               mono_thread_info_install_interrupt (sleepex_interrupt, NULL, &interrupted);
+               if (interrupted) {
+                       mono_mutex_unlock (&sleepex_mutex);
+                       return WAIT_IO_COMPLETION;
+               }
 
-       if (!wait_handle)
-               /* Not waiting */
-               return;
+               if (ms < INFINITE)
+                       mono_cond_timedwait_ms (&sleepex_cond, &sleepex_mutex, end - now);
+               else
+                       mono_cond_wait (&sleepex_cond, &sleepex_mutex);
 
-       /* If we reach here, then wait_handle is set to the flag value, 
-        * which means that the target thread is either
-        * - before the first CAS in timedwait, which means it won't enter the
-        * wait.
-        * - it is after the first CAS, so it is already waiting, or it will 
-        * enter the wait, and it will be interrupted by the broadcast.
-        */
-       idx = GPOINTER_TO_UINT(wait_handle);
-       cond = &_WAPI_PRIVATE_HANDLES(idx).signal_cond;
-       mutex = &_WAPI_PRIVATE_HANDLES(idx).signal_mutex;
+               mono_thread_info_uninstall_interrupt (&interrupted);
+               if (interrupted) {
+                       mono_mutex_unlock (&sleepex_mutex);
+                       return WAIT_IO_COMPLETION;
+               }
+       }
 
-       mono_mutex_lock (mutex);
-       mono_cond_broadcast (cond);
-       mono_mutex_unlock (mutex);
+       mono_mutex_unlock (&sleepex_mutex);
 
-       /* ref added by set_wait_handle */
-       _wapi_handle_unref (wait_handle);
+       return 0;
 }
 
-/*
- * wapi_self_interrupt:
+/**
+ * SleepEx:
+ * @ms: The time in milliseconds to suspend for
+ * @alertable: if TRUE, the wait can be interrupted by an APC call
  *
- *   This is not part of the WIN32 API.
- * Set the 'interrupted' state of the calling thread if it's NULL.
+ * Suspends execution of the current thread for @ms milliseconds.  A
+ * value of zero causes the thread to relinquish its time slice.  A
+ * value of %INFINITE causes an infinite delay.
  */
-void
-wapi_self_interrupt (void)
+guint32
+SleepEx (guint32 ms, gboolean alertable)
 {
-       gpointer wait_handle;
+       if (ms == 0) {
+               MonoThreadInfo *info;
 
-       wait_handle = wapi_prepare_interrupt_thread (get_current_thread_handle ());
-       if (wait_handle)
-               /* ref added by set_wait_handle */
-               _wapi_handle_unref (wait_handle);
-}
+               mono_thread_info_yield ();
 
-/*
- * wapi_clear_interruption:
- *
- *   This is not part of the WIN32 API. 
- * Clear the 'interrupted' state of the calling thread.
- * This function is signal safe
- */
-void
-wapi_clear_interruption (void)
-{
-       WapiHandle_thread *thread;
-       gpointer prev_handle;
+               info = mono_thread_info_current ();
+               if (info && mono_thread_info_is_interrupt_state (info))
+                       return WAIT_IO_COMPLETION;
 
-       thread = get_current_thread ();
+               return 0;
+       }
 
-       prev_handle = InterlockedCompareExchangePointer (&thread->wait_handle,
-                                                                                                        NULL, INTERRUPTION_REQUESTED_HANDLE);
-       if (prev_handle == INTERRUPTION_REQUESTED_HANDLE)
-               WAIT_DEBUG (printf ("%p: state -> NORMAL.\n", GetCurrentThreadId ()););
-}
+       if (alertable)
+               return sleepex_interruptable (ms);
 
-/**
- * wapi_thread_set_wait_handle:
- *
- *   Set the wait handle for the current thread to HANDLE. Return TRUE on success, FALSE
- * if the thread is in interrupted state, and cannot start waiting.
- */
-gboolean
-wapi_thread_set_wait_handle (gpointer handle)
-{
-       WapiHandle_thread *thread;
-       gpointer prev_handle;
+       DEBUG("%s: Sleeping for %d ms", __func__, ms);
 
-       thread = get_current_thread ();
+       if (ms == INFINITE) {
+               do {
+                       sleep (G_MAXUINT32);
+               } while (1);
+       } else {
+               int ret;
+#if defined (__linux__) && !defined(PLATFORM_ANDROID)
+               struct timespec start, target;
+
+               /* Use clock_nanosleep () to prevent time drifting problems when nanosleep () is interrupted by signals */
+               ret = clock_gettime (CLOCK_MONOTONIC, &start);
+               g_assert (ret == 0);
+
+               target = start;
+               target.tv_sec += ms / 1000;
+               target.tv_nsec += (ms % 1000) * 1000000;
+               if (target.tv_nsec > 999999999) {
+                       target.tv_nsec -= 999999999;
+                       target.tv_sec ++;
+               }
+
+               do {
+                       ret = clock_nanosleep (CLOCK_MONOTONIC, TIMER_ABSTIME, &target, NULL);
+               } while (ret != 0);
+#else
+               struct timespec req, rem;
 
-       prev_handle = InterlockedCompareExchangePointer (&thread->wait_handle,
-                                                                                                        handle, NULL);
-       if (prev_handle == NULL) {
-               /* thread->wait_handle acts as an additional reference to the handle */
-               _wapi_handle_ref (handle);
+               req.tv_sec = ms / 1000;
+               req.tv_nsec = (ms % 1000) * 1000000;
 
-               WAIT_DEBUG (printf ("%p: state -> WAITING.\n", GetCurrentThreadId ()););
-       } else {
-               g_assert (prev_handle == INTERRUPTION_REQUESTED_HANDLE);
-               WAIT_DEBUG (printf ("%p: unable to set state to WAITING.\n", GetCurrentThreadId ()););
+               do {
+                       memset (&rem, 0, sizeof (rem));
+                       ret = nanosleep (&req, &rem);
+               } while (ret != 0);
+#endif /* __linux__ */
        }
 
-       return prev_handle == NULL;
+       return 0;
 }
 
-/**
- * wapi_thread_clear_wait_handle:
- *
- *   Clear the wait handle of the current thread.
- */
 void
-wapi_thread_clear_wait_handle (gpointer handle)
+Sleep(guint32 ms)
 {
-       WapiHandle_thread *thread;
-       gpointer prev_handle;
-
-       thread = get_current_thread ();
+       SleepEx(ms, FALSE);
+}
 
-       prev_handle = InterlockedCompareExchangePointer (&thread->wait_handle,
-                                                                                                        NULL, handle);
-       if (prev_handle == handle) {
-               _wapi_handle_unref (handle);
-               WAIT_DEBUG (printf ("%p: state -> NORMAL.\n", GetCurrentThreadId ()););
-       } else {
-               /*It can be NULL if it was asynchronously cleared*/
-               g_assert (prev_handle == INTERRUPTION_REQUESTED_HANDLE || prev_handle == NULL);
-               WAIT_DEBUG (printf ("%p: finished waiting.\n", GetCurrentThreadId ()););
-       }
+gboolean
+_wapi_thread_cur_apc_pending (void)
+{
+       return mono_thread_info_is_interrupt_state (mono_thread_info_current ());
 }
 
 void
@@ -524,31 +394,20 @@ wapi_current_thread_desc (void)
        WapiHandle_thread *thread;
        gpointer thread_handle;
        int i;
-       gpointer handle;
        GString* text;
        char *res;
 
        thread_handle = get_current_thread_handle ();
        thread = lookup_thread (thread_handle);
 
-       handle = thread->wait_handle;
        text = g_string_new (0);
        g_string_append_printf (text, "thread handle %p state : ", thread_handle);
 
-       if (!handle)
-               g_string_append_printf (text, "not waiting");
-       else if (handle == INTERRUPTION_REQUESTED_HANDLE)
-               g_string_append_printf (text, "interrupted state");
-       else
-               g_string_append_printf (text, "waiting on %p : %s ", handle, _wapi_handle_typename[_wapi_handle_type (handle)]);
+       mono_thread_info_describe_interrupt_token (mono_thread_info_current (), text);
+
        g_string_append_printf (text, " owns (");
-       for (i = 0; i < thread->owned_mutexes->len; i++) {
-               gpointer mutex = g_ptr_array_index (thread->owned_mutexes, i);
-               if (i > 0)
-                       g_string_append_printf (text, ", %p", mutex);
-               else
-                       g_string_append_printf (text, "%p", mutex);
-       }
+       for (i = 0; i < thread->owned_mutexes->len; i++)
+               g_string_append_printf (text, i > 0 ? ", %p" : "%p", g_ptr_array_index (thread->owned_mutexes, i));
        g_string_append_printf (text, ")");
 
        res = text->str;
index 460c7ec00c96394aa2f58e27ebcc00fcf3c3718a..d0e6fc2fa576554f18eb5aa1984da3d40d3f4d17 100644 (file)
@@ -234,6 +234,7 @@ sgen_sources = \
        sgen-os-posix.c         \
        sgen-os-mach.c          \
        sgen-os-win32.c         \
+       sgen-os-coop.c          \
        sgen-bridge.c           \
        sgen-bridge.h           \
        sgen-bridge-internal.h  \
index 8c9320e29d599d54bb6e86842f87ff176040b3dc..b015e748b0a9310c6499ad7177071d1edf20f99e 100644 (file)
@@ -79,7 +79,7 @@
  * Changes which are already detected at runtime, like the addition
  * of icalls, do not require an increment.
  */
-#define MONO_CORLIB_VERSION 135
+#define MONO_CORLIB_VERSION 138
 
 typedef struct
 {
@@ -89,8 +89,6 @@ typedef struct
        gchar *filename;
 } RuntimeConfig;
 
-mono_mutex_t mono_delegate_section;
-
 static gunichar2 process_guid [36];
 static gboolean process_guid_set = FALSE;
 
@@ -255,8 +253,6 @@ mono_runtime_init (MonoDomain *domain, MonoThreadStartCB start_cb,
        domain->domain = ad;
        domain->setup = setup;
 
-       mono_mutex_init_recursive (&mono_delegate_section);
-       
        mono_thread_attach (domain);
 
        mono_type_initialization_init ();
@@ -624,9 +620,9 @@ ves_icall_System_AppDomain_GetData (MonoAppDomain *ad, MonoString *name)
 
        MONO_CHECK_ARG_NULL (name, NULL);
 
-       g_assert (ad != NULL);
+       g_assert (ad);
        add = ad->data;
-       g_assert (add != NULL);
+       g_assert (add);
 
        str = mono_string_to_utf8 (name);
 
@@ -669,9 +665,9 @@ ves_icall_System_AppDomain_SetData (MonoAppDomain *ad, MonoString *name, MonoObj
 
        MONO_CHECK_ARG_NULL (name,);
 
-       g_assert (ad != NULL);
+       g_assert (ad);
        add = ad->data;
-       g_assert (add != NULL);
+       g_assert (add);
 
        mono_domain_lock (add);
 
@@ -683,8 +679,8 @@ ves_icall_System_AppDomain_SetData (MonoAppDomain *ad, MonoString *name, MonoObj
 MonoAppDomainSetup *
 ves_icall_System_AppDomain_getSetup (MonoAppDomain *ad)
 {
-       g_assert (ad != NULL);
-       g_assert (ad->data != NULL);
+       g_assert (ad);
+       g_assert (ad->data);
 
        return ad->data->setup;
 }
@@ -692,8 +688,8 @@ ves_icall_System_AppDomain_getSetup (MonoAppDomain *ad)
 MonoString *
 ves_icall_System_AppDomain_getFriendlyName (MonoAppDomain *ad)
 {
-       g_assert (ad != NULL);
-       g_assert (ad->data != NULL);
+       g_assert (ad);
+       g_assert (ad->data);
 
        return mono_string_new (ad->data, ad->data->friendly_name);
 }
@@ -1962,7 +1958,7 @@ ves_icall_System_AppDomain_LoadAssembly (MonoAppDomain *ad,  MonoString *assRef,
        gchar *name;
        gboolean parsed;
 
-       g_assert (assRef != NULL);
+       g_assert (assRef);
 
        name = mono_string_to_utf8 (assRef);
        parsed = mono_assembly_name_parse (name, &aname);
@@ -2036,6 +2032,12 @@ ves_icall_System_AppDomain_InternalIsFinalizingForUnload (gint32 domain_id)
        return mono_domain_is_unloading (domain);
 }
 
+void
+ves_icall_System_AppDomain_DoUnhandledException (MonoException *exc)
+{
+       mono_unhandled_exception ((MonoObject*) exc);
+}
+
 gint32
 ves_icall_System_AppDomain_ExecuteAssembly (MonoAppDomain *ad, 
                                                                                        MonoReflectionAssembly *refass, MonoArray *args)
@@ -2366,9 +2368,9 @@ guarded_wait (HANDLE handle, guint32 timeout, gboolean alertable)
 {
        guint32 result;
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        result = WaitForSingleObjectEx (handle, timeout, alertable);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        return result;
 }
index bf28de0cfdbd4c2911e80ce4ff48883b78e4b5ae..45038289621a96ef7e59243a0f0d311c988e586b 100644 (file)
@@ -88,6 +88,8 @@ static const AssemblyVersionMap framework_assemblies [] = {
        {"I18N.Other", 0},
        {"I18N.Rare", 0},
        {"I18N.West", 0},
+       {"Microsoft.Build.Engine", 2},
+       {"Microsoft.Build.Framework", 2},
        {"Microsoft.VisualBasic", 1},
        {"Microsoft.VisualC", 1},
        {"Mono.Cairo", 0},
@@ -177,6 +179,8 @@ mono_set_corlib_data (void *data, size_t size)
 
 #endif
 
+static char* unquote (const char *str);
+
 /* This protects loaded_assemblies and image->references */
 #define mono_assemblies_lock() mono_mutex_lock (&assemblies_mutex)
 #define mono_assemblies_unlock() mono_mutex_unlock (&assemblies_mutex)
@@ -2076,11 +2080,19 @@ gboolean
 mono_assembly_name_parse_full (const char *name, MonoAssemblyName *aname, gboolean save_public_key, gboolean *is_version_defined, gboolean *is_token_defined)
 {
        gchar *dllname;
+       gchar *dllname_uq;
        gchar *version = NULL;
+       gchar *version_uq;
        gchar *culture = NULL;
+       gchar *culture_uq;
        gchar *token = NULL;
+       gchar *token_uq;
        gchar *key = NULL;
+       gchar *key_uq;
        gchar *retargetable = NULL;
+       gchar *retargetable_uq;
+       gchar *procarch;
+       gchar *procarch_uq;
        gboolean res;
        gchar *value, *part_name;
        guint32 part_name_len;
@@ -2152,29 +2164,42 @@ mono_assembly_name_parse_full (const char *name, MonoAssemblyName *aname, gboole
 
                if (part_name_len == 12 && !g_ascii_strncasecmp (part_name, "Retargetable", part_name_len)) {
                        retargetable = value;
-                       if (strlen (retargetable) == 0) {
-                               goto cleanup_and_fail;
-                       }
+                       retargetable_uq = unquote (retargetable);
+                       if (retargetable_uq != NULL)
+                               retargetable = retargetable_uq;
+
                        if (!g_ascii_strcasecmp (retargetable, "yes")) {
                                flags |= ASSEMBLYREF_RETARGETABLE_FLAG;
                        } else if (g_ascii_strcasecmp (retargetable, "no")) {
+                               free (retargetable_uq);
                                goto cleanup_and_fail;
                        }
+
+                       free (retargetable_uq);
                        tmp++;
                        continue;
                }
 
                if (part_name_len == 21 && !g_ascii_strncasecmp (part_name, "ProcessorArchitecture", part_name_len)) {
-                       if (!g_ascii_strcasecmp (value, "MSIL"))
+                       procarch = value;
+                       procarch_uq = unquote (procarch);
+                       if (procarch_uq != NULL)
+                               procarch = procarch_uq;
+
+                       if (!g_ascii_strcasecmp (procarch, "MSIL"))
                                arch = MONO_PROCESSOR_ARCHITECTURE_MSIL;
-                       else if (!g_ascii_strcasecmp (value, "X86"))
+                       else if (!g_ascii_strcasecmp (procarch, "X86"))
                                arch = MONO_PROCESSOR_ARCHITECTURE_X86;
-                       else if (!g_ascii_strcasecmp (value, "IA64"))
+                       else if (!g_ascii_strcasecmp (procarch, "IA64"))
                                arch = MONO_PROCESSOR_ARCHITECTURE_IA64;
-                       else if (!g_ascii_strcasecmp (value, "AMD64"))
+                       else if (!g_ascii_strcasecmp (procarch, "AMD64"))
                                arch = MONO_PROCESSOR_ARCHITECTURE_AMD64;
-                       else
+                       else {
+                               free (procarch_uq);
                                goto cleanup_and_fail;
+                       }
+
+                       free (procarch_uq);
                        tmp++;
                        continue;
                }
@@ -2188,8 +2213,26 @@ mono_assembly_name_parse_full (const char *name, MonoAssemblyName *aname, gboole
                goto cleanup_and_fail;
        }
 
-       res = build_assembly_name (dllname, version, culture, token, key, flags, arch,
-               aname, save_public_key);
+       dllname_uq = unquote (dllname);
+       version_uq = unquote (version);
+       culture_uq = unquote (culture);
+       token_uq = unquote (token);
+       key_uq = unquote (key);
+
+       res = build_assembly_name (
+               dllname_uq == NULL ? dllname : dllname_uq,
+               version_uq == NULL ? version : version_uq,
+               culture_uq == NULL ? culture : culture_uq,
+               token_uq == NULL ? token : token_uq,
+               key_uq == NULL ? key : key_uq,
+               flags, arch, aname, save_public_key);
+
+       free (dllname_uq);
+       free (version_uq);
+       free (culture_uq);
+       free (token_uq);
+       free (key_uq);
+
        g_strfreev (parts);
        return res;
 
@@ -2198,6 +2241,29 @@ cleanup_and_fail:
        return FALSE;
 }
 
+static char*
+unquote (const char *str)
+{
+       gint slen;
+       const char *end;
+
+       if (str == NULL)
+               return NULL;
+
+       slen = strlen (str);
+       if (slen < 2)
+               return NULL;
+
+       if (*str != '\'' && *str != '\"')
+               return NULL;
+
+       end = str + slen - 1;
+       if (*str != *end)
+               return NULL;
+
+       return g_strndup (str + 1, slen - 2);
+}
+
 /**
  * mono_assembly_name_parse:
  * @name: name to parse
@@ -3258,6 +3324,8 @@ mono_assembly_get_image (MonoAssembly *assembly)
  * mono_assembly_get_name:
  * @assembly: The assembly to retrieve the name from
  *
+ * The returned name's lifetime is the same as @assembly's.
+ *
  * Returns: the MonoAssemblyName associated with this assembly.
  */
 MonoAssemblyName *
index 12c0a762b9099ed31eb9e3d93e848ad3a648e017..540c2b94cf647416e3ff835678b41e4d44454795 100644 (file)
@@ -61,6 +61,34 @@ register_test_toggleref_callback (void);
 #define BOEHM_GC_BIT_FINALIZER_AWARE 1
 static MonoGCFinalizerCallbacks fin_callbacks;
 
+/* GC Handles */
+
+static mono_mutex_t handle_section;
+#define lock_handles(handles) mono_mutex_lock (&handle_section)
+#define unlock_handles(handles) mono_mutex_unlock (&handle_section)
+
+typedef struct {
+       guint32  *bitmap;
+       gpointer *entries;
+       guint32   size;
+       guint8    type;
+       guint     slot_hint : 24; /* starting slot for search in bitmap */
+       /* 2^16 appdomains should be enough for everyone (though I know I'll regret this in 20 years) */
+       /* we alloc this only for weak refs, since we can get the domain directly in the other cases */
+       guint16  *domain_ids;
+} HandleData;
+
+#define EMPTY_HANDLE_DATA(type) {NULL, NULL, 0, (type), 0, NULL}
+
+/* weak and weak-track arrays will be allocated in malloc memory 
+ */
+static HandleData gc_handles [] = {
+       EMPTY_HANDLE_DATA (HANDLE_WEAK),
+       EMPTY_HANDLE_DATA (HANDLE_WEAK_TRACK),
+       EMPTY_HANDLE_DATA (HANDLE_NORMAL),
+       EMPTY_HANDLE_DATA (HANDLE_PINNED)
+};
+
 static void
 mono_gc_warning (char *msg, GC_word arg)
 {
@@ -210,10 +238,15 @@ mono_gc_base_init (void)
 
        mono_threads_init (&cb, sizeof (MonoThreadInfo));
        mono_mutex_init (&mono_gc_lock);
+       mono_mutex_init_recursive (&handle_section);
 
        mono_thread_info_attach (&dummy);
 
        mono_gc_enable_events ();
+
+       MONO_GC_REGISTER_ROOT_FIXED (gc_handles [HANDLE_NORMAL].entries, MONO_ROOT_SOURCE_GC_HANDLE, "gc handles table");
+       MONO_GC_REGISTER_ROOT_FIXED (gc_handles [HANDLE_PINNED].entries, MONO_ROOT_SOURCE_GC_HANDLE, "gc handles table");
+
        gc_initialized = TRUE;
 }
 
@@ -475,7 +508,7 @@ mono_gc_enable_alloc_events (void)
 }
 
 int
-mono_gc_register_root (char *start, size_t size, void *descr)
+mono_gc_register_root (char *start, size_t size, void *descr, MonoGCRootSource source, const char *msg)
 {
        /* for some strange reason, they want one extra byte on the end */
        GC_add_roots (start, start + size + 1);
@@ -493,7 +526,7 @@ mono_gc_deregister_root (char* addr)
 #endif
 }
 
-void
+static void
 mono_gc_weak_link_add (void **link_addr, MonoObject *obj, gboolean track)
 {
        /* libgc requires that we use HIDE_POINTER... */
@@ -504,7 +537,7 @@ mono_gc_weak_link_add (void **link_addr, MonoObject *obj, gboolean track)
                GC_GENERAL_REGISTER_DISAPPEARING_LINK (link_addr, obj);
 }
 
-void
+static void
 mono_gc_weak_link_remove (void **link_addr, gboolean track)
 {
        if (track)
@@ -521,7 +554,7 @@ reveal_link (gpointer link_addr)
        return REVEAL_POINTER (*link_a);
 }
 
-MonoObject*
+static MonoObject *
 mono_gc_weak_link_get (void **link_addr)
 {
        MonoObject *obj = GC_call_with_alloc_lock (reveal_link, link_addr);
@@ -566,7 +599,7 @@ mono_gc_make_root_descr_all_refs (int numbits)
 }
 
 void*
-mono_gc_alloc_fixed (size_t size, void *descr)
+mono_gc_alloc_fixed (size_t size, void *descr, MonoGCRootSource source, const char *msg)
 {
        /* To help track down typed allocation bugs */
        /*
@@ -1456,10 +1489,381 @@ mono_gc_register_finalizer_callbacks (MonoGCFinalizerCallbacks *callbacks)
        GC_set_finalizer_notify_proc ((void (*) (GC_PTR))fin_notifier);
 }
 
+#define BITMAP_SIZE (sizeof (*((HandleData *)NULL)->bitmap) * CHAR_BIT)
+
+static inline gboolean
+slot_occupied (HandleData *handles, guint slot) {
+       return handles->bitmap [slot / BITMAP_SIZE] & (1 << (slot % BITMAP_SIZE));
+}
+
+static inline void
+vacate_slot (HandleData *handles, guint slot) {
+       handles->bitmap [slot / BITMAP_SIZE] &= ~(1 << (slot % BITMAP_SIZE));
+}
+
+static inline void
+occupy_slot (HandleData *handles, guint slot) {
+       handles->bitmap [slot / BITMAP_SIZE] |= 1 << (slot % BITMAP_SIZE);
+}
+
+static int
+find_first_unset (guint32 bitmap)
+{
+       int i;
+       for (i = 0; i < 32; ++i) {
+               if (!(bitmap & (1 << i)))
+                       return i;
+       }
+       return -1;
+}
+
+static void
+handle_data_alloc_entries (HandleData *handles)
+{
+       handles->size = 32;
+       if (MONO_GC_HANDLE_TYPE_IS_WEAK (handles->type)) {
+               handles->entries = g_malloc0 (sizeof (*handles->entries) * handles->size);
+               handles->domain_ids = g_malloc0 (sizeof (*handles->domain_ids) * handles->size);
+       } else {
+               handles->entries = mono_gc_alloc_fixed (sizeof (*handles->entries) * handles->size, NULL, MONO_ROOT_SOURCE_GC_HANDLE, "gc handles table");
+       }
+       handles->bitmap = g_malloc0 (handles->size / CHAR_BIT);
+}
+
+static gint
+handle_data_next_unset (HandleData *handles)
+{
+       gint slot;
+       for (slot = handles->slot_hint; slot < handles->size / BITMAP_SIZE; ++slot) {
+               if (handles->bitmap [slot] == 0xffffffff)
+                       continue;
+               handles->slot_hint = slot;
+               return find_first_unset (handles->bitmap [slot]);
+       }
+       return -1;
+}
+
+static gint
+handle_data_first_unset (HandleData *handles)
+{
+       gint slot;
+       for (slot = 0; slot < handles->slot_hint; ++slot) {
+               if (handles->bitmap [slot] == 0xffffffff)
+                       continue;
+               handles->slot_hint = slot;
+               return find_first_unset (handles->bitmap [slot]);
+       }
+       return -1;
+}
+
+/* Returns the index of the current slot in the bitmap. */
+static void
+handle_data_grow (HandleData *handles, gboolean track)
+{
+       guint32 *new_bitmap;
+       guint32 new_size = handles->size * 2; /* always double: we memset to 0 based on this below */
+
+       /* resize and copy the bitmap */
+       new_bitmap = g_malloc0 (new_size / CHAR_BIT);
+       memcpy (new_bitmap, handles->bitmap, handles->size / CHAR_BIT);
+       g_free (handles->bitmap);
+       handles->bitmap = new_bitmap;
+
+       /* resize and copy the entries */
+       if (MONO_GC_HANDLE_TYPE_IS_WEAK (handles->type)) {
+               gpointer *entries;
+               guint16 *domain_ids;
+               gint i;
+               domain_ids = g_malloc0 (sizeof (*handles->domain_ids) * new_size);
+               entries = g_malloc0 (sizeof (*handles->entries) * new_size);
+               memcpy (domain_ids, handles->domain_ids, sizeof (*handles->domain_ids) * handles->size);
+               for (i = 0; i < handles->size; ++i) {
+                       MonoObject *obj = mono_gc_weak_link_get (&(handles->entries [i]));
+                       if (obj) {
+                               mono_gc_weak_link_add (&(entries [i]), obj, track);
+                               mono_gc_weak_link_remove (&(handles->entries [i]), track);
+                       } else {
+                               g_assert (!handles->entries [i]);
+                       }
+               }
+               g_free (handles->entries);
+               g_free (handles->domain_ids);
+               handles->entries = entries;
+               handles->domain_ids = domain_ids;
+       } else {
+               gpointer *entries;
+               entries = mono_gc_alloc_fixed (sizeof (*handles->entries) * new_size, NULL, MONO_ROOT_SOURCE_GC_HANDLE, "gc handles table");
+               mono_gc_memmove_aligned (entries, handles->entries, sizeof (*handles->entries) * handles->size);
+               mono_gc_free_fixed (handles->entries);
+               handles->entries = entries;
+       }
+       handles->slot_hint = handles->size / BITMAP_SIZE;
+       handles->size = new_size;
+}
+
+static guint32
+alloc_handle (HandleData *handles, MonoObject *obj, gboolean track)
+{
+       gint slot, i;
+       guint32 res;
+       lock_handles (handles);
+       if (!handles->size)
+               handle_data_alloc_entries (handles);
+       i = handle_data_next_unset (handles);
+       if (i == -1 && handles->slot_hint != 0)
+               i = handle_data_first_unset (handles);
+       if (i == -1) {
+               handle_data_grow (handles, track);
+               i = 0;
+       }
+       slot = handles->slot_hint * BITMAP_SIZE + i;
+       occupy_slot (handles, slot);
+       handles->entries [slot] = NULL;
+       if (MONO_GC_HANDLE_TYPE_IS_WEAK (handles->type)) {
+               /*FIXME, what to use when obj == null?*/
+               handles->domain_ids [slot] = (obj ? mono_object_get_domain (obj) : mono_domain_get ())->domain_id;
+               if (obj)
+                       mono_gc_weak_link_add (&(handles->entries [slot]), obj, track);
+       } else {
+               handles->entries [slot] = obj;
+       }
+
+#ifndef DISABLE_PERFCOUNTERS
+       mono_perfcounters->gc_num_handles++;
+#endif
+       unlock_handles (handles);
+       res = MONO_GC_HANDLE (slot, handles->type);
+       mono_profiler_gc_handle (MONO_PROFILER_GC_HANDLE_CREATED, handles->type, res, obj);
+       return res;
+}
+
+/**
+ * mono_gchandle_new:
+ * @obj: managed object to get a handle for
+ * @pinned: whether the object should be pinned
+ *
+ * This returns a handle that wraps the object, this is used to keep a
+ * reference to a managed object from the unmanaged world and preventing the
+ * object from being disposed.
+ * 
+ * If @pinned is false the address of the object can not be obtained, if it is
+ * true the address of the object can be obtained.  This will also pin the
+ * object so it will not be possible by a moving garbage collector to move the
+ * object. 
+ * 
+ * Returns: a handle that can be used to access the object from
+ * unmanaged code.
+ */
+guint32
+mono_gchandle_new (MonoObject *obj, gboolean pinned)
+{
+       return alloc_handle (&gc_handles [pinned? HANDLE_PINNED: HANDLE_NORMAL], obj, FALSE);
+}
+
+/**
+ * mono_gchandle_new_weakref:
+ * @obj: managed object to get a handle for
+ * @pinned: whether the object should be pinned
+ *
+ * This returns a weak handle that wraps the object, this is used to
+ * keep a reference to a managed object from the unmanaged world.
+ * Unlike the mono_gchandle_new the object can be reclaimed by the
+ * garbage collector.  In this case the value of the GCHandle will be
+ * set to zero.
+ * 
+ * If @pinned is false the address of the object can not be obtained, if it is
+ * true the address of the object can be obtained.  This will also pin the
+ * object so it will not be possible by a moving garbage collector to move the
+ * object. 
+ * 
+ * Returns: a handle that can be used to access the object from
+ * unmanaged code.
+ */
+guint32
+mono_gchandle_new_weakref (MonoObject *obj, gboolean track_resurrection)
+{
+       return alloc_handle (&gc_handles [track_resurrection? HANDLE_WEAK_TRACK: HANDLE_WEAK], obj, track_resurrection);
+}
+
+/**
+ * mono_gchandle_get_target:
+ * @gchandle: a GCHandle's handle.
+ *
+ * The handle was previously created by calling mono_gchandle_new or
+ * mono_gchandle_new_weakref. 
+ *
+ * Returns a pointer to the MonoObject represented by the handle or
+ * NULL for a collected object if using a weakref handle.
+ */
+MonoObject*
+mono_gchandle_get_target (guint32 gchandle)
+{
+       guint slot = MONO_GC_HANDLE_SLOT (gchandle);
+       guint type = MONO_GC_HANDLE_TYPE (gchandle);
+       HandleData *handles = &gc_handles [type];
+       MonoObject *obj = NULL;
+       if (type >= HANDLE_TYPE_MAX)
+               return NULL;
+
+       lock_handles (handles);
+       if (slot < handles->size && slot_occupied (handles, slot)) {
+               if (MONO_GC_HANDLE_TYPE_IS_WEAK (handles->type)) {
+                       obj = mono_gc_weak_link_get (&handles->entries [slot]);
+               } else {
+                       obj = handles->entries [slot];
+               }
+       } else {
+               /* print a warning? */
+       }
+       unlock_handles (handles);
+       /*g_print ("get target of entry %d of type %d: %p\n", slot, handles->type, obj);*/
+       return obj;
+}
+
+void
+mono_gchandle_set_target (guint32 gchandle, MonoObject *obj)
+{
+       guint slot = MONO_GC_HANDLE_SLOT (gchandle);
+       guint type = MONO_GC_HANDLE_TYPE (gchandle);
+       HandleData *handles = &gc_handles [type];
+       MonoObject *old_obj = NULL;
+
+       g_assert (type < HANDLE_TYPE_MAX);
+       lock_handles (handles);
+       if (slot < handles->size && slot_occupied (handles, slot)) {
+               if (MONO_GC_HANDLE_TYPE_IS_WEAK (handles->type)) {
+                       old_obj = handles->entries [slot];
+                       if (handles->entries [slot])
+                               mono_gc_weak_link_remove (&handles->entries [slot], handles->type == HANDLE_WEAK_TRACK);
+                       if (obj)
+                               mono_gc_weak_link_add (&handles->entries [slot], obj, handles->type == HANDLE_WEAK_TRACK);
+                       /*FIXME, what to use when obj == null?*/
+                       handles->domain_ids [slot] = (obj ? mono_object_get_domain (obj) : mono_domain_get ())->domain_id;
+               } else {
+                       handles->entries [slot] = obj;
+               }
+       } else {
+               /* print a warning? */
+       }
+       /*g_print ("changed entry %d of type %d to object %p (in slot: %p)\n", slot, handles->type, obj, handles->entries [slot]);*/
+       unlock_handles (handles);
+}
+
+/**
+ * mono_gchandle_is_in_domain:
+ * @gchandle: a GCHandle's handle.
+ * @domain: An application domain.
+ *
+ * Returns: true if the object wrapped by the @gchandle belongs to the specific @domain.
+ */
 gboolean
 mono_gc_is_null (void)
 {
        return FALSE;
 }
 
+gboolean
+mono_gchandle_is_in_domain (guint32 gchandle, MonoDomain *domain)
+{
+       guint slot = MONO_GC_HANDLE_SLOT (gchandle);
+       guint type = MONO_GC_HANDLE_TYPE (gchandle);
+       HandleData *handles = &gc_handles [type];
+       gboolean result = FALSE;
+
+       if (type >= HANDLE_TYPE_MAX)
+               return FALSE;
+
+       lock_handles (handles);
+       if (slot < handles->size && slot_occupied (handles, slot)) {
+               if (MONO_GC_HANDLE_TYPE_IS_WEAK (handles->type)) {
+                       result = domain->domain_id == handles->domain_ids [slot];
+               } else {
+                       MonoObject *obj;
+                       obj = handles->entries [slot];
+                       if (obj == NULL)
+                               result = TRUE;
+                       else
+                               result = domain == mono_object_domain (obj);
+               }
+       } else {
+               /* print a warning? */
+       }
+       unlock_handles (handles);
+       return result;
+}
+
+/**
+ * mono_gchandle_free:
+ * @gchandle: a GCHandle's handle.
+ *
+ * Frees the @gchandle handle.  If there are no outstanding
+ * references, the garbage collector can reclaim the memory of the
+ * object wrapped. 
+ */
+void
+mono_gchandle_free (guint32 gchandle)
+{
+       guint slot = MONO_GC_HANDLE_SLOT (gchandle);
+       guint type = MONO_GC_HANDLE_TYPE (gchandle);
+       HandleData *handles = &gc_handles [type];
+       if (type >= HANDLE_TYPE_MAX)
+               return;
+
+       lock_handles (handles);
+       if (slot < handles->size && slot_occupied (handles, slot)) {
+               if (MONO_GC_HANDLE_TYPE_IS_WEAK (handles->type)) {
+                       if (handles->entries [slot])
+                               mono_gc_weak_link_remove (&handles->entries [slot], handles->type == HANDLE_WEAK_TRACK);
+               } else {
+                       handles->entries [slot] = NULL;
+               }
+               vacate_slot (handles, slot);
+       } else {
+               /* print a warning? */
+       }
+#ifndef DISABLE_PERFCOUNTERS
+       mono_perfcounters->gc_num_handles--;
+#endif
+       /*g_print ("freed entry %d of type %d\n", slot, handles->type);*/
+       unlock_handles (handles);
+       mono_profiler_gc_handle (MONO_PROFILER_GC_HANDLE_DESTROYED, handles->type, gchandle, NULL);
+}
+
+/**
+ * mono_gchandle_free_domain:
+ * @domain: domain that is unloading
+ *
+ * Function used internally to cleanup any GC handle for objects belonging
+ * to the specified domain during appdomain unload.
+ */
+void
+mono_gchandle_free_domain (MonoDomain *domain)
+{
+       guint type;
+
+       for (type = HANDLE_TYPE_MIN; type < HANDLE_PINNED; ++type) {
+               guint slot;
+               HandleData *handles = &gc_handles [type];
+               lock_handles (handles);
+               for (slot = 0; slot < handles->size; ++slot) {
+                       if (!slot_occupied (handles, slot))
+                               continue;
+                       if (MONO_GC_HANDLE_TYPE_IS_WEAK (type)) {
+                               if (domain->domain_id == handles->domain_ids [slot]) {
+                                       vacate_slot (handles, slot);
+                                       if (handles->entries [slot])
+                                               mono_gc_weak_link_remove (&handles->entries [slot], handles->type == HANDLE_WEAK_TRACK);
+                               }
+                       } else {
+                               if (handles->entries [slot] && mono_object_domain (handles->entries [slot]) == domain) {
+                                       vacate_slot (handles, slot);
+                                       handles->entries [slot] = NULL;
+                               }
+                       }
+               }
+               unlock_handles (handles);
+       }
+
+}
+
 #endif /* no Boehm GC */
index 4ac72b62ec64f56c148c4f243a77b886ec7f2792..46ea5ef635098895a28624e2a0dc101d5418e1da 100644 (file)
@@ -82,8 +82,6 @@ struct _MonoMethod {
        unsigned int is_inflated:1; /* whether we're a MonoMethodInflated */
        unsigned int skip_visibility:1; /* whenever to skip JIT visibility checks */
        unsigned int verification_success:1; /* whether this method has been verified successfully.*/
-       /* TODO we MUST get rid of this field, it's an ugly hack nobody is proud of. */
-       unsigned int is_mb_open : 1;            /* This is the fully open instantiation of a generic method_builder. Worse than is_tb_open, but it's temporary */
        signed int slot : 16;
 
        /*
@@ -522,6 +520,7 @@ struct _MonoMethodInflated {
        MonoMethodHeader *header;
        MonoMethod *declaring;          /* the generic method definition. */
        MonoGenericContext context;     /* The current instantiation */
+       MonoImageSet *owner; /* The image set that the inflated method belongs to. */
 };
 
 /*
@@ -1022,8 +1021,8 @@ mono_class_inflate_generic_method_full_checked (MonoMethod *method, MonoClass *k
 MonoMethod *
 mono_class_inflate_generic_method_checked (MonoMethod *method, MonoGenericContext *context, MonoError *error);
 
-MonoMethodInflated*
-mono_method_inflated_lookup (MonoMethodInflated* method, gboolean cache);
+MonoImageSet *
+mono_metadata_get_image_set_for_method (MonoMethodInflated *method);
 
 MONO_API MonoMethodSignature *
 mono_metadata_get_inflated_signature (MonoMethodSignature *sig, MonoGenericContext *context);
index 5ed261ffbbe468a2a825601134e8c516a710515c..fdfd5c31505f0ffb427a0655627bf562f558ca27 100644 (file)
@@ -632,7 +632,7 @@ inflate_generic_type (MonoImage *image, MonoType *type, MonoGenericContext *cont
                MonoType *nt;
                int num = mono_type_get_generic_param_num (type);
                MonoGenericInst *inst = context->method_inst;
-               if (!inst || !inst->type_argv)
+               if (!inst)
                        return NULL;
                if (num >= inst->type_argc) {
                        MonoGenericParamInfo *info = mono_generic_param_info (type->data.generic_param);
@@ -1009,7 +1009,6 @@ mono_class_inflate_generic_method_full_checked (MonoMethod *method, MonoClass *k
        MonoMethodInflated *iresult, *cached;
        MonoMethodSignature *sig;
        MonoGenericContext tmp_context;
-       gboolean is_mb_open = FALSE;
 
        mono_error_init (error);
 
@@ -1041,44 +1040,9 @@ mono_class_inflate_generic_method_full_checked (MonoMethod *method, MonoClass *k
                (method->klass->generic_container && context->class_inst)))
                return method;
 
-       /*
-        * The reason for this hack is to fix the behavior of inflating generic methods that come from a MethodBuilder.
-        * What happens is that instantiating a generic MethodBuilder with its own arguments should create a diferent object.
-        * This is opposite to the way non-SRE MethodInfos behave.
-        * 
-        * This happens, for example, when we want to emit a recursive generic method. Given the following C# code:
-        * 
-        * void Example<T> () {
-        *    Example<T> ();
-        * }
-        *  
-        * In Example, the method token must be encoded as: "void Example<!!0>()"
-        * 
-        * The reference to the first generic argument, "!!0", must be explicit otherwise it won't be inflated
-        * properly. To get that we need to inflate the MethodBuilder with its own arguments.
-        * 
-        * On the other hand, inflating a non-SRE generic method with its own arguments should
-        * return itself. For example:
-        * 
-        * MethodInfo m = ... //m is a generic method definition
-        * MethodInfo res = m.MakeGenericMethod (m.GetGenericArguments ());
-        * res == m
-        *
-        * To allow such scenarios we must allow inflation of MethodBuilder to happen in a diferent way than
-        * what happens with regular methods.
-        * 
-        * There is one last touch to this madness, once a TypeBuilder is finished, IOW CreateType() is called,
-        * everything should behave like a regular type or method.
-        * 
-        */
-       is_mb_open = method->is_generic &&
-               image_is_dynamic (method->klass->image) && !method->klass->wastypebuilder && /* that is a MethodBuilder from an unfinished TypeBuilder */
-               context->method_inst == mono_method_get_generic_container (method)->context.method_inst; /* and it's been instantiated with its own arguments.  */
-
        iresult = g_new0 (MonoMethodInflated, 1);
        iresult->context = *context;
        iresult->declaring = method;
-       iresult->method.method.is_mb_open = is_mb_open;
 
        if (!context->method_inst && method->is_generic)
                iresult->context.method_inst = mono_method_get_generic_container (method)->context.method_inst;
@@ -1094,7 +1058,13 @@ mono_class_inflate_generic_method_full_checked (MonoMethod *method, MonoClass *k
        if (!iresult->declaring->klass->generic_container && !iresult->declaring->klass->generic_class)
                iresult->context.class_inst = NULL;
 
-       cached = mono_method_inflated_lookup (iresult, FALSE);
+       MonoImageSet *set = mono_metadata_get_image_set_for_method (iresult);
+
+       // check cache
+       mono_image_set_lock (set);
+       cached = g_hash_table_lookup (set->gmethod_cache, iresult);
+       mono_image_set_unlock (set);
+
        if (cached) {
                g_free (iresult);
                return (MonoMethod*)cached;
@@ -1123,7 +1093,6 @@ mono_class_inflate_generic_method_full_checked (MonoMethod *method, MonoClass *k
        result->is_generic = FALSE;
        result->sre_method = FALSE;
        result->signature = NULL;
-       result->is_mb_open = is_mb_open;
 
        if (!context->method_inst) {
                /* Set the generic_container of the result to the generic_container of method */
@@ -1166,7 +1135,17 @@ mono_class_inflate_generic_method_full_checked (MonoMethod *method, MonoClass *k
         * is_generic_method_definition().
         */
 
-       return (MonoMethod*)mono_method_inflated_lookup (iresult, TRUE);
+       // check cache
+       mono_image_set_lock (set);
+       cached = g_hash_table_lookup (set->gmethod_cache, iresult);
+       if (!cached) {
+               g_hash_table_insert (set->gmethod_cache, iresult, iresult);
+               iresult->owner = set;
+               cached = iresult;
+       }
+       mono_image_set_unlock (set);
+
+       return (MonoMethod*)cached;
 
 fail:
        g_free (iresult);
@@ -2087,6 +2066,9 @@ mono_class_layout_fields (MonoClass *class)
                        continue;
                if (mono_field_is_deleted (field))
                        continue;
+               // Special static fields do not need a domain-level static slot
+               if (mono_class_field_is_special_static (field))
+                       continue;
 
                if (mono_type_has_exceptions (field->type)) {
                        mono_class_set_failure (class, MONO_EXCEPTION_TYPE_LOAD, NULL);
@@ -7467,17 +7449,16 @@ mono_image_init_name_cache (MonoImage *image)
        if (image->name_cache)
                return;
 
-       mono_image_lock (image);
-
-       if (image->name_cache) {
-               mono_image_unlock (image);
-               return;
-       }
-
        the_name_cache = g_hash_table_new (g_str_hash, g_str_equal);
 
        if (image_is_dynamic (image)) {
-               mono_atomic_store_release (&image->name_cache, the_name_cache);
+               mono_image_lock (image);
+               if (image->name_cache) {
+                       /* Somebody initialized it before us */
+                       g_hash_table_destroy (the_name_cache);
+               } else {
+                       mono_atomic_store_release (&image->name_cache, the_name_cache);
+               }
                mono_image_unlock (image);
                return;
        }
@@ -7532,7 +7513,14 @@ mono_image_init_name_cache (MonoImage *image)
        }
 
        g_hash_table_destroy (name_cache2);
-       mono_atomic_store_release (&image->name_cache, the_name_cache);
+
+       mono_image_lock (image);
+       if (image->name_cache) {
+               /* Somebody initialized it before us */
+               g_hash_table_destroy (the_name_cache);
+       } else {
+               mono_atomic_store_release (&image->name_cache, the_name_cache);
+       }
        mono_image_unlock (image);
 }
 
@@ -7712,7 +7700,7 @@ search_modules (MonoImage *image, const char *name_space, const char *name)
 }
 
 static MonoClass *
-mono_class_from_name_checked_aux (MonoImage *image, const char* name_space, const char *name, MonoError *error, MonoGHashTable* visited_images)
+mono_class_from_name_checked_aux (MonoImage *image, const char* name_space, const char *name, MonoError *error, GHashTable* visited_images)
 {
        GHashTable *nspace_table;
        MonoImage *loaded_image;
@@ -7725,10 +7713,10 @@ mono_class_from_name_checked_aux (MonoImage *image, const char* name_space, cons
        mono_error_init (error);
 
        // Checking visited images avoids stack overflows when cyclic references exist.
-       if (mono_g_hash_table_lookup (visited_images, image))
+       if (g_hash_table_lookup (visited_images, image))
                return NULL;
 
-       mono_g_hash_table_insert (visited_images, image, GUINT_TO_POINTER(1));
+       g_hash_table_insert (visited_images, image, GUINT_TO_POINTER(1));
 
        if ((nested = strchr (name, '/'))) {
                int pos = nested - name;
@@ -7830,13 +7818,13 @@ MonoClass *
 mono_class_from_name_checked (MonoImage *image, const char* name_space, const char *name, MonoError *error)
 {
        MonoClass *klass;
-       MonoGHashTable *visited_images;
+       GHashTable *visited_images;
 
-       visited_images = mono_g_hash_table_new (g_direct_hash, g_direct_equal);
+       visited_images = g_hash_table_new (g_direct_hash, g_direct_equal);
 
        klass = mono_class_from_name_checked_aux (image, name_space, name, error, visited_images);
 
-       mono_g_hash_table_destroy (visited_images);
+       g_hash_table_destroy (visited_images);
 
        return klass;
 }
index bdc8cb1f85481080cd96fda65eb3dbe64cc8c2d9..14585755bc58a8baa3055a169bbf410798945802 100644 (file)
@@ -872,7 +872,8 @@ mono_cominterop_get_native_wrapper (MonoMethod *method)
 
        g_assert (method);
 
-       cache = mono_marshal_get_cache (&method->klass->image->cominterop_wrapper_cache, mono_aligned_addr_hash, NULL);
+       cache = mono_marshal_get_cache (&mono_method_get_wrapper_cache (method)->cominterop_wrapper_cache, mono_aligned_addr_hash, NULL);
+
        if ((res = mono_marshal_find_in_cache (cache, method)))
                return res;
 
@@ -981,7 +982,9 @@ mono_cominterop_get_invoke (MonoMethod *method)
        MonoMethodBuilder *mb;
        MonoMethod *res;
        int i;
-       GHashTable* cache = mono_marshal_get_cache (&method->klass->image->cominterop_invoke_cache, mono_aligned_addr_hash, NULL);
+       GHashTable* cache;
+       
+       cache = mono_marshal_get_cache (&mono_method_get_wrapper_cache (method)->cominterop_invoke_cache, mono_aligned_addr_hash, NULL);
 
        g_assert (method);
 
index 6c7ff4a1f27d3e9370c05d760f5fdebfc867b2ad..d722271ebb7da3937db68b81cf767ddcd844df9e 100644 (file)
@@ -27,6 +27,8 @@
 #include "environment.h"
 #include "coree.h"
 
+#include <shellapi.h>
+
 HMODULE coree_module_handle = NULL;
 
 static gboolean init_from_coree = FALSE;
index 7d7b7588e7dae77ee43323197a1e31c9ad6c5adb..20306b572ddc8e866c948eb5b022acbe9c68f920 100644 (file)
@@ -304,7 +304,7 @@ static const NumberFormatEntry number_format_entries [] = {
        {37416, 691, 37416, 691, 37497, 37485, 37487, 37491, 37552, 37563, 2566, 37495, 8, 3, 0, 0, 1, 2, 2, {3, -1}, {3, -1}},
        {37416, 691, 37416, 691, 37497, 37485, 37487, 37491, 37574, 37588, 2566, 37495, 8, 3, 1, 1, 1, 2, 2, {3, -1}, {3, -1}},
        {691, 37416, 691, 37416, 37601, 37485, 37487, 37491, 37452, 37462, 2566, 37495, 0, 0, 0, 0, 1, 2, 2, {3, -1}, {3, -1}},
-       {37416, 691, 37416, 37476, 37497, 37485, 37487, 37491, 37603, 37613, 2566, 37495, 8, 3, 0, 0, 1, 0, 2, {3, -1}, {3, -1}},
+       {37416, 691, 37416, 691, 37497, 37485, 37487, 37491, 37603, 37613, 2566, 37495, 8, 3, 0, 0, 1, 0, 2, {3, -1}, {3, -1}},
        {37416, 37476, 37416, 37476, 37497, 37485, 37622, 37491, 37452, 37462, 2566, 37495, 8, 3, 0, 0, 1, 2, 2, {3, -1}, {3, -1}},
        {37416, 37476, 37416, 37476, 37497, 37485, 37487, 37491, 37631, 37639, 2566, 37495, 8, 3, 0, 0, 1, 2, 2, {3, -1}, {3, -1}},
        {691, 37416, 691, 37416, 37647, 37485, 37487, 37491, 37651, 37462, 37664, 37669, 2, 2, 1, 1, 1, 2, 2, {3, -1}, {3, -1}},
index 4991d86b5a1336ceec0e72094a486ead4254acc8..ef60d033af07236171f6704ca121aae2ffb54f21 100644 (file)
@@ -19,7 +19,7 @@
 #include "mono/metadata/appdomain.h"
 
 struct MonoMethodDesc {
-       char *namespace;
+       char *name_space;
        char *klass;
        char *name;
        char *args;
@@ -344,7 +344,7 @@ mono_method_desc_new (const char *name, gboolean include_namespace)
        result->include_namespace = include_namespace;
        result->name = method_name;
        result->klass = class_name;
-       result->namespace = use_namespace? class_nspace: NULL;
+       result->name_space = use_namespace? class_nspace: NULL;
        result->args = use_args? use_args: NULL;
        if (strstr (result->name, "*"))
                result->name_glob = TRUE;
@@ -373,7 +373,7 @@ mono_method_desc_from_method (MonoMethod *method)
        result->include_namespace = TRUE;
        result->name = g_strdup (method->name);
        result->klass = g_strdup (method->klass->name);
-       result->namespace = g_strdup (method->klass->name_space);
+       result->name_space = g_strdup (method->klass->name_space);
 
        return result;
 }
@@ -387,8 +387,8 @@ mono_method_desc_from_method (MonoMethod *method)
 void
 mono_method_desc_free (MonoMethodDesc *desc)
 {
-       if (desc->namespace)
-               g_free (desc->namespace);
+       if (desc->name_space)
+               g_free (desc->name_space);
        else if (desc->klass)
                g_free (desc->klass);
        g_free (desc);
@@ -454,7 +454,7 @@ match_class (MonoMethodDesc *desc, int pos, MonoClass *klass)
        if (!p) {
                if (strncmp (desc->klass, klass->name, pos))
                        return FALSE;
-               if (desc->namespace && strcmp (desc->namespace, klass->name_space))
+               if (desc->name_space && strcmp (desc->name_space, klass->name_space))
                        return FALSE;
                return TRUE;
        }
@@ -499,14 +499,14 @@ mono_method_desc_search_in_image (MonoMethodDesc *desc, MonoImage *image)
        int i;
 
        /* Handle short names for system classes */
-       if (!desc->namespace && image == mono_defaults.corlib) {
+       if (!desc->name_space && image == mono_defaults.corlib) {
                klass = find_system_class (desc->klass);
                if (klass)
                        return mono_method_desc_search_in_class (desc, klass);
        }
 
-       if (desc->namespace && desc->klass) {
-               klass = mono_class_from_name (image, desc->namespace, desc->klass);
+       if (desc->name_space && desc->klass) {
+               klass = mono_class_from_name (image, desc->name_space, desc->klass);
                if (!klass)
                        return NULL;
                return mono_method_desc_search_in_class (desc, klass);
@@ -1040,6 +1040,9 @@ mono_class_describe_statics (MonoClass* klass)
                                continue;
                        if (!(field->type->attrs & (FIELD_ATTRIBUTE_STATIC | FIELD_ATTRIBUTE_HAS_FIELD_RVA)))
                                continue;
+                       // Special static fields don't have a domain-level static slot
+                       if (mono_class_field_is_special_static (field))
+                               continue;
 
                        field_ptr = (const char*)addr + field->offset;
 
index 728a0de1591828faeb737be2b118e26cb21a8914..d8da52cfb04fb1d35165a4ec67e4a3022a332322 100644 (file)
@@ -33,7 +33,7 @@ struct _MonoPPDBFile {
 };
 
 MonoPPDBFile*
-mono_ppdb_load_file (MonoImage *image)
+mono_ppdb_load_file (MonoImage *image, const guint8 *raw_contents, int size)
 {
        MonoImage *ppdb_image;
        const char *filename;
@@ -46,18 +46,22 @@ mono_ppdb_load_file (MonoImage *image)
 #endif
        MonoPPDBFile *ppdb;
 
-       /* ppdb files drop the .exe/.dll extension */
-       filename = mono_image_get_filename (image);
-       if (strlen (filename) > 4 && (!strcmp (filename + strlen (filename) - 4, ".exe"))) {
-               s = g_strdup (filename);
-               s [strlen (filename) - 4] = '\0';
-               ppdb_filename = g_strdup_printf ("%s.pdb", s);
-               g_free (s);
+       if (raw_contents) {
+               ppdb_image = mono_image_open_from_data_internal ((char*)raw_contents, size, TRUE, NULL, FALSE, TRUE, NULL);
        } else {
-               ppdb_filename = g_strdup_printf ("%s.pdb", filename);
-       }
+               /* ppdb files drop the .exe/.dll extension */
+               filename = mono_image_get_filename (image);
+               if (strlen (filename) > 4 && (!strcmp (filename + strlen (filename) - 4, ".exe"))) {
+                       s = g_strdup (filename);
+                       s [strlen (filename) - 4] = '\0';
+                       ppdb_filename = g_strdup_printf ("%s.pdb", s);
+                       g_free (s);
+               } else {
+                       ppdb_filename = g_strdup_printf ("%s.pdb", filename);
+               }
 
-       ppdb_image = mono_image_open_metadata_only (ppdb_filename, &status);
+               ppdb_image = mono_image_open_metadata_only (ppdb_filename, &status);
+       }
        if (!ppdb_image)
                return NULL;
 
index d90120e58073dbee24e1631f149b39f2682d04c1..e23b279cd94007bf047878082857aaa09e0da49c 100644 (file)
@@ -17,7 +17,7 @@
 #include <mono/metadata/mono-debug.h>
 
 MonoPPDBFile*
-mono_ppdb_load_file (MonoImage *image);
+mono_ppdb_load_file (MonoImage *image, const guint8 *raw_contents, int size);
 
 void
 mono_ppdb_close (MonoDebugHandle *handle);
index b70d40695886a845801f4de7096dab6605952052..b58b891c002042dd657ce5832395b82d7ba062c6 100644 (file)
@@ -16,9 +16,6 @@
 #include <mono/io-layer/io-layer.h>
 #include <mono/metadata/mempool-internals.h>
 
-
-extern mono_mutex_t mono_delegate_section;
-
 /*
  * If this is set, the memory belonging to appdomains is not freed when a domain is
  * unloaded, and assemblies loaded by the appdomain are not unloaded either. This
@@ -403,6 +400,9 @@ struct _MonoDomain {
        /* that require wrappers */
        GHashTable *ftnptrs_hash;
 
+       /* Maps MonoMethod* to weak links to DynamicMethod objects */
+       GHashTable *method_to_dyn_method;
+
        guint32 execution_context_field_offset;
 };
 
@@ -590,6 +590,9 @@ ves_icall_System_AppDomain_InternalIsFinalizingForUnload (gint32 domain_id);
 void
 ves_icall_System_AppDomain_InternalUnload          (gint32 domain_id);
 
+void
+ves_icall_System_AppDomain_DoUnhandledException (MonoException *exc);
+
 gint32
 ves_icall_System_AppDomain_ExecuteAssembly         (MonoAppDomain *ad, 
                                                                                                        MonoReflectionAssembly *refass,
old mode 100755 (executable)
new mode 100644 (file)
index ee72b62..d7467f9
@@ -93,7 +93,12 @@ static gboolean debug_domain_unload;
 
 gboolean mono_dont_free_domains;
 
-#define mono_appdomains_lock() mono_mutex_lock (&appdomains_mutex)
+#define mono_appdomains_lock() do {    \
+       MONO_TRY_BLOCKING;      \
+       mono_mutex_lock (&appdomains_mutex); \
+       MONO_FINISH_TRY_BLOCKING;       \
+} while (0);
+
 #define mono_appdomains_unlock() mono_mutex_unlock (&appdomains_mutex)
 static mono_mutex_t appdomains_mutex;
 
@@ -343,7 +348,7 @@ domain_id_alloc (MonoDomain *domain)
        int id = -1, i;
        if (!appdomains_list) {
                appdomain_list_size = 2;
-               appdomains_list = mono_gc_alloc_fixed (appdomain_list_size * sizeof (void*), MONO_GC_DESCRIPTOR_NULL);
+               appdomains_list = mono_gc_alloc_fixed (appdomain_list_size * sizeof (void*), MONO_GC_DESCRIPTOR_NULL, MONO_ROOT_SOURCE_DOMAIN, "domains list");
        }
        for (i = appdomain_next; i < appdomain_list_size; ++i) {
                if (!appdomains_list [i]) {
@@ -365,7 +370,7 @@ domain_id_alloc (MonoDomain *domain)
                if (new_size >= (1 << 16))
                        g_assert_not_reached ();
                id = appdomain_list_size;
-               new_list = mono_gc_alloc_fixed (new_size * sizeof (void*), MONO_GC_DESCRIPTOR_NULL);
+               new_list = mono_gc_alloc_fixed (new_size * sizeof (void*), MONO_GC_DESCRIPTOR_NULL, MONO_ROOT_SOURCE_DOMAIN, "domains list");
                memcpy (new_list, appdomains_list, appdomain_list_size * sizeof (void*));
                mono_gc_free_fixed (appdomains_list);
                appdomains_list = new_list;
@@ -409,10 +414,10 @@ mono_domain_create (void)
         * running the corlib test suite.
         * To solve this, we pass a NULL descriptor, and don't register roots.
         */
-       domain = mono_gc_alloc_fixed (sizeof (MonoDomain), NULL);
+       domain = mono_gc_alloc_fixed (sizeof (MonoDomain), NULL, MONO_ROOT_SOURCE_DOMAIN, "domain object");
 #else
-       domain = mono_gc_alloc_fixed (sizeof (MonoDomain), domain_gc_desc);
-       mono_gc_register_root ((char*)&(domain->MONO_DOMAIN_FIRST_GC_TRACKED), G_STRUCT_OFFSET (MonoDomain, MONO_DOMAIN_LAST_GC_TRACKED) - G_STRUCT_OFFSET (MonoDomain, MONO_DOMAIN_FIRST_GC_TRACKED), MONO_GC_DESCRIPTOR_NULL);
+       domain = mono_gc_alloc_fixed (sizeof (MonoDomain), domain_gc_desc, MONO_ROOT_SOURCE_DOMAIN, "domain object");
+       mono_gc_register_root ((char*)&(domain->MONO_DOMAIN_FIRST_GC_TRACKED), G_STRUCT_OFFSET (MonoDomain, MONO_DOMAIN_LAST_GC_TRACKED) - G_STRUCT_OFFSET (MonoDomain, MONO_DOMAIN_FIRST_GC_TRACKED), MONO_GC_DESCRIPTOR_NULL, MONO_ROOT_SOURCE_DOMAIN, "misc domain fields");
 #endif
        domain->shadow_serial = shadow_serial;
        domain->domain = NULL;
@@ -425,7 +430,7 @@ mono_domain_create (void)
        domain->mp = mono_mempool_new ();
        domain->code_mp = mono_code_manager_new ();
        domain->lock_free_mp = lock_free_mempool_new ();
-       domain->env = mono_g_hash_table_new_type ((GHashFunc)mono_string_hash, (GCompareFunc)mono_string_equal, MONO_HASH_KEY_VALUE_GC);
+       domain->env = mono_g_hash_table_new_type ((GHashFunc)mono_string_hash, (GCompareFunc)mono_string_equal, MONO_HASH_KEY_VALUE_GC, MONO_ROOT_SOURCE_DOMAIN, "domain environment variables table");
        domain->domain_assemblies = NULL;
        domain->assembly_bindings = NULL;
        domain->assembly_bindings_parsed = FALSE;
@@ -433,7 +438,7 @@ mono_domain_create (void)
        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);
+       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;
        domain->jit_info_table = mono_jit_info_table_new (domain);
        domain->jit_info_free_queue = NULL;
@@ -486,7 +491,7 @@ mono_init_internal (const char *filename, const char *exe_filename, const char *
        MonoAssembly *ass = NULL;
        MonoImageOpenStatus status = MONO_IMAGE_OK;
        const MonoRuntimeInfo* runtimes [G_N_ELEMENTS (supported_runtimes) + 1];
-       int n;
+       int n, dummy;
 
 #ifdef DEBUG_DOMAIN_UNLOAD
        debug_domain_unload = TRUE;
@@ -514,6 +519,7 @@ mono_init_internal (const char *filename, const char *exe_filename, const char *
        mono_counters_register ("Total code space allocated", MONO_COUNTER_INT|MONO_COUNTER_JIT, &total_domain_code_alloc);
 
        mono_gc_base_init ();
+       mono_thread_info_attach (&dummy);
 
        MONO_FAST_TLS_INIT (tls_appdomain);
        mono_native_tls_alloc (&appdomain_thread_id, NULL);
@@ -529,7 +535,7 @@ mono_init_internal (const char *filename, const char *exe_filename, const char *
        mono_runtime_init_tls ();
 
        /* FIXME: When should we release this memory? */
-       MONO_GC_REGISTER_ROOT_FIXED (appdomains_list);
+       MONO_GC_REGISTER_ROOT_FIXED (appdomains_list, MONO_ROOT_SOURCE_DOMAIN, "domains list");
 
        domain = mono_domain_create ();
        mono_root_domain = domain;
@@ -845,6 +851,13 @@ mono_init_internal (const char *filename, const char *exe_filename, const char *
 
        mono_defaults.threadpool_wait_callback_class = mono_class_from_name (
                mono_defaults.corlib, "System.Threading", "_ThreadPoolWaitCallback");
+       if (!mono_defaults.threadpool_wait_callback_class) {
+               /* This can happen with an old mscorlib */
+               fprintf (stderr, "Corlib too old for this runtime.\n");
+               fprintf (stderr, "Loaded from: %s\n",
+                                mono_defaults.corlib? mono_image_get_filename (mono_defaults.corlib): "unknown");
+               exit (1);
+       }
        mono_defaults.threadpool_perform_wait_callback_method = mono_class_get_method_from_name (
                mono_defaults.threadpool_wait_callback_class, "PerformWaitCallback", 0);
 
@@ -1028,7 +1041,7 @@ mono_domain_foreach (MonoDomainFunc func, gpointer user_data)
         */
        mono_appdomains_lock ();
        size = appdomain_list_size;
-       copy = mono_gc_alloc_fixed (appdomain_list_size * sizeof (void*), MONO_GC_DESCRIPTOR_NULL);
+       copy = mono_gc_alloc_fixed (appdomain_list_size * sizeof (void*), MONO_GC_DESCRIPTOR_NULL, MONO_ROOT_SOURCE_DOMAIN, "temporary domains list");
        memcpy (copy, appdomains_list, appdomain_list_size * sizeof (void*));
        mono_appdomains_unlock ();
 
@@ -1275,6 +1288,10 @@ mono_domain_free (MonoDomain *domain, gboolean force)
                g_hash_table_destroy (domain->ftnptrs_hash);
                domain->ftnptrs_hash = NULL;
        }
+       if (domain->method_to_dyn_method) {
+               g_hash_table_destroy (domain->method_to_dyn_method);
+               domain->method_to_dyn_method = NULL;
+       }
 
        mono_mutex_destroy (&domain->finalizable_objects_hash_lock);
        mono_mutex_destroy (&domain->assemblies_lock);
@@ -1297,10 +1314,10 @@ mono_domain_free (MonoDomain *domain, gboolean force)
 }
 
 /**
- * mono_domain_get_id:
+ * mono_domain_get_by_id:
  * @domainid: the ID
  *
- * Returns: the domain for a specific domain id.
+ * Returns: the domain for a specific domain id.
  */
 MonoDomain * 
 mono_domain_get_by_id (gint32 domainid) 
@@ -1317,12 +1334,29 @@ mono_domain_get_by_id (gint32 domainid)
        return domain;
 }
 
+/*
+ * mono_domain_get_id:
+ *
+ * A domain ID is guaranteed to be unique for as long as the domain
+ * using it is alive. It may be reused later once the domain has been
+ * unloaded.
+ *
+ * Returns: The unique ID for @domain.
+ */
 gint32
 mono_domain_get_id (MonoDomain *domain)
 {
        return domain->domain_id;
 }
 
+/*
+ * mono_domain_get_friendly_name:
+ *
+ * The returned string's lifetime is the same as @domain's. Consider
+ * copying it if you need to store it somewhere.
+ *
+ * Returns: The friendly name of @domain. Can be NULL if not yet set.
+ */
 const char *
 mono_domain_get_friendly_name (MonoDomain *domain)
 {
@@ -1504,12 +1538,25 @@ mono_context_get (void)
        return GET_APPCONTEXT ();
 }
 
+/*
+ * mono_context_get_id:
+ *
+ * Context IDs are guaranteed to be unique for the duration of a Mono
+ * process; they are never reused.
+ *
+ * Returns: The unique ID for @context.
+ */
 gint32
 mono_context_get_id (MonoAppContext *context)
 {
        return context->context_id;
 }
 
+/*
+ * mono_context_get_domain_id:
+ *
+ * Returns: The ID of the domain that @context was created in.
+ */
 gint32
 mono_context_get_domain_id (MonoAppContext *context)
 {
@@ -1529,7 +1576,7 @@ mono_domain_add_class_static_data (MonoDomain *domain, MonoClass *klass, gpointe
                next = GPOINTER_TO_INT (domain->static_data_array [0]);
                if (next >= size) {
                        /* 'data' is allocated by alloc_fixed */
-                       gpointer *new_array = mono_gc_alloc_fixed (sizeof (gpointer) * (size * 2), MONO_GC_ROOT_DESCR_FOR_FIXED (size * 2));
+                       gpointer *new_array = 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);
@@ -1538,7 +1585,7 @@ mono_domain_add_class_static_data (MonoDomain *domain, MonoClass *klass, gpointe
                }
        } else {
                int size = 32;
-               gpointer *new_array = mono_gc_alloc_fixed (sizeof (gpointer) * size, MONO_GC_ROOT_DESCR_FOR_FIXED (size));
+               gpointer *new_array = 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);
@@ -1922,9 +1969,9 @@ mono_get_aot_cache_config (void)
 void
 mono_domain_lock (MonoDomain *domain)
 {
-       MONO_TRY_BLOCKING
+       MONO_TRY_BLOCKING;
        mono_locks_acquire (&(domain)->lock, DomainLock);
-       MONO_FINISH_TRY_BLOCKING
+       MONO_FINISH_TRY_BLOCKING;
 }
 
 void
index c4bb6df67659c364a42f5a2a2c47943bea43b63c..b193e0a54945d373379c6dc1c990ea4855eaf8b6 100644 (file)
@@ -269,7 +269,7 @@ MonoBoolean
 ves_icall_System_IO_MonoIO_CreateDirectory (MonoString *path, gint32 *error)
 {
        gboolean ret;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        
        *error=ERROR_SUCCESS;
        
@@ -278,7 +278,7 @@ ves_icall_System_IO_MonoIO_CreateDirectory (MonoString *path, gint32 *error)
                *error=GetLastError ();
        }
 
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return(ret);
 }
 
@@ -286,7 +286,7 @@ MonoBoolean
 ves_icall_System_IO_MonoIO_RemoveDirectory (MonoString *path, gint32 *error)
 {
        gboolean ret;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        
        *error=ERROR_SUCCESS;
        
@@ -295,25 +295,25 @@ ves_icall_System_IO_MonoIO_RemoveDirectory (MonoString *path, gint32 *error)
                *error=GetLastError ();
        }
 
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return(ret);
 }
 
 static gchar *
-get_search_dir (MonoString *pattern)
+get_search_dir (const gunichar2 *pattern)
 {
        gchar *p;
        gchar *result;
 
-       p = mono_string_to_utf8 (pattern);
+       p = g_utf16_to_utf8 (pattern, -1, NULL, NULL, NULL);
        result = g_path_get_dirname (p);
        g_free (p);
        return result;
 }
 
 static GPtrArray *
-get_filesystem_entries (MonoString *path,
-                                                MonoString *path_with_pattern,
+get_filesystem_entries (const gunichar2 *path,
+                                                const gunichar2 *path_with_pattern,
                                                 gint attrs, gint mask,
                                                 gint32 *error)
 {
@@ -325,7 +325,7 @@ get_filesystem_entries (MonoString *path,
        gint32 attributes;
 
        mask = convert_attrs (mask);
-       attributes = get_file_attributes (mono_string_chars (path));
+       attributes = get_file_attributes (path);
        if (attributes != -1) {
                if ((attributes & FILE_ATTRIBUTE_DIRECTORY) == 0) {
                        *error = ERROR_INVALID_NAME;
@@ -336,7 +336,7 @@ get_filesystem_entries (MonoString *path,
                goto fail;
        }
        
-       find_handle = FindFirstFile (mono_string_chars (path_with_pattern), &data);
+       find_handle = FindFirstFile (path_with_pattern, &data);
        if (find_handle == INVALID_HANDLE_VALUE) {
                gint32 find_error = GetLastError ();
                
@@ -402,9 +402,9 @@ ves_icall_System_IO_MonoIO_GetFileSystemEntries (MonoString *path,
        
        *error = ERROR_SUCCESS;
 
-       MONO_PREPARE_BLOCKING
-       names = get_filesystem_entries (path, path_with_pattern, attrs, mask, error);
-       MONO_FINISH_BLOCKING
+       MONO_PREPARE_BLOCKING;
+       names = get_filesystem_entries (mono_string_chars (path), mono_string_chars (path_with_pattern), attrs, mask, error);
+       MONO_FINISH_BLOCKING;
 
        if (!names) {
                // If there's no array and no error, then return an empty array.
@@ -523,14 +523,14 @@ ves_icall_System_IO_MonoIO_FindClose (gpointer handle)
        IncrementalFind *ifh = handle;
        gint32 error;
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        if (FindClose (ifh->find_handle) == FALSE){
                error = GetLastError ();
        } else
                error = ERROR_SUCCESS;
        g_free (ifh->utf8_path);
        g_free (ifh);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        return error;
 }
@@ -591,7 +591,7 @@ ves_icall_System_IO_MonoIO_MoveFile (MonoString *path, MonoString *dest,
                                     gint32 *error)
 {
        gboolean ret;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        
        *error=ERROR_SUCCESS;
 
@@ -600,7 +600,7 @@ ves_icall_System_IO_MonoIO_MoveFile (MonoString *path, MonoString *dest,
                *error=GetLastError ();
        }
 
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return(ret);
 }
 
@@ -612,7 +612,7 @@ ves_icall_System_IO_MonoIO_ReplaceFile (MonoString *sourceFileName, MonoString *
        gboolean ret;
        gunichar2 *utf16_sourceFileName = NULL, *utf16_destinationFileName = NULL, *utf16_destinationBackupFileName = NULL;
        guint32 replaceFlags = REPLACEFILE_WRITE_THROUGH;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
 
        if (sourceFileName)
                utf16_sourceFileName = mono_string_chars (sourceFileName);
@@ -631,7 +631,7 @@ ves_icall_System_IO_MonoIO_ReplaceFile (MonoString *sourceFileName, MonoString *
        if (ret == FALSE)
                *error = GetLastError ();
 
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return ret;
 }
 
@@ -640,7 +640,7 @@ ves_icall_System_IO_MonoIO_CopyFile (MonoString *path, MonoString *dest,
                                     MonoBoolean overwrite, gint32 *error)
 {
        gboolean ret;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        
        *error=ERROR_SUCCESS;
        
@@ -649,7 +649,7 @@ ves_icall_System_IO_MonoIO_CopyFile (MonoString *path, MonoString *dest,
                *error=GetLastError ();
        }
        
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return(ret);
 }
 
@@ -657,7 +657,7 @@ MonoBoolean
 ves_icall_System_IO_MonoIO_DeleteFile (MonoString *path, gint32 *error)
 {
        gboolean ret;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        
        *error=ERROR_SUCCESS;
        
@@ -666,7 +666,7 @@ ves_icall_System_IO_MonoIO_DeleteFile (MonoString *path, gint32 *error)
                *error=GetLastError ();
        }
        
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return(ret);
 }
 
@@ -674,7 +674,7 @@ gint32
 ves_icall_System_IO_MonoIO_GetFileAttributes (MonoString *path, gint32 *error)
 {
        gint32 ret;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
 
        *error=ERROR_SUCCESS;
        
@@ -691,7 +691,7 @@ ves_icall_System_IO_MonoIO_GetFileAttributes (MonoString *path, gint32 *error)
                *error=GetLastError ();
        }
        
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return(ret);
 }
 
@@ -700,7 +700,7 @@ ves_icall_System_IO_MonoIO_SetFileAttributes (MonoString *path, gint32 attrs,
                                              gint32 *error)
 {
        gboolean ret;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        
        *error=ERROR_SUCCESS;
        
@@ -710,7 +710,7 @@ ves_icall_System_IO_MonoIO_SetFileAttributes (MonoString *path, gint32 attrs,
                *error=GetLastError ();
        }
 
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return(ret);
 }
 
@@ -718,7 +718,7 @@ gint32
 ves_icall_System_IO_MonoIO_GetFileType (HANDLE handle, gint32 *error)
 {
        gboolean ret;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
 
        *error=ERROR_SUCCESS;
        
@@ -730,7 +730,7 @@ ves_icall_System_IO_MonoIO_GetFileType (HANDLE handle, gint32 *error)
                *error=GetLastError ();
        }
        
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return(ret);
 }
 
@@ -740,7 +740,7 @@ ves_icall_System_IO_MonoIO_GetFileStat (MonoString *path, MonoIOStat *stat,
 {
        gboolean result;
        WIN32_FILE_ATTRIBUTE_DATA data;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
 
        *error=ERROR_SUCCESS;
        
@@ -753,7 +753,7 @@ ves_icall_System_IO_MonoIO_GetFileStat (MonoString *path, MonoIOStat *stat,
                memset (stat, 0, sizeof (MonoIOStat));
        }
 
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return result;
 }
 
@@ -765,7 +765,7 @@ ves_icall_System_IO_MonoIO_Open (MonoString *filename, gint32 mode,
        HANDLE ret;
        int attributes, attrs;
        gunichar2 *chars;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
 
        chars = mono_string_chars (filename);   
        *error=ERROR_SUCCESS;
@@ -810,7 +810,7 @@ ves_icall_System_IO_MonoIO_Open (MonoString *filename, gint32 mode,
                *error=GetLastError ();
        } 
        
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return(ret);
 }
 
@@ -818,7 +818,7 @@ MonoBoolean
 ves_icall_System_IO_MonoIO_Close (HANDLE handle, gint32 *error)
 {
        gboolean ret;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
 
        *error=ERROR_SUCCESS;
        
@@ -827,7 +827,7 @@ ves_icall_System_IO_MonoIO_Close (HANDLE handle, gint32 *error)
                *error=GetLastError ();
        }
        
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return(ret);
 }
 
@@ -851,9 +851,9 @@ ves_icall_System_IO_MonoIO_Read (HANDLE handle, MonoArray *dest,
 
        buffer = mono_array_addr (dest, guchar, dest_offset);
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        result = ReadFile (handle, buffer, count, &n, NULL);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        if (!result) {
                *error=GetLastError ();
@@ -882,9 +882,9 @@ ves_icall_System_IO_MonoIO_Write (HANDLE handle, MonoArray *src,
        }
        
        buffer = mono_array_addr (src, guchar, src_offset);
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        result = WriteFile (handle, buffer, count, &n, NULL);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        if (!result) {
                *error=GetLastError ();
@@ -899,7 +899,7 @@ ves_icall_System_IO_MonoIO_Seek (HANDLE handle, gint64 offset, gint32 origin,
                                 gint32 *error)
 {
        gint32 offset_hi;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
 
        *error=ERROR_SUCCESS;
        
@@ -911,7 +911,7 @@ ves_icall_System_IO_MonoIO_Seek (HANDLE handle, gint64 offset, gint32 origin,
                *error=GetLastError ();
        }
 
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return offset | ((gint64)offset_hi << 32);
 }
 
@@ -919,7 +919,7 @@ MonoBoolean
 ves_icall_System_IO_MonoIO_Flush (HANDLE handle, gint32 *error)
 {
        gboolean ret;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
 
        *error=ERROR_SUCCESS;
        
@@ -928,7 +928,7 @@ ves_icall_System_IO_MonoIO_Flush (HANDLE handle, gint32 *error)
                *error=GetLastError ();
        }
        
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return(ret);
 }
 
@@ -937,7 +937,7 @@ ves_icall_System_IO_MonoIO_GetLength (HANDLE handle, gint32 *error)
 {
        gint64 length;
        guint32 length_hi;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
 
        *error=ERROR_SUCCESS;
        
@@ -946,7 +946,7 @@ ves_icall_System_IO_MonoIO_GetLength (HANDLE handle, gint32 *error)
                *error=GetLastError ();
        }
        
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return length | ((gint64)length_hi << 32);
 }
 
@@ -1008,7 +1008,7 @@ ves_icall_System_IO_MonoIO_SetFileTime (HANDLE handle, gint64 creation_time,
        const FILETIME *creation_filetime;
        const FILETIME *last_access_filetime;
        const FILETIME *last_write_filetime;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
 
        *error=ERROR_SUCCESS;
        
@@ -1032,7 +1032,7 @@ ves_icall_System_IO_MonoIO_SetFileTime (HANDLE handle, gint64 creation_time,
                *error=GetLastError ();
        }
 
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return(ret);
 }
 
@@ -1055,8 +1055,7 @@ ves_icall_System_IO_MonoIO_get_ConsoleError ()
 }
 
 MonoBoolean
-ves_icall_System_IO_MonoIO_CreatePipe (HANDLE *read_handle,
-                                      HANDLE *write_handle)
+ves_icall_System_IO_MonoIO_CreatePipe (HANDLE *read_handle, HANDLE *write_handle, gint32 *error)
 {
        SECURITY_ATTRIBUTES attr;
        gboolean ret;
@@ -1065,11 +1064,12 @@ ves_icall_System_IO_MonoIO_CreatePipe (HANDLE *read_handle,
        attr.bInheritHandle=TRUE;
        attr.lpSecurityDescriptor=NULL;
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        ret=CreatePipe (read_handle, write_handle, &attr, 0);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        if(ret==FALSE) {
+               *error = GetLastError ();
                /* FIXME: throw an exception? */
                return(FALSE);
        }
@@ -1077,18 +1077,19 @@ ves_icall_System_IO_MonoIO_CreatePipe (HANDLE *read_handle,
        return(TRUE);
 }
 
-MonoBoolean ves_icall_System_IO_MonoIO_DuplicateHandle (HANDLE source_process_handle, 
-                                               HANDLE source_handle, HANDLE target_process_handle, HANDLE *target_handle, 
-                                               gint32 access, gint32 inherit, gint32 options)
+MonoBoolean
+ves_icall_System_IO_MonoIO_DuplicateHandle (HANDLE source_process_handle, HANDLE source_handle,
+               HANDLE target_process_handle, HANDLE *target_handle, gint32 access, gint32 inherit, gint32 options, gint32 *error)
 {
        /* This is only used on Windows */
        gboolean ret;
        
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        ret=DuplicateHandle (source_process_handle, source_handle, target_process_handle, target_handle, access, inherit, options);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        if(ret==FALSE) {
+               *error = GetLastError ();
                /* FIXME: throw an exception? */
                return(FALSE);
        }
@@ -1177,43 +1178,11 @@ ves_icall_System_IO_MonoIO_get_InvalidPathChars ()
        return chars;
 }
 
-gint32
-ves_icall_System_IO_MonoIO_GetTempPath (MonoString **mono_name)
-{
-       gunichar2 *name;
-       int ret;
-
-       MONO_PREPARE_BLOCKING
-       name=g_new0 (gunichar2, 256);
-       
-       ret=GetTempPath (256, name);
-       if(ret>255) {
-               /* Buffer was too short. Try again... */
-               g_free (name);
-               name=g_new0 (gunichar2, ret+2); /* include the terminator */
-               ret=GetTempPath (ret, name);
-       }
-       MONO_FINISH_BLOCKING
-       
-       if(ret>0) {
-#ifdef DEBUG
-               g_message ("%s: Temp path is [%s] (len %d)", __func__, name, ret);
-#endif
-
-               mono_gc_wbarrier_generic_store ((gpointer) mono_name,
-                               (MonoObject*) mono_string_new_utf16 (mono_domain_get (), name, ret));
-       }
-
-       g_free (name);
-       
-       return(ret);
-}
-
 void ves_icall_System_IO_MonoIO_Lock (HANDLE handle, gint64 position,
                                      gint64 length, gint32 *error)
 {
        gboolean ret;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        
        *error=ERROR_SUCCESS;
        
@@ -1223,14 +1192,14 @@ void ves_icall_System_IO_MonoIO_Lock (HANDLE handle, gint64 position,
                *error = GetLastError ();
        }
 
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 }
 
 void ves_icall_System_IO_MonoIO_Unlock (HANDLE handle, gint64 position,
                                        gint64 length, gint32 *error)
 {
        gboolean ret;
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        
        *error=ERROR_SUCCESS;
        
@@ -1240,7 +1209,7 @@ void ves_icall_System_IO_MonoIO_Unlock (HANDLE handle, gint64 position,
                *error = GetLastError ();
        }
 
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 }
 
 //Support for io-layer free mmap'd files.
@@ -1254,7 +1223,7 @@ mono_filesize_from_path (MonoString *string)
        gint64 res;
        char *path = mono_string_to_utf8 (string);
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        if (stat (path, &buf) == -1)
                res = -1;
        else
@@ -1262,7 +1231,7 @@ mono_filesize_from_path (MonoString *string)
 
        g_free (path);
 
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        return res;
 }
 
@@ -1272,9 +1241,9 @@ mono_filesize_from_fd (int fd)
        struct stat buf;
        int res;
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        res = fstat (fd, &buf);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        
        if (res == -1)
                return (gint64)-1;
index fc7f9e1231b4b0fd41df143c8b887a0930ab22fc..271bc58af7785a76521b9307e35a89ed24ecf10b 100644 (file)
@@ -216,12 +216,11 @@ extern HANDLE
 ves_icall_System_IO_MonoIO_get_ConsoleError (void);
 
 extern MonoBoolean
-ves_icall_System_IO_MonoIO_CreatePipe (HANDLE *read_handle,
-                                      HANDLE *write_handle);
+ves_icall_System_IO_MonoIO_CreatePipe (HANDLE *read_handle, HANDLE *write_handle, gint32 *error);
 
-extern MonoBoolean ves_icall_System_IO_MonoIO_DuplicateHandle (HANDLE source_process_handle, 
-                                               HANDLE source_handle, HANDLE target_process_handle, HANDLE *target_handle, 
-                                               gint32 access, gint32 inherit, gint32 options);
+extern MonoBoolean
+ves_icall_System_IO_MonoIO_DuplicateHandle (HANDLE source_process_handle, HANDLE source_handle,
+               HANDLE target_process_handle, HANDLE *target_handle, gint32 access, gint32 inherit, gint32 options, gint32 *error);
 
 extern gunichar2 
 ves_icall_System_IO_MonoIO_get_VolumeSeparatorChar (void);
@@ -238,9 +237,6 @@ ves_icall_System_IO_MonoIO_get_PathSeparator (void);
 extern MonoArray *
 ves_icall_System_IO_MonoIO_get_InvalidPathChars (void);
 
-extern gint32
-ves_icall_System_IO_MonoIO_GetTempPath (MonoString **mono_name);
-
 extern void ves_icall_System_IO_MonoIO_Lock (HANDLE handle, gint64 position,
                                             gint64 length, gint32 *error);
 extern void ves_icall_System_IO_MonoIO_Unlock (HANDLE handle, gint64 position,
index 108540654798a3e2051a3200840ab07264ab8ee5..def11d9856d8be929b37c1fc92f0c48651ca4dd4 100644 (file)
 #include <config.h>
 #endif
 
+#ifdef HAVE_SYS_TYPES_H
+#include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_EVENT_H
+#include <sys/event.h>
+#endif
+#ifdef HAVE_SYS_TIME_H
+#include <sys/time.h>
+#endif
+
 #include <mono/metadata/appdomain.h>
 #include <mono/metadata/exception.h>
 #include <mono/metadata/filewatcher.h>
@@ -189,3 +199,54 @@ ves_icall_System_IO_InotifyWatcher_RemoveWatch (int fd, gint32 watch_descriptor)
 }
 #endif
 
+#if HAVE_KQUEUE
+
+static void
+interrupt_kevent (gpointer data)
+{
+       int *kq_ptr = data;
+
+       /* Interrupt the kevent () call by closing the fd */
+       close (*kq_ptr);
+       /* Signal to managed code that the fd is closed */
+       *kq_ptr = -1;
+}
+
+/*
+ * ves_icall_System_IO_KqueueMonitor_kevent_notimeout:
+ *
+ *   Call kevent (), while handling runtime interruptions.
+ */
+int
+ves_icall_System_IO_KqueueMonitor_kevent_notimeout (int *kq_ptr, gpointer changelist, int nchanges, gpointer eventlist, int nevents)
+{
+       int res;
+       gboolean interrupted;
+
+       mono_thread_info_install_interrupt (interrupt_kevent, kq_ptr, &interrupted);
+       if (interrupted) {
+               close (*kq_ptr);
+               *kq_ptr = -1;
+               return -1;
+       }
+
+       MONO_PREPARE_BLOCKING;
+       res = kevent (*kq_ptr, changelist, nchanges, eventlist, nevents, NULL);
+       MONO_FINISH_BLOCKING;
+
+       mono_thread_info_uninstall_interrupt (&interrupted);
+
+       return res;
+}
+
+#else
+
+int
+ves_icall_System_IO_KqueueMonitor_kevent_notimeout (int *kq_ptr, gpointer changelist, int nchanges, gpointer eventlist, int nevents)
+{
+       g_assert_not_reached ();
+       return -1;
+}
+
+#endif /* #if HAVE_KQUEUE */
+
index c57be128325b0e1f203cdaf325177806779463d3..605fd0e9ac2503d70c8eb2051e4bf7043adf4846 100644 (file)
@@ -32,6 +32,8 @@ int ves_icall_System_IO_InotifyWatcher_GetInotifyInstance (void);
 int ves_icall_System_IO_InotifyWatcher_AddWatch (int fd, MonoString *directory, gint32 mask);
 int ves_icall_System_IO_InotifyWatcher_RemoveWatch (int fd, gint32 watch_descriptor);
 
+int ves_icall_System_IO_KqueueMonitor_kevent_notimeout (int *kq, gpointer changelist, int nchanges, gpointer eventlist, int nevents);
+
 G_END_DECLS
 
 #endif
index d55e56d5d0dd653e5ba9c528c0b9a68c1e4d4fb9..11c94b40f4e18e0387da1c170acb47d99e93cd45 100644 (file)
@@ -11,6 +11,7 @@
 #define __MONO_METADATA_GC_INTERNAL_H__
 
 #include <glib.h>
+#include <mono/utils/gc_wrapper.h>
 #include <mono/metadata/object-internals.h>
 #include <mono/metadata/threads-types.h>
 #include <mono/sgen/gc-internal-agnostic.h>
@@ -20,7 +21,7 @@
 #define mono_domain_finalizers_unlock(domain) mono_mutex_unlock (&(domain)->finalizable_objects_hash_lock);
 
 /* Register a memory area as a conservatively scanned GC root */
-#define MONO_GC_REGISTER_ROOT_PINNING(x) mono_gc_register_root ((char*)&(x), sizeof(x), MONO_GC_DESCRIPTOR_NULL)
+#define MONO_GC_REGISTER_ROOT_PINNING(x,src,msg) mono_gc_register_root ((char*)&(x), sizeof(x), MONO_GC_DESCRIPTOR_NULL, (src), (msg))
 
 #define MONO_GC_UNREGISTER_ROOT(x) mono_gc_deregister_root ((char*)&(x))
 
@@ -29,9 +30,9 @@
  * mono_gc_alloc_fixed (). This includes MonoGHashTable.
  */
 /* The result of alloc_fixed () is not GC tracked memory */
-#define MONO_GC_REGISTER_ROOT_FIXED(x) do { \
+#define MONO_GC_REGISTER_ROOT_FIXED(x,src,msg) do { \
        if (!mono_gc_is_moving ())                              \
-               MONO_GC_REGISTER_ROOT_PINNING ((x)); \
+               MONO_GC_REGISTER_ROOT_PINNING ((x),(src),(msg)); \
        } while (0)
 
 /*
 #define MONO_GC_ROOT_DESCR_FOR_FIXED(n) (mono_gc_is_moving () ? mono_gc_make_root_descr_all_refs (0) : MONO_GC_DESCRIPTOR_NULL)
 
 /* Register a memory location holding a single object reference as a GC root */
-#define MONO_GC_REGISTER_ROOT_SINGLE(x) do { \
+#define MONO_GC_REGISTER_ROOT_SINGLE(x,src,msg) do { \
        g_assert (sizeof (x) == sizeof (MonoObject*)); \
-       mono_gc_register_root ((char*)&(x), sizeof(MonoObject*), mono_gc_make_root_descr_all_refs (1)); \
+       mono_gc_register_root ((char*)&(x), sizeof(MonoObject*), mono_gc_make_root_descr_all_refs (1), (src), (msg)); \
        } while (0)
 
 /*
  * This is used for fields which point to objects which are kept alive by other references
  * when using Boehm.
  */
-#define MONO_GC_REGISTER_ROOT_IF_MOVING(x) do { \
+#define MONO_GC_REGISTER_ROOT_IF_MOVING(x,src,msg) do { \
        if (mono_gc_is_moving ()) \
-               MONO_GC_REGISTER_ROOT_SINGLE(x);                \
+               MONO_GC_REGISTER_ROOT_SINGLE(x,src,msg);                \
 } while (0)
 
 #define MONO_GC_UNREGISTER_ROOT_IF_MOVING(x) do { \
@@ -84,7 +85,6 @@ MonoBoolean ves_icall_Mono_Runtime_SetGCAllowSynchronousMajor (MonoBoolean flag)
 extern void mono_gc_init (void);
 extern void mono_gc_base_init (void);
 extern void mono_gc_cleanup (void);
-extern void mono_gc_mutex_cleanup (void);
 extern void mono_gc_base_cleanup (void);
 
 /*
@@ -106,10 +106,7 @@ gpointer mono_gc_out_of_memory (size_t size);
 void     mono_gc_enable_events (void);
 void     mono_gc_enable_alloc_events (void);
 
-/* disappearing link functionality */
-void        mono_gc_weak_link_add    (void **link_addr, MonoObject *obj, gboolean track);
-void        mono_gc_weak_link_remove (void **link_addr, gboolean track);
-MonoObject *mono_gc_weak_link_get    (void **link_addr);
+void mono_gchandle_set_target (guint32 gchandle, MonoObject *obj);
 
 /*Ephemeron functionality. Sgen only*/
 gboolean    mono_gc_ephemeron_array_add (MonoObject *obj);
@@ -142,7 +139,7 @@ gboolean mono_gc_user_markers_supported (void);
  * NOTE: Under Boehm, this returns memory allocated using GC_malloc, so the result should
  * be stored into a location registered using MONO_GC_REGISTER_ROOT_FIXED ().
  */
-void* mono_gc_alloc_fixed            (size_t size, MonoGCDescriptor descr);
+void* mono_gc_alloc_fixed            (size_t size, MonoGCDescriptor descr, MonoGCRootSource source, const char *msg);
 void  mono_gc_free_fixed             (void* addr);
 
 /* make sure the gchandle was allocated for an object in domain */
@@ -164,7 +161,7 @@ MonoGCDescriptor mono_gc_make_descr_for_string (gsize *bitmap, int numbits);
 
 void  mono_gc_register_for_finalization (MonoObject *obj, void *user_data);
 void  mono_gc_add_memory_pressure (gint64 value);
-MONO_API int   mono_gc_register_root (char *start, size_t size, MonoGCDescriptor descr);
+MONO_API int   mono_gc_register_root (char *start, size_t size, MonoGCDescriptor descr, MonoGCRootSource source, const char *msg);
 void  mono_gc_deregister_root (char* addr);
 int   mono_gc_finalizers_for_domain (MonoDomain *domain, MonoObject **out_array, int out_size);
 void  mono_gc_run_finalize (void *obj, void *data);
@@ -181,7 +178,7 @@ void* mono_gc_alloc_mature (MonoVTable *vtable);
  * FIXME: Add an API for clearing remset entries if a root with a user defined
  * mark routine is deleted.
  */
-int mono_gc_register_root_wbarrier (char *start, size_t size, MonoGCDescriptor descr);
+int mono_gc_register_root_wbarrier (char *start, size_t size, MonoGCDescriptor descr, MonoGCRootSource source, const char *msg);
 
 void mono_gc_wbarrier_set_root (gpointer ptr, MonoObject *value);
 
index 4bcdfd55e0dce63229d6c0eadef5285cdf7962f2..ff442e43f6a7faf3484ec2848e7d0bc01d0f6438 100644 (file)
@@ -27,4 +27,4 @@
 GCStats gc_stats = {};
 #else
 GCStats gc_stats;
-#endif
\ No newline at end of file
+#endif
index cdc91abedac0a91e9c53bf7cc837fcda806e402f..bc34095900d92a7fb98dcbc8de82fbbfc9f78937 100644 (file)
@@ -25,6 +25,7 @@
 #include <mono/metadata/threads-types.h>
 #include <mono/metadata/threadpool-ms.h>
 #include <mono/sgen/sgen-conf.h>
+#include <mono/sgen/sgen-gc.h>
 #include <mono/utils/mono-logger-internal.h>
 #include <mono/metadata/gc-internal.h>
 #include <mono/metadata/marshal.h> /* for mono_delegate_free_ftnptr () */
@@ -70,8 +71,6 @@ static MonoInternalThread *gc_thread;
 
 static void object_register_finalizer (MonoObject *obj, void (*callback)(void *, void*));
 
-static void mono_gchandle_set_target (guint32 gchandle, MonoObject *obj);
-
 static void reference_queue_proccess_all (void);
 static void mono_reference_queue_cleanup (void);
 static void reference_queue_clear_for_domain (MonoDomain *domain);
@@ -82,9 +81,9 @@ guarded_wait (HANDLE handle, guint32 timeout, gboolean alertable)
 {
        guint32 result;
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        result = WaitForSingleObjectEx (handle, timeout, alertable);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        return result;
 }
@@ -94,7 +93,7 @@ add_thread_to_finalize (MonoInternalThread *thread)
 {
        mono_finalizer_lock ();
        if (!threads_to_finalize)
-               MONO_GC_REGISTER_ROOT_SINGLE (threads_to_finalize);
+               MONO_GC_REGISTER_ROOT_SINGLE (threads_to_finalize, MONO_ROOT_SOURCE_FINALIZER_QUEUE, "finalizable threads list");
        threads_to_finalize = mono_mlist_append (threads_to_finalize, (MonoObject*)thread);
        mono_finalizer_unlock ();
 }
@@ -120,6 +119,9 @@ mono_gc_run_finalize (void *obj, void *data)
        MonoDomain *domain;
        RuntimeInvokeFunction runtime_invoke;
 
+       // This function is called from the innards of the GC, so our best alternative for now is to do polling here
+       MONO_SUSPEND_CHECK ();
+
        o = (MonoObject*)((char*)obj + GPOINTER_TO_UINT (data));
 
        if (log_finalizers)
@@ -317,8 +319,11 @@ object_register_finalizer (MonoObject *obj, void (*callback)(void *, void*))
         * end up running them while or after the domain is being cleared, so
         * the objects will not be valid anymore.
         */
-       if (!mono_domain_is_unloading (domain))
+       if (!mono_domain_is_unloading (domain)) {
+               MONO_TRY_BLOCKING;
                mono_gc_register_for_finalization (obj, callback);
+               MONO_FINISH_TRY_BLOCKING;
+       }
 #endif
 }
 
@@ -523,16 +528,6 @@ ves_icall_System_GC_get_ephemeron_tombstone (void)
 #define mono_allocator_lock() mono_mutex_lock (&allocator_section)
 #define mono_allocator_unlock() mono_mutex_unlock (&allocator_section)
 static mono_mutex_t allocator_section;
-static mono_mutex_t handle_section;
-
-typedef enum {
-       HANDLE_WEAK,
-       HANDLE_WEAK_TRACK,
-       HANDLE_NORMAL,
-       HANDLE_PINNED
-} HandleType;
-
-static HandleType mono_gchandle_get_type (guint32 gchandle);
 
 MonoObject *
 ves_icall_System_GCHandle_GetTarget (guint32 handle)
@@ -577,7 +572,7 @@ ves_icall_System_GCHandle_GetAddrOfPinnedObject (guint32 handle)
 {
        MonoObject *obj;
 
-       if (mono_gchandle_get_type (handle) != HANDLE_PINNED)
+       if (MONO_GC_HANDLE_TYPE (handle) != HANDLE_PINNED)
                return (gpointer)-2;
        obj = mono_gchandle_get_target (handle);
        if (obj) {
@@ -603,380 +598,6 @@ ves_icall_Mono_Runtime_SetGCAllowSynchronousMajor (MonoBoolean flag)
        return mono_gc_set_allow_synchronous_major (flag);
 }
 
-typedef struct {
-       guint32  *bitmap;
-       gpointer *entries;
-       guint32   size;
-       guint8    type;
-       guint     slot_hint : 24; /* starting slot for search */
-       /* 2^16 appdomains should be enough for everyone (though I know I'll regret this in 20 years) */
-       /* we alloc this only for weak refs, since we can get the domain directly in the other cases */
-       guint16  *domain_ids;
-} HandleData;
-
-/* weak and weak-track arrays will be allocated in malloc memory 
- */
-static HandleData gc_handles [] = {
-       {NULL, NULL, 0, HANDLE_WEAK, 0},
-       {NULL, NULL, 0, HANDLE_WEAK_TRACK, 0},
-       {NULL, NULL, 0, HANDLE_NORMAL, 0},
-       {NULL, NULL, 0, HANDLE_PINNED, 0}
-};
-
-#define lock_handles(handles) mono_mutex_lock (&handle_section)
-#define unlock_handles(handles) mono_mutex_unlock (&handle_section)
-
-static int
-find_first_unset (guint32 bitmap)
-{
-       int i;
-       for (i = 0; i < 32; ++i) {
-               if (!(bitmap & (1 << i)))
-                       return i;
-       }
-       return -1;
-}
-
-static MonoGCDescriptor
-make_root_descr_all_refs (int numbits, gboolean pinned)
-{
-#ifdef HAVE_SGEN_GC
-       if (pinned)
-               return MONO_GC_DESCRIPTOR_NULL;
-#endif
-       return mono_gc_make_root_descr_all_refs (numbits);
-}
-
-static guint32
-alloc_handle (HandleData *handles, MonoObject *obj, gboolean track)
-{
-       gint slot, i;
-       guint32 res;
-       lock_handles (handles);
-       if (!handles->size) {
-               handles->size = 32;
-               if (handles->type > HANDLE_WEAK_TRACK) {
-                       handles->entries = mono_gc_alloc_fixed (sizeof (gpointer) * handles->size, make_root_descr_all_refs (handles->size, handles->type == HANDLE_PINNED));
-               } else {
-                       handles->entries = g_malloc0 (sizeof (gpointer) * handles->size);
-                       handles->domain_ids = g_malloc0 (sizeof (guint16) * handles->size);
-               }
-               handles->bitmap = g_malloc0 (handles->size / 8);
-       }
-       i = -1;
-       for (slot = handles->slot_hint; slot < handles->size / 32; ++slot) {
-               if (handles->bitmap [slot] != 0xffffffff) {
-                       i = find_first_unset (handles->bitmap [slot]);
-                       handles->slot_hint = slot;
-                       break;
-               }
-       }
-       if (i == -1 && handles->slot_hint != 0) {
-               for (slot = 0; slot < handles->slot_hint; ++slot) {
-                       if (handles->bitmap [slot] != 0xffffffff) {
-                               i = find_first_unset (handles->bitmap [slot]);
-                               handles->slot_hint = slot;
-                               break;
-                       }
-               }
-       }
-       if (i == -1) {
-               guint32 *new_bitmap;
-               guint32 new_size = handles->size * 2; /* always double: we memset to 0 based on this below */
-
-               /* resize and copy the bitmap */
-               new_bitmap = g_malloc0 (new_size / 8);
-               memcpy (new_bitmap, handles->bitmap, handles->size / 8);
-               g_free (handles->bitmap);
-               handles->bitmap = new_bitmap;
-
-               /* resize and copy the entries */
-               if (handles->type > HANDLE_WEAK_TRACK) {
-                       gpointer *entries;
-
-                       entries = mono_gc_alloc_fixed (sizeof (gpointer) * new_size, make_root_descr_all_refs (new_size, handles->type == HANDLE_PINNED));
-                       mono_gc_memmove_aligned (entries, handles->entries, sizeof (gpointer) * handles->size);
-
-                       mono_gc_free_fixed (handles->entries);
-                       handles->entries = entries;
-               } else {
-                       gpointer *entries;
-                       guint16 *domain_ids;
-                       domain_ids = g_malloc0 (sizeof (guint16) * new_size);
-                       entries = g_malloc0 (sizeof (gpointer) * new_size);
-                       memcpy (domain_ids, handles->domain_ids, sizeof (guint16) * handles->size);
-                       for (i = 0; i < handles->size; ++i) {
-                               MonoObject *obj = mono_gc_weak_link_get (&(handles->entries [i]));
-                               if (obj) {
-                                       mono_gc_weak_link_add (&(entries [i]), obj, track);
-                                       mono_gc_weak_link_remove (&(handles->entries [i]), track);
-                               } else {
-                                       g_assert (!handles->entries [i]);
-                               }
-                       }
-                       g_free (handles->entries);
-                       g_free (handles->domain_ids);
-                       handles->entries = entries;
-                       handles->domain_ids = domain_ids;
-               }
-
-               /* set i and slot to the next free position */
-               i = 0;
-               slot = (handles->size + 1) / 32;
-               handles->slot_hint = handles->size + 1;
-               handles->size = new_size;
-       }
-       handles->bitmap [slot] |= 1 << i;
-       slot = slot * 32 + i;
-       handles->entries [slot] = NULL;
-       if (handles->type <= HANDLE_WEAK_TRACK) {
-               /*FIXME, what to use when obj == null?*/
-               handles->domain_ids [slot] = (obj ? mono_object_get_domain (obj) : mono_domain_get ())->domain_id;
-               if (obj)
-                       mono_gc_weak_link_add (&(handles->entries [slot]), obj, track);
-       } else {
-               handles->entries [slot] = obj;
-       }
-
-#ifndef DISABLE_PERFCOUNTERS
-       mono_perfcounters->gc_num_handles++;
-#endif
-       unlock_handles (handles);
-       /*g_print ("allocated entry %d of type %d to object %p (in slot: %p)\n", slot, handles->type, obj, handles->entries [slot]);*/
-       res = (slot << 3) | (handles->type + 1);
-       mono_profiler_gc_handle (MONO_PROFILER_GC_HANDLE_CREATED, handles->type, res, obj);
-       return res;
-}
-
-/**
- * mono_gchandle_new:
- * @obj: managed object to get a handle for
- * @pinned: whether the object should be pinned
- *
- * This returns a handle that wraps the object, this is used to keep a
- * reference to a managed object from the unmanaged world and preventing the
- * object from being disposed.
- * 
- * If @pinned is false the address of the object can not be obtained, if it is
- * true the address of the object can be obtained.  This will also pin the
- * object so it will not be possible by a moving garbage collector to move the
- * object. 
- * 
- * Returns: a handle that can be used to access the object from
- * unmanaged code.
- */
-guint32
-mono_gchandle_new (MonoObject *obj, gboolean pinned)
-{
-       return alloc_handle (&gc_handles [pinned? HANDLE_PINNED: HANDLE_NORMAL], obj, FALSE);
-}
-
-/**
- * mono_gchandle_new_weakref:
- * @obj: managed object to get a handle for
- * @pinned: whether the object should be pinned
- *
- * This returns a weak handle that wraps the object, this is used to
- * keep a reference to a managed object from the unmanaged world.
- * Unlike the mono_gchandle_new the object can be reclaimed by the
- * garbage collector.  In this case the value of the GCHandle will be
- * set to zero.
- * 
- * If @pinned is false the address of the object can not be obtained, if it is
- * true the address of the object can be obtained.  This will also pin the
- * object so it will not be possible by a moving garbage collector to move the
- * object. 
- * 
- * Returns: a handle that can be used to access the object from
- * unmanaged code.
- */
-guint32
-mono_gchandle_new_weakref (MonoObject *obj, gboolean track_resurrection)
-{
-       guint32 handle = alloc_handle (&gc_handles [track_resurrection? HANDLE_WEAK_TRACK: HANDLE_WEAK], obj, track_resurrection);
-
-       return handle;
-}
-
-static HandleType
-mono_gchandle_get_type (guint32 gchandle)
-{
-       guint type = (gchandle & 7) - 1;
-
-       return type;
-}
-
-/**
- * mono_gchandle_get_target:
- * @gchandle: a GCHandle's handle.
- *
- * The handle was previously created by calling mono_gchandle_new or
- * mono_gchandle_new_weakref. 
- *
- * Returns a pointer to the MonoObject represented by the handle or
- * NULL for a collected object if using a weakref handle.
- */
-MonoObject*
-mono_gchandle_get_target (guint32 gchandle)
-{
-       guint slot = gchandle >> 3;
-       guint type = (gchandle & 7) - 1;
-       HandleData *handles = &gc_handles [type];
-       MonoObject *obj = NULL;
-       if (type > 3)
-               return NULL;
-       lock_handles (handles);
-       if (slot < handles->size && (handles->bitmap [slot / 32] & (1 << (slot % 32)))) {
-               if (handles->type <= HANDLE_WEAK_TRACK) {
-                       obj = mono_gc_weak_link_get (&handles->entries [slot]);
-               } else {
-                       obj = handles->entries [slot];
-               }
-       } else {
-               /* print a warning? */
-       }
-       unlock_handles (handles);
-       /*g_print ("get target of entry %d of type %d: %p\n", slot, handles->type, obj);*/
-       return obj;
-}
-
-static void
-mono_gchandle_set_target (guint32 gchandle, MonoObject *obj)
-{
-       guint slot = gchandle >> 3;
-       guint type = (gchandle & 7) - 1;
-       HandleData *handles = &gc_handles [type];
-
-       if (type > 3)
-               return;
-       lock_handles (handles);
-       if (slot < handles->size && (handles->bitmap [slot / 32] & (1 << (slot % 32)))) {
-               if (handles->type <= HANDLE_WEAK_TRACK) {
-                       if (handles->entries [slot])
-                               mono_gc_weak_link_remove (&handles->entries [slot], handles->type == HANDLE_WEAK_TRACK);
-                       if (obj)
-                               mono_gc_weak_link_add (&handles->entries [slot], obj, handles->type == HANDLE_WEAK_TRACK);
-                       /*FIXME, what to use when obj == null?*/
-                       handles->domain_ids [slot] = (obj ? mono_object_get_domain (obj) : mono_domain_get ())->domain_id;
-               } else {
-                       handles->entries [slot] = obj;
-               }
-       } else {
-               /* print a warning? */
-       }
-       /*g_print ("changed entry %d of type %d to object %p (in slot: %p)\n", slot, handles->type, obj, handles->entries [slot]);*/
-       unlock_handles (handles);
-}
-
-/**
- * mono_gchandle_is_in_domain:
- * @gchandle: a GCHandle's handle.
- * @domain: An application domain.
- *
- * Returns: true if the object wrapped by the @gchandle belongs to the specific @domain.
- */
-gboolean
-mono_gchandle_is_in_domain (guint32 gchandle, MonoDomain *domain)
-{
-       guint slot = gchandle >> 3;
-       guint type = (gchandle & 7) - 1;
-       HandleData *handles = &gc_handles [type];
-       gboolean result = FALSE;
-       if (type > 3)
-               return FALSE;
-       lock_handles (handles);
-       if (slot < handles->size && (handles->bitmap [slot / 32] & (1 << (slot % 32)))) {
-               if (handles->type <= HANDLE_WEAK_TRACK) {
-                       result = domain->domain_id == handles->domain_ids [slot];
-               } else {
-                       MonoObject *obj;
-                       obj = handles->entries [slot];
-                       if (obj == NULL)
-                               result = TRUE;
-                       else
-                               result = domain == mono_object_domain (obj);
-               }
-       } else {
-               /* print a warning? */
-       }
-       unlock_handles (handles);
-       return result;
-}
-
-/**
- * mono_gchandle_free:
- * @gchandle: a GCHandle's handle.
- *
- * Frees the @gchandle handle.  If there are no outstanding
- * references, the garbage collector can reclaim the memory of the
- * object wrapped. 
- */
-void
-mono_gchandle_free (guint32 gchandle)
-{
-       guint slot = gchandle >> 3;
-       guint type = (gchandle & 7) - 1;
-       HandleData *handles = &gc_handles [type];
-       if (type > 3)
-               return;
-
-       lock_handles (handles);
-       if (slot < handles->size && (handles->bitmap [slot / 32] & (1 << (slot % 32)))) {
-               if (handles->type <= HANDLE_WEAK_TRACK) {
-                       if (handles->entries [slot])
-                               mono_gc_weak_link_remove (&handles->entries [slot], handles->type == HANDLE_WEAK_TRACK);
-               } else {
-                       handles->entries [slot] = NULL;
-               }
-               handles->bitmap [slot / 32] &= ~(1 << (slot % 32));
-       } else {
-               /* print a warning? */
-       }
-#ifndef DISABLE_PERFCOUNTERS
-       mono_perfcounters->gc_num_handles--;
-#endif
-       /*g_print ("freed entry %d of type %d\n", slot, handles->type);*/
-       unlock_handles (handles);
-       mono_profiler_gc_handle (MONO_PROFILER_GC_HANDLE_DESTROYED, handles->type, gchandle, NULL);
-}
-
-/**
- * mono_gchandle_free_domain:
- * @domain: domain that is unloading
- *
- * Function used internally to cleanup any GC handle for objects belonging
- * to the specified domain during appdomain unload.
- */
-void
-mono_gchandle_free_domain (MonoDomain *domain)
-{
-       guint type;
-
-       for (type = 0; type < 3; ++type) {
-               guint slot;
-               HandleData *handles = &gc_handles [type];
-               lock_handles (handles);
-               for (slot = 0; slot < handles->size; ++slot) {
-                       if (!(handles->bitmap [slot / 32] & (1 << (slot % 32))))
-                               continue;
-                       if (type <= HANDLE_WEAK_TRACK) {
-                               if (domain->domain_id == handles->domain_ids [slot]) {
-                                       handles->bitmap [slot / 32] &= ~(1 << (slot % 32));
-                                       if (handles->entries [slot])
-                                               mono_gc_weak_link_remove (&handles->entries [slot], handles->type == HANDLE_WEAK_TRACK);
-                               }
-                       } else {
-                               if (handles->entries [slot] && mono_object_domain (handles->entries [slot]) == domain) {
-                                       handles->bitmap [slot / 32] &= ~(1 << (slot % 32));
-                                       handles->entries [slot] = NULL;
-                               }
-                       }
-               }
-               unlock_handles (handles);
-       }
-
-}
-
 MonoBoolean
 mono_gc_GCHandle_CheckCurrentDomain (guint32 gchandle)
 {
@@ -1088,7 +709,7 @@ finalizer_thread (gpointer unused)
 
                g_assert (mono_domain_get () == mono_get_root_domain ());
                mono_gc_set_skip_thread (TRUE);
-               MONO_PREPARE_BLOCKING
+               MONO_PREPARE_BLOCKING;
 
                if (wait) {
                /* An alertable wait is required so this thread can be suspended on windows */
@@ -1099,7 +720,7 @@ finalizer_thread (gpointer unused)
 #endif
                }
                wait = TRUE;
-               MONO_FINISH_BLOCKING
+               MONO_FINISH_BLOCKING;
                mono_gc_set_skip_thread (FALSE);
 
                mono_threads_perform_thread_dump ();
@@ -1163,15 +784,11 @@ mono_gc_init_finalizer_thread (void)
 void
 mono_gc_init (void)
 {
-       mono_mutex_init_recursive (&handle_section);
        mono_mutex_init_recursive (&allocator_section);
 
        mono_mutex_init_recursive (&finalizer_mutex);
        mono_mutex_init_recursive (&reference_queue_mutex);
 
-       MONO_GC_REGISTER_ROOT_FIXED (gc_handles [HANDLE_NORMAL].entries);
-       MONO_GC_REGISTER_ROOT_FIXED (gc_handles [HANDLE_PINNED].entries);
-
        mono_counters_register ("Minor GC collections", MONO_COUNTER_GC | MONO_COUNTER_UINT, &gc_stats.minor_gc_count);
        mono_counters_register ("Major GC collections", MONO_COUNTER_GC | MONO_COUNTER_UINT, &gc_stats.major_gc_count);
        mono_counters_register ("Minor GC time", MONO_COUNTER_GC | MONO_COUNTER_ULONG | MONO_COUNTER_TIME, &gc_stats.minor_gc_time);
@@ -1279,17 +896,6 @@ mono_gc_cleanup (void)
        mono_mutex_destroy (&reference_queue_mutex);
 }
 
-/**
- * mono_gc_mutex_cleanup:
- *
- * Destroy the mutexes that may still be used after the main cleanup routine.
- */
-void
-mono_gc_mutex_cleanup (void)
-{
-       mono_mutex_destroy (&handle_section);
-}
-
 gboolean
 mono_gc_is_finalizer_internal_thread (MonoInternalThread *thread)
 {
@@ -1366,13 +972,8 @@ reference_queue_proccess (MonoReferenceQueue *queue)
        RefQueueEntry **iter = &queue->queue;
        RefQueueEntry *entry;
        while ((entry = *iter)) {
-#ifdef HAVE_SGEN_GC
-               if (queue->should_be_deleted || !mono_gc_weak_link_get (&entry->dis_link)) {
-                       mono_gc_weak_link_remove (&entry->dis_link, TRUE);
-#else
                if (queue->should_be_deleted || !mono_gchandle_get_target (entry->gchandle)) {
                        mono_gchandle_free ((guint32)entry->gchandle);
-#endif
                        ref_list_remove_element (iter, entry);
                        queue->callback (entry->user_data);
                        g_free (entry);
@@ -1427,11 +1028,7 @@ reference_queue_clear_for_domain (MonoDomain *domain)
                RefQueueEntry *entry;
                while ((entry = *iter)) {
                        if (entry->domain == domain) {
-#ifdef HAVE_SGEN_GC
-                               mono_gc_weak_link_remove (&entry->dis_link, TRUE);
-#else
                                mono_gchandle_free ((guint32)entry->gchandle);
-#endif
                                ref_list_remove_element (iter, entry);
                                queue->callback (entry->user_data);
                                g_free (entry);
@@ -1495,12 +1092,8 @@ mono_gc_reference_queue_add (MonoReferenceQueue *queue, MonoObject *obj, void *u
        entry->user_data = user_data;
        entry->domain = mono_object_domain (obj);
 
-#ifdef HAVE_SGEN_GC
-       mono_gc_weak_link_add (&entry->dis_link, obj, TRUE);
-#else
        entry->gchandle = mono_gchandle_new_weakref (obj, TRUE);
        mono_object_register_finalizer (obj);
-#endif
 
        ref_list_push (&queue->queue, entry);
        return TRUE;
index 677769c97e54d7930a40f7071b20d2b16412ae1d..890f15b877ab524bf88d09416067cea8070e8a65 100644 (file)
@@ -57,7 +57,8 @@ ICALL(KPAIR_4, "_ProtectMachine", ves_icall_Mono_Security_Cryptography_KeyPairPe
 ICALL(KPAIR_5, "_ProtectUser", ves_icall_Mono_Security_Cryptography_KeyPairPersistence_ProtectUser)
 #endif /* !PLATFORM_RO_FS */
 
-ICALL_TYPE(APPDOM, "System.AppDomain", APPDOM_1)
+ICALL_TYPE(APPDOM, "System.AppDomain", APPDOM_23)
+ICALL(APPDOM_23, "DoUnhandledException", ves_icall_System_AppDomain_DoUnhandledException)
 ICALL(APPDOM_1, "ExecuteAssembly", ves_icall_System_AppDomain_ExecuteAssembly)
 ICALL(APPDOM_2, "GetAssemblies", ves_icall_System_AppDomain_GetAssemblies)
 ICALL(APPDOM_3, "GetData", ves_icall_System_AppDomain_GetData)
@@ -152,6 +153,7 @@ ICALL(DECIMAL_13, "ToSingle", mono_decimal_to_float)
 ICALL_TYPE(DELEGATE, "System.Delegate", DELEGATE_1)
 ICALL(DELEGATE_1, "AllocDelegateLike_internal", ves_icall_System_Delegate_AllocDelegateLike_internal)
 ICALL(DELEGATE_2, "CreateDelegate_internal", ves_icall_System_Delegate_CreateDelegate_internal)
+ICALL(DELEGATE_3, "GetVirtualMethod_internal", ves_icall_System_Delegate_GetVirtualMethod_internal)
 
 ICALL_TYPE(DEBUGR, "System.Diagnostics.Debugger", DEBUGR_1)
 ICALL(DEBUGR_1, "IsAttached_internal", ves_icall_System_Diagnostics_Debugger_IsAttached_internal)
@@ -203,9 +205,6 @@ ICALL(PROCESS_14M, "Times", ves_icall_System_Diagnostics_Process_Times)
 ICALL(PROCESS_15, "WaitForExit_internal(intptr,int)", ves_icall_System_Diagnostics_Process_WaitForExit_internal)
 ICALL(PROCESS_16, "WaitForInputIdle_internal(intptr,int)", ves_icall_System_Diagnostics_Process_WaitForInputIdle_internal)
 
-ICALL_TYPE (PROCESSREADER, "System.Diagnostics.Process/ProcessAsyncReader", PROCESSREADER_1)
-ICALL (PROCESSREADER_1, "RemoveFromIOThreadPool", ves_icall_System_Diagnostics_Process_ProcessAsyncReader_RemoveFromIOThreadPool)
-
 ICALL_TYPE (PROCESSHANDLE, "System.Diagnostics.Process/ProcessWaitHandle", PROCESSHANDLE_1)
 ICALL (PROCESSHANDLE_1, "ProcessHandle_close(intptr)", ves_icall_System_Diagnostics_Process_ProcessHandle_close)
 ICALL (PROCESSHANDLE_2, "ProcessHandle_duplicate(intptr)", ves_icall_System_Diagnostics_Process_ProcessHandle_duplicate)
@@ -306,6 +305,9 @@ ICALL(INOW_1, "AddWatch", ves_icall_System_IO_InotifyWatcher_AddWatch)
 ICALL(INOW_2, "GetInotifyInstance", ves_icall_System_IO_InotifyWatcher_GetInotifyInstance)
 ICALL(INOW_3, "RemoveWatch", ves_icall_System_IO_InotifyWatcher_RemoveWatch)
 
+ICALL_TYPE(KQUEM, "System.IO.KqueueMonitor", KQUEM_1)
+ICALL(KQUEM_1, "kevent_notimeout", ves_icall_System_IO_KqueueMonitor_kevent_notimeout)
+
 ICALL_TYPE(MMAPIMPL, "System.IO.MemoryMappedFiles.MemoryMapImpl", MMAPIMPL_1)
 ICALL(MMAPIMPL_1, "CloseMapping", mono_mmap_close)
 ICALL(MMAPIMPL_2, "ConfigureHandleInheritability", mono_mmap_configure_inheritability)
@@ -320,7 +322,7 @@ ICALL(MONOIO_1, "Close(intptr,System.IO.MonoIOError&)", ves_icall_System_IO_Mono
 #ifndef PLATFORM_RO_FS
 ICALL(MONOIO_2, "CopyFile(string,string,bool,System.IO.MonoIOError&)", ves_icall_System_IO_MonoIO_CopyFile)
 ICALL(MONOIO_3, "CreateDirectory(string,System.IO.MonoIOError&)", ves_icall_System_IO_MonoIO_CreateDirectory)
-ICALL(MONOIO_4, "CreatePipe(intptr&,intptr&)", ves_icall_System_IO_MonoIO_CreatePipe)
+ICALL(MONOIO_4, "CreatePipe", ves_icall_System_IO_MonoIO_CreatePipe)
 ICALL(MONOIO_5, "DeleteFile(string,System.IO.MonoIOError&)", ves_icall_System_IO_MonoIO_DeleteFile)
 #endif /* !PLATFORM_RO_FS */
 ICALL(MONOIO_34, "DuplicateHandle", ves_icall_System_IO_MonoIO_DuplicateHandle)
@@ -335,7 +337,6 @@ ICALL(MONOIO_10, "GetFileSystemEntries", ves_icall_System_IO_MonoIO_GetFileSyste
 ICALL(MONOIO_11, "GetFileType(intptr,System.IO.MonoIOError&)", ves_icall_System_IO_MonoIO_GetFileType)
 ICALL(MONOIO_12, "GetLength(intptr,System.IO.MonoIOError&)", ves_icall_System_IO_MonoIO_GetLength)
 #ifndef PLATFORM_RO_FS
-ICALL(MONOIO_13, "GetTempPath(string&)", ves_icall_System_IO_MonoIO_GetTempPath)
 ICALL(MONOIO_14, "Lock(intptr,long,long,System.IO.MonoIOError&)", ves_icall_System_IO_MonoIO_Lock)
 ICALL(MONOIO_15, "MoveFile(string,string,System.IO.MonoIOError&)", ves_icall_System_IO_MonoIO_MoveFile)
 #endif /* !PLATFORM_RO_FS */
@@ -366,11 +367,18 @@ ICALL(MONOIO_33, "get_VolumeSeparatorChar", ves_icall_System_IO_MonoIO_get_Volum
 ICALL_TYPE(IOPATH, "System.IO.Path", IOPATH_1)
 ICALL(IOPATH_1, "get_temp_path", ves_icall_System_IO_get_temp_path)
 
-ICALL_TYPE(MATH, "System.Math", MATH_1)
+ICALL_TYPE(IOSELECTOR, "System.IOSelector", IOSELECTOR_1)
+ICALL(IOSELECTOR_1, "Add", ves_icall_System_IOSelector_Add)
+ICALL(IOSELECTOR_2, "Remove", ves_icall_System_IOSelector_Remove)
+
+ICALL_TYPE(MATH, "System.Math", MATH_19)
+ICALL(MATH_19, "Abs(double)", ves_icall_System_Math_Abs_double)
+ICALL(MATH_20, "Abs(single)", ves_icall_System_Math_Abs_single)
 ICALL(MATH_1, "Acos", ves_icall_System_Math_Acos)
 ICALL(MATH_2, "Asin", ves_icall_System_Math_Asin)
 ICALL(MATH_3, "Atan", ves_icall_System_Math_Atan)
 ICALL(MATH_4, "Atan2", ves_icall_System_Math_Atan2)
+ICALL(MATH_21, "Ceiling", ves_icall_System_Math_Ceiling)
 ICALL(MATH_5, "Cos", ves_icall_System_Math_Cos)
 ICALL(MATH_6, "Cosh", ves_icall_System_Math_Cosh)
 ICALL(MATH_7, "Exp", ves_icall_System_Math_Exp)
@@ -379,9 +387,9 @@ ICALL(MATH_9, "Log", ves_icall_System_Math_Log)
 ICALL(MATH_10, "Log10", ves_icall_System_Math_Log10)
 ICALL(MATH_11, "Pow", ves_icall_System_Math_Pow)
 ICALL(MATH_12, "Round", ves_icall_System_Math_Round)
-ICALL(MATH_13, "Round2", ves_icall_System_Math_Round2)
 ICALL(MATH_14, "Sin", ves_icall_System_Math_Sin)
 ICALL(MATH_15, "Sinh", ves_icall_System_Math_Sinh)
+ICALL(MATH_22, "SplitFractionDouble", ves_icall_System_Math_SplitFractionDouble)
 ICALL(MATH_16, "Sqrt", ves_icall_System_Math_Sqrt)
 ICALL(MATH_17, "Tan", ves_icall_System_Math_Tan)
 ICALL(MATH_18, "Tanh", ves_icall_System_Math_Tanh)
@@ -434,7 +442,6 @@ ICALL(SOCK_18, "SetSocketOption_internal(intptr,System.Net.Sockets.SocketOptionL
 ICALL(SOCK_19, "Shutdown_internal(intptr,System.Net.Sockets.SocketShutdown,int&)", ves_icall_System_Net_Sockets_Socket_Shutdown_internal)
 ICALL(SOCK_20, "Socket_internal(System.Net.Sockets.AddressFamily,System.Net.Sockets.SocketType,System.Net.Sockets.ProtocolType,int&)", ves_icall_System_Net_Sockets_Socket_Socket_internal)
 ICALL(SOCK_21a, "cancel_blocking_socket_operation", icall_cancel_blocking_socket_operation)
-ICALL(SOCK_22, "socket_pool_queue", icall_append_io_job)
 
 ICALL_TYPE(SOCKEX, "System.Net.Sockets.SocketException", SOCKEX_1)
 ICALL(SOCKEX_1, "WSAGetLastError_internal", ves_icall_System_Net_Sockets_SocketException_WSAGetLastError_internal)
@@ -873,6 +880,7 @@ ICALL(MONIT_4, "Monitor_test_owner", ves_icall_System_Threading_Monitor_Monitor_
 ICALL(MONIT_5, "Monitor_test_synchronised", ves_icall_System_Threading_Monitor_Monitor_test_synchronised)
 ICALL(MONIT_6, "Monitor_try_enter", ves_icall_System_Threading_Monitor_Monitor_try_enter)
 ICALL(MONIT_7, "Monitor_wait", ves_icall_System_Threading_Monitor_Monitor_wait)
+ICALL(MONIT_10, "enter_with_atomic_var", mono_monitor_enter_v4)
 ICALL(MONIT_9, "try_enter_with_atomic_var", ves_icall_System_Threading_Monitor_Monitor_try_enter_with_atomic_var)
 
 ICALL_TYPE(MUTEX, "System.Threading.Mutex", MUTEX_1)
index 6ab999ba126cb69b9da05f76c2ad1ba78591dc3a..e47f958817170c1c735f20615cdd3d391d5a78a4 100644 (file)
@@ -119,39 +119,36 @@ mono_class_init_or_throw (MonoClass *klass)
 }
 
 ICALL_EXPORT MonoObject *
-ves_icall_System_Array_GetValueImpl (MonoObject *this, guint32 pos)
+ves_icall_System_Array_GetValueImpl (MonoArray *arr, guint32 pos)
 {
        MonoClass *ac;
-       MonoArray *ao;
        gint32 esize;
        gpointer *ea;
 
-       ao = (MonoArray *)this;
-       ac = (MonoClass *)ao->obj.vtable->klass;
+       ac = (MonoClass *)arr->obj.vtable->klass;
 
        esize = mono_array_element_size (ac);
-       ea = (gpointer*)((char*)ao->vector + (pos * esize));
+       ea = (gpointer*)((char*)arr->vector + (pos * esize));
 
        if (ac->element_class->valuetype)
-               return mono_value_box (this->vtable->domain, ac->element_class, ea);
+               return mono_value_box (arr->obj.vtable->domain, ac->element_class, ea);
        else
                return *ea;
 }
 
 ICALL_EXPORT MonoObject *
-ves_icall_System_Array_GetValue (MonoObject *this, MonoObject *idxs)
+ves_icall_System_Array_GetValue (MonoArray *arr, MonoArray *idxs)
 {
        MonoClass *ac, *ic;
-       MonoArray *ao, *io;
+       MonoArray *io;
        gint32 i, pos, *ind;
 
        MONO_CHECK_ARG_NULL (idxs, NULL);
 
-       io = (MonoArray *)idxs;
+       io = idxs;
        ic = (MonoClass *)io->obj.vtable->klass;
        
-       ao = (MonoArray *)this;
-       ac = (MonoClass *)ao->obj.vtable->klass;
+       ac = (MonoClass *)arr->obj.vtable->klass;
 
        g_assert (ic->rank == 1);
        if (io->bounds != NULL || io->max_length !=  ac->rank) {
@@ -161,33 +158,33 @@ ves_icall_System_Array_GetValue (MonoObject *this, MonoObject *idxs)
 
        ind = (gint32 *)io->vector;
 
-       if (ao->bounds == NULL) {
-               if (*ind < 0 || *ind >= ao->max_length) {
+       if (arr->bounds == NULL) {
+               if (*ind < 0 || *ind >= arr->max_length) {
                        mono_set_pending_exception (mono_get_exception_index_out_of_range ());
                        return NULL;
                }
 
-               return ves_icall_System_Array_GetValueImpl (this, *ind);
+               return ves_icall_System_Array_GetValueImpl (arr, *ind);
        }
        
        for (i = 0; i < ac->rank; i++) {
-               if ((ind [i] < ao->bounds [i].lower_bound) ||
-                   (ind [i] >=  (mono_array_lower_bound_t)ao->bounds [i].length + ao->bounds [i].lower_bound)) {
+               if ((ind [i] < arr->bounds [i].lower_bound) ||
+                   (ind [i] >=  (mono_array_lower_bound_t)arr->bounds [i].length + arr->bounds [i].lower_bound)) {
                        mono_set_pending_exception (mono_get_exception_index_out_of_range ());
                        return NULL;
                }
        }
 
-       pos = ind [0] - ao->bounds [0].lower_bound;
+       pos = ind [0] - arr->bounds [0].lower_bound;
        for (i = 1; i < ac->rank; i++)
-               pos = pos*ao->bounds [i].length + ind [i] - 
-                       ao->bounds [i].lower_bound;
+               pos = pos * arr->bounds [i].length + ind [i] - 
+                       arr->bounds [i].lower_bound;
 
-       return ves_icall_System_Array_GetValueImpl (this, pos);
+       return ves_icall_System_Array_GetValueImpl (arr, pos);
 }
 
 ICALL_EXPORT void
-ves_icall_System_Array_SetValueImpl (MonoArray *this, MonoObject *value, guint32 pos)
+ves_icall_System_Array_SetValueImpl (MonoArray *arr, MonoObject *value, guint32 pos)
 {
        MonoClass *ac, *vc, *ec;
        gint32 esize, vsize;
@@ -203,11 +200,11 @@ ves_icall_System_Array_SetValueImpl (MonoArray *this, MonoObject *value, guint32
        else
                vc = NULL;
 
-       ac = this->obj.vtable->klass;
+       ac = arr->obj.vtable->klass;
        ec = ac->element_class;
 
        esize = mono_array_element_size (ac);
-       ea = (gpointer*)((char*)this->vector + (pos * esize));
+       ea = (gpointer*)((char*)arr->vector + (pos * esize));
        va = (gpointer*)((char*)value + sizeof (MonoObject));
 
        if (mono_class_is_nullable (ec)) {
@@ -277,7 +274,7 @@ ves_icall_System_Array_SetValueImpl (MonoArray *this, MonoObject *value, guint32
        if (!ec->valuetype) {
                if (!mono_object_isinst (value, ec))
                        INVALID_CAST;
-               mono_gc_wbarrier_set_arrayref (this, ea, (MonoObject*)value);
+               mono_gc_wbarrier_set_arrayref (arr, ea, (MonoObject*)value);
                return;
        }
 
@@ -469,7 +466,7 @@ ves_icall_System_Array_SetValueImpl (MonoArray *this, MonoObject *value, guint32
 }
 
 ICALL_EXPORT void 
-ves_icall_System_Array_SetValue (MonoArray *this, MonoObject *value,
+ves_icall_System_Array_SetValue (MonoArray *arr, MonoObject *value,
                                 MonoArray *idxs)
 {
        MonoClass *ac, *ic;
@@ -478,7 +475,7 @@ ves_icall_System_Array_SetValue (MonoArray *this, MonoObject *value,
        MONO_CHECK_ARG_NULL (idxs,);
 
        ic = idxs->obj.vtable->klass;
-       ac = this->obj.vtable->klass;
+       ac = arr->obj.vtable->klass;
 
        g_assert (ic->rank == 1);
        if (idxs->bounds != NULL || idxs->max_length != ac->rank) {
@@ -488,29 +485,29 @@ ves_icall_System_Array_SetValue (MonoArray *this, MonoObject *value,
 
        ind = (gint32 *)idxs->vector;
 
-       if (this->bounds == NULL) {
-               if (*ind < 0 || *ind >= this->max_length) {
+       if (arr->bounds == NULL) {
+               if (*ind < 0 || *ind >= arr->max_length) {
                        mono_set_pending_exception (mono_get_exception_index_out_of_range ());
                        return;
                }
 
-               ves_icall_System_Array_SetValueImpl (this, value, *ind);
+               ves_icall_System_Array_SetValueImpl (arr, value, *ind);
                return;
        }
        
        for (i = 0; i < ac->rank; i++)
-               if ((ind [i] < this->bounds [i].lower_bound) ||
-                   (ind [i] >= (mono_array_lower_bound_t)this->bounds [i].length + this->bounds [i].lower_bound)) {
+               if ((ind [i] < arr->bounds [i].lower_bound) ||
+                   (ind [i] >= (mono_array_lower_bound_t)arr->bounds [i].length + arr->bounds [i].lower_bound)) {
                        mono_set_pending_exception (mono_get_exception_index_out_of_range ());
                        return;
                }
 
-       pos = ind [0] - this->bounds [0].lower_bound;
+       pos = ind [0] - arr->bounds [0].lower_bound;
        for (i = 1; i < ac->rank; i++)
-               pos = pos * this->bounds [i].length + ind [i] - 
-                       this->bounds [i].lower_bound;
+               pos = pos * arr->bounds [i].length + ind [i] - 
+                       arr->bounds [i].lower_bound;
 
-       ves_icall_System_Array_SetValueImpl (this, value, pos);
+       ves_icall_System_Array_SetValueImpl (arr, value, pos);
 }
 
 ICALL_EXPORT MonoArray *
@@ -609,15 +606,15 @@ ves_icall_System_Array_CreateInstanceImpl64 (MonoReflectionType *type, MonoArray
 }
 
 ICALL_EXPORT gint32 
-ves_icall_System_Array_GetRank (MonoObject *this)
+ves_icall_System_Array_GetRank (MonoObject *arr)
 {
-       return this->vtable->klass->rank;
+       return arr->vtable->klass->rank;
 }
 
 ICALL_EXPORT gint32
-ves_icall_System_Array_GetLength (MonoArray *this, gint32 dimension)
+ves_icall_System_Array_GetLength (MonoArray *arr, gint32 dimension)
 {
-       gint32 rank = ((MonoObject *)this)->vtable->klass->rank;
+       gint32 rank = arr->obj.vtable->klass->rank;
        uintptr_t length;
 
        if ((dimension < 0) || (dimension >= rank)) {
@@ -625,10 +622,10 @@ ves_icall_System_Array_GetLength (MonoArray *this, gint32 dimension)
                return 0;
        }
        
-       if (this->bounds == NULL)
-               length = this->max_length;
+       if (arr->bounds == NULL)
+               length = arr->max_length;
        else
-               length = this->bounds [dimension].length;
+               length = arr->bounds [dimension].length;
 
 #ifdef MONO_BIG_ARRAYS
        if (length > G_MAXINT32) {
@@ -640,35 +637,35 @@ ves_icall_System_Array_GetLength (MonoArray *this, gint32 dimension)
 }
 
 ICALL_EXPORT gint64
-ves_icall_System_Array_GetLongLength (MonoArray *this, gint32 dimension)
+ves_icall_System_Array_GetLongLength (MonoArray *arr, gint32 dimension)
 {
-       gint32 rank = ((MonoObject *)this)->vtable->klass->rank;
+       gint32 rank = arr->obj.vtable->klass->rank;
 
        if ((dimension < 0) || (dimension >= rank)) {
                mono_set_pending_exception (mono_get_exception_index_out_of_range ());
                return 0;
        }
        
-       if (this->bounds == NULL)
-               return this->max_length;
+       if (arr->bounds == NULL)
+               return arr->max_length;
        
-       return this->bounds [dimension].length;
+       return arr->bounds [dimension].length;
 }
 
 ICALL_EXPORT gint32
-ves_icall_System_Array_GetLowerBound (MonoArray *this, gint32 dimension)
+ves_icall_System_Array_GetLowerBound (MonoArray *arr, gint32 dimension)
 {
-       gint32 rank = ((MonoObject *)this)->vtable->klass->rank;
+       gint32 rank = arr->obj.vtable->klass->rank;
 
        if ((dimension < 0) || (dimension >= rank)) {
                mono_set_pending_exception (mono_get_exception_index_out_of_range ());
                return 0;
        }
        
-       if (this->bounds == NULL)
+       if (arr->bounds == NULL)
                return 0;
        
-       return this->bounds [dimension].lower_bound;
+       return arr->bounds [dimension].lower_bound;
 }
 
 ICALL_EXPORT void
@@ -743,36 +740,32 @@ ves_icall_System_Array_FastCopy (MonoArray *source, int source_idx, MonoArray* d
 }
 
 ICALL_EXPORT void
-ves_icall_System_Array_GetGenericValueImpl (MonoObject *this, guint32 pos, gpointer value)
+ves_icall_System_Array_GetGenericValueImpl (MonoArray *arr, guint32 pos, gpointer value)
 {
        MonoClass *ac;
-       MonoArray *ao;
        gint32 esize;
        gpointer *ea;
 
-       ao = (MonoArray *)this;
-       ac = (MonoClass *)ao->obj.vtable->klass;
+       ac = (MonoClass *)arr->obj.vtable->klass;
 
        esize = mono_array_element_size (ac);
-       ea = (gpointer*)((char*)ao->vector + (pos * esize));
+       ea = (gpointer*)((char*)arr->vector + (pos * esize));
 
        mono_gc_memmove_atomic (value, ea, esize);
 }
 
 ICALL_EXPORT void
-ves_icall_System_Array_SetGenericValueImpl (MonoObject *this, guint32 pos, gpointer value)
+ves_icall_System_Array_SetGenericValueImpl (MonoArray *arr, guint32 pos, gpointer value)
 {
        MonoClass *ac, *ec;
-       MonoArray *ao;
        gint32 esize;
        gpointer *ea;
 
-       ao = (MonoArray *)this;
-       ac = (MonoClass *)ao->obj.vtable->klass;
+       ac = (MonoClass *)arr->obj.vtable->klass;
        ec = ac->element_class;
 
        esize = mono_array_element_size (ac);
-       ea = (gpointer*)((char*)ao->vector + (pos * esize));
+       ea = (gpointer*)((char*)arr->vector + (pos * esize));
 
        if (MONO_TYPE_IS_REFERENCE (&ec->byval_arg)) {
                g_assert (esize == sizeof (gpointer));
@@ -933,13 +926,13 @@ ves_icall_System_Runtime_CompilerServices_RuntimeHelpers_SufficientExecutionStac
 }
 
 ICALL_EXPORT MonoObject *
-ves_icall_System_Object_MemberwiseClone (MonoObject *this)
+ves_icall_System_Object_MemberwiseClone (MonoObject *this_obj)
 {
-       return mono_object_clone (this);
+       return mono_object_clone (this_obj);
 }
 
 ICALL_EXPORT gint32
-ves_icall_System_ValueType_InternalGetHashCode (MonoObject *this, MonoArray **fields)
+ves_icall_System_ValueType_InternalGetHashCode (MonoObject *this_obj, MonoArray **fields)
 {
        MonoClass *klass;
        MonoObject **values = NULL;
@@ -949,7 +942,7 @@ ves_icall_System_ValueType_InternalGetHashCode (MonoObject *this, MonoArray **fi
        MonoClassField* field;
        gpointer iter;
 
-       klass = mono_object_class (this);
+       klass = mono_object_class (this_obj);
 
        if (mono_class_num_fields (klass) == 0)
                return result;
@@ -968,11 +961,11 @@ ves_icall_System_ValueType_InternalGetHashCode (MonoObject *this, MonoArray **fi
                /* FIXME: Add more types */
                switch (field->type->type) {
                case MONO_TYPE_I4:
-                       result ^= *(gint32*)((guint8*)this + field->offset);
+                       result ^= *(gint32*)((guint8*)this_obj + field->offset);
                        break;
                case MONO_TYPE_STRING: {
                        MonoString *s;
-                       s = *(MonoString**)((guint8*)this + field->offset);
+                       s = *(MonoString**)((guint8*)this_obj + field->offset);
                        if (s != NULL)
                                result ^= mono_string_hash (s);
                        break;
@@ -980,7 +973,7 @@ ves_icall_System_ValueType_InternalGetHashCode (MonoObject *this, MonoArray **fi
                default:
                        if (!values)
                                values = g_newa (MonoObject*, mono_class_num_fields (klass));
-                       o = mono_field_get_value_object (mono_object_domain (this), field, this);
+                       o = mono_field_get_value_object (mono_object_domain (this_obj), field, this_obj);
                        values [count++] = o;
                }
        }
@@ -997,7 +990,7 @@ ves_icall_System_ValueType_InternalGetHashCode (MonoObject *this, MonoArray **fi
 }
 
 ICALL_EXPORT MonoBoolean
-ves_icall_System_ValueType_Equals (MonoObject *this, MonoObject *that, MonoArray **fields)
+ves_icall_System_ValueType_Equals (MonoObject *this_obj, MonoObject *that, MonoArray **fields)
 {
        MonoClass *klass;
        MonoObject **values = NULL;
@@ -1008,13 +1001,13 @@ ves_icall_System_ValueType_Equals (MonoObject *this, MonoObject *that, MonoArray
 
        MONO_CHECK_ARG_NULL (that, FALSE);
 
-       if (this->vtable != that->vtable)
+       if (this_obj->vtable != that->vtable)
                return FALSE;
 
-       klass = mono_object_class (this);
+       klass = mono_object_class (this_obj);
 
        if (klass->enumtype && mono_class_enum_basetype (klass) && mono_class_enum_basetype (klass)->type == MONO_TYPE_I4)
-               return (*(gint32*)((guint8*)this + sizeof (MonoObject)) == *(gint32*)((guint8*)that + sizeof (MonoObject)));
+               return (*(gint32*)((guint8*)this_obj + sizeof (MonoObject)) == *(gint32*)((guint8*)that + sizeof (MonoObject)));
 
        /*
         * Do the comparison for fields of primitive type and return a result if
@@ -1034,31 +1027,31 @@ ves_icall_System_ValueType_Equals (MonoObject *this, MonoObject *that, MonoArray
                case MONO_TYPE_U1:
                case MONO_TYPE_I1:
                case MONO_TYPE_BOOLEAN:
-                       if (*((guint8*)this + field->offset) != *((guint8*)that + field->offset))
+                       if (*((guint8*)this_obj + field->offset) != *((guint8*)that + field->offset))
                                return FALSE;
                        break;
                case MONO_TYPE_U2:
                case MONO_TYPE_I2:
                case MONO_TYPE_CHAR:
-                       if (*(gint16*)((guint8*)this + field->offset) != *(gint16*)((guint8*)that + field->offset))
+                       if (*(gint16*)((guint8*)this_obj + field->offset) != *(gint16*)((guint8*)that + field->offset))
                                return FALSE;
                        break;
                case MONO_TYPE_U4:
                case MONO_TYPE_I4:
-                       if (*(gint32*)((guint8*)this + field->offset) != *(gint32*)((guint8*)that + field->offset))
+                       if (*(gint32*)((guint8*)this_obj + field->offset) != *(gint32*)((guint8*)that + field->offset))
                                return FALSE;
                        break;
                case MONO_TYPE_U8:
                case MONO_TYPE_I8:
-                       if (*(gint64*)((guint8*)this + field->offset) != *(gint64*)((guint8*)that + field->offset))
+                       if (*(gint64*)((guint8*)this_obj + field->offset) != *(gint64*)((guint8*)that + field->offset))
                                return FALSE;
                        break;
                case MONO_TYPE_R4:
-                       if (*(float*)((guint8*)this + field->offset) != *(float*)((guint8*)that + field->offset))
+                       if (*(float*)((guint8*)this_obj + field->offset) != *(float*)((guint8*)that + field->offset))
                                return FALSE;
                        break;
                case MONO_TYPE_R8:
-                       if (*(double*)((guint8*)this + field->offset) != *(double*)((guint8*)that + field->offset))
+                       if (*(double*)((guint8*)this_obj + field->offset) != *(double*)((guint8*)that + field->offset))
                                return FALSE;
                        break;
 
@@ -1066,7 +1059,7 @@ ves_icall_System_ValueType_Equals (MonoObject *this, MonoObject *that, MonoArray
                case MONO_TYPE_STRING: {
                        MonoString *s1, *s2;
                        guint32 s1len, s2len;
-                       s1 = *(MonoString**)((guint8*)this + field->offset);
+                       s1 = *(MonoString**)((guint8*)this_obj + field->offset);
                        s2 = *(MonoString**)((guint8*)that + field->offset);
                        if (s1 == s2)
                                break;
@@ -1084,9 +1077,9 @@ ves_icall_System_ValueType_Equals (MonoObject *this, MonoObject *that, MonoArray
                default:
                        if (!values)
                                values = g_newa (MonoObject*, mono_class_num_fields (klass) * 2);
-                       o = mono_field_get_value_object (mono_object_domain (this), field, this);
+                       o = mono_field_get_value_object (mono_object_domain (this_obj), field, this_obj);
                        values [count++] = o;
-                       o = mono_field_get_value_object (mono_object_domain (this), field, that);
+                       o = mono_field_get_value_object (mono_object_domain (this_obj), field, that);
                        values [count++] = o;
                }
 
@@ -1817,12 +1810,12 @@ ves_icall_System_RuntimeFieldHandle_SetValueDirect (MonoReflectionField *field,
 }
 
 ICALL_EXPORT MonoObject *
-ves_icall_MonoField_GetRawConstantValue (MonoReflectionField *this)
+ves_icall_MonoField_GetRawConstantValue (MonoReflectionField *rfield)
 {      
        MonoObject *o = NULL;
-       MonoClassField *field = this->field;
+       MonoClassField *field = rfield->field;
        MonoClass *klass;
-       MonoDomain *domain = mono_object_domain (this); 
+       MonoDomain *domain = mono_object_domain (rfield);
        gchar *v;
        MonoTypeEnum def_type;
        const char *def_value;
@@ -1931,28 +1924,30 @@ typedef enum {
 } PInfo;
 
 ICALL_EXPORT void
-ves_icall_get_property_info (MonoReflectionProperty *property, MonoPropertyInfo *info, PInfo req_info)
+ves_icall_get_property_info (const MonoReflectionProperty *property, MonoPropertyInfo *info, PInfo req_info)
 {
        MonoDomain *domain = mono_object_domain (property); 
+       const MonoProperty *pproperty = property->property;
 
        if ((req_info & PInfo_ReflectedType) != 0)
                MONO_STRUCT_SETREF (info, parent, mono_type_get_object (domain, &property->klass->byval_arg));
        if ((req_info & PInfo_DeclaringType) != 0)
-               MONO_STRUCT_SETREF (info, declaring_type, mono_type_get_object (domain, &property->property->parent->byval_arg));
+               MONO_STRUCT_SETREF (info, declaring_type, mono_type_get_object (domain, &pproperty->parent->byval_arg));
 
        if ((req_info & PInfo_Name) != 0)
-               MONO_STRUCT_SETREF (info, name, mono_string_new (domain, property->property->name));
+               MONO_STRUCT_SETREF (info, name, mono_string_new (domain, pproperty->name));
 
        if ((req_info & PInfo_Attributes) != 0)
-               info->attrs = property->property->attrs;
+               info->attrs = pproperty->attrs;
 
        if ((req_info & PInfo_GetMethod) != 0)
-               MONO_STRUCT_SETREF (info, get, property->property->get ?
-                                                       mono_method_get_object (domain, property->property->get, property->klass): NULL);
-       
+               MONO_STRUCT_SETREF (info, get, pproperty->get &&
+                                                       (((pproperty->get->flags & METHOD_ATTRIBUTE_MEMBER_ACCESS_MASK) != METHOD_ATTRIBUTE_PRIVATE) || pproperty->get->klass == property->klass) ?
+                                                       mono_method_get_object (domain, pproperty->get, property->klass): NULL);
        if ((req_info & PInfo_SetMethod) != 0)
-               MONO_STRUCT_SETREF (info, set, property->property->set ?
-                                                       mono_method_get_object (domain, property->property->set, property->klass): NULL);
+               MONO_STRUCT_SETREF (info, set, pproperty->set &&
+                                                       (((pproperty->set->flags & METHOD_ATTRIBUTE_MEMBER_ACCESS_MASK) != METHOD_ATTRIBUTE_PRIVATE) || pproperty->set->klass == property->klass) ?
+                                                       mono_method_get_object (domain, pproperty->set, property->klass): NULL);
        /* 
         * There may be other methods defined for properties, though, it seems they are not exposed 
         * in the reflection API 
@@ -2675,7 +2670,7 @@ ves_icall_MonoMethod_GetGenericArguments (MonoReflectionMethod *method)
 }
 
 ICALL_EXPORT MonoObject *
-ves_icall_InternalInvoke (MonoReflectionMethod *method, MonoObject *this, MonoArray *params, MonoException **exc) 
+ves_icall_InternalInvoke (MonoReflectionMethod *method, MonoObject *this_arg, MonoArray *params, MonoException **exc) 
 {
        /* 
         * Invoke from reflection is supposed to always be a virtual call (the API
@@ -2686,7 +2681,7 @@ ves_icall_InternalInvoke (MonoReflectionMethod *method, MonoObject *this, MonoAr
        MonoMethodSignature *sig = mono_method_signature (m);
        MonoImage *image;
        int pcount;
-       void *obj = this;
+       void *obj = this_arg;
 
        *exc = NULL;
 
@@ -2699,9 +2694,9 @@ ves_icall_InternalInvoke (MonoReflectionMethod *method, MonoObject *this, MonoAr
                        return NULL;
                }
 
-               if (this) {
-                       if (!mono_object_isinst (this, m->klass)) {
-                               char *this_name = mono_type_get_full_name (mono_object_get_class (this));
+               if (this_arg) {
+                       if (!mono_object_isinst (this_arg, m->klass)) {
+                               char *this_name = mono_type_get_full_name (mono_object_get_class (this_arg));
                                char *target_name = mono_type_get_full_name (m->klass);
                                char *msg = g_strdup_printf ("Object of type '%s' doesn't match target type '%s'", this_name, target_name);
                                mono_gc_wbarrier_generic_store (exc, (MonoObject*) mono_exception_from_name_msg (mono_defaults.corlib, "System.Reflection", "TargetException", msg));
@@ -2710,10 +2705,10 @@ ves_icall_InternalInvoke (MonoReflectionMethod *method, MonoObject *this, MonoAr
                                g_free (this_name);
                                return NULL;
                        }
-                       m = mono_object_get_virtual_method (this, m);
+                       m = mono_object_get_virtual_method (this_arg, m);
                        /* must pass the pointer to the value for valuetype methods */
                        if (m->klass->valuetype)
-                               obj = mono_object_unbox (this);
+                               obj = mono_object_unbox (this_arg);
                } else if (strcmp (m->name, ".ctor") && !m->wrapper_type) {
                        mono_gc_wbarrier_generic_store (exc, (MonoObject*) mono_exception_from_name_msg (mono_defaults.corlib, "System.Reflection", "TargetException", "Non-static method requires a target."));
                        return NULL;
@@ -2731,7 +2726,7 @@ ves_icall_InternalInvoke (MonoReflectionMethod *method, MonoObject *this, MonoAr
                return NULL;
        }
 
-       if ((m->klass->flags & TYPE_ATTRIBUTE_ABSTRACT) && !strcmp (m->name, ".ctor") && !this) {
+       if ((m->klass->flags & TYPE_ATTRIBUTE_ABSTRACT) && !strcmp (m->name, ".ctor") && !this_arg) {
                mono_gc_wbarrier_generic_store (exc, (MonoObject*) mono_exception_from_name_msg (mono_defaults.corlib, "System.Reflection", "TargetException", "Cannot invoke constructor of an abstract class."));
                return NULL;
        }
@@ -2790,7 +2785,7 @@ ves_icall_InternalInvoke (MonoReflectionMethod *method, MonoObject *this, MonoAr
 
 #ifndef DISABLE_REMOTING
 ICALL_EXPORT MonoObject *
-ves_icall_InternalExecute (MonoReflectionMethod *method, MonoObject *this, MonoArray *params, MonoArray **outArgs) 
+ves_icall_InternalExecute (MonoReflectionMethod *method, MonoObject *this_arg, MonoArray *params, MonoArray **outArgs) 
 {
        MonoDomain *domain = mono_object_domain (method); 
        MonoMethod *m = method->method;
@@ -2801,16 +2796,16 @@ ves_icall_InternalExecute (MonoReflectionMethod *method, MonoObject *this, MonoA
 
        if (m->klass == mono_defaults.object_class) {
                if (!strcmp (m->name, "FieldGetter")) {
-                       MonoClass *k = this->vtable->klass;
+                       MonoClass *k = this_arg->vtable->klass;
                        MonoString *name;
                        char *str;
                        
                        /* If this is a proxy, then it must be a CBO */
                        if (k == mono_defaults.transparent_proxy_class) {
-                               MonoTransparentProxy *tp = (MonoTransparentProxy*) this;
-                               this = tp->rp->unwrapped_server;
-                               g_assert (this);
-                               k = this->vtable->klass;
+                               MonoTransparentProxy *tp = (MonoTransparentProxy*) this_arg;
+                               this_arg = tp->rp->unwrapped_server;
+                               g_assert (this_arg);
+                               k = this_arg->vtable->klass;
                        }
                        
                        name = mono_array_get (params, MonoString *, 1);
@@ -2821,9 +2816,9 @@ ves_icall_InternalExecute (MonoReflectionMethod *method, MonoObject *this, MonoA
                                if (field) {
                                        MonoClass *field_klass =  mono_class_from_mono_type (field->type);
                                        if (field_klass->valuetype)
-                                               result = mono_value_box (domain, field_klass, (char *)this + field->offset);
+                                               result = mono_value_box (domain, field_klass, (char *)this_arg + field->offset);
                                        else 
-                                               result = *((gpointer *)((char *)this + field->offset));
+                                               result = *((gpointer *)((char *)this_arg + field->offset));
                                
                                        out_args = mono_array_new (domain, mono_defaults.object_class, 1);
                                        mono_gc_wbarrier_generic_store (outArgs, (MonoObject*) out_args);
@@ -2838,7 +2833,7 @@ ves_icall_InternalExecute (MonoReflectionMethod *method, MonoObject *this, MonoA
                        g_assert_not_reached ();
 
                } else if (!strcmp (m->name, "FieldSetter")) {
-                       MonoClass *k = this->vtable->klass;
+                       MonoClass *k = this_arg->vtable->klass;
                        MonoString *name;
                        guint32 size;
                        gint32 align;
@@ -2846,10 +2841,10 @@ ves_icall_InternalExecute (MonoReflectionMethod *method, MonoObject *this, MonoA
                        
                        /* If this is a proxy, then it must be a CBO */
                        if (k == mono_defaults.transparent_proxy_class) {
-                               MonoTransparentProxy *tp = (MonoTransparentProxy*) this;
-                               this = tp->rp->unwrapped_server;
-                               g_assert (this);
-                               k = this->vtable->klass;
+                               MonoTransparentProxy *tp = (MonoTransparentProxy*) this_arg;
+                               this_arg = tp->rp->unwrapped_server;
+                               g_assert (this_arg);
+                               k = this_arg->vtable->klass;
                        }
                        
                        name = mono_array_get (params, MonoString *, 1);
@@ -2864,9 +2859,9 @@ ves_icall_InternalExecute (MonoReflectionMethod *method, MonoObject *this, MonoA
                                        if (field_klass->valuetype) {
                                                size = mono_type_size (field->type, &align);
                                                g_assert (size == mono_class_value_size (field_klass, NULL));
-                                               mono_gc_wbarrier_value_copy ((char *)this + field->offset, (char*)val + sizeof (MonoObject), 1, field_klass);
+                                               mono_gc_wbarrier_value_copy ((char *)this_arg + field->offset, (char*)val + sizeof (MonoObject), 1, field_klass);
                                        } else {
-                                               mono_gc_wbarrier_set_field (this, (char*)this + field->offset, val);
+                                               mono_gc_wbarrier_set_field (this_arg, (char*)this_arg + field->offset, val);
                                        }
                                
                                        out_args = mono_array_new (domain, mono_defaults.object_class, 0);
@@ -2894,11 +2889,11 @@ ves_icall_InternalExecute (MonoReflectionMethod *method, MonoObject *this, MonoA
        
        /* handle constructors only for objects already allocated */
        if (!strcmp (method->method->name, ".ctor"))
-               g_assert (this);
+               g_assert (this_arg);
 
        /* This can be called only on MBR objects, so no need to unbox for valuetypes. */
        g_assert (!method->method->klass->valuetype);
-       result = mono_runtime_invoke_array (method->method, this, params, NULL);
+       result = mono_runtime_invoke_array (method->method, this_arg, params, NULL);
 
        for (i = 0, j = 0; i < mono_array_length (params); i++) {
                if (sig->params [i]->byref) {
@@ -3010,7 +3005,7 @@ ves_icall_System_Enum_InternalHasFlag (MonoObject *a, MonoObject *b)
 }
 
 ICALL_EXPORT MonoObject *
-ves_icall_System_Enum_get_value (MonoObject *this)
+ves_icall_System_Enum_get_value (MonoObject *eobj)
 {
        MonoObject *res;
        MonoClass *enumc;
@@ -3018,15 +3013,15 @@ ves_icall_System_Enum_get_value (MonoObject *this)
        gpointer src;
        int size;
 
-       if (!this)
+       if (!eobj)
                return NULL;
 
-       g_assert (this->vtable->klass->enumtype);
+       g_assert (eobj->vtable->klass->enumtype);
        
-       enumc = mono_class_from_mono_type (mono_class_enum_basetype (this->vtable->klass));
-       res = mono_object_new (mono_object_domain (this), enumc);
+       enumc = mono_class_from_mono_type (mono_class_enum_basetype (eobj->vtable->klass));
+       res = mono_object_new (mono_object_domain (eobj), enumc);
        dst = (char *)res + sizeof (MonoObject);
-       src = (char *)this + sizeof (MonoObject);
+       src = (char *)eobj + sizeof (MonoObject);
        size = mono_class_value_size (enumc, NULL);
 
        memcpy (dst, src, size);
@@ -3053,17 +3048,17 @@ ves_icall_System_Enum_get_underlying_type (MonoReflectionType *type)
 }
 
 ICALL_EXPORT int
-ves_icall_System_Enum_compare_value_to (MonoObject *this, MonoObject *other)
+ves_icall_System_Enum_compare_value_to (MonoObject *eobj, MonoObject *other)
 {
-       gpointer tdata = (char *)this + sizeof (MonoObject);
+       gpointer tdata = (char *)eobj + sizeof (MonoObject);
        gpointer odata = (char *)other + sizeof (MonoObject);
-       MonoType *basetype = mono_class_enum_basetype (this->vtable->klass);
+       MonoType *basetype = mono_class_enum_basetype (eobj->vtable->klass);
        g_assert (basetype);
 
        if (other == NULL)
                return 1;
 
-       if (this->vtable->klass != other->vtable->klass)
+       if (eobj->vtable->klass != other->vtable->klass)
                return 2;
 
 #define COMPARE_ENUM_VALUES(ENUM_TYPE) do { \
@@ -3101,10 +3096,10 @@ ves_icall_System_Enum_compare_value_to (MonoObject *this, MonoObject *other)
 }
 
 ICALL_EXPORT int
-ves_icall_System_Enum_get_hashcode (MonoObject *this)
+ves_icall_System_Enum_get_hashcode (MonoObject *eobj)
 {
-       gpointer data = (char *)this + sizeof (MonoObject);
-       MonoType *basetype = mono_class_enum_basetype (this->vtable->klass);
+       gpointer data = (char *)eobj + sizeof (MonoObject);
+       MonoType *basetype = mono_class_enum_basetype (eobj->vtable->klass);
        g_assert (basetype);
 
        switch (basetype->type) {
@@ -3227,7 +3222,7 @@ ves_icall_Type_GetFields_internal (MonoReflectionType *type, MonoString *name, g
        klass = startklass = mono_class_from_mono_type (type->type);
        refklass = mono_class_from_mono_type (reftype->type);
 
-       mono_ptr_array_init (tmp_array, 2);
+       mono_ptr_array_init (tmp_array, 2, MONO_ROOT_SOURCE_REFLECTION, "temporary reflection fields list");
        
 handle_parent: 
        if (klass->exception_type != MONO_EXCEPTION_NONE) {
@@ -3483,7 +3478,7 @@ ves_icall_Type_GetConstructors_internal (MonoReflectionType *type, guint32 bflag
        gpointer iter = NULL;
        MonoPtrArray tmp_array;
        
-       mono_ptr_array_init (tmp_array, 4); /*FIXME, guestimating*/
+       mono_ptr_array_init (tmp_array, 4, MONO_ROOT_SOURCE_REFLECTION, "temporary reflection constructors list"); /*FIXME, guestimating*/
 
        domain = ((MonoObject *)type)->vtable->domain;
        if (type->type->byref)
@@ -3591,7 +3586,7 @@ ves_icall_Type_GetPropertiesByName (MonoReflectionType *type, MonoString *name,
        GHashTable *properties = NULL;
        MonoPtrArray tmp_array;
 
-       mono_ptr_array_init (tmp_array, 8); /*This the average for ASP.NET types*/
+       mono_ptr_array_init (tmp_array, 8, MONO_ROOT_SOURCE_REFLECTION, "temporary reflection properties list"); /*This the average for ASP.NET types*/
 
        if (!System_Reflection_PropertyInfo)
                System_Reflection_PropertyInfo = mono_class_from_name (
@@ -3725,7 +3720,7 @@ ves_icall_Type_GetEvents_internal (MonoReflectionType *type, MonoString *name, g
        GHashTable *events = NULL;
        MonoPtrArray tmp_array;
 
-       mono_ptr_array_init (tmp_array, 4);
+       mono_ptr_array_init (tmp_array, 4, MONO_ROOT_SOURCE_REFLECTION, "temporary reflection events list");
 
        if (!System_Reflection_EventInfo)
                System_Reflection_EventInfo = mono_class_from_name (
@@ -3858,7 +3853,7 @@ ves_icall_Type_GetNestedTypes (MonoReflectionType *type, MonoString *name, guint
        if (klass->generic_class)
                klass = klass->generic_class->container_class;
 
-       mono_ptr_array_init (tmp_array, 1);
+       mono_ptr_array_init (tmp_array, 1, MONO_ROOT_SOURCE_REFLECTION, "temporary reflection nested types list");
        iter = NULL;
        while ((nested = mono_class_get_nested_types (klass, &iter))) {
                match = 0;
@@ -4654,24 +4649,24 @@ ves_icall_System_MonoType_getFullName (MonoReflectionType *object, gboolean full
 }
 
 ICALL_EXPORT int
-vell_icall_MonoType_get_core_clr_security_level (MonoReflectionType *this)
+vell_icall_MonoType_get_core_clr_security_level (MonoReflectionType *rfield)
 {
-       MonoClass *klass = mono_class_from_mono_type (this->type);
+       MonoClass *klass = mono_class_from_mono_type (rfield->type);
        mono_class_init_or_throw (klass);
        return mono_security_core_clr_class_level (klass);
 }
 
 ICALL_EXPORT int
-ves_icall_MonoField_get_core_clr_security_level (MonoReflectionField *this)
+ves_icall_MonoField_get_core_clr_security_level (MonoReflectionField *rfield)
 {
-       MonoClassField *field = this->field;
+       MonoClassField *field = rfield->field;
        return mono_security_core_clr_field_level (field, TRUE);
 }
 
 ICALL_EXPORT int
-ves_icall_MonoMethod_get_core_clr_security_level (MonoReflectionMethod *this)
+ves_icall_MonoMethod_get_core_clr_security_level (MonoReflectionMethod *rfield)
 {
-       MonoMethod *method = this->method;
+       MonoMethod *method = rfield->method;
        return mono_security_core_clr_method_level (method, TRUE);
 }
 
@@ -5621,6 +5616,12 @@ ves_icall_System_Delegate_AllocDelegateLike_internal (MonoDelegate *delegate)
        return ret;
 }
 
+ICALL_EXPORT MonoReflectionMethod*
+ves_icall_System_Delegate_GetVirtualMethod_internal (MonoDelegate *delegate)
+{
+       return mono_method_get_object (mono_domain_get (), mono_object_get_virtual_method (delegate->target, delegate->method), mono_object_class (delegate->target));
+}
+
 /* System.Buffer */
 
 static inline gint32 
@@ -5688,6 +5689,13 @@ ves_icall_System_Buffer_BlockCopyInternal (MonoArray *src, gint32 src_offset, Mo
 {
        guint8 *src_buf, *dest_buf;
 
+       if (count < 0) {
+               mono_set_pending_exception (mono_get_exception_argument ("count", "is negative"));
+               return FALSE;
+       }
+
+       g_assert (count >= 0);
+
        /* This is called directly from the class libraries without going through the managed wrapper */
        MONO_CHECK_ARG_NULL (src, FALSE);
        MONO_CHECK_ARG_NULL (dest, FALSE);
@@ -5709,11 +5717,11 @@ ves_icall_System_Buffer_BlockCopyInternal (MonoArray *src, gint32 src_offset, Mo
 
 #ifndef DISABLE_REMOTING
 ICALL_EXPORT MonoObject *
-ves_icall_Remoting_RealProxy_GetTransparentProxy (MonoObject *this, MonoString *class_name)
+ves_icall_Remoting_RealProxy_GetTransparentProxy (MonoObject *this_obj, MonoString *class_name)
 {
-       MonoDomain *domain = mono_object_domain (this); 
+       MonoDomain *domain = mono_object_domain (this_obj); 
        MonoObject *res;
-       MonoRealProxy *rp = ((MonoRealProxy *)this);
+       MonoRealProxy *rp = ((MonoRealProxy *)this_obj);
        MonoTransparentProxy *tp;
        MonoType *type;
        MonoClass *klass;
@@ -5725,7 +5733,7 @@ ves_icall_Remoting_RealProxy_GetTransparentProxy (MonoObject *this, MonoString *
        type = ((MonoReflectionType *)rp->class_to_proxy)->type;
        klass = mono_class_from_mono_type (type);
 
-       tp->custom_type_info = (mono_object_isinst (this, mono_defaults.iremotingtypeinfo_class) != NULL);
+       tp->custom_type_info = (mono_object_isinst (this_obj, mono_defaults.iremotingtypeinfo_class) != NULL);
        tp->remote_class = mono_remote_class (domain, class_name, klass);
 
        res->vtable = mono_remote_class_vtable (domain, tp->remote_class, rp);
@@ -6160,7 +6168,7 @@ ves_icall_System_Text_EncodingHelper_InternalCodePage (gint32 *int_code_page)
        p = encodings [0];
        code = 0;
        for (i = 0; p != 0; ){
-               if ((gssize) p < 7){
+               if ((gsize) p < 7){
                        code = (gssize) p;
                        p = encodings [++i];
                        continue;
@@ -6209,11 +6217,11 @@ ves_icall_System_Runtime_Versioning_VersioningHelper_GetRuntimeId (void)
 }
 
 ICALL_EXPORT void
-ves_icall_MonoMethodMessage_InitMessage (MonoMethodMessage *this, 
+ves_icall_MonoMethodMessage_InitMessage (MonoMethodMessage *this_obj
                                         MonoReflectionMethod *method,
                                         MonoArray *out_args)
 {
-       mono_message_init (mono_object_domain (this), this, method, out_args);
+       mono_message_init (mono_object_domain (this_obj), this_obj, method, out_args);
 }
 
 #ifndef DISABLE_REMOTING
index 43278cbbb0b88b0d3f9cb38f8a43b3ddce5b1935..56403f3463a61b24e0fc601a4b9fbb761ec78eae 100644 (file)
@@ -679,7 +679,7 @@ mono_image_init (MonoImage *image)
                                       g_direct_hash,
                                       class_key_extract,
                                       class_next_value);
-       image->field_cache = mono_conc_hashtable_new (&image->lock, NULL, NULL);
+       image->field_cache = mono_conc_hashtable_new (NULL, NULL);
 
        image->typespec_cache = g_hash_table_new (NULL, NULL);
        image->memberref_signatures = g_hash_table_new (NULL, NULL);
@@ -1145,7 +1145,7 @@ register_image (MonoImage *image)
 }
 
 MonoImage *
-mono_image_open_from_data_with_name (char *data, guint32 data_len, gboolean need_copy, MonoImageOpenStatus *status, gboolean refonly, const char *name)
+mono_image_open_from_data_internal (char *data, guint32 data_len, gboolean need_copy, MonoImageOpenStatus *status, gboolean refonly, gboolean metadata_only, const char *name)
 {
        MonoCLIImageInfo *iinfo;
        MonoImage *image;
@@ -1175,6 +1175,7 @@ mono_image_open_from_data_with_name (char *data, guint32 data_len, gboolean need
        iinfo = g_new0 (MonoCLIImageInfo, 1);
        image->image_info = iinfo;
        image->ref_only = refonly;
+       image->metadata_only = metadata_only;
 
        image = do_mono_image_load (image, status, TRUE, TRUE);
        if (image == NULL)
@@ -1183,6 +1184,12 @@ mono_image_open_from_data_with_name (char *data, guint32 data_len, gboolean need
        return register_image (image);
 }
 
+MonoImage *
+mono_image_open_from_data_with_name (char *data, guint32 data_len, gboolean need_copy, MonoImageOpenStatus *status, gboolean refonly, const char *name)
+{
+       return mono_image_open_from_data_internal (data, data_len, need_copy, status, refonly, FALSE, name);
+}
+
 MonoImage *
 mono_image_open_from_data_full (char *data, guint32 data_len, gboolean need_copy, MonoImageOpenStatus *status, gboolean refonly)
 {
@@ -1491,6 +1498,34 @@ free_hash (GHashTable *hash)
                g_hash_table_destroy (hash);
 }
 
+void
+mono_wrapper_caches_free (MonoWrapperCaches *cache)
+{
+       free_hash (cache->delegate_invoke_cache);
+       free_hash (cache->delegate_begin_invoke_cache);
+       free_hash (cache->delegate_end_invoke_cache);
+       free_hash (cache->runtime_invoke_cache);
+       free_hash (cache->runtime_invoke_vtype_cache);
+       
+       free_hash (cache->delegate_abstract_invoke_cache);
+
+       free_hash (cache->runtime_invoke_direct_cache);
+       free_hash (cache->managed_wrapper_cache);
+
+       free_hash (cache->native_wrapper_cache);
+       free_hash (cache->native_wrapper_aot_cache);
+       free_hash (cache->native_wrapper_check_cache);
+       free_hash (cache->native_wrapper_aot_check_cache);
+
+       free_hash (cache->native_func_wrapper_aot_cache);
+       free_hash (cache->remoting_invoke_cache);
+       free_hash (cache->synchronized_cache);
+       free_hash (cache->unbox_wrapper_cache);
+       free_hash (cache->cominterop_invoke_cache);
+       free_hash (cache->cominterop_wrapper_cache);
+       free_hash (cache->thunk_invoke_cache);
+}
+
 /*
  * Returns whether mono_image_close_finish() must be called as well.
  * We must unload images in two steps because clearing the domain in
@@ -1632,38 +1667,14 @@ mono_image_close_except_pools (MonoImage *image)
                g_hash_table_destroy (image->name_cache);
        }
 
-       free_hash (image->native_wrapper_cache);
-       free_hash (image->native_wrapper_aot_cache);
-       free_hash (image->native_wrapper_check_cache);
-       free_hash (image->native_wrapper_aot_check_cache);
-       free_hash (image->native_func_wrapper_cache);
-       free_hash (image->managed_wrapper_cache);
-       free_hash (image->delegate_begin_invoke_cache);
-       free_hash (image->delegate_end_invoke_cache);
-       free_hash (image->delegate_invoke_cache);
-       free_hash (image->delegate_abstract_invoke_cache);
        free_hash (image->delegate_bound_static_invoke_cache);
-       free_hash (image->delegate_invoke_generic_cache);
-       free_hash (image->delegate_begin_invoke_generic_cache);
-       free_hash (image->delegate_end_invoke_generic_cache);
-       free_hash (image->synchronized_generic_cache);
-       free_hash (image->remoting_invoke_cache);
-       free_hash (image->runtime_invoke_cache);
-       free_hash (image->runtime_invoke_vtype_cache);
-       free_hash (image->runtime_invoke_direct_cache);
        free_hash (image->runtime_invoke_vcall_cache);
-       free_hash (image->synchronized_cache);
-       free_hash (image->unbox_wrapper_cache);
-       free_hash (image->cominterop_invoke_cache);
-       free_hash (image->cominterop_wrapper_cache);
-       free_hash (image->typespec_cache);
        free_hash (image->ldfld_wrapper_cache);
        free_hash (image->ldflda_wrapper_cache);
        free_hash (image->stfld_wrapper_cache);
        free_hash (image->isinst_cache);
        free_hash (image->castclass_cache);
        free_hash (image->proxy_isinst_cache);
-       free_hash (image->thunk_invoke_cache);
        free_hash (image->var_cache_slow);
        free_hash (image->mvar_cache_slow);
        free_hash (image->var_cache_constrained);
@@ -1671,6 +1682,11 @@ mono_image_close_except_pools (MonoImage *image)
        free_hash (image->wrapper_param_names);
        free_hash (image->pinvoke_scopes);
        free_hash (image->pinvoke_scope_filenames);
+       free_hash (image->native_func_wrapper_cache);
+       free_hash (image->typespec_cache);
+
+       mono_wrapper_caches_free (&image->wrapper_caches);
+
        for (i = 0; i < image->gshared_types_len; ++i)
                free_hash (image->gshared_types [i]);
        g_free (image->gshared_types);
index d9ae9d6fde02568d9854d795c587b31ca8c8043c..a670e0fec5827cdd38e5faff90c2cd0bb82ebf60 100644 (file)
@@ -45,6 +45,7 @@
 #include <mono/utils/mono-counters.h>
 #include <mono/utils/mono-error-internals.h>
 #include <mono/utils/mono-tls.h>
+#include <mono/utils/mono-path.h>
 
 MonoDefaults mono_defaults;
 
@@ -600,8 +601,11 @@ mono_field_from_token_checked (MonoImage *image, guint32 token, MonoClass **retk
                }
        }
 
-       if (field && field->parent && !field->parent->generic_class && !field->parent->generic_container)
+       if (field && field->parent && !field->parent->generic_class && !field->parent->generic_container) {
+               mono_image_lock (image);
                mono_conc_hashtable_insert (image->field_cache, GUINT_TO_POINTER (token), field);
+               mono_image_unlock (image);
+       }
 
        mono_loader_assert_no_error ();
        return field;
@@ -1428,7 +1432,7 @@ mono_lookup_pinvoke_call (MonoMethod *method, const char **exc_class, const char
        const char *new_scope;
        char *error_msg;
        char *full_name, *file_name, *found_name = NULL;
-       int i;
+       int i,j;
        MonoDl *module = NULL;
        gboolean cached = FALSE;
 
@@ -1576,23 +1580,85 @@ mono_lookup_pinvoke_call (MonoMethod *method, const char **exc_class, const char
                }
 
                if (!module && !is_absolute) {
-                       void *iter = NULL;
-                       char *mdirname = g_path_get_dirname (image->name);
-                       while ((full_name = mono_dl_build_path (mdirname, file_name, &iter))) {
-                               module = cached_module_load (full_name, MONO_DL_LAZY, &error_msg);
-                               if (!module) {
-                                       mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT,
-                                               "DllImport error loading library '%s': '%s'.",
-                                                               full_name, error_msg);
-                                       g_free (error_msg);
-                               } else {
-                                       found_name = g_strdup (full_name);
+                       void *iter;
+                       char *mdirname;
+
+                       for (j = 0; j < 3; ++j) {
+                               iter = NULL;
+                               mdirname = NULL;
+                               switch (j) {
+                                       case 0:
+                                               mdirname = g_path_get_dirname (image->name);
+                                               break;
+                                       case 1: /* @executable_path@/../lib */
+                                       {
+                                               char buf [4096];
+                                               int binl;
+                                               binl = mono_dl_get_executable_path (buf, sizeof (buf));
+                                               if (binl != -1) {
+                                                       char *base, *newbase;
+                                                       char *resolvedname;
+                                                       buf [binl] = 0;
+                                                       resolvedname = mono_path_resolve_symlinks (buf);
+
+                                                       base = g_path_get_dirname (resolvedname);
+                                                       newbase = g_path_get_dirname(base);
+                                                       mdirname = g_strdup_printf ("%s/lib", newbase);
+
+                                                       g_free (resolvedname);
+                                                       g_free (base);
+                                                       g_free (newbase);
+                                               }
+                                               break;
+                                       }
+#ifdef __MACH__
+                                       case 2: /* @executable_path@/../Libraries */
+                                       {
+                                               char buf [4096];
+                                               int binl;
+                                               binl = mono_dl_get_executable_path (buf, sizeof (buf));
+                                               if (binl != -1) {
+                                                       char *base, *newbase;
+                                                       char *resolvedname;
+                                                       buf [binl] = 0;
+                                                       resolvedname = mono_path_resolve_symlinks (buf);
+
+                                                       base = g_path_get_dirname (resolvedname);
+                                                       newbase = g_path_get_dirname(base);
+                                                       mdirname = g_strdup_printf ("%s/Libraries", newbase);
+
+                                                       g_free (resolvedname);
+                                                       g_free (base);
+                                                       g_free (newbase);
+                                               }
+                                               break;
+                                       }
+#endif
                                }
-                               g_free (full_name);
+
+                               if (!mdirname)
+                                       continue;
+
+                               while ((full_name = mono_dl_build_path (mdirname, file_name, &iter))) {
+                                       module = cached_module_load (full_name, MONO_DL_LAZY, &error_msg);
+                                       if (!module) {
+                                               mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_DLLIMPORT,
+                                                       "DllImport error loading library '%s': '%s'.",
+                                                                       full_name, error_msg);
+                                               g_free (error_msg);
+                                       } else {
+                                               found_name = g_strdup (full_name);
+                                       }
+                                       g_free (full_name);
+                                       if (module)
+                                               break;
+
+                               }
+                               g_free (mdirname);
                                if (module)
                                        break;
                        }
-                       g_free (mdirname);
+
                }
 
                if (!module) {
@@ -2376,10 +2442,11 @@ stack_walk_adapter (MonoStackFrameInfo *frame, MonoContext *ctx, gpointer data)
        switch (frame->type) {
        case FRAME_TYPE_DEBUGGER_INVOKE:
        case FRAME_TYPE_MANAGED_TO_NATIVE:
+       case FRAME_TYPE_TRAMPOLINE:
                return FALSE;
        case FRAME_TYPE_MANAGED:
                g_assert (frame->ji);
-               return d->func (mono_jit_info_get_method (frame->ji), frame->native_offset, frame->il_offset, frame->managed, d->user_data);
+               return d->func (frame->actual_method, frame->native_offset, frame->il_offset, frame->managed, d->user_data);
                break;
        default:
                g_assert_not_reached ();
@@ -2415,14 +2482,16 @@ async_stack_walk_adapter (MonoStackFrameInfo *frame, MonoContext *ctx, gpointer
        switch (frame->type) {
        case FRAME_TYPE_DEBUGGER_INVOKE:
        case FRAME_TYPE_MANAGED_TO_NATIVE:
+       case FRAME_TYPE_TRAMPOLINE:
                return FALSE;
        case FRAME_TYPE_MANAGED:
                if (!frame->ji)
                        return FALSE;
-               if (frame->ji->async)
+               if (frame->ji->async) {
                        return d->func (NULL, frame->domain, frame->ji->code_start, frame->native_offset, d->user_data);
-               else
+               } else {
                        return d->func (frame->actual_method, frame->domain, frame->ji->code_start, frame->native_offset, d->user_data);
+               }
                break;
        default:
                g_assert_not_reached ();
@@ -2474,9 +2543,9 @@ static gboolean loader_lock_track_ownership = FALSE;
 void
 mono_loader_lock (void)
 {
-       MONO_TRY_BLOCKING
+       MONO_TRY_BLOCKING;
        mono_locks_acquire (&loader_mutex, LoaderLock);
-       MONO_FINISH_TRY_BLOCKING
+       MONO_FINISH_TRY_BLOCKING;
                
        if (G_UNLIKELY (loader_lock_track_ownership)) {
                mono_native_tls_set_value (loader_lock_nest_id, GUINT_TO_POINTER (GPOINTER_TO_UINT (mono_native_tls_get_value (loader_lock_nest_id)) + 1));
index e9618fe746678d9c0511b812094c517dbaedcc38..1f925bd8ed23757ec15af306a6baf5cdeafe5907 100644 (file)
@@ -158,7 +158,7 @@ create_names_array_idx_dynamic (const guint16 *names, int ml)
 }
 
 MonoBoolean
-ves_icall_System_Globalization_CalendarData_fill_calendar_data (MonoCalendarData *this, MonoString *name, gint32 calendar_index)
+ves_icall_System_Globalization_CalendarData_fill_calendar_data (MonoCalendarData *this_obj, MonoString *name, gint32 calendar_index)
 {
        MonoDomain *domain;
        const DateTimeFormatEntry *dfe;
@@ -179,31 +179,31 @@ ves_icall_System_Globalization_CalendarData_fill_calendar_data (MonoCalendarData
 
        domain = mono_domain_get ();
 
-       MONO_OBJECT_SETREF (this, NativeName, mono_string_new (domain, idx2string (ci->nativename)));
-       MONO_OBJECT_SETREF (this, ShortDatePatterns, create_names_array_idx_dynamic (dfe->short_date_patterns,
+       MONO_OBJECT_SETREF (this_obj, NativeName, mono_string_new (domain, idx2string (ci->nativename)));
+       MONO_OBJECT_SETREF (this_obj, ShortDatePatterns, create_names_array_idx_dynamic (dfe->short_date_patterns,
                        NUM_SHORT_DATE_PATTERNS));
-       MONO_OBJECT_SETREF (this, YearMonthPatterns, create_names_array_idx_dynamic (dfe->year_month_patterns,
+       MONO_OBJECT_SETREF (this_obj, YearMonthPatterns, create_names_array_idx_dynamic (dfe->year_month_patterns,
                        NUM_YEAR_MONTH_PATTERNS));
 
-       MONO_OBJECT_SETREF (this, LongDatePatterns, create_names_array_idx_dynamic (dfe->long_date_patterns,
+       MONO_OBJECT_SETREF (this_obj, LongDatePatterns, create_names_array_idx_dynamic (dfe->long_date_patterns,
                        NUM_LONG_DATE_PATTERNS));
-       MONO_OBJECT_SETREF (this, MonthDayPattern, mono_string_new (domain, idx2string (dfe->month_day_pattern)));
+       MONO_OBJECT_SETREF (this_obj, MonthDayPattern, mono_string_new (domain, idx2string (dfe->month_day_pattern)));
 
-       MONO_OBJECT_SETREF (this, DayNames, create_names_array_idx (dfe->day_names, NUM_DAYS));
-       MONO_OBJECT_SETREF (this, AbbreviatedDayNames, create_names_array_idx (dfe->abbreviated_day_names, 
+       MONO_OBJECT_SETREF (this_obj, DayNames, create_names_array_idx (dfe->day_names, NUM_DAYS));
+       MONO_OBJECT_SETREF (this_obj, AbbreviatedDayNames, create_names_array_idx (dfe->abbreviated_day_names, 
                        NUM_DAYS));
-       MONO_OBJECT_SETREF (this, SuperShortDayNames, create_names_array_idx (dfe->shortest_day_names, NUM_DAYS));
-       MONO_OBJECT_SETREF (this, MonthNames, create_names_array_idx (dfe->month_names, NUM_MONTHS));
-       MONO_OBJECT_SETREF (this, AbbreviatedMonthNames, create_names_array_idx (dfe->abbreviated_month_names,
+       MONO_OBJECT_SETREF (this_obj, SuperShortDayNames, create_names_array_idx (dfe->shortest_day_names, NUM_DAYS));
+       MONO_OBJECT_SETREF (this_obj, MonthNames, create_names_array_idx (dfe->month_names, NUM_MONTHS));
+       MONO_OBJECT_SETREF (this_obj, AbbreviatedMonthNames, create_names_array_idx (dfe->abbreviated_month_names,
                        NUM_MONTHS));
-       MONO_OBJECT_SETREF (this, GenitiveMonthNames, create_names_array_idx (dfe->month_genitive_names, NUM_MONTHS));
-       MONO_OBJECT_SETREF (this, GenitiveAbbreviatedMonthNames, create_names_array_idx (dfe->abbreviated_month_genitive_names, NUM_MONTHS));
+       MONO_OBJECT_SETREF (this_obj, GenitiveMonthNames, create_names_array_idx (dfe->month_genitive_names, NUM_MONTHS));
+       MONO_OBJECT_SETREF (this_obj, GenitiveAbbreviatedMonthNames, create_names_array_idx (dfe->abbreviated_month_genitive_names, NUM_MONTHS));
 
        return TRUE;
 }
 
 void
-ves_icall_System_Globalization_CultureData_fill_culture_data (MonoCultureData *this, gint32 datetime_index)
+ves_icall_System_Globalization_CultureData_fill_culture_data (MonoCultureData *this_obj, gint32 datetime_index)
 {
        MonoDomain *domain;
        const DateTimeFormatEntry *dfe;
@@ -214,15 +214,15 @@ ves_icall_System_Globalization_CultureData_fill_culture_data (MonoCultureData *t
 
        domain = mono_domain_get ();
 
-       MONO_OBJECT_SETREF (this, AMDesignator, mono_string_new (domain, idx2string (dfe->am_designator)));
-       MONO_OBJECT_SETREF (this, PMDesignator, mono_string_new (domain, idx2string (dfe->pm_designator)));
-       MONO_OBJECT_SETREF (this, TimeSeparator, mono_string_new (domain, idx2string (dfe->time_separator)));
-       MONO_OBJECT_SETREF (this, LongTimePatterns, create_names_array_idx_dynamic (dfe->long_time_patterns,
+       MONO_OBJECT_SETREF (this_obj, AMDesignator, mono_string_new (domain, idx2string (dfe->am_designator)));
+       MONO_OBJECT_SETREF (this_obj, PMDesignator, mono_string_new (domain, idx2string (dfe->pm_designator)));
+       MONO_OBJECT_SETREF (this_obj, TimeSeparator, mono_string_new (domain, idx2string (dfe->time_separator)));
+       MONO_OBJECT_SETREF (this_obj, LongTimePatterns, create_names_array_idx_dynamic (dfe->long_time_patterns,
                        NUM_LONG_TIME_PATTERNS));
-       MONO_OBJECT_SETREF (this, ShortTimePatterns, create_names_array_idx_dynamic (dfe->short_time_patterns,
+       MONO_OBJECT_SETREF (this_obj, ShortTimePatterns, create_names_array_idx_dynamic (dfe->short_time_patterns,
                        NUM_SHORT_TIME_PATTERNS));
-       this->FirstDayOfWeek = dfe->first_day_of_week;
-       this->CalendarWeekRule = dfe->calendar_week_rule;
+       this_obj->FirstDayOfWeek = dfe->first_day_of_week;
+       this_obj->CalendarWeekRule = dfe->calendar_week_rule;
 }
 
 void
@@ -268,46 +268,46 @@ ves_icall_System_Globalization_CultureData_fill_number_data (MonoNumberFormatInf
 }
 
 static MonoBoolean
-construct_culture (MonoCultureInfo *this, const CultureInfoEntry *ci)
+construct_culture (MonoCultureInfo *this_obj, const CultureInfoEntry *ci)
 {
        MonoDomain *domain = mono_domain_get ();
 
-       this->lcid = ci->lcid;
-       MONO_OBJECT_SETREF (this, name, mono_string_new (domain, idx2string (ci->name)));
-       MONO_OBJECT_SETREF (this, englishname, mono_string_new (domain, idx2string (ci->englishname)));
-       MONO_OBJECT_SETREF (this, nativename, mono_string_new (domain, idx2string (ci->nativename)));
-       MONO_OBJECT_SETREF (this, win3lang, mono_string_new (domain, idx2string (ci->win3lang)));
-       MONO_OBJECT_SETREF (this, iso3lang, mono_string_new (domain, idx2string (ci->iso3lang)));
-       MONO_OBJECT_SETREF (this, iso2lang, mono_string_new (domain, idx2string (ci->iso2lang)));
+       this_obj->lcid = ci->lcid;
+       MONO_OBJECT_SETREF (this_obj, name, mono_string_new (domain, idx2string (ci->name)));
+       MONO_OBJECT_SETREF (this_obj, englishname, mono_string_new (domain, idx2string (ci->englishname)));
+       MONO_OBJECT_SETREF (this_obj, nativename, mono_string_new (domain, idx2string (ci->nativename)));
+       MONO_OBJECT_SETREF (this_obj, win3lang, mono_string_new (domain, idx2string (ci->win3lang)));
+       MONO_OBJECT_SETREF (this_obj, iso3lang, mono_string_new (domain, idx2string (ci->iso3lang)));
+       MONO_OBJECT_SETREF (this_obj, iso2lang, mono_string_new (domain, idx2string (ci->iso2lang)));
 
        // It's null for neutral cultures
        if (ci->territory > 0)
-               MONO_OBJECT_SETREF (this, territory, mono_string_new (domain, idx2string (ci->territory)));
-       MONO_OBJECT_SETREF (this, native_calendar_names, create_names_array_idx (ci->native_calendar_names, NUM_CALENDARS));
-       this->parent_lcid = ci->parent_lcid;
-       this->datetime_index = ci->datetime_format_index;
-       this->number_index = ci->number_format_index;
-       this->calendar_type = ci->calendar_type;
-       this->text_info_data = &ci->text_info;
+               MONO_OBJECT_SETREF (this_obj, territory, mono_string_new (domain, idx2string (ci->territory)));
+       MONO_OBJECT_SETREF (this_obj, native_calendar_names, create_names_array_idx (ci->native_calendar_names, NUM_CALENDARS));
+       this_obj->parent_lcid = ci->parent_lcid;
+       this_obj->datetime_index = ci->datetime_format_index;
+       this_obj->number_index = ci->number_format_index;
+       this_obj->calendar_type = ci->calendar_type;
+       this_obj->text_info_data = &ci->text_info;
        
        return TRUE;
 }
 
 static MonoBoolean
-construct_region (MonoRegionInfo *this, const RegionInfoEntry *ri)
+construct_region (MonoRegionInfo *this_obj, const RegionInfoEntry *ri)
 {
        MonoDomain *domain = mono_domain_get ();
 
-       this->geo_id = ri->geo_id;
-       MONO_OBJECT_SETREF (this, iso2name, mono_string_new (domain, idx2string (ri->iso2name)));
-       MONO_OBJECT_SETREF (this, iso3name, mono_string_new (domain, idx2string (ri->iso3name)));
-       MONO_OBJECT_SETREF (this, win3name, mono_string_new (domain, idx2string (ri->win3name)));
-       MONO_OBJECT_SETREF (this, english_name, mono_string_new (domain, idx2string (ri->english_name)));
-       MONO_OBJECT_SETREF (this, native_name, mono_string_new (domain, idx2string (ri->native_name)));
-       MONO_OBJECT_SETREF (this, currency_symbol, mono_string_new (domain, idx2string (ri->currency_symbol)));
-       MONO_OBJECT_SETREF (this, iso_currency_symbol, mono_string_new (domain, idx2string (ri->iso_currency_symbol)));
-       MONO_OBJECT_SETREF (this, currency_english_name, mono_string_new (domain, idx2string (ri->currency_english_name)));
-       MONO_OBJECT_SETREF (this, currency_native_name, mono_string_new (domain, idx2string (ri->currency_native_name)));
+       this_obj->geo_id = ri->geo_id;
+       MONO_OBJECT_SETREF (this_obj, iso2name, mono_string_new (domain, idx2string (ri->iso2name)));
+       MONO_OBJECT_SETREF (this_obj, iso3name, mono_string_new (domain, idx2string (ri->iso3name)));
+       MONO_OBJECT_SETREF (this_obj, win3name, mono_string_new (domain, idx2string (ri->win3name)));
+       MONO_OBJECT_SETREF (this_obj, english_name, mono_string_new (domain, idx2string (ri->english_name)));
+       MONO_OBJECT_SETREF (this_obj, native_name, mono_string_new (domain, idx2string (ri->native_name)));
+       MONO_OBJECT_SETREF (this_obj, currency_symbol, mono_string_new (domain, idx2string (ri->currency_symbol)));
+       MONO_OBJECT_SETREF (this_obj, iso_currency_symbol, mono_string_new (domain, idx2string (ri->iso_currency_symbol)));
+       MONO_OBJECT_SETREF (this_obj, currency_english_name, mono_string_new (domain, idx2string (ri->currency_english_name)));
+       MONO_OBJECT_SETREF (this_obj, currency_native_name, mono_string_new (domain, idx2string (ri->currency_native_name)));
        
        return TRUE;
 }
@@ -489,7 +489,7 @@ ves_icall_System_Globalization_CultureInfo_get_current_locale_name (void)
 }
 
 MonoBoolean
-ves_icall_System_Globalization_CultureInfo_construct_internal_locale_from_lcid (MonoCultureInfo *this,
+ves_icall_System_Globalization_CultureInfo_construct_internal_locale_from_lcid (MonoCultureInfo *this_obj,
                gint lcid)
 {
        const CultureInfoEntry *ci;
@@ -498,11 +498,11 @@ ves_icall_System_Globalization_CultureInfo_construct_internal_locale_from_lcid (
        if(ci == NULL)
                return FALSE;
 
-       return construct_culture (this, ci);
+       return construct_culture (this_obj, ci);
 }
 
 MonoBoolean
-ves_icall_System_Globalization_CultureInfo_construct_internal_locale_from_name (MonoCultureInfo *this,
+ves_icall_System_Globalization_CultureInfo_construct_internal_locale_from_name (MonoCultureInfo *this_obj,
                MonoString *name)
 {
        const CultureInfoNameEntry *ne;
@@ -519,7 +519,7 @@ ves_icall_System_Globalization_CultureInfo_construct_internal_locale_from_name (
        }
        g_free (n);
 
-       return construct_culture (this, &culture_entries [ne->culture_entry_index]);
+       return construct_culture (this_obj, &culture_entries [ne->culture_entry_index]);
 }
 /*
 MonoBoolean
@@ -537,7 +537,7 @@ ves_icall_System_Globalization_CultureInfo_construct_internal_locale_from_specif
 }
 */
 MonoBoolean
-ves_icall_System_Globalization_RegionInfo_construct_internal_region_from_lcid (MonoRegionInfo *this,
+ves_icall_System_Globalization_RegionInfo_construct_internal_region_from_lcid (MonoRegionInfo *this_obj,
                gint lcid)
 {
        const RegionInfoEntry *ri;
@@ -546,11 +546,11 @@ ves_icall_System_Globalization_RegionInfo_construct_internal_region_from_lcid (M
        if(ri == NULL)
                return FALSE;
 
-       return construct_region (this, ri);
+       return construct_region (this_obj, ri);
 }
 
 MonoBoolean
-ves_icall_System_Globalization_RegionInfo_construct_internal_region_from_name (MonoRegionInfo *this,
+ves_icall_System_Globalization_RegionInfo_construct_internal_region_from_name (MonoRegionInfo *this_obj,
                MonoString *name)
 {
        const RegionInfoNameEntry *ne;
@@ -567,7 +567,7 @@ ves_icall_System_Globalization_RegionInfo_construct_internal_region_from_name (M
        }
        g_free (n);
 
-       return construct_region (this, &region_entries [ne->region_entry_index]);
+       return construct_region (this_obj, &region_entries [ne->region_entry_index]);
 }
 
 MonoArray*
@@ -624,7 +624,7 @@ ves_icall_System_Globalization_CultureInfo_internal_get_cultures (MonoBoolean ne
        return ret;
 }
 
-int ves_icall_System_Globalization_CompareInfo_internal_compare (MonoCompareInfo *this, MonoString *str1, gint32 off1, gint32 len1, MonoString *str2, gint32 off2, gint32 len2, gint32 options)
+int ves_icall_System_Globalization_CompareInfo_internal_compare (MonoCompareInfo *this_obj, MonoString *str1, gint32 off1, gint32 len1, MonoString *str2, gint32 off2, gint32 len2, gint32 options)
 {
        /* Do a normal ascii string compare, as we only know the
         * invariant locale if we dont have ICU
@@ -633,7 +633,7 @@ int ves_icall_System_Globalization_CompareInfo_internal_compare (MonoCompareInfo
                                         options));
 }
 
-void ves_icall_System_Globalization_CompareInfo_assign_sortkey (MonoCompareInfo *this, MonoSortKey *key, MonoString *source, gint32 options)
+void ves_icall_System_Globalization_CompareInfo_assign_sortkey (MonoCompareInfo *this_obj, MonoSortKey *key, MonoString *source, gint32 options)
 {
        MonoArray *arr;
        gint32 keylen, i;
@@ -649,12 +649,12 @@ void ves_icall_System_Globalization_CompareInfo_assign_sortkey (MonoCompareInfo
        MONO_OBJECT_SETREF (key, key, arr);
 }
 
-int ves_icall_System_Globalization_CompareInfo_internal_index (MonoCompareInfo *this, MonoString *source, gint32 sindex, gint32 count, MonoString *value, gint32 options, MonoBoolean first)
+int ves_icall_System_Globalization_CompareInfo_internal_index (MonoCompareInfo *this_obj, MonoString *source, gint32 sindex, gint32 count, MonoString *value, gint32 options, MonoBoolean first)
 {
        return(string_invariant_indexof (source, sindex, count, value, first));
 }
 
-int ves_icall_System_Globalization_CompareInfo_internal_index_char (MonoCompareInfo *this, MonoString *source, gint32 sindex, gint32 count, gunichar2 value, gint32 options, MonoBoolean first)
+int ves_icall_System_Globalization_CompareInfo_internal_index_char (MonoCompareInfo *this_obj, MonoString *source, gint32 sindex, gint32 count, gunichar2 value, gint32 options, MonoBoolean first)
 {
        return(string_invariant_indexof_char (source, sindex, count, value,
                                              first));
@@ -666,12 +666,12 @@ int ves_icall_System_Threading_Thread_current_lcid (void)
        return(0x007F);
 }
 
-MonoString *ves_icall_System_String_InternalReplace_Str_Comp (MonoString *this, MonoString *old, MonoString *new, MonoCompareInfo *comp)
+MonoString *ves_icall_System_String_InternalReplace_Str_Comp (MonoString *this_obj, MonoString *old, MonoString *new, MonoCompareInfo *comp)
 {
        /* Do a normal ascii string compare and replace, as we only
         * know the invariant locale if we dont have ICU
         */
-       return(string_invariant_replace (this, old, new));
+       return(string_invariant_replace (this_obj, old, new));
 }
 
 static gint32 string_invariant_compare_char (gunichar2 c1, gunichar2 c2,
index 959dd36aa3c282a90216973f6402dac5990bb871..e0e6ac96a61053d69735feb81d1cbb5e378e5041 100644 (file)
@@ -109,14 +109,16 @@ static void
 add_record (RecordType record_kind, RuntimeLocks kind, gpointer lock)
 {
        int i = 0;
-       gpointer frames[10];
+       const int no_frames = 6;
+       gpointer frames[no_frames];
+
        char *msg;
        if (!trace_file)
                return;
 
-       memset (frames, 0, sizeof (gpointer));
-       mono_backtrace (frames, 6);
-       for (i = 0; i < 6; ++i)
+       memset (frames, 0, sizeof (gpointer) * no_frames);
+       mono_backtrace (frames, no_frames);
+       for (i = 0; i < no_frames; ++i)
                frames [i] = (gpointer)((size_t)frames[i] - base_address);
 
        /*We only dump 5 frames, which should be more than enough to most analysis.*/
index 9292a1f14d206875dd19b3483d61333eedaa2207..7dada5434a5fa404df03e14ec617f11e7352bcc4 100644 (file)
@@ -27,6 +27,7 @@
 #include "mono/metadata/debug-helpers.h"
 #include "mono/metadata/threads.h"
 #include "mono/metadata/monitor.h"
+#include "mono/metadata/class-internals.h"
 #include "mono/metadata/metadata-internals.h"
 #include "mono/metadata/domain-internals.h"
 #include "mono/metadata/gc-internal.h"
@@ -160,25 +161,12 @@ register_icall (gpointer func, const char *name, const char *sigstr, gboolean sa
        mono_register_jit_icall (func, name, sig, save);
 }
 
-static MonoMethodSignature*
-signature_dup (MonoImage *image, MonoMethodSignature *sig)
-{
-       MonoMethodSignature *res;
-       int sigsize;
-
-       res = mono_metadata_signature_alloc (image, sig->param_count);
-       sigsize = MONO_SIZEOF_METHOD_SIGNATURE + sig->param_count * sizeof (MonoType *);
-       memcpy (res, sig, sigsize);
-
-       return res;
-}
-
 MonoMethodSignature*
 mono_signature_no_pinvoke (MonoMethod *method)
 {
        MonoMethodSignature *sig = mono_method_signature (method);
        if (sig->pinvoke) {
-               sig = signature_dup (method->klass->image, sig);
+               sig = mono_metadata_signature_dup_full (method->klass->image, sig);
                sig->pinvoke = FALSE;
        }
        
@@ -256,8 +244,8 @@ mono_marshal_init (void)
 #ifdef USE_COOP_GC
                register_icall (mono_threads_prepare_blocking, "mono_threads_prepare_blocking", "int", FALSE);
                register_icall (mono_threads_finish_blocking, "mono_threads_finish_blocking", "void int", FALSE);
-               register_icall (mono_threads_reset_blocking_start, "mono_threads_reset_blocking_start","int", FALSE);
-               register_icall (mono_threads_reset_blocking_end, "mono_threads_reset_blocking_end","void int", FALSE);
+               register_icall (mono_threads_reset_blocking_start, "mono_threads_reset_blocking_start","int", TRUE);
+               register_icall (mono_threads_reset_blocking_end, "mono_threads_reset_blocking_end","void int", TRUE);
 #endif
        }
 }
@@ -357,7 +345,7 @@ delegate_hash_table_remove (MonoDelegate *d)
                gchandle = GPOINTER_TO_UINT (g_hash_table_lookup (delegate_hash_table, d->delegate_trampoline));
        g_hash_table_remove (delegate_hash_table, d->delegate_trampoline);
        mono_marshal_unlock ();
-       if (mono_gc_is_moving ())
+       if (gchandle && mono_gc_is_moving ())
                mono_gchandle_free (gchandle);
 }
 
@@ -458,12 +446,12 @@ mono_ftnptr_to_delegate (MonoClass *klass, gpointer ftn)
                MonoMarshalSpec **mspecs;
                MonoMethod *invoke = mono_get_delegate_invoke (klass);
                MonoMethodPInvoke piinfo;
-               MonoObject *this;
+               MonoObject *this_obj;
                int i;
 
                if (use_aot_wrappers) {
                        wrapper = mono_marshal_get_native_func_wrapper_aot (klass);
-                       this = mono_value_box (mono_domain_get (), mono_defaults.int_class, &ftn);
+                       this_obj = mono_value_box (mono_domain_get (), mono_defaults.int_class, &ftn);
                } else {
                        memset (&piinfo, 0, sizeof (piinfo));
                        parse_unmanaged_function_pointer_attr (klass, &piinfo);
@@ -475,7 +463,7 @@ mono_ftnptr_to_delegate (MonoClass *klass, gpointer ftn)
                        sig->hasthis = 0;
 
                        wrapper = mono_marshal_get_native_func_wrapper (klass->image, sig, &piinfo, mspecs, ftn);
-                       this = NULL;
+                       this_obj = NULL;
 
                        for (i = mono_method_signature (invoke)->param_count; i >= 0; i--)
                                if (mspecs [i])
@@ -485,7 +473,7 @@ mono_ftnptr_to_delegate (MonoClass *klass, gpointer ftn)
                }
 
                d = (MonoDelegate*)mono_object_new (mono_domain_get (), klass);
-               mono_delegate_ctor_with_method ((MonoObject*)d, this, mono_compile_method (wrapper), wrapper);
+               mono_delegate_ctor_with_method ((MonoObject*)d, this_obj, mono_compile_method (wrapper), wrapper);
        }
 
        if (d->object.vtable->domain != mono_domain_get ())
@@ -2727,12 +2715,12 @@ mono_marshal_get_delegate_begin_invoke (MonoMethod *method)
         * Check cache
         */
        if (ctx) {
-               cache = get_cache (&method->klass->image->delegate_begin_invoke_generic_cache, mono_aligned_addr_hash, NULL);
+               cache = get_cache (&((MonoMethodInflated*)orig_method)->owner->wrapper_caches.delegate_begin_invoke_cache, mono_aligned_addr_hash, NULL);
                res = check_generic_delegate_wrapper_cache (cache, orig_method, method, ctx);
                if (res)
                        return res;
        } else {
-               cache = get_cache (&method->klass->image->delegate_begin_invoke_cache,
+               cache = get_cache (&method->klass->image->wrapper_caches.delegate_begin_invoke_cache,
                                                   (GHashFunc)mono_signature_hash, 
                                                   (GCompareFunc)mono_metadata_signature_equal);
                if ((res = mono_marshal_find_in_cache (cache, sig)))
@@ -2937,12 +2925,12 @@ mono_marshal_get_delegate_end_invoke (MonoMethod *method)
         * Check cache
         */
        if (ctx) {
-               cache = get_cache (&method->klass->image->delegate_end_invoke_generic_cache, mono_aligned_addr_hash, NULL);
+               cache = get_cache (&((MonoMethodInflated*)orig_method)->owner->wrapper_caches.delegate_end_invoke_cache, mono_aligned_addr_hash, NULL);
                res = check_generic_delegate_wrapper_cache (cache, orig_method, method, ctx);
                if (res)
                        return res;
        } else {
-               cache = get_cache (&method->klass->image->delegate_end_invoke_cache,
+               cache = get_cache (&method->klass->image->wrapper_caches.delegate_end_invoke_cache,
                                                   (GHashFunc)mono_signature_hash, 
                                                   (GCompareFunc)mono_metadata_signature_equal);
                if ((res = mono_marshal_find_in_cache (cache, sig)))
@@ -3096,7 +3084,7 @@ mono_marshal_get_delegate_invoke_internal (MonoMethod *method, gboolean callvirt
         * Check cache
         */
        if (ctx) {
-               cache = get_cache (&method->klass->image->delegate_invoke_generic_cache, mono_aligned_addr_hash, NULL);
+               cache = get_cache (&((MonoMethodInflated*)orig_method)->owner->wrapper_caches.delegate_invoke_cache, mono_aligned_addr_hash, NULL);
                res = check_generic_delegate_wrapper_cache (cache, orig_method, method, ctx);
                if (res)
                        return res;
@@ -3115,7 +3103,7 @@ mono_marshal_get_delegate_invoke_internal (MonoMethod *method, gboolean callvirt
        } else if (callvirt) {
                GHashTable **cache_ptr;
 
-               cache_ptr = &method->klass->image->delegate_abstract_invoke_cache;
+               cache_ptr = &mono_method_get_wrapper_cache (method)->delegate_abstract_invoke_cache;
 
                /* We need to cache the signature+method pair */
                mono_marshal_lock ();
@@ -3129,7 +3117,9 @@ mono_marshal_get_delegate_invoke_internal (MonoMethod *method, gboolean callvirt
                if (res)
                        return res;
        } else {
-               cache = get_cache (&method->klass->image->delegate_invoke_cache,
+               // Inflated methods should not be in this cache because it's not stored on the imageset.
+               g_assert (!method->is_inflated);
+               cache = get_cache (&method->klass->image->wrapper_caches.delegate_invoke_cache,
                                                   (GHashFunc)mono_signature_hash, 
                                                   (GCompareFunc)mono_metadata_signature_equal);
                res = mono_marshal_find_in_cache (cache, sig);
@@ -3138,7 +3128,7 @@ mono_marshal_get_delegate_invoke_internal (MonoMethod *method, gboolean callvirt
                cache_key = sig;
        }
 
-       static_sig = signature_dup (method->klass->image, sig);
+       static_sig = mono_metadata_signature_dup_full (method->klass->image, sig);
        static_sig->hasthis = 0;
        if (!static_method_with_first_arg_bound)
                invoke_sig = static_sig;
@@ -3372,28 +3362,6 @@ mono_marshal_get_delegate_invoke (MonoMethod *method, MonoDelegate *del)
        return mono_marshal_get_delegate_invoke_internal (method, callvirt, static_method_with_first_arg_bound, target_method);
 }
 
-/*
- * signature_dup_add_this:
- *
- *  Make a copy of @sig, adding an explicit this argument.
- */
-static MonoMethodSignature*
-signature_dup_add_this (MonoImage *image, MonoMethodSignature *sig, MonoClass *klass)
-{
-       MonoMethodSignature *res;
-       int i;
-
-       res = mono_metadata_signature_alloc (image, sig->param_count + 1);
-       memcpy (res, sig, MONO_SIZEOF_METHOD_SIGNATURE);
-       res->param_count = sig->param_count + 1;
-       res->hasthis = FALSE;
-       for (i = sig->param_count - 1; i >= 0; i --)
-               res->params [i + 1] = sig->params [i];
-       res->params [0] = klass->valuetype ? &klass->this_arg : &klass->byval_arg;
-
-       return res;
-}
-
 typedef struct {
        MonoMethodSignature *ctor_sig;
        MonoMethodSignature *sig;
@@ -3431,7 +3399,7 @@ add_string_ctor_signature (MonoMethod *method)
        MonoMethodSignature *callsig;
        CtorSigPair *cs;
 
-       callsig = signature_dup (method->klass->image, mono_method_signature (method));
+       callsig = mono_metadata_signature_dup_full (method->klass->image, mono_method_signature (method));
        callsig->ret = &mono_defaults.string_class->byval_arg;
        cs = g_new (CtorSigPair, 1);
        cs->sig = callsig;
@@ -3556,7 +3524,7 @@ emit_invoke_call (MonoMethodBuilder *mb, MonoMethod *method,
 
        /* to make it work with our special string constructors */
        if (!string_dummy) {
-               MONO_GC_REGISTER_ROOT_SINGLE (string_dummy);
+               MONO_GC_REGISTER_ROOT_SINGLE (string_dummy, MONO_ROOT_SOURCE_MARSHAL, "dummy marshal string");
                string_dummy = mono_string_new_wrapper ("dummy");
        }
 
@@ -3866,7 +3834,8 @@ mono_marshal_get_runtime_invoke (MonoMethod *method, gboolean virtual)
        if (virtual)
                cache = get_cache (&method->klass->image->runtime_invoke_vcall_cache, mono_aligned_addr_hash, NULL);
        else
-               cache = get_cache (&method->klass->image->runtime_invoke_direct_cache, mono_aligned_addr_hash, NULL);
+               cache = get_cache (&mono_method_get_wrapper_cache (method)->runtime_invoke_direct_cache, mono_aligned_addr_hash, NULL);
+
        res = mono_marshal_find_in_cache (cache, method);
        if (res)
                return res;
@@ -3888,7 +3857,7 @@ mono_marshal_get_runtime_invoke (MonoMethod *method, gboolean virtual)
                need_direct_wrapper = TRUE;
        } else {
                if (method_is_dynamic (method))
-                       callsig = signature_dup (method->klass->image, mono_method_signature (method));
+                       callsig = mono_metadata_signature_dup_full (method->klass->image, mono_method_signature (method));
                else
                        callsig = mono_method_signature (method);
        }
@@ -3910,15 +3879,14 @@ mono_marshal_get_runtime_invoke (MonoMethod *method, gboolean virtual)
                MonoMethodSignature *tmp_sig;
 
                callsig = mono_marshal_get_runtime_invoke_sig (callsig);
+               GHashTable **cache_table = NULL;
 
                if (method->klass->valuetype && mono_method_signature (method)->hasthis)
-                       /* These have a different csig */
-                       cache = get_cache (&target_klass->image->runtime_invoke_vtype_cache,
-                                                          (GHashFunc)mono_signature_hash,
-                                                          (GCompareFunc)runtime_invoke_signature_equal);
+                       cache_table = &mono_method_get_wrapper_cache (method)->runtime_invoke_vtype_cache;
                else
-                       cache = get_cache (&target_klass->image->runtime_invoke_cache,
-                                                          (GHashFunc)mono_signature_hash,
+                       cache_table = &mono_method_get_wrapper_cache (method)->runtime_invoke_cache;
+
+               cache = get_cache (cache_table, (GHashFunc)mono_signature_hash,
                                                           (GCompareFunc)runtime_invoke_signature_equal);
 
                /* from mono_marshal_find_in_cache */
@@ -3993,10 +3961,13 @@ mono_marshal_get_runtime_invoke (MonoMethod *method, gboolean virtual)
                        mono_marshal_lock ();
                        res = g_hash_table_lookup (cache, callsig);
                        if (!res) {
+                               GHashTable *direct_cache;
                                res = newm;
                                g_hash_table_insert (cache, callsig, res);
                                /* Can't insert it into wrapper_hash since the key is a signature */
-                               g_hash_table_insert (method->klass->image->runtime_invoke_direct_cache, method, res);
+                               direct_cache = mono_method_get_wrapper_cache (method)->runtime_invoke_direct_cache;
+
+                               g_hash_table_insert (direct_cache, method, res);
                        } else {
                                mono_free_method (newm);
                        }
@@ -4171,9 +4142,9 @@ mono_marshal_get_icall_wrapper (MonoMethodSignature *sig, const char *name, gcon
 
        /* Add an explicit this argument */
        if (sig->hasthis)
-               csig2 = signature_dup_add_this (mono_defaults.corlib, sig, mono_defaults.object_class);
+               csig2 = mono_metadata_signature_dup_add_this (mono_defaults.corlib, sig, mono_defaults.object_class);
        else
-               csig2 = signature_dup (mono_defaults.corlib, sig);
+               csig2 = mono_metadata_signature_dup_full (mono_defaults.corlib, sig);
 
 #ifndef DISABLE_JIT
        if (sig->hasthis)
@@ -4190,7 +4161,7 @@ mono_marshal_get_icall_wrapper (MonoMethodSignature *sig, const char *name, gcon
        mono_mb_emit_byte (mb, CEE_RET);
 #endif
 
-       csig = signature_dup (mono_defaults.corlib, sig);
+       csig = mono_metadata_signature_dup_full (mono_defaults.corlib, sig);
        csig->pinvoke = 0;
        if (csig->call_convention == MONO_CALL_VARARG)
                csig->call_convention = 0;
@@ -7023,7 +6994,7 @@ mono_marshal_emit_native_wrapper (MonoImage *image, MonoMethodBuilder *mb, MonoM
                g_assert (!sig->hasthis);
                param_shift += 1;
        }
-       csig = signature_dup (mb->method->klass->image, sig);
+       csig = mono_metadata_signature_dup_full (mb->method->klass->image, sig);
        csig->pinvoke = 1;
        m.csig = csig;
        m.image = image;
@@ -7257,17 +7228,22 @@ mono_marshal_get_native_wrapper (MonoMethod *method, gboolean check_exceptions,
        g_assert (method != NULL);
        g_assert (mono_method_signature (method)->pinvoke);
 
+       GHashTable **cache_ptr;
+
        if (aot) {
                if (check_exceptions)
-                       cache = get_cache (&method->klass->image->native_wrapper_aot_check_cache, mono_aligned_addr_hash, NULL);
+                       cache_ptr = &mono_method_get_wrapper_cache (method)->native_wrapper_aot_check_cache;
                else
-                       cache = get_cache (&method->klass->image->native_wrapper_aot_cache, mono_aligned_addr_hash, NULL);
+                       cache_ptr = &mono_method_get_wrapper_cache (method)->native_wrapper_aot_cache;
        } else {
                if (check_exceptions)
-                       cache = get_cache (&method->klass->image->native_wrapper_check_cache, mono_aligned_addr_hash, NULL);
+                       cache_ptr = &mono_method_get_wrapper_cache (method)->native_wrapper_check_cache;
                else
-                       cache = get_cache (&method->klass->image->native_wrapper_cache, mono_aligned_addr_hash, NULL);
+                       cache_ptr = &mono_method_get_wrapper_cache (method)->native_wrapper_cache;
        }
+
+       cache = get_cache (cache_ptr, mono_aligned_addr_hash, NULL);
+
        if ((res = mono_marshal_find_in_cache (cache, method)))
                return res;
 
@@ -7306,7 +7282,7 @@ mono_marshal_get_native_wrapper (MonoMethod *method, gboolean check_exceptions,
                g_assert (sig->hasthis);
 
                /* CreateString returns a value */
-               csig = signature_dup (method->klass->image, sig);
+               csig = mono_metadata_signature_dup_full (method->klass->image, sig);
                csig->ret = &mono_defaults.string_class->byval_arg;
                csig->pinvoke = 0;
 
@@ -7362,7 +7338,7 @@ mono_marshal_get_native_wrapper (MonoMethod *method, gboolean check_exceptions,
                info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_NONE);
                info->d.managed_to_native.method = method;
 
-               csig = signature_dup (method->klass->image, sig);
+               csig = mono_metadata_signature_dup_full (method->klass->image, sig);
                csig->pinvoke = 0;
                res = mono_mb_create_and_cache_full (cache, method, mb, csig,
                                                                                         csig->param_count + 16, info, NULL);
@@ -7374,9 +7350,9 @@ mono_marshal_get_native_wrapper (MonoMethod *method, gboolean check_exceptions,
        /* internal calls: we simply push all arguments and call the method (no conversions) */
        if (method->iflags & (METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL | METHOD_IMPL_ATTRIBUTE_RUNTIME)) {
                if (sig->hasthis)
-                       csig = signature_dup_add_this (method->klass->image, sig, method->klass);
+                       csig = mono_metadata_signature_dup_add_this (method->klass->image, sig, method->klass);
                else
-                       csig = signature_dup (method->klass->image, sig);
+                       csig = mono_metadata_signature_dup_full (method->klass->image, sig);
 
                /* hack - string constructors returns a value */
                if (method->string_ctor)
@@ -7416,7 +7392,7 @@ mono_marshal_get_native_wrapper (MonoMethod *method, gboolean check_exceptions,
                info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_NONE);
                info->d.managed_to_native.method = method;
 
-               csig = signature_dup (method->klass->image, csig);
+               csig = mono_metadata_signature_dup_full (method->klass->image, csig);
                csig->pinvoke = 0;
                res = mono_mb_create_and_cache_full (cache, method, mb, csig, csig->param_count + 16,
                                                                                         info, NULL);
@@ -7438,7 +7414,7 @@ mono_marshal_get_native_wrapper (MonoMethod *method, gboolean check_exceptions,
        info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_PINVOKE);
        info->d.managed_to_native.method = method;
 
-       csig = signature_dup (method->klass->image, sig);
+       csig = mono_metadata_signature_dup_full (method->klass->image, sig);
        csig->pinvoke = 0;
        res = mono_mb_create_and_cache_full (cache, method, mb, csig, csig->param_count + 16,
                                                                                 info, NULL);
@@ -7481,6 +7457,9 @@ mono_marshal_get_native_func_wrapper (MonoImage *image, MonoMethodSignature *sig
        key.sig = sig;
        key.pointer = func;
 
+       // Generic types are not safe to place in MonoImage caches.
+       g_assert (!sig->is_inflated);
+
        cache = get_cache (&image->native_func_wrapper_cache, signature_pointer_pair_hash, signature_pointer_pair_equal);
        if ((res = mono_marshal_find_in_cache (cache, &key)))
                return res;
@@ -7493,7 +7472,7 @@ mono_marshal_get_native_func_wrapper (MonoImage *image, MonoMethodSignature *sig
        mono_marshal_emit_native_wrapper (image, mb, sig, piinfo, mspecs, func, FALSE, TRUE, FALSE);
 #endif
 
-       csig = signature_dup (image, sig);
+       csig = mono_metadata_signature_dup_full (image, sig);
        csig->pinvoke = 0;
 
        new_key = g_new (SignaturePointerPair,1);
@@ -7536,7 +7515,8 @@ mono_marshal_get_native_func_wrapper_aot (MonoClass *klass)
        /*
         * The wrapper is associated with the delegate type, to pick up the marshalling info etc.
         */
-       cache = get_cache (&image->native_func_wrapper_aot_cache, mono_aligned_addr_hash, NULL);
+       cache = get_cache (&mono_method_get_wrapper_cache (invoke)->native_func_wrapper_aot_cache, mono_aligned_addr_hash, NULL);
+
        if ((res = mono_marshal_find_in_cache (cache, invoke)))
                return res;
 
@@ -7561,7 +7541,7 @@ mono_marshal_get_native_func_wrapper_aot (MonoClass *klass)
        info->d.managed_to_native.method = invoke;
 
        g_assert (!sig->hasthis);
-       csig = signature_dup_add_this (image, sig, mono_defaults.object_class);
+       csig = mono_metadata_signature_dup_add_this (image, sig, mono_defaults.object_class);
        csig->pinvoke = 0;
        res = mono_mb_create_and_cache_full (cache, invoke,
                                                                                 mb, csig, csig->param_count + 16,
@@ -7889,7 +7869,8 @@ mono_marshal_get_managed_wrapper (MonoMethod *method, MonoClass *delegate_klass,
         * could be called with different delegates, thus different marshalling
         * options.
         */
-       cache = get_cache (&method->klass->image->managed_wrapper_cache, mono_aligned_addr_hash, NULL);
+       cache = get_cache (&mono_method_get_wrapper_cache (method)->managed_wrapper_cache, mono_aligned_addr_hash, NULL);
+
        if (!target_handle && (res = mono_marshal_find_in_cache (cache, method)))
                return res;
 
@@ -7911,7 +7892,7 @@ mono_marshal_get_managed_wrapper (MonoMethod *method, MonoClass *delegate_klass,
                /* Need to free this later */
                csig = mono_metadata_signature_dup (invoke_sig);
        else
-               csig = signature_dup (method->klass->image, invoke_sig);
+               csig = mono_metadata_signature_dup_full (method->klass->image, invoke_sig);
        csig->hasthis = 0;
        csig->pinvoke = 1;
 
@@ -8015,7 +7996,7 @@ mono_marshal_get_managed_wrapper (MonoMethod *method, MonoClass *delegate_klass,
                                                                                         info, NULL);
        } else {
 #ifndef DISABLE_JIT
-               mb->dynamic = 1;
+               mb->dynamic = TRUE;
 #endif
                res = mono_mb_create (mb, csig, sig->param_count + 16, NULL);
        }
@@ -8056,7 +8037,7 @@ mono_marshal_get_vtfixup_ftnptr (MonoImage *image, guint32 token, guint16 type)
                mono_method_get_marshal_info (method, mspecs);
 
                mb = mono_mb_new (method->klass, method->name, MONO_WRAPPER_NATIVE_TO_MANAGED);
-               csig = signature_dup (image, sig);
+               csig = mono_metadata_signature_dup_full (image, sig);
                csig->hasthis = 0;
                csig->pinvoke = 1;
 
@@ -8075,7 +8056,7 @@ mono_marshal_get_vtfixup_ftnptr (MonoImage *image, guint32 token, guint16 type)
                mono_marshal_emit_managed_wrapper (mb, sig, mspecs, &m, method, 0);
 
 #ifndef DISABLE_JIT
-               mb->dynamic = 1;
+               mb->dynamic = TRUE;
 #endif
                method = mono_mb_create (mb, csig, sig->param_count + 16, NULL);
                mono_mb_free (mb);
@@ -8102,7 +8083,7 @@ mono_marshal_get_vtfixup_ftnptr (MonoImage *image, guint32 token, guint16 type)
                mono_mb_emit_op (mb, CEE_CALL, method);
        mono_mb_emit_byte (mb, CEE_RET);
 
-       mb->dynamic = 1;
+       mb->dynamic = TRUE;
 #endif
 
        method = mono_mb_create (mb, sig, param_count, NULL);
@@ -8613,7 +8594,7 @@ mono_marshal_get_ptr_to_struct (MonoClass *klass)
                          static void PtrToStructure (IntPtr ptr, object structure);
                   defined in class/corlib/System.Runtime.InteropServices/Marshal.cs */
                sig = mono_create_icall_signature ("void ptr object");
-               sig = signature_dup (mono_defaults.corlib, sig);
+               sig = mono_metadata_signature_dup_full (mono_defaults.corlib, sig);
                sig->pinvoke = 0;
                mono_memory_barrier ();
                ptostr = sig;
@@ -8689,7 +8670,7 @@ mono_marshal_get_synchronized_inner_wrapper (MonoMethod *method)
        mono_mb_emit_exception_full (mb, "System", "ExecutionEngineException", "Shouldn't be called.");
        mono_mb_emit_byte (mb, CEE_RET);
 #endif
-       sig = signature_dup (method->klass->image, mono_method_signature (method));
+       sig = mono_metadata_signature_dup_full (method->klass->image, mono_method_signature (method));
 
        info = mono_wrapper_info_create (mb, WRAPPER_SUBTYPE_SYNCHRONIZED_INNER);
        info->d.synchronized_inner.method = method;
@@ -8716,7 +8697,7 @@ mono_marshal_get_synchronized_wrapper (MonoMethod *method)
        MonoMethodBuilder *mb;
        MonoMethod *res;
        GHashTable *cache;
-       int i, pos, this_local, ret_local = 0;
+       int i, pos, pos2, this_local, taken_local, ret_local = 0;
        MonoGenericContext *ctx = NULL;
        MonoMethod *orig_method = NULL;
        MonoGenericContainer *container = NULL;
@@ -8741,22 +8722,23 @@ mono_marshal_get_synchronized_wrapper (MonoMethod *method)
         * Check cache
         */
        if (ctx) {
-               cache = get_cache (&method->klass->image->synchronized_generic_cache, mono_aligned_addr_hash, NULL);
+               cache = get_cache (&((MonoMethodInflated*)orig_method)->owner->wrapper_caches.synchronized_cache, mono_aligned_addr_hash, NULL);
                res = check_generic_wrapper_cache (cache, orig_method, orig_method, method);
                if (res)
                        return res;
        } else {
-               cache = get_cache (&method->klass->image->synchronized_cache, mono_aligned_addr_hash, NULL);
+               cache = get_cache (&method->klass->image->wrapper_caches.synchronized_cache, mono_aligned_addr_hash, NULL);
                if ((res = mono_marshal_find_in_cache (cache, method)))
                        return res;
        }
 
-       sig = signature_dup (method->klass->image, mono_method_signature (method));
+       sig = mono_metadata_signature_dup_full (method->klass->image, mono_method_signature (method));
        sig->pinvoke = 0;
 
        mb = mono_mb_new (method->klass, method->name, MONO_WRAPPER_SYNCHRONIZED);
 
 #ifndef DISABLE_JIT
+       mb->skip_visibility = 1;
        /* result */
        if (!MONO_TYPE_IS_VOID (sig->ret))
                ret_local = mono_mb_add_local (mb, sig->ret);
@@ -8785,6 +8767,7 @@ mono_marshal_get_synchronized_wrapper (MonoMethod *method)
 #ifndef DISABLE_JIT
        /* this */
        this_local = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
+       taken_local = mono_mb_add_local (mb, &mono_defaults.boolean_class->byval_arg);
 
        clause = mono_image_alloc0 (method->klass->image, sizeof (MonoExceptionClause));
        clause->flags = MONO_EXCEPTION_CLAUSE_FINALLY;
@@ -8795,7 +8778,7 @@ mono_marshal_get_synchronized_wrapper (MonoMethod *method)
        if (!enter_method) {
                MonoMethodDesc *desc;
 
-               desc = mono_method_desc_new ("Monitor:Enter", FALSE);
+               desc = mono_method_desc_new ("Monitor:enter_with_atomic_var(object,bool&)", FALSE);
                enter_method = mono_method_desc_search_in_class (desc, mono_defaults.monitor_class);
                g_assert (enter_method);
                mono_method_desc_free (desc);
@@ -8830,6 +8813,7 @@ mono_marshal_get_synchronized_wrapper (MonoMethod *method)
 
        /* Call Monitor::Enter() */
        mono_mb_emit_ldloc (mb, this_local);
+       mono_mb_emit_ldloc_addr (mb, taken_local);
        mono_mb_emit_managed_call (mb, enter_method, NULL);
 
        clause->try_offset = mono_mb_get_label (mb);
@@ -8856,9 +8840,12 @@ mono_marshal_get_synchronized_wrapper (MonoMethod *method)
        clause->try_len = mono_mb_get_pos (mb) - clause->try_offset;
        clause->handler_offset = mono_mb_get_label (mb);
 
-       /* Call Monitor::Exit() */
+       /* Call Monitor::Exit() if needed */
+       mono_mb_emit_ldloc (mb, taken_local);
+       pos2 = mono_mb_emit_branch (mb, CEE_BRFALSE);
        mono_mb_emit_ldloc (mb, this_local);
        mono_mb_emit_managed_call (mb, exit_method, NULL);
+       mono_mb_patch_branch (mb, pos2);
        mono_mb_emit_byte (mb, CEE_ENDFINALLY);
 
        clause->handler_len = mono_mb_get_pos (mb) - clause->handler_offset;
@@ -8897,7 +8884,8 @@ mono_marshal_get_unbox_wrapper (MonoMethod *method)
        MonoMethod *res;
        GHashTable *cache;
 
-       cache = get_cache (&method->klass->image->unbox_wrapper_cache, mono_aligned_addr_hash, NULL);
+       cache = get_cache (&mono_method_get_wrapper_cache (method)->unbox_wrapper_cache, mono_aligned_addr_hash, NULL);
+
        if ((res = mono_marshal_find_in_cache (cache, method)))
                return res;
 
@@ -9876,7 +9864,7 @@ mono_marshal_get_array_accessor_wrapper (MonoMethod *method)
                        return res;
        }
 
-       sig = signature_dup (method->klass->image, mono_method_signature (method));
+       sig = mono_metadata_signature_dup_full (method->klass->image, mono_method_signature (method));
        sig->pinvoke = 0;
 
        mb = mono_mb_new (method->klass, method->name, MONO_WRAPPER_UNKNOWN);
@@ -10399,42 +10387,44 @@ ves_icall_System_Runtime_InteropServices_Marshal_DestroyStructure (gpointer src,
 }
 
 void*
-ves_icall_System_Runtime_InteropServices_Marshal_AllocHGlobal (int size)
+ves_icall_System_Runtime_InteropServices_Marshal_AllocHGlobal (gpointer size)
 {
        gpointer res;
+       size_t s = (size_t)size;
 
-       if ((gulong)size == 0)
+       if (s == 0)
                /* This returns a valid pointer for size 0 on MS.NET */
-               size = 4;
+               s = 4;
 
 #ifdef HOST_WIN32
-       res = GlobalAlloc (GMEM_FIXED, (gulong)size);
+       res = GlobalAlloc (GMEM_FIXED, s);
 #else
-       res = g_try_malloc ((gulong)size);
+       res = g_try_malloc (s);
 #endif
        if (!res)
-               mono_gc_out_of_memory ((gulong)size);
+               mono_gc_out_of_memory (s);
 
        return res;
 }
 
 gpointer
-ves_icall_System_Runtime_InteropServices_Marshal_ReAllocHGlobal (gpointer ptr, int size)
+ves_icall_System_Runtime_InteropServices_Marshal_ReAllocHGlobal (gpointer ptr, gpointer size)
 {
        gpointer res;
+       size_t s = (size_t)size;
 
        if (ptr == NULL) {
-               mono_gc_out_of_memory ((gulong)size);
+               mono_gc_out_of_memory (s);
                return NULL;
        }
 
 #ifdef HOST_WIN32
-       res = GlobalReAlloc (ptr, (gulong)size, GMEM_MOVEABLE);
+       res = GlobalReAlloc (ptr, s, GMEM_MOVEABLE);
 #else
-       res = g_try_realloc (ptr, (gulong)size);
+       res = g_try_realloc (ptr, s);
 #endif
        if (!res)
-               mono_gc_out_of_memory ((gulong)size);
+               mono_gc_out_of_memory (s);
 
        return res;
 }
@@ -11031,7 +11021,7 @@ mono_marshal_get_generic_array_helper (MonoClass *class, MonoClass *iface, gchar
                METHOD_ATTRIBUTE_NEW_SLOT | METHOD_ATTRIBUTE_HIDE_BY_SIG | METHOD_ATTRIBUTE_FINAL;
 
        sig = mono_method_signature (method);
-       csig = signature_dup (method->klass->image, sig);
+       csig = mono_metadata_signature_dup_full (method->klass->image, sig);
        csig->generic_param_count = 0;
 
 #ifndef DISABLE_JIT
@@ -11124,12 +11114,17 @@ mono_marshal_get_thunk_invoke_wrapper (MonoMethod *method)
        GHashTable *cache;
        MonoMethod *res;
        int i, param_count, sig_size, pos_leave;
+#ifdef USE_COOP_GC
+       int coop_gc_var;
+#endif
 
        g_assert (method);
 
        klass = method->klass;
        image = method->klass->image;
-       cache = get_cache (&image->thunk_invoke_cache, mono_aligned_addr_hash, NULL);
+
+       cache = get_cache (&mono_method_get_wrapper_cache (method)->thunk_invoke_cache, mono_aligned_addr_hash, NULL);
+
 
        if ((res = mono_marshal_find_in_cache (cache, method)))
                return res;
@@ -11175,11 +11170,23 @@ mono_marshal_get_thunk_invoke_wrapper (MonoMethod *method)
        if (!MONO_TYPE_IS_VOID (sig->ret))
                mono_mb_add_local (mb, sig->ret);
 
+#ifdef USE_COOP_GC
+       /* local 4, the local to be used when calling the reset_blocking funcs */
+       /* tons of code hardcode 3 to be the return var */
+       coop_gc_var = mono_mb_add_local (mb, &mono_defaults.int_class->byval_arg);
+#endif
+
        /* clear exception arg */
        mono_mb_emit_ldarg (mb, param_count - 1);
        mono_mb_emit_byte (mb, CEE_LDNULL);
        mono_mb_emit_byte (mb, CEE_STIND_REF);
 
+#ifdef USE_COOP_GC
+       /* FIXME this is technically wrong as the callback itself must be executed in gc unsafe context. */
+       mono_mb_emit_icall (mb, mono_threads_reset_blocking_start);
+       mono_mb_emit_stloc (mb, coop_gc_var);
+#endif
+
        /* try */
        clause = mono_image_alloc0 (image, sizeof (MonoExceptionClause));
        clause->try_offset = mono_mb_get_label (mb);
@@ -11249,6 +11256,12 @@ mono_marshal_get_thunk_invoke_wrapper (MonoMethod *method)
                        mono_mb_emit_op (mb, CEE_BOX, mono_class_from_mono_type (sig->ret));
        }
 
+#ifdef USE_COOP_GC
+       /* XXX merge reset_blocking_end with detach */
+       mono_mb_emit_ldloc (mb, coop_gc_var);
+       mono_mb_emit_icall (mb, mono_threads_reset_blocking_end);
+#endif
+
        mono_mb_emit_byte (mb, CEE_RET);
 #endif
 
@@ -11277,10 +11290,10 @@ mono_marshal_free_dynamic_wrappers (MonoMethod *method)
         * FIXME: We currently leak the wrappers. Freeing them would be tricky as
         * they could be shared with other methods ?
         */
-       if (image->runtime_invoke_direct_cache)
-               g_hash_table_remove (image->runtime_invoke_direct_cache, method);
-       if (image->delegate_abstract_invoke_cache)
-               g_hash_table_foreach_remove (image->delegate_abstract_invoke_cache, signature_pointer_pair_matches_pointer, method);
+       if (image->wrapper_caches.runtime_invoke_direct_cache)
+               g_hash_table_remove (image->wrapper_caches.runtime_invoke_direct_cache, method);
+       if (image->wrapper_caches.delegate_abstract_invoke_cache)
+               g_hash_table_foreach_remove (image->wrapper_caches.delegate_abstract_invoke_cache, signature_pointer_pair_matches_pointer, method);
        // FIXME: Need to clear the caches in other images as well
        if (image->delegate_bound_static_invoke_cache)
                g_hash_table_remove (image->delegate_bound_static_invoke_cache, mono_method_signature (method));
@@ -11288,83 +11301,3 @@ mono_marshal_free_dynamic_wrappers (MonoMethod *method)
        if (marshal_mutex_initialized)
                mono_marshal_unlock ();
 }
-
-static gboolean
-signature_pointer_pair_matches_signature (gpointer key, gpointer value, gpointer user_data)
-{
-       SignaturePointerPair *pair = (SignaturePointerPair*)key;
-       MonoMethodSignature *sig = (MonoMethodSignature*)user_data;
-
-       return mono_metadata_signature_equal (pair->sig, sig);
-}
-
-/*
- * mono_marshal_free_inflated_wrappers:
- *
- *   Free wrappers of the inflated method METHOD.
- */
-void
-mono_marshal_free_inflated_wrappers (MonoMethod *method)
-{
-       MonoMethodSignature *sig = method->signature;
-
-       g_assert (method->is_inflated);
-
-       /* Ignore calls occuring late during cleanup.  */
-       if (!marshal_mutex_initialized)
-               return;
-
-       mono_marshal_lock ();
-       /*
-        * FIXME: We currently leak the wrappers. Freeing them would be tricky as
-        * they could be shared with other methods ?
-        */
-
-        /*
-         * indexed by MonoMethodSignature
-         */
-          /* FIXME: This could remove unrelated wrappers as well */
-       if (sig && method->klass->image->delegate_begin_invoke_cache)
-               g_hash_table_remove (method->klass->image->delegate_begin_invoke_cache, sig);
-       if (sig && method->klass->image->delegate_end_invoke_cache)
-               g_hash_table_remove (method->klass->image->delegate_end_invoke_cache, sig);
-       if (sig && method->klass->image->delegate_invoke_cache)
-               g_hash_table_remove (method->klass->image->delegate_invoke_cache, sig);
-       if (sig && method->klass->image->runtime_invoke_cache)
-               g_hash_table_remove (method->klass->image->runtime_invoke_cache, sig);
-       if (sig && method->klass->image->runtime_invoke_vtype_cache)
-               g_hash_table_remove (method->klass->image->runtime_invoke_vtype_cache, sig);
-
-        /*
-         * indexed by SignaturePointerPair
-         */
-       if (sig && method->klass->image->delegate_abstract_invoke_cache)
-               g_hash_table_foreach_remove (method->klass->image->delegate_abstract_invoke_cache,
-                                            signature_pointer_pair_matches_signature, (gpointer)sig);
-
-        /*
-         * indexed by MonoMethod pointers
-         */
-       if (method->klass->image->runtime_invoke_direct_cache)
-               g_hash_table_remove (method->klass->image->runtime_invoke_direct_cache, method);
-       if (method->klass->image->managed_wrapper_cache)
-               g_hash_table_remove (method->klass->image->managed_wrapper_cache, method);
-       if (method->klass->image->native_wrapper_cache)
-               g_hash_table_remove (method->klass->image->native_wrapper_cache, method);
-       if (method->klass->image->remoting_invoke_cache)
-               g_hash_table_remove (method->klass->image->remoting_invoke_cache, method);
-       if (method->klass->image->synchronized_cache)
-               g_hash_table_remove (method->klass->image->synchronized_cache, method);
-       if (method->klass->image->unbox_wrapper_cache)
-               g_hash_table_remove (method->klass->image->unbox_wrapper_cache, method);
-       if (method->klass->image->cominterop_invoke_cache)
-               g_hash_table_remove (method->klass->image->cominterop_invoke_cache, method);
-       if (method->klass->image->cominterop_wrapper_cache)
-               g_hash_table_remove (method->klass->image->cominterop_wrapper_cache, method);
-       if (method->klass->image->thunk_invoke_cache)
-               g_hash_table_remove (method->klass->image->thunk_invoke_cache, method);
-       if (method->klass->image->native_func_wrapper_aot_cache)
-               g_hash_table_remove (method->klass->image->native_func_wrapper_aot_cache, method);
-
-       mono_marshal_unlock ();
-}
index 38a7a5c20e2862a83ab8a3abebe8519749735060..eb692fb2d41d91777a92e4729ffbaca103c74d4c 100644 (file)
@@ -396,9 +396,6 @@ mono_marshal_get_gsharedvt_out_wrapper (void);
 void
 mono_marshal_free_dynamic_wrappers (MonoMethod *method);
 
-void
-mono_marshal_free_inflated_wrappers (MonoMethod *method);
-
 void
 mono_marshal_lock_internal (void);
 
@@ -488,10 +485,10 @@ gpointer
 ves_icall_System_Runtime_InteropServices_Marshal_ReAllocCoTaskMem (gpointer ptr, int size);
 
 void*
-ves_icall_System_Runtime_InteropServices_Marshal_AllocHGlobal (int size);
+ves_icall_System_Runtime_InteropServices_Marshal_AllocHGlobal (gpointer size);
 
 gpointer 
-ves_icall_System_Runtime_InteropServices_Marshal_ReAllocHGlobal (gpointer ptr, int size);
+ves_icall_System_Runtime_InteropServices_Marshal_ReAllocHGlobal (gpointer ptr, gpointer size);
 
 void
 ves_icall_System_Runtime_InteropServices_Marshal_FreeHGlobal (void *ptr);
index f8e76526f43c07768068b88501d836c3a25065cd..97723beeb97505f1cd41c256748bcb408ec5b46e 100644 (file)
@@ -100,6 +100,43 @@ struct _MonoAssembly {
        guint32 skipverification:2;     /* Has SecurityPermissionFlag.SkipVerification permission */
 };
 
+typedef struct {
+       /*
+        * indexed by MonoMethodSignature 
+        * Protected by the marshal lock
+        */
+       GHashTable *delegate_invoke_cache;
+       GHashTable *delegate_begin_invoke_cache;
+       GHashTable *delegate_end_invoke_cache;
+       GHashTable *runtime_invoke_cache;
+       GHashTable *runtime_invoke_vtype_cache;
+
+       /*
+        * indexed by SignaturePointerPair
+        */
+       GHashTable *delegate_abstract_invoke_cache;
+
+       /*
+        * indexed by MonoMethod pointers
+        * Protected by the marshal lock
+        */
+       GHashTable *runtime_invoke_direct_cache;
+       GHashTable *managed_wrapper_cache;
+
+       GHashTable *native_wrapper_cache;
+       GHashTable *native_wrapper_aot_cache;
+       GHashTable *native_wrapper_check_cache;
+       GHashTable *native_wrapper_aot_check_cache;
+
+       GHashTable *native_func_wrapper_aot_cache;
+       GHashTable *remoting_invoke_cache;
+       GHashTable *synchronized_cache;
+       GHashTable *unbox_wrapper_cache;
+       GHashTable *cominterop_invoke_cache;
+       GHashTable *cominterop_wrapper_cache; /* LOCKING: marshal lock */
+       GHashTable *thunk_invoke_cache;
+} MonoWrapperCaches;
+
 typedef struct {
        const char* data;
        guint32  size;
@@ -255,41 +292,17 @@ struct _MonoImage {
        /* This has a separate lock to improve scalability */
        mono_mutex_t szarray_cache_lock;
 
-       /*
-        * indexed by MonoMethodSignature 
-        */
-       GHashTable *delegate_begin_invoke_cache;
-       GHashTable *delegate_end_invoke_cache;
-       GHashTable *delegate_invoke_cache;
-       GHashTable *runtime_invoke_cache;
-       GHashTable *runtime_invoke_vtype_cache;
-
        /*
         * indexed by SignaturePointerPair
         */
-       GHashTable *delegate_abstract_invoke_cache;
        GHashTable *delegate_bound_static_invoke_cache;
        GHashTable *native_func_wrapper_cache;
 
        /*
         * indexed by MonoMethod pointers 
         */
-       GHashTable *runtime_invoke_direct_cache;
        GHashTable *runtime_invoke_vcall_cache;
-       GHashTable *managed_wrapper_cache;
-       GHashTable *native_wrapper_cache;
-       GHashTable *native_wrapper_aot_cache;
-       GHashTable *native_wrapper_check_cache;
-       GHashTable *native_wrapper_aot_check_cache;
-       GHashTable *native_func_wrapper_aot_cache;
-       GHashTable *remoting_invoke_cache;
-       GHashTable *synchronized_cache;
-       GHashTable *unbox_wrapper_cache;
-       GHashTable *cominterop_invoke_cache;
-       GHashTable *cominterop_wrapper_cache; /* LOCKING: marshal lock */
-       GHashTable *thunk_invoke_cache;
        GHashTable *wrapper_param_names;
-       GHashTable *synchronized_generic_cache;
        GHashTable *array_accessor_cache;
 
        /*
@@ -302,9 +315,6 @@ struct _MonoImage {
        GHashTable *castclass_cache;
        GHashTable *proxy_isinst_cache;
        GHashTable *rgctx_template_hash; /* LOCKING: templates lock */
-       GHashTable *delegate_invoke_generic_cache;
-       GHashTable *delegate_begin_invoke_generic_cache;
-       GHashTable *delegate_end_invoke_generic_cache;
 
        /* Contains rarely used fields of runtime structures belonging to this image */
        MonoPropertyHash *property_hash;
@@ -328,10 +338,14 @@ struct _MonoImage {
           malloc'ed regions to be freed. */
        GSList *reflection_info_unregister_classes;
 
-       /* List of image sets containing this image */
+       /* List of dependent image sets containing this image */
        /* Protected by image_sets_lock */
        GSList *image_sets;
 
+       /* Caches for wrappers that DO NOT reference generic */
+       /* arguments */
+       MonoWrapperCaches wrapper_caches;
+
        /* Caches for MonoClass-es representing anon generic params */
        MonoClass **var_cache_fast;
        MonoClass **mvar_cache_fast;
@@ -369,8 +383,11 @@ typedef struct {
        int nimages;
        MonoImage **images;
 
+       // Generic-specific caches
        GHashTable *gclass_cache, *ginst_cache, *gmethod_cache, *gsignature_cache;
 
+       MonoWrapperCaches wrapper_caches;
+
        mono_mutex_t    lock;
 
        /*
@@ -629,6 +646,12 @@ mono_image_set_alloc  (MonoImageSet *set, guint size);
 gpointer
 mono_image_set_alloc0 (MonoImageSet *set, guint size);
 
+void
+mono_image_set_lock (MonoImageSet *set);
+
+void
+mono_image_set_unlock (MonoImageSet *set);
+
 char*
 mono_image_set_strdup (MonoImageSet *set, const char *s);
 
@@ -753,6 +776,7 @@ void mono_unload_interface_ids (MonoBitSet *bitset);
 MonoType *mono_metadata_type_dup (MonoImage *image, const MonoType *original);
 MonoMethodSignature  *mono_metadata_signature_dup_full (MonoImage *image,MonoMethodSignature *sig);
 MonoMethodSignature  *mono_metadata_signature_dup_mempool (MonoMemPool *mp, MonoMethodSignature *sig);
+MonoMethodSignature  *mono_metadata_signature_dup_add_this (MonoImage *image, MonoMethodSignature *sig, MonoClass *klass);
 
 MonoGenericInst *
 mono_get_shared_generic_inst (MonoGenericContainer *container);
@@ -803,6 +827,8 @@ MonoImage *mono_image_open_raw (const char *fname, MonoImageOpenStatus *status);
 
 MonoImage *mono_image_open_metadata_only (const char *fname, MonoImageOpenStatus *status);
 
+MonoImage *mono_image_open_from_data_internal (char *data, guint32 data_len, gboolean need_copy, MonoImageOpenStatus *status, gboolean refonly, gboolean metadata_only, const char *name);
+
 MonoException *mono_get_exception_field_access_msg (const char *msg);
 
 MonoException *mono_get_exception_method_access_msg (const char *msg);
@@ -827,5 +853,14 @@ mono_get_method_checked (MonoImage *image, guint32 token, MonoClass *klass, Mono
 guint32
 mono_metadata_localscope_from_methoddef (MonoImage *meta, guint32 index);
 
+void
+mono_wrapper_caches_free (MonoWrapperCaches *cache);
+
+MonoWrapperCaches*
+mono_method_get_wrapper_cache (MonoMethod *method);
+
+MonoWrapperCaches*
+mono_method_get_wrapper_cache (MonoMethod *method);
+
 #endif /* __MONO_METADATA_INTERNALS_H__ */
 
index 6d46ecf25a97325d707e95b3cfbf5345371446af..f08f7fa0b8998b8dd4cbd9d0f992e98353bef5e2 100644 (file)
@@ -19,8 +19,8 @@
 #include "mono-endian.h"
 #include "cil-coff.h"
 #include "tokentype.h"
-#include "metadata-internals.h"
 #include "class-internals.h"
+#include "metadata-internals.h"
 #include "verify-internals.h"
 #include "class.h"
 #include "marshal.h"
@@ -1858,11 +1858,13 @@ mono_metadata_signature_alloc (MonoImage *m, guint32 nparams)
 }
 
 static MonoMethodSignature*
-mono_metadata_signature_dup_internal (MonoImage *image, MonoMemPool *mp, MonoMethodSignature *sig)
+mono_metadata_signature_dup_internal_with_padding (MonoImage *image, MonoMemPool *mp, MonoMethodSignature *sig, size_t padding)
 {
-       int sigsize;
+       int sigsize, sig_header_size;
        MonoMethodSignature *ret;
-       sigsize = MONO_SIZEOF_METHOD_SIGNATURE + sig->param_count * sizeof (MonoType *);
+       sigsize = sig_header_size = MONO_SIZEOF_METHOD_SIGNATURE + sig->param_count * sizeof (MonoType *) + padding;
+       if (sig->ret)
+               sigsize += MONO_SIZEOF_TYPE;
 
        if (image) {
                ret = mono_image_alloc (image, sigsize);
@@ -1871,14 +1873,62 @@ mono_metadata_signature_dup_internal (MonoImage *image, MonoMemPool *mp, MonoMet
        } else {
                ret = g_malloc (sigsize);
        }
-       memcpy (ret, sig, sigsize);
+
+       memcpy (ret, sig, sig_header_size - padding);
+
+       // Copy return value because of ownership semantics.
+       if (sig->ret) {
+               // Danger! Do not alter padding use without changing the dup_add_this below
+               intptr_t end_of_header = (intptr_t)( (char*)(ret) + sig_header_size);
+               ret->ret = (MonoType *)end_of_header;
+               memcpy (ret->ret, sig->ret, MONO_SIZEOF_TYPE);
+       }
+
+       return ret;
+}
+
+static MonoMethodSignature*
+mono_metadata_signature_dup_internal (MonoImage *image, MonoMemPool *mp, MonoMethodSignature *sig)
+{
+       return mono_metadata_signature_dup_internal_with_padding (image, mp, sig, 0);
+}
+/*
+ * signature_dup_add_this:
+ *
+ *  Make a copy of @sig, adding an explicit this argument.
+ */
+MonoMethodSignature*
+mono_metadata_signature_dup_add_this (MonoImage *image, MonoMethodSignature *sig, MonoClass *klass)
+{
+       MonoMethodSignature *ret;
+       ret = mono_metadata_signature_dup_internal_with_padding (image, NULL, sig, sizeof (MonoType *));
+
+       ret->param_count = sig->param_count + 1;
+       ret->hasthis = FALSE;
+
+       for (int i = sig->param_count - 1; i >= 0; i --)
+               ret->params [i + 1] = sig->params [i];
+       ret->params [0] = klass->valuetype ? &klass->this_arg : &klass->byval_arg;
+
+       for (int i = sig->param_count - 1; i >= 0; i --)
+               g_assert(ret->params [i + 1]->type == sig->params [i]->type && ret->params [i+1]->type != MONO_TYPE_END);
+       g_assert (ret->ret->type == sig->ret->type && ret->ret->type != MONO_TYPE_END);
+
        return ret;
 }
 
+
+
 MonoMethodSignature*
 mono_metadata_signature_dup_full (MonoImage *image, MonoMethodSignature *sig)
 {
-       return mono_metadata_signature_dup_internal (image, NULL, sig);
+       MonoMethodSignature *ret = mono_metadata_signature_dup_internal (image, NULL, sig);
+
+       for (int i = 0 ; i < sig->param_count; i ++)
+               g_assert(ret->params [i]->type == sig->params [i]->type);
+       g_assert (ret->ret->type == sig->ret->type);
+
+       return ret;
 }
 
 /*The mempool is accessed without synchronization*/
@@ -2100,8 +2150,6 @@ inflated_method_equal (gconstpointer a, gconstpointer b)
        const MonoMethodInflated *mb = b;
        if (ma->declaring != mb->declaring)
                return FALSE;
-       if (ma->method.method.is_mb_open != mb->method.method.is_mb_open)
-               return FALSE;
        return mono_metadata_generic_context_equal (&ma->context, &mb->context);
 }
 
@@ -2109,7 +2157,7 @@ static guint
 inflated_method_hash (gconstpointer a)
 {
        const MonoMethodInflated *ma = a;
-       return (mono_metadata_generic_context_hash (&ma->context) ^ mono_aligned_addr_hash (ma->declaring)) + ma->method.method.is_mb_open;
+       return (mono_metadata_generic_context_hash (&ma->context) ^ mono_aligned_addr_hash (ma->declaring));
 }
 
 static gboolean
@@ -2347,6 +2395,8 @@ delete_image_set (MonoImageSet *set)
        g_hash_table_destroy (set->gmethod_cache);
        g_hash_table_destroy (set->gsignature_cache);
 
+       mono_wrapper_caches_free (&set->wrapper_caches);
+
        image_sets_lock ();
 
        for (i = 0; i < set->nimages; ++i)
@@ -2363,13 +2413,13 @@ delete_image_set (MonoImageSet *set)
        g_free (set);
 }
 
-static void
+void
 mono_image_set_lock (MonoImageSet *set)
 {
        mono_mutex_lock (&set->lock);
 }
 
-static void
+void
 mono_image_set_unlock (MonoImageSet *set)
 {
        mono_mutex_unlock (&set->lock);
@@ -2746,8 +2796,6 @@ free_inflated_method (MonoMethodInflated *imethod)
        int i;
        MonoMethod *method = (MonoMethod*)imethod;
 
-       mono_marshal_free_inflated_wrappers (method);
-
        if (method->signature)
                mono_metadata_free_inflated_signature (method->signature);
 
@@ -2793,32 +2841,6 @@ free_inflated_signature (MonoInflatedMethodSignature *sig)
        g_free (sig);
 }
 
-MonoMethodInflated*
-mono_method_inflated_lookup (MonoMethodInflated* method, gboolean cache)
-{
-       CollectData data;
-       MonoImageSet *set;
-       gpointer res;
-
-       collect_data_init (&data);
-
-       collect_method_images (method, &data);
-
-       set = get_image_set (data.images, data.nimages);
-
-       collect_data_free (&data);
-
-       mono_image_set_lock (set);
-       res = g_hash_table_lookup (set->gmethod_cache, method);
-       if (!res && cache) {
-               g_hash_table_insert (set->gmethod_cache, method, method);
-               res = method;
-       }
-
-       mono_image_set_unlock (set);
-       return res;
-}
-
 /*
  * mono_metadata_get_inflated_signature:
  *
@@ -2861,6 +2883,20 @@ mono_metadata_get_inflated_signature (MonoMethodSignature *sig, MonoGenericConte
        return res->sig;
 }
 
+MonoImageSet *
+mono_metadata_get_image_set_for_method (MonoMethodInflated *method)
+{
+       MonoImageSet *set;
+       CollectData image_set_data;
+
+       collect_data_init (&image_set_data);
+       collect_method_images (method, &image_set_data);
+       set = get_image_set (image_set_data.images, image_set_data.nimages);
+       collect_data_free (&image_set_data);
+
+       return set;
+}
+
 /*
  * mono_metadata_get_generic_inst:
  *
@@ -6522,3 +6558,13 @@ mono_metadata_get_corresponding_property_from_generic_type_definition (MonoPrope
        return gtd->ext->properties + offset;
 }
 
+MonoWrapperCaches*
+mono_method_get_wrapper_cache (MonoMethod *method)
+{
+       if (method->is_inflated) {
+               MonoMethodInflated *imethod = (MonoMethodInflated *)method;
+               return &imethod->owner->wrapper_caches;
+       } else {
+               return &method->klass->image->wrapper_caches;
+       }
+}
index d66a0ad5b2b639d718f373c6e846713a6e4ce954..234598d496250d8026180410ecc8664aef17af11 100644 (file)
@@ -172,7 +172,7 @@ mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, in
                memcpy ((char*)header->code, mb->code, mb->pos);
 
                for (i = 0, l = mb->locals_list; l; l = l->next, i++) {
-                       header->locals [i] = (MonoType *)l->data;
+                       header->locals [i] = mono_metadata_type_dup (NULL, (MonoType*)l->data);
                }
 #endif
        }
index 36a42db0bf7d13c23d3969b39cc8195831eb52d3..151c1d382c91033269361ce8ff1fcdbb2da617f2 100644 (file)
@@ -64,15 +64,7 @@ enum {
  *
  * Bacon's thin locks have a fast path that doesn't need a lock record
  * for the common case of locking an unlocked or shallow-nested
- * object, but the technique relies on encoding the thread ID in 15
- * bits (to avoid too much per-object space overhead.)  Unfortunately
- * I don't think it's possible to reliably encode a pthread_t into 15
- * bits. (The JVM implementation used seems to have a 15-bit
- * per-thread identifier available.)
- *
- * This implementation then combines Dice's basic lock model with
- * Bacon's simplification of keeping a lock record for the lifetime of
- * an object.
+ * object.
  */
 
 
@@ -91,6 +83,8 @@ static MonoThreadsSync *monitor_freelist;
 static MonitorArray *monitor_allocated;
 static int array_size = 16;
 
+/* MonoThreadsSync status helpers */
+
 static inline guint32
 mon_status_get_owner (guint32 status)
 {
@@ -135,6 +129,122 @@ mon_status_have_waiters (guint32 status)
        return status & ENTRY_COUNT_WAITERS;
 }
 
+/* LockWord helpers */
+
+static inline MonoThreadsSync*
+lock_word_get_inflated_lock (LockWord lw)
+{
+       lw.lock_word &= (~LOCK_WORD_STATUS_MASK);
+       return lw.sync;
+}
+
+static inline gboolean
+lock_word_is_inflated (LockWord lw)
+{
+       return lw.lock_word & LOCK_WORD_INFLATED;
+}
+
+static inline gboolean
+lock_word_has_hash (LockWord lw)
+{
+       return lw.lock_word & LOCK_WORD_HAS_HASH;
+}
+
+static inline LockWord
+lock_word_set_has_hash (LockWord lw)
+{
+       LockWord nlw;
+       nlw.lock_word = lw.lock_word | LOCK_WORD_HAS_HASH;
+       return nlw;
+}
+
+static inline gboolean
+lock_word_is_free (LockWord lw)
+{
+       return !lw.lock_word;
+}
+
+static inline gboolean
+lock_word_is_flat (LockWord lw)
+{
+       /* Return whether the lock is flat or free */
+       return (lw.lock_word & LOCK_WORD_STATUS_MASK) == LOCK_WORD_FLAT;
+}
+
+static inline gint32
+lock_word_get_hash (LockWord lw)
+{
+       return (gint32) (lw.lock_word >> LOCK_WORD_HASH_SHIFT);
+}
+
+static inline gint32
+lock_word_get_nest (LockWord lw)
+{
+       if (lock_word_is_free (lw))
+               return 0;
+       /* Inword nest count starts from 0 */
+       return ((lw.lock_word & LOCK_WORD_NEST_MASK) >> LOCK_WORD_NEST_SHIFT) + 1;
+}
+
+static inline gboolean
+lock_word_is_nested (LockWord lw)
+{
+       return lw.lock_word & LOCK_WORD_NEST_MASK;
+}
+
+static inline gboolean
+lock_word_is_max_nest (LockWord lw)
+{
+       return (lw.lock_word & LOCK_WORD_NEST_MASK) == LOCK_WORD_NEST_MASK;
+}
+
+static inline LockWord
+lock_word_increment_nest (LockWord lw)
+{
+       lw.lock_word += 1 << LOCK_WORD_NEST_SHIFT;
+       return lw;
+}
+
+static inline LockWord
+lock_word_decrement_nest (LockWord lw)
+{
+       lw.lock_word -= 1 << LOCK_WORD_NEST_SHIFT;
+       return lw;
+}
+
+static inline gint32
+lock_word_get_owner (LockWord lw)
+{
+       return lw.lock_word >> LOCK_WORD_OWNER_SHIFT;
+}
+
+static inline LockWord
+lock_word_new_thin_hash (gint32 hash)
+{
+       LockWord lw;
+       lw.lock_word = (guint32)hash;
+       lw.lock_word = (lw.lock_word << LOCK_WORD_HASH_SHIFT) | LOCK_WORD_HAS_HASH;
+       return lw;
+}
+
+static inline LockWord
+lock_word_new_inflated (MonoThreadsSync *mon)
+{
+       LockWord lw;
+       lw.sync = mon;
+       lw.lock_word |= LOCK_WORD_INFLATED;
+       return lw;
+}
+
+static inline LockWord
+lock_word_new_flat (gint32 owner)
+{
+       LockWord lw;
+       lw.lock_word = owner;
+       lw.lock_word <<= LOCK_WORD_OWNER_SHIFT;
+       return lw;
+}
+
 void
 mono_monitor_init (void)
 {
@@ -221,7 +331,7 @@ mono_locks_dump (gboolean include_untaken)
                                        to_recycle++;
                        } else {
                                if (!monitor_is_on_freelist (mon->data)) {
-                                       MonoObject *holder = mono_gc_weak_link_get (&mon->data);
+                                       MonoObject *holder = (MonoObject *)mono_gchandle_get_target ((guint32)mon->data);
                                        if (mon_status_get_owner (mon->status)) {
                                                g_print ("Lock %p in object %p held by thread %d, nest level: %d\n",
                                                        mon, holder, mon_status_get_owner (mon->status), mon->nest);
@@ -277,7 +387,7 @@ mon_new (gsize id)
                new = NULL;
                for (marray = monitor_allocated; marray; marray = marray->next) {
                        for (i = 0; i < marray->num_monitors; ++i) {
-                               if (marray->monitors [i].data == NULL) {
+                               if (mono_gchandle_get_target ((guint32)marray->monitors [i].data) == NULL) {
                                        new = &marray->monitors [i];
                                        if (new->wait_list) {
                                                /* Orphaned events left by aborted threads */
@@ -287,7 +397,7 @@ mon_new (gsize id)
                                                        new->wait_list = g_slist_remove (new->wait_list, new->wait_list->data);
                                                }
                                        }
-                                       mono_gc_weak_link_remove (&new->data, TRUE);
+                                       mono_gchandle_free ((guint32)new->data);
                                        new->data = monitor_freelist;
                                        monitor_freelist = new;
                                }
@@ -337,26 +447,107 @@ mon_new (gsize id)
        return new;
 }
 
-/*
- * Format of the lock word:
- * thinhash | fathash | data
- *
- * thinhash is the lower bit: if set data is the shifted hashcode of the object.
- * fathash is another bit: if set the hash code is stored in the MonoThreadsSync
- *   struct pointed to by data
- * if neither bit is set and data is non-NULL, data is a MonoThreadsSync
- */
-typedef union {
-       gsize lock_word;
-       MonoThreadsSync *sync;
-} LockWord;
+static MonoThreadsSync*
+alloc_mon (MonoObject *obj, gint32 id)
+{
+       MonoThreadsSync *mon;
 
-enum {
-       LOCK_WORD_THIN_HASH = 1,
-       LOCK_WORD_FAT_HASH = 1 << 1,
-       LOCK_WORD_BITS_MASK = 0x3,
-       LOCK_WORD_HASH_SHIFT = 2
-};
+       mono_monitor_allocator_lock ();
+       mon = mon_new (id);
+       mon->data = (void *)(size_t)mono_gchandle_new_weakref (obj, TRUE);
+       mono_monitor_allocator_unlock ();
+
+       return mon;
+}
+
+
+static void
+discard_mon (MonoThreadsSync *mon)
+{
+       mono_monitor_allocator_lock ();
+       mono_gchandle_free ((guint32)mon->data);
+       mon_finalize (mon);
+       mono_monitor_allocator_unlock ();
+}
+
+static void
+mono_monitor_inflate_owned (MonoObject *obj, int id)
+{
+       MonoThreadsSync *mon;
+       LockWord nlw, old_lw, tmp_lw;
+       guint32 nest;
+
+       old_lw.sync = obj->synchronisation;
+       LOCK_DEBUG (g_message ("%s: (%d) Inflating owned lock object %p; LW = %p", __func__, id, obj, old_lw.sync));
+
+       if (lock_word_is_inflated (old_lw)) {
+               /* Someone else inflated the lock in the meantime */
+               return;
+       }
+
+       mon = alloc_mon (obj, id);
+
+       nest = lock_word_get_nest (old_lw);
+       mon->nest = nest;
+
+       nlw = lock_word_new_inflated (mon);
+
+       mono_memory_write_barrier ();
+       tmp_lw.sync = InterlockedCompareExchangePointer ((gpointer*)&obj->synchronisation, nlw.sync, old_lw.sync);
+       if (tmp_lw.sync != old_lw.sync) {
+               /* Someone else inflated the lock in the meantime */
+               discard_mon (mon);
+       }
+}
+
+static void
+mono_monitor_inflate (MonoObject *obj)
+{
+       MonoThreadsSync *mon;
+       LockWord nlw, old_lw;
+
+       LOCK_DEBUG (g_message ("%s: (%d) Inflating lock object %p; LW = %p", __func__, mono_thread_info_get_small_id (), obj, obj->synchronisation));
+
+       mon = alloc_mon (obj, 0);
+
+       nlw = lock_word_new_inflated (mon);
+
+       old_lw.sync = obj->synchronisation;
+
+       for (;;) {
+               LockWord tmp_lw;
+
+               if (lock_word_is_inflated (old_lw)) {
+                       break;
+               }
+#ifdef HAVE_MOVING_COLLECTOR
+                else if (lock_word_has_hash (old_lw)) {
+                       mon->hash_code = lock_word_get_hash (old_lw);
+                       mon->status = mon_status_set_owner (mon->status, 0);
+                       nlw = lock_word_set_has_hash (nlw);
+               }
+#endif
+               else if (lock_word_is_free (old_lw)) {
+                       mon->status = mon_status_set_owner (mon->status, 0);
+                       mon->nest = 1;
+               } else {
+                       /* Lock is flat */
+                       mon->status = mon_status_set_owner (mon->status, lock_word_get_owner (old_lw));
+                       mon->nest = lock_word_get_nest (old_lw);
+               }
+               mono_memory_write_barrier ();
+               tmp_lw.sync = InterlockedCompareExchangePointer ((gpointer*)&obj->synchronisation, nlw.sync, old_lw.sync);
+               if (tmp_lw.sync == old_lw.sync) {
+                       /* Successfully inflated the lock */
+                       return;
+               }
+
+               old_lw.sync = tmp_lw.sync;
+       }
+
+       /* Someone else inflated the lock before us */
+       discard_mon (mon);
+}
 
 #define MONO_OBJECT_ALIGNMENT_SHIFT    3
 
@@ -375,14 +566,15 @@ mono_object_hash (MonoObject* obj)
        if (!obj)
                return 0;
        lw.sync = obj->synchronisation;
-       if (lw.lock_word & LOCK_WORD_THIN_HASH) {
-               /*g_print ("fast thin hash %d for obj %p store\n", (unsigned int)lw.lock_word >> LOCK_WORD_HASH_SHIFT, obj);*/
-               return (unsigned int)lw.lock_word >> LOCK_WORD_HASH_SHIFT;
-       }
-       if (lw.lock_word & LOCK_WORD_FAT_HASH) {
-               lw.lock_word &= ~LOCK_WORD_BITS_MASK;
-               /*g_print ("fast fat hash %d for obj %p store\n", lw.sync->hash_code, obj);*/
-               return lw.sync->hash_code;
+
+       LOCK_DEBUG (g_message("%s: (%d) Get hash for object %p; LW = %p", __func__, mono_thread_info_get_small_id (), obj, obj->synchronisation));
+
+       if (lock_word_has_hash (lw)) {
+               if (lock_word_is_inflated (lw)) {
+                       return lock_word_get_inflated_lock (lw)->hash_code;
+               } else {
+                       return lock_word_get_hash (lw);
+               }
        }
        /*
         * while we are inside this function, the GC will keep this object pinned,
@@ -392,31 +584,40 @@ mono_object_hash (MonoObject* obj)
         * with the same value.
         */
        hash = (GPOINTER_TO_UINT (obj) >> MONO_OBJECT_ALIGNMENT_SHIFT) * 2654435761u;
+#if SIZEOF_VOID_P == 4
        /* clear the top bits as they can be discarded */
-       hash &= ~(LOCK_WORD_BITS_MASK << 30);
-       /* no hash flags were set, so it must be a MonoThreadsSync pointer if not NULL */
-       if (lw.sync) {
-               lw.sync->hash_code = hash;
-               /*g_print ("storing hash code %d for obj %p in sync %p\n", hash, obj, lw.sync);*/
-               lw.lock_word |= LOCK_WORD_FAT_HASH;
-               /* this is safe since we don't deflate locks */
-               obj->synchronisation = lw.sync;
-       } else {
-               /*g_print ("storing thin hash code %d for obj %p\n", hash, obj);*/
-               lw.lock_word = LOCK_WORD_THIN_HASH | (hash << LOCK_WORD_HASH_SHIFT);
-               if (InterlockedCompareExchangePointer ((gpointer*)&obj->synchronisation, lw.sync, NULL) == NULL)
+       hash &= ~(LOCK_WORD_STATUS_MASK << (32 - LOCK_WORD_STATUS_BITS));
+#endif
+       if (lock_word_is_free (lw)) {
+               LockWord old_lw;
+               lw = lock_word_new_thin_hash (hash);
+
+               old_lw.sync = InterlockedCompareExchangePointer ((gpointer*)&obj->synchronisation, lw.sync, NULL);
+               if (old_lw.sync == NULL) {
                        return hash;
-               /*g_print ("failed store\n");*/
-               /* someone set the hash flag or someone inflated the object */
-               lw.sync = obj->synchronisation;
-               if (lw.lock_word & LOCK_WORD_THIN_HASH)
+               }
+
+               if (lock_word_has_hash (old_lw)) {
+                       /* Done by somebody else */
                        return hash;
-               lw.lock_word &= ~LOCK_WORD_BITS_MASK;
-               lw.sync->hash_code = hash;
-               lw.lock_word |= LOCK_WORD_FAT_HASH;
-               /* this is safe since we don't deflate locks */
-               obj->synchronisation = lw.sync;
+               }
+                       
+               mono_monitor_inflate (obj);
+               lw.sync = obj->synchronisation;
+       } else if (lock_word_is_flat (lw)) {
+               int id = mono_thread_info_get_small_id ();
+               if (lock_word_get_owner (lw) == id)
+                       mono_monitor_inflate_owned (obj, id);
+               else
+                       mono_monitor_inflate (obj);
+               lw.sync = obj->synchronisation;
        }
+
+       /* At this point, the lock is inflated */
+       lock_word_get_inflated_lock (lw)->hash_code = hash;
+       lw = lock_word_set_has_hash (lw);
+       mono_memory_write_barrier ();
+       obj->synchronisation = lw.sync;
        return hash;
 #else
 /*
@@ -427,6 +628,94 @@ mono_object_hash (MonoObject* obj)
 #endif
 }
 
+static void
+mono_monitor_ensure_owned (LockWord lw, guint32 id)
+{
+       if (lock_word_is_flat (lw)) {
+               if (lock_word_get_owner (lw) == id)
+                       return;
+       } else if (lock_word_is_inflated (lw)) {
+               if (mon_status_get_owner (lock_word_get_inflated_lock (lw)->status) == id)
+                       return;
+       }
+
+       mono_set_pending_exception (mono_get_exception_synchronization_lock ("Object synchronization method was called from an unsynchronized block of code."));
+}
+
+/*
+ * When this function is called it has already been established that the
+ * current thread owns the monitor.
+ */
+static void
+mono_monitor_exit_inflated (MonoObject *obj)
+{
+       LockWord lw;
+       MonoThreadsSync *mon;
+       guint32 nest;
+
+       lw.sync = obj->synchronisation;
+       mon = lock_word_get_inflated_lock (lw);
+
+       nest = mon->nest - 1;
+       if (nest == 0) {
+               guint32 new_status, old_status, tmp_status;
+
+               old_status = mon->status;
+
+               /*
+                * Release lock and do the wakeup stuff. It's possible that
+                * the last blocking thread gave up waiting just before we
+                * release the semaphore resulting in a negative entry count
+                * and a futile wakeup next time there's contention for this
+                * object.
+                */
+               for (;;) {
+                       gboolean have_waiters = mon_status_have_waiters (old_status);
+       
+                       new_status = mon_status_set_owner (old_status, 0);
+                       if (have_waiters)
+                               new_status = mon_status_decrement_entry_count (new_status);
+                       tmp_status = InterlockedCompareExchange ((gint32*)&mon->status, new_status, old_status);
+                       if (tmp_status == old_status) {
+                               if (have_waiters)
+                                       ReleaseSemaphore (mon->entry_sem, 1, NULL);
+                               break;
+                       }
+                       old_status = tmp_status;
+               }
+               LOCK_DEBUG (g_message ("%s: (%d) Object %p is now unlocked", __func__, mono_thread_info_get_small_id (), obj));
+       
+               /* object is now unlocked, leave nest==1 so we don't
+                * need to set it when the lock is reacquired
+                */
+       } else {
+               LOCK_DEBUG (g_message ("%s: (%d) Object %p is now locked %d times", __func__, mono_thread_info_get_small_id (), obj, nest));
+               mon->nest = nest;
+       }
+}
+
+/*
+ * When this function is called it has already been established that the
+ * current thread owns the monitor.
+ */
+static void
+mono_monitor_exit_flat (MonoObject *obj, LockWord old_lw)
+{
+       LockWord new_lw, tmp_lw;
+       if (G_UNLIKELY (lock_word_is_nested (old_lw)))
+               new_lw = lock_word_decrement_nest (old_lw);
+       else
+               new_lw.lock_word = 0;
+
+       tmp_lw.sync = InterlockedCompareExchangePointer ((gpointer*)&obj->synchronisation, new_lw.sync, old_lw.sync);
+       if (old_lw.sync != tmp_lw.sync) {
+               /* Someone inflated the lock in the meantime */
+               mono_monitor_exit_inflated (obj);
+       }
+
+       LOCK_DEBUG (g_message ("%s: (%d) Object %p is now locked %d times; LW = %p", __func__, mono_thread_info_get_small_id (), obj, lock_word_get_nest (new_lw), obj->synchronisation));
+}
+
 static void
 mon_decrement_entry_count (MonoThreadsSync *mon)
 {
@@ -448,10 +737,10 @@ mon_decrement_entry_count (MonoThreadsSync *mon)
  * is requested. In this case it returns -1.
  */ 
 static inline gint32 
-mono_monitor_try_enter_internal (MonoObject *obj, guint32 ms, gboolean allow_interruption)
+mono_monitor_try_enter_inflated (MonoObject *obj, guint32 ms, gboolean allow_interruption, guint32 id)
 {
+       LockWord lw;
        MonoThreadsSync *mon;
-       gsize id = mono_thread_info_get_small_id ();
        HANDLE sem;
        guint32 then = 0, now, delta;
        guint32 waitms;
@@ -463,96 +752,13 @@ mono_monitor_try_enter_internal (MonoObject *obj, guint32 ms, gboolean allow_int
        LOCK_DEBUG (g_message("%s: (%d) Trying to lock object %p (%d ms)", __func__, id, obj, ms));
 
        if (G_UNLIKELY (!obj)) {
-               mono_raise_exception (mono_get_exception_argument_null ("obj"));
+               mono_set_pending_exception (mono_get_exception_argument_null ("obj"));
                return FALSE;
        }
 
+       lw.sync = obj->synchronisation;
+       mon = lock_word_get_inflated_lock (lw);
 retry:
-       mon = obj->synchronisation;
-
-       /* If the object has never been locked... */
-       if (G_UNLIKELY (mon == NULL)) {
-               mono_monitor_allocator_lock ();
-               mon = mon_new (id);
-               if (InterlockedCompareExchangePointer ((gpointer*)&obj->synchronisation, mon, NULL) == NULL) {
-                       mono_gc_weak_link_add (&mon->data, obj, TRUE);
-                       mono_monitor_allocator_unlock ();
-                       /* Successfully locked */
-                       return 1;
-               } else {
-#ifdef HAVE_MOVING_COLLECTOR
-                       LockWord lw;
-                       lw.sync = obj->synchronisation;
-                       if (lw.lock_word & LOCK_WORD_THIN_HASH) {
-                               MonoThreadsSync *oldlw = lw.sync;
-                               /* move the already calculated hash */
-                               mon->hash_code = lw.lock_word >> LOCK_WORD_HASH_SHIFT;
-                               lw.sync = mon;
-                               lw.lock_word |= LOCK_WORD_FAT_HASH;
-                               if (InterlockedCompareExchangePointer ((gpointer*)&obj->synchronisation, lw.sync, oldlw) == oldlw) {
-                                       mono_gc_weak_link_add (&mon->data, obj, TRUE);
-                                       mono_monitor_allocator_unlock ();
-                                       /* Successfully locked */
-                                       return 1;
-                               } else {
-                                       mon_finalize (mon);
-                                       mono_monitor_allocator_unlock ();
-                                       goto retry;
-                               }
-                       } else if (lw.lock_word & LOCK_WORD_FAT_HASH) {
-                               mon_finalize (mon);
-                               mono_monitor_allocator_unlock ();
-                               /* get the old lock without the fat hash bit */
-                               lw.lock_word &= ~LOCK_WORD_BITS_MASK;
-                               mon = lw.sync;
-                       } else {
-                               mon_finalize (mon);
-                               mono_monitor_allocator_unlock ();
-                               mon = obj->synchronisation;
-                       }
-#else
-                       mon_finalize (mon);
-                       mono_monitor_allocator_unlock ();
-                       mon = obj->synchronisation;
-#endif
-               }
-       } else {
-#ifdef HAVE_MOVING_COLLECTOR
-               LockWord lw;
-               lw.sync = mon;
-               if (lw.lock_word & LOCK_WORD_THIN_HASH) {
-                       MonoThreadsSync *oldlw = lw.sync;
-                       mono_monitor_allocator_lock ();
-                       mon = mon_new (id);
-                       /* move the already calculated hash */
-                       mon->hash_code = lw.lock_word >> LOCK_WORD_HASH_SHIFT;
-                       lw.sync = mon;
-                       lw.lock_word |= LOCK_WORD_FAT_HASH;
-                       if (InterlockedCompareExchangePointer ((gpointer*)&obj->synchronisation, lw.sync, oldlw) == oldlw) {
-                               mono_gc_weak_link_add (&mon->data, obj, TRUE);
-                               mono_monitor_allocator_unlock ();
-                               /* Successfully locked */
-                               return 1;
-                       } else {
-                               mon_finalize (mon);
-                               mono_monitor_allocator_unlock ();
-                               goto retry;
-                       }
-               }
-#endif
-       }
-
-#ifdef HAVE_MOVING_COLLECTOR
-       {
-               LockWord lw;
-               lw.sync = mon;
-               lw.lock_word &= ~LOCK_WORD_BITS_MASK;
-               mon = lw.sync;
-       }
-#endif
-
-       /* If the object has previously been locked but isn't now... */
-
        /* This case differs from Dice's case 3 because we don't
         * deflate locks or cache unused lock records
         */
@@ -674,9 +880,9 @@ retry_contended:
         * We pass TRUE instead of allow_interruption since we have to check for the
         * StopRequested case below.
         */
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        ret = WaitForSingleObjectEx (mon->entry_sem, waitms, TRUE);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        mono_thread_clr_state (thread, ThreadState_WaitSleepJoin);
        
@@ -737,6 +943,65 @@ retry_contended:
        }
 }
 
+/*
+ * If allow_interruption == TRUE, the method will be interrupted if abort or suspend
+ * is requested. In this case it returns -1.
+ */
+static inline gint32
+mono_monitor_try_enter_internal (MonoObject *obj, guint32 ms, gboolean allow_interruption)
+{
+       LockWord lw;
+       int id = mono_thread_info_get_small_id ();
+
+       LOCK_DEBUG (g_message("%s: (%d) Trying to lock object %p (%d ms)", __func__, id, obj, ms));
+
+       if (G_UNLIKELY (!obj)) {
+               mono_set_pending_exception (mono_get_exception_argument_null ("obj"));
+               return FALSE;
+       }
+
+       lw.sync = obj->synchronisation;
+
+       if (G_LIKELY (lock_word_is_free (lw))) {
+               LockWord nlw = lock_word_new_flat (id);
+               if (InterlockedCompareExchangePointer ((gpointer*)&obj->synchronisation, nlw.sync, NULL) == NULL) {
+                       return 1;
+               } else {
+                       /* Someone acquired it in the meantime or put a hash */
+                       mono_monitor_inflate (obj);
+                       return mono_monitor_try_enter_inflated (obj, ms, allow_interruption, id);
+               }
+       } else if (lock_word_is_inflated (lw)) {
+               return mono_monitor_try_enter_inflated (obj, ms, allow_interruption, id);
+       } else if (lock_word_is_flat (lw)) {
+               if (lock_word_get_owner (lw) == id) {
+                       if (lock_word_is_max_nest (lw)) {
+                               mono_monitor_inflate_owned (obj, id);
+                               return mono_monitor_try_enter_inflated (obj, ms, allow_interruption, id);
+                       } else {
+                               LockWord nlw, old_lw;
+                               nlw = lock_word_increment_nest (lw);
+                               old_lw.sync = InterlockedCompareExchangePointer ((gpointer*)&obj->synchronisation, nlw.sync, lw.sync);
+                               if (old_lw.sync != lw.sync) {
+                                       /* Someone else inflated it in the meantime */
+                                       g_assert (lock_word_is_inflated (old_lw));
+                                       return mono_monitor_try_enter_inflated (obj, ms, allow_interruption, id);
+                               }
+                               return 1;
+                       }
+               } else {
+                       mono_monitor_inflate (obj);
+                       return mono_monitor_try_enter_inflated (obj, ms, allow_interruption, id);
+               }
+       } else if (lock_word_has_hash (lw)) {
+               mono_monitor_inflate (obj);
+               return mono_monitor_try_enter_inflated (obj, ms, allow_interruption, id);
+       }
+
+       g_assert_not_reached ();
+       return -1;
+}
+
 gboolean 
 mono_monitor_enter (MonoObject *obj)
 {
@@ -752,91 +1017,37 @@ mono_monitor_try_enter (MonoObject *obj, guint32 ms)
 void
 mono_monitor_exit (MonoObject *obj)
 {
-       MonoThreadsSync *mon;
-       guint32 nest;
-       guint32 new_status, old_status, tmp_status;
+       LockWord lw;
        
        LOCK_DEBUG (g_message ("%s: (%d) Unlocking %p", __func__, mono_thread_info_get_small_id (), obj));
 
        if (G_UNLIKELY (!obj)) {
-               mono_raise_exception (mono_get_exception_argument_null ("obj"));
+               mono_set_pending_exception (mono_get_exception_argument_null ("obj"));
                return;
        }
 
-       mon = obj->synchronisation;
+       lw.sync = obj->synchronisation;
 
-#ifdef HAVE_MOVING_COLLECTOR
-       {
-               LockWord lw;
-               lw.sync = mon;
-               if (lw.lock_word & LOCK_WORD_THIN_HASH)
-                       return;
-               lw.lock_word &= ~LOCK_WORD_BITS_MASK;
-               mon = lw.sync;
-       }
-#endif
-       if (G_UNLIKELY (mon == NULL)) {
-               /* No one ever used Enter. Just ignore the Exit request as MS does */
-               return;
-       }
+       mono_monitor_ensure_owned (lw, mono_thread_info_get_small_id ());
 
-       old_status = mon->status;
-       if (G_UNLIKELY (mon_status_get_owner (old_status) != mono_thread_info_get_small_id ())) {
-               return;
-       }
-       
-       nest = mon->nest - 1;
-       if (nest == 0) {
-               /*
-                * Release lock and do the wakeup stuff. It's possible that
-                * the last blocking thread gave up waiting just before we
-                * release the semaphore resulting in a negative entry count
-                * and a futile wakeup next time there's contention for this
-                * object.
-                */
-               for (;;) {
-                       gboolean have_waiters = mon_status_have_waiters (old_status);
-       
-                       new_status = mon_status_set_owner (old_status, 0);
-                       if (have_waiters)
-                               new_status = mon_status_decrement_entry_count (new_status);
-                       tmp_status = InterlockedCompareExchange ((gint32*)&mon->status, new_status, old_status);
-                       if (tmp_status == old_status) {
-                               if (have_waiters)
-                                       ReleaseSemaphore (mon->entry_sem, 1, NULL);
-                               break;
-                       }
-                       old_status = tmp_status;
-               }
-               LOCK_DEBUG (g_message ("%s: (%d) Object %p is now unlocked", __func__, mono_thread_info_get_small_id (), obj));
-       
-               /* object is now unlocked, leave nest==1 so we don't
-                * need to set it when the lock is reacquired
-                */
-
-       } else {
-               LOCK_DEBUG (g_message ("%s: (%d) Object %p is now locked %d times", __func__, mono_thread_info_get_small_id (), obj, nest));
-               mon->nest = nest;
-       }
+       if (G_UNLIKELY (lock_word_is_inflated (lw)))
+               mono_monitor_exit_inflated (obj);
+       else
+               mono_monitor_exit_flat (obj, lw);
 }
 
-void**
-mono_monitor_get_object_monitor_weak_link (MonoObject *object)
+guint32
+mono_monitor_get_object_monitor_gchandle (MonoObject *object)
 {
        LockWord lw;
-       MonoThreadsSync *sync = NULL;
 
        lw.sync = object->synchronisation;
-       if (lw.lock_word & LOCK_WORD_FAT_HASH) {
-               lw.lock_word &= ~LOCK_WORD_BITS_MASK;
-               sync = lw.sync;
-       } else if (!(lw.lock_word & LOCK_WORD_THIN_HASH)) {
-               sync = lw.sync;
-       }
 
-       if (sync && sync->data)
-               return &sync->data;
-       return NULL;
+       if (lock_word_is_inflated (lw)) {
+               MonoThreadsSync *mon = lock_word_get_inflated_lock (lw);
+               return (guint32)mon->data;
+       }
+       return 0;
 }
 
 /*
@@ -889,8 +1100,11 @@ ves_icall_System_Threading_Monitor_Monitor_try_enter_with_atomic_var (MonoObject
 void
 mono_monitor_enter_v4 (MonoObject *obj, char *lock_taken)
 {
-       if (*lock_taken == 1)
-               mono_raise_exception (mono_get_exception_argument ("lockTaken", "lockTaken is already true"));
+
+       if (*lock_taken == 1) {
+               mono_set_pending_exception (mono_get_exception_argument ("lockTaken", "lockTaken is already true"));
+               return;
+       }
 
        ves_icall_System_Threading_Monitor_Monitor_try_enter_with_atomic_var (obj, INFINITE, lock_taken);
 }
@@ -898,27 +1112,16 @@ mono_monitor_enter_v4 (MonoObject *obj, char *lock_taken)
 gboolean 
 ves_icall_System_Threading_Monitor_Monitor_test_owner (MonoObject *obj)
 {
-       MonoThreadsSync *mon;
-       
+       LockWord lw;
+
        LOCK_DEBUG (g_message ("%s: Testing if %p is owned by thread %d", __func__, obj, mono_thread_info_get_small_id()));
 
-       mon = obj->synchronisation;
-#ifdef HAVE_MOVING_COLLECTOR
-       {
-               LockWord lw;
-               lw.sync = mon;
-               if (lw.lock_word & LOCK_WORD_THIN_HASH)
-                       return FALSE;
-               lw.lock_word &= ~LOCK_WORD_BITS_MASK;
-               mon = lw.sync;
-       }
-#endif
-       if (mon == NULL) {
-               return FALSE;
-       }
-       
-       if (mon_status_get_owner (mon->status) == mono_thread_info_get_small_id ()) {
-               return(TRUE);
+       lw.sync = obj->synchronisation;
+
+       if (lock_word_is_flat (lw)) {
+               return lock_word_get_owner (lw) == mono_thread_info_get_small_id ();
+       } else if (lock_word_is_inflated (lw)) {
+               return mon_status_get_owner (lock_word_get_inflated_lock (lw)->status) == mono_thread_info_get_small_id ();
        }
        
        return(FALSE);
@@ -927,29 +1130,18 @@ ves_icall_System_Threading_Monitor_Monitor_test_owner (MonoObject *obj)
 gboolean 
 ves_icall_System_Threading_Monitor_Monitor_test_synchronised (MonoObject *obj)
 {
-       MonoThreadsSync *mon;
+       LockWord lw;
 
        LOCK_DEBUG (g_message("%s: (%d) Testing if %p is owned by any thread", __func__, mono_thread_info_get_small_id (), obj));
-       
-       mon = obj->synchronisation;
-#ifdef HAVE_MOVING_COLLECTOR
-       {
-               LockWord lw;
-               lw.sync = mon;
-               if (lw.lock_word & LOCK_WORD_THIN_HASH)
-                       return FALSE;
-               lw.lock_word &= ~LOCK_WORD_BITS_MASK;
-               mon = lw.sync;
-       }
-#endif
-       if (mon == NULL) {
-               return FALSE;
-       }
-       
-       if (mon_status_get_owner (mon->status) != 0) {
-               return TRUE;
+
+       lw.sync = obj->synchronisation;
+
+       if (lock_word_is_flat (lw)) {
+               return !lock_word_is_free (lw);
+       } else if (lock_word_is_inflated (lw)) {
+               return mon_status_get_owner (lock_word_get_inflated_lock (lw)->status) != 0;
        }
-       
+
        return FALSE;
 }
 
@@ -961,34 +1153,26 @@ ves_icall_System_Threading_Monitor_Monitor_test_synchronised (MonoObject *obj)
 void
 ves_icall_System_Threading_Monitor_Monitor_pulse (MonoObject *obj)
 {
+       int id;
+       LockWord lw;
        MonoThreadsSync *mon;
-       
+
        LOCK_DEBUG (g_message ("%s: (%d) Pulsing %p", __func__, mono_thread_info_get_small_id (), obj));
        
-       mon = obj->synchronisation;
-#ifdef HAVE_MOVING_COLLECTOR
-       {
-               LockWord lw;
-               lw.sync = mon;
-               if (lw.lock_word & LOCK_WORD_THIN_HASH) {
-                       mono_set_pending_exception (mono_get_exception_synchronization_lock ("Not locked"));
-                       return;
-               }
-               lw.lock_word &= ~LOCK_WORD_BITS_MASK;
-               mon = lw.sync;
-       }
-#endif
-       if (mon == NULL) {
-               mono_set_pending_exception (mono_get_exception_synchronization_lock ("Not locked"));
-               return;
-       }
-       if (mon_status_get_owner (mon->status) != mono_thread_info_get_small_id ()) {
-               mono_set_pending_exception (mono_get_exception_synchronization_lock ("Not locked by this thread"));
+       id = mono_thread_info_get_small_id ();
+       lw.sync = obj->synchronisation;
+
+       mono_monitor_ensure_owned (lw, id);
+
+       if (!lock_word_is_inflated (lw)) {
+               /* No threads waiting. A wait would have inflated the lock */
                return;
        }
 
+       mon = lock_word_get_inflated_lock (lw);
+
        LOCK_DEBUG (g_message ("%s: (%d) %d threads waiting", __func__, mono_thread_info_get_small_id (), g_slist_length (mon->wait_list)));
-       
+
        if (mon->wait_list != NULL) {
                LOCK_DEBUG (g_message ("%s: (%d) signalling and dequeuing handle %p", __func__, mono_thread_info_get_small_id (), mon->wait_list->data));
        
@@ -1000,32 +1184,24 @@ ves_icall_System_Threading_Monitor_Monitor_pulse (MonoObject *obj)
 void
 ves_icall_System_Threading_Monitor_Monitor_pulse_all (MonoObject *obj)
 {
+       int id;
+       LockWord lw;
        MonoThreadsSync *mon;
        
        LOCK_DEBUG (g_message("%s: (%d) Pulsing all %p", __func__, mono_thread_info_get_small_id (), obj));
 
-       mon = obj->synchronisation;
-#ifdef HAVE_MOVING_COLLECTOR
-       {
-               LockWord lw;
-               lw.sync = mon;
-               if (lw.lock_word & LOCK_WORD_THIN_HASH) {
-                       mono_set_pending_exception (mono_get_exception_synchronization_lock ("Not locked"));
-                       return;
-               }
-               lw.lock_word &= ~LOCK_WORD_BITS_MASK;
-               mon = lw.sync;
-       }
-#endif
-       if (mon == NULL) {
-               mono_set_pending_exception (mono_get_exception_synchronization_lock ("Not locked"));
-               return;
-       }
-       if (mon_status_get_owner (mon->status) != mono_thread_info_get_small_id ()) {
-               mono_set_pending_exception (mono_get_exception_synchronization_lock ("Not locked by this thread"));
+       id = mono_thread_info_get_small_id ();
+       lw.sync = obj->synchronisation;
+
+       mono_monitor_ensure_owned (lw, id);
+
+       if (!lock_word_is_inflated (lw)) {
+               /* No threads waiting. A wait would have inflated the lock */
                return;
        }
 
+       mon = lock_word_get_inflated_lock (lw);
+
        LOCK_DEBUG (g_message ("%s: (%d) %d threads waiting", __func__, mono_thread_info_get_small_id (), g_slist_length (mon->wait_list)));
 
        while (mon->wait_list != NULL) {
@@ -1039,6 +1215,7 @@ ves_icall_System_Threading_Monitor_Monitor_pulse_all (MonoObject *obj)
 gboolean
 ves_icall_System_Threading_Monitor_Monitor_wait (MonoObject *obj, guint32 ms)
 {
+       LockWord lw;
        MonoThreadsSync *mon;
        HANDLE event;
        guint32 nest;
@@ -1046,31 +1223,21 @@ ves_icall_System_Threading_Monitor_Monitor_wait (MonoObject *obj, guint32 ms)
        gboolean success = FALSE;
        gint32 regain;
        MonoInternalThread *thread = mono_thread_internal_current ();
+       int id = mono_thread_info_get_small_id ();
 
        LOCK_DEBUG (g_message ("%s: (%d) Trying to wait for %p with timeout %dms", __func__, mono_thread_info_get_small_id (), obj, ms));
-       
-       mon = obj->synchronisation;
-#ifdef HAVE_MOVING_COLLECTOR
-       {
-               LockWord lw;
-               lw.sync = mon;
-               if (lw.lock_word & LOCK_WORD_THIN_HASH) {
-                       mono_set_pending_exception (mono_get_exception_synchronization_lock ("Not locked"));
-                       return FALSE;
-               }
-               lw.lock_word &= ~LOCK_WORD_BITS_MASK;
-               mon = lw.sync;
-       }
-#endif
-       if (mon == NULL) {
-               mono_set_pending_exception (mono_get_exception_synchronization_lock ("Not locked"));
-               return FALSE;
-       }
-       if (mon_status_get_owner (mon->status) != mono_thread_info_get_small_id ()) {
-               mono_set_pending_exception (mono_get_exception_synchronization_lock ("Not locked by this thread"));
-               return FALSE;
+
+       lw.sync = obj->synchronisation;
+
+       mono_monitor_ensure_owned (lw, id);
+
+       if (!lock_word_is_inflated (lw)) {
+               mono_monitor_inflate_owned (obj, id);
+               lw.sync = obj->synchronisation;
        }
 
+       mon = lock_word_get_inflated_lock (lw);
+
        /* Do this WaitSleepJoin check before creating the event handle */
        mono_thread_current_check_pending_interrupt ();
        
@@ -1091,7 +1258,8 @@ ves_icall_System_Threading_Monitor_Monitor_wait (MonoObject *obj, guint32 ms)
        /* Save the nest count, and release the lock */
        nest = mon->nest;
        mon->nest = 1;
-       mono_monitor_exit (obj);
+       mono_memory_write_barrier ();
+       mono_monitor_exit_inflated (obj);
 
        LOCK_DEBUG (g_message ("%s: (%d) Unlocked %p lock %p", __func__, mono_thread_info_get_small_id (), obj, mon));
 
@@ -1100,9 +1268,9 @@ ves_icall_System_Threading_Monitor_Monitor_wait (MonoObject *obj, guint32 ms)
         * is private to this thread.  Therefore even if the event was
         * signalled before we wait, we still succeed.
         */
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        ret = WaitForSingleObjectEx (event, ms, TRUE);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        /* Reset the thread state fairly early, so we don't have to worry
         * about the monitor error checking
@@ -1123,7 +1291,7 @@ ves_icall_System_Threading_Monitor_Monitor_wait (MonoObject *obj, guint32 ms)
 
        /* Regain the lock with the previous nest count */
        do {
-               regain = mono_monitor_try_enter_internal (obj, INFINITE, TRUE);
+               regain = mono_monitor_try_enter_inflated (obj, INFINITE, TRUE, id);
                if (regain == -1) 
                        mono_thread_interruption_checkpoint ();
        } while (regain == -1);
@@ -1145,9 +1313,9 @@ ves_icall_System_Threading_Monitor_Monitor_wait (MonoObject *obj, guint32 ms)
                /* Poll the event again, just in case it was signalled
                 * while we were trying to regain the monitor lock
                 */
-               MONO_PREPARE_BLOCKING
+               MONO_PREPARE_BLOCKING;
                ret = WaitForSingleObjectEx (event, 0, FALSE);
-               MONO_FINISH_BLOCKING
+               MONO_FINISH_BLOCKING;
        }
 
        /* Pulse will have popped our event from the queue if it signalled
index 0a7fe777eaad0dbbb75ecb6c0121f8d72bddb6e1..bd796254034eac6f4fee232c63554231442536c3 100644 (file)
@@ -44,13 +44,69 @@ struct _MonoThreadsSync
        void *data;
 };
 
+/*
+ * Lock word format:
+ *
+ * The least significant bit stores whether a hash for the object is computed
+ * which is stored either in the lock word or in the MonoThreadsSync structure
+ * that the lock word points to.
+ *
+ * The second bit stores whether the lock word is inflated, containing an
+ * address to the MonoThreadsSync structure.
+ *
+ * If both bits are 0, either the lock word is free (entire lock word is 0)
+ * or it is a thin/flat lock.
+ *
+ * 32-bit
+ *            LOCK_WORD_FLAT:    [owner:22 | nest:8 | status:2]
+ *       LOCK_WORD_THIN_HASH:    [hash:30 | status:2]
+ *        LOCK_WORD_INFLATED:    [sync:30 | status:2]
+ *        LOCK_WORD_FAT_HASH:    [sync:30 | status:2]
+ *
+ * 64-bit
+ *            LOCK_WORD_FLAT:    [unused:22 | owner:32 | nest:8 | status:2]
+ *       LOCK_WORD_THIN_HASH:    [hash:62 | status:2]
+ *        LOCK_WORD_INFLATED:    [sync:62 | status:2]
+ *        LOCK_WORD_FAT_HASH:    [sync:62 | status:2]
+ *
+ * In order to save processing time and to have one additional value, the nest
+ * count starts from 0 for the lock word (just valid thread ID in the lock word
+ * means that the thread holds the lock once, although nest is 0).
+ * FIXME Have the same convention on inflated locks
+ */
+
+typedef union {
+#if SIZEOF_REGISTER == 8
+       guint64 lock_word;
+#elif SIZEOF_REGISTER == 4
+       guint32 lock_word;
+#endif
+       MonoThreadsSync *sync;
+} LockWord;
+
+
+enum {
+       LOCK_WORD_FLAT = 0,
+       LOCK_WORD_HAS_HASH = 1,
+       LOCK_WORD_INFLATED = 2,
+
+       LOCK_WORD_STATUS_BITS = 2,
+       LOCK_WORD_NEST_BITS = 8,
+
+       LOCK_WORD_STATUS_MASK = (1 << LOCK_WORD_STATUS_BITS) - 1,
+       LOCK_WORD_NEST_MASK = ((1 << LOCK_WORD_NEST_BITS) - 1) << LOCK_WORD_STATUS_BITS,
+
+       LOCK_WORD_HASH_SHIFT = LOCK_WORD_STATUS_BITS,
+       LOCK_WORD_NEST_SHIFT = LOCK_WORD_STATUS_BITS,
+       LOCK_WORD_OWNER_SHIFT = LOCK_WORD_STATUS_BITS + LOCK_WORD_NEST_BITS
+};
 
 MONO_API void mono_locks_dump (gboolean include_untaken);
 
 void mono_monitor_init (void);
 void mono_monitor_cleanup (void);
 
-void** mono_monitor_get_object_monitor_weak_link (MonoObject *object);
+guint32 mono_monitor_get_object_monitor_gchandle (MonoObject *object);
 
 void mono_monitor_threads_sync_members_offset (int *status_offset, int *nest_offset);
 #define MONO_THREADS_SYNC_MEMBER_OFFSET(o)     ((o)>>8)
index fb12af22a48bae251ef9ac7ed750a952ce00b87f..42c980214eb53a73ef54cd57c7e3af979dd362d0 100644 (file)
@@ -262,7 +262,7 @@ mono_debug_open_image (MonoImage *image, const guint8 *raw_contents, int size)
        mono_image_addref (image);
 
        /* Try a ppdb file first */
-       handle->ppdb = mono_ppdb_load_file (handle->image);
+       handle->ppdb = mono_ppdb_load_file (handle->image, raw_contents, size);
 
        if (!handle->ppdb)
                handle->symfile = mono_debug_open_mono_symbols (handle, raw_contents, size, FALSE);
index 689cad28a88b142337ea997146cace72324c5283..24ffda7730a2ecb67c1a158f542a768e6eead89d 100644 (file)
@@ -11,6 +11,37 @@ MONO_BEGIN_DECLS
 
 typedef int (*MonoGCReferences) (MonoObject *obj, MonoClass *klass, uintptr_t size, uintptr_t num, MonoObject **refs, uintptr_t *offsets, void *data);
 
+typedef enum {
+       // Roots external to Mono.  Embedders may only use this value.
+       MONO_ROOT_SOURCE_EXTERNAL = 0,
+       // Thread stack.  Must not be used to register roots.
+       MONO_ROOT_SOURCE_STACK = 1,
+       // Roots in the finalizer queue.  Must not be used to register roots.
+       MONO_ROOT_SOURCE_FINALIZER_QUEUE = 2,
+       // Managed static variables.
+       MONO_ROOT_SOURCE_STATIC = 3,
+       // Static variables with ThreadStaticAttribute.
+       MONO_ROOT_SOURCE_THREAD_STATIC = 4,
+       // Static variables with ContextStaticAttribute.
+       MONO_ROOT_SOURCE_CONTEXT_STATIC = 5,
+       // GCHandle structures.
+       MONO_ROOT_SOURCE_GC_HANDLE = 6,
+       // Roots in the just-in-time compiler.
+       MONO_ROOT_SOURCE_JIT = 7,
+       // Roots in the threading subsystem.
+       MONO_ROOT_SOURCE_THREADING = 8,
+       // Roots in application domains.
+       MONO_ROOT_SOURCE_DOMAIN = 9,
+       // Roots in reflection code.
+       MONO_ROOT_SOURCE_REFLECTION = 10,
+       // Roots from P/Invoke or other marshaling.
+       MONO_ROOT_SOURCE_MARSHAL = 11,
+       // Roots in the thread pool data structures.
+       MONO_ROOT_SOURCE_THREAD_POOL = 12,
+       // Roots in the debugger agent.
+       MONO_ROOT_SOURCE_DEBUGGER = 13,
+} MonoGCRootSource;
+
 MONO_API void   mono_gc_collect         (int generation);
 MONO_API int    mono_gc_max_generation  (void);
 MONO_API int    mono_gc_get_generation  (MonoObject *object);
index c8d7a6a10dbabdff4afc406795de473a1d29cf32..63a6b680c0bb0056c6e70639847ce34886a43aa5 100644 (file)
@@ -31,6 +31,7 @@
 #include <glib.h>
 #include "mono-hash.h"
 #include "metadata/gc-internal.h"
+#include <mono/utils/checked-build.h>
 
 #ifdef HAVE_BOEHM_GC
 #define mg_new0(type,n)  ((type *) GC_MALLOC(sizeof(type) * (n)))
@@ -63,34 +64,30 @@ struct _MonoGHashTable {
        int   last_rehash;
        GDestroyNotify value_destroy_func, key_destroy_func;
        MonoGHashGCType gc_type;
+       MonoGCRootSource source;
+       const char *msg;
 };
 
+static MonoGHashTable *
+mono_g_hash_table_new (GHashFunc hash_func, GEqualFunc key_equal_func);
+
 #ifdef HAVE_SGEN_GC
 static MonoGCDescriptor table_hash_descr = MONO_GC_DESCRIPTOR_NULL;
 
 static void mono_g_hash_mark (void *addr, MonoGCMarkFunc mark_func, void *gc_data);
+#endif
 
 static Slot*
 new_slot (MonoGHashTable *hash)
 {
-       if (hash->gc_type == MONO_HASH_CONSERVATIVE_GC)
-               return mono_gc_alloc_fixed (sizeof (Slot), MONO_GC_DESCRIPTOR_NULL);
-       else
-               return mg_new (Slot, 1);
+       return mg_new (Slot, 1);
 }
 
 static void
 free_slot (MonoGHashTable *hash, Slot *slot)
 {
-       if (hash->gc_type == MONO_HASH_CONSERVATIVE_GC)
-               mono_gc_free_fixed (slot);
-       else
-               mg_free (slot);
+       mg_free (slot);
 }
-#else
-#define new_slot(h)    mg_new(Slot,1)
-#define free_slot(h,s) mg_free((s))
-#endif
 
 #if UNUSED
 static gboolean
@@ -122,29 +119,31 @@ calc_prime (int x)
 #endif
 
 MonoGHashTable *
-mono_g_hash_table_new_type (GHashFunc hash_func, GEqualFunc key_equal_func, MonoGHashGCType type)
+mono_g_hash_table_new_type (GHashFunc hash_func, GEqualFunc key_equal_func, MonoGHashGCType type, MonoGCRootSource source, const char *msg)
 {
        MonoGHashTable *hash = mono_g_hash_table_new (hash_func, key_equal_func);
 
        hash->gc_type = type;
+       hash->source = source;
+       hash->msg = msg;
 
-#ifdef HAVE_SGEN_GC
        if (type > MONO_HASH_KEY_VALUE_GC)
                g_error ("wrong type for gc hashtable");
+
+#ifdef HAVE_SGEN_GC
        /*
         * We use a user defined marking function to avoid having to register a GC root for
         * each hash node.
         */
        if (!table_hash_descr)
                table_hash_descr = mono_gc_make_root_descr_user (mono_g_hash_mark);
-       if (type != MONO_HASH_CONSERVATIVE_GC)
-               mono_gc_register_root_wbarrier ((char*)hash, sizeof (MonoGHashTable), table_hash_descr);
+       mono_gc_register_root_wbarrier ((char*)hash, sizeof (MonoGHashTable), table_hash_descr, source, msg);
 #endif
 
        return hash;
 }
 
-MonoGHashTable *
+static MonoGHashTable *
 mono_g_hash_table_new (GHashFunc hash_func, GEqualFunc key_equal_func)
 {
        MonoGHashTable *hash;
@@ -165,20 +164,6 @@ mono_g_hash_table_new (GHashFunc hash_func, GEqualFunc key_equal_func)
        return hash;
 }
 
-MonoGHashTable *
-mono_g_hash_table_new_full (GHashFunc hash_func, GEqualFunc key_equal_func,
-                           GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func)
-{
-       MonoGHashTable *hash = mono_g_hash_table_new (hash_func, key_equal_func);
-       if (hash == NULL)
-               return NULL;
-       
-       hash->key_destroy_func = key_destroy_func;
-       hash->value_destroy_func = value_destroy_func;
-       
-       return hash;
-}
-
 typedef struct {
        MonoGHashTable *hash;
        int new_size;
@@ -218,6 +203,8 @@ do_rehash (void *_data)
 static void
 rehash (MonoGHashTable *hash)
 {
+       MONO_REQ_GC_UNSAFE_MODE; //we must run in unsafe mode to make rehash safe
+
        int diff = ABS (hash->last_rehash - hash->in_use);
        RehashData data;
        void *old_table G_GNUC_UNUSED; /* unused on Boehm */
@@ -232,7 +219,12 @@ rehash (MonoGHashTable *hash)
        data.new_size = g_spaced_primes_closest (hash->in_use);
        data.table = mg_new0 (Slot *, data.new_size);
 
+#ifdef USE_COOP_GC
+       /* We cannot be preempted */
+       old_table = do_rehash (&data);
+#else
        old_table = mono_gc_invoke_with_gc_lock (do_rehash, &data);
+#endif
        mg_free (old_table);
 }
 
index 9d382f15476457b2fd7b02a2b3242a927245dc17..4626ed48ca03b0d37d73a04b3a47bc44b952e83a 100644 (file)
@@ -6,26 +6,23 @@
  *
  * Copyright 2013 Xamarin Inc (http://www.xamarin.com)
  */
-#include <glib.h>
-#include <mono/utils/mono-publib.h>
+
 #ifndef __MONO_G_HASH_H__
 #define __MONO_G_HASH_H__
 
+#include <mono/metadata/mono-gc.h>
+
 MONO_BEGIN_DECLS
-/* do not change the values of this enum */
+
 typedef enum {
-       MONO_HASH_CONSERVATIVE_GC,
        MONO_HASH_KEY_GC,
        MONO_HASH_VALUE_GC,
-       MONO_HASH_KEY_VALUE_GC /* note this is the OR of the other two values */
+       MONO_HASH_KEY_VALUE_GC
 } MonoGHashGCType;
 
 typedef struct _MonoGHashTable MonoGHashTable;
 
-MONO_API MonoGHashTable *mono_g_hash_table_new_type (GHashFunc hash_func, GEqualFunc key_equal_func, MonoGHashGCType type);
-MONO_API MonoGHashTable *mono_g_hash_table_new      (GHashFunc hash_func, GEqualFunc key_equal_func);
-MONO_API MonoGHashTable *mono_g_hash_table_new_full (GHashFunc hash_func, GEqualFunc key_equal_func,
-                                                    GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func);
+MONO_API MonoGHashTable *mono_g_hash_table_new_type (GHashFunc hash_func, GEqualFunc key_equal_func, MonoGHashGCType type, MonoGCRootSource source, const char *msg);
 MONO_API guint    mono_g_hash_table_size            (MonoGHashTable *hash);
 MONO_API gpointer mono_g_hash_table_lookup          (MonoGHashTable *hash, gconstpointer key);
 MONO_API gboolean mono_g_hash_table_lookup_extended (MonoGHashTable *hash, gconstpointer key, gpointer *orig_key, gpointer *value);
index 1fc166ef5c1ea4708ef19fa038fd4ee409b99965..e8be3a526b0d2681025fbe45e4c9e1a94201b935 100644 (file)
@@ -23,14 +23,18 @@ typedef struct {
        void **data;
        int size;
        int capacity;
+       MonoGCRootSource source;
+       const char *msg;
 } MonoPtrArray;
 
 #define MONO_PTR_ARRAY_MAX_ON_STACK (16)
 
-#define mono_ptr_array_init(ARRAY, INITIAL_SIZE) do {\
+#define mono_ptr_array_init(ARRAY, INITIAL_SIZE, SOURCE, MSG) do {\
        (ARRAY).size = 0; \
        (ARRAY).capacity = MAX (INITIAL_SIZE, MONO_PTR_ARRAY_MAX_ON_STACK); \
-       (ARRAY).data = INITIAL_SIZE > MONO_PTR_ARRAY_MAX_ON_STACK ? mono_gc_alloc_fixed (sizeof (void*) * INITIAL_SIZE, mono_gc_make_root_descr_all_refs (INITIAL_SIZE)) : g_newa (void*, MONO_PTR_ARRAY_MAX_ON_STACK); \
+       (ARRAY).source = SOURCE; \
+       (ARRAY).msg = MSG; \
+       (ARRAY).data = INITIAL_SIZE > MONO_PTR_ARRAY_MAX_ON_STACK ? mono_gc_alloc_fixed (sizeof (void*) * INITIAL_SIZE, mono_gc_make_root_descr_all_refs (INITIAL_SIZE), SOURCE, MSG) : g_newa (void*, MONO_PTR_ARRAY_MAX_ON_STACK); \
 } while (0)
 
 #define mono_ptr_array_destroy(ARRAY) do {\
@@ -40,7 +44,7 @@ typedef struct {
 
 #define mono_ptr_array_append(ARRAY, VALUE) do { \
        if ((ARRAY).size >= (ARRAY).capacity) {\
-       void *__tmp = mono_gc_alloc_fixed (sizeof (void*) * (ARRAY).capacity * 2, mono_gc_make_root_descr_all_refs ((ARRAY).capacity * 2)); \
+       void *__tmp = mono_gc_alloc_fixed (sizeof (void*) * (ARRAY).capacity * 2, mono_gc_make_root_descr_all_refs ((ARRAY).capacity * 2), (ARRAY).source, (ARRAY).msg); \
                mono_gc_memmove_aligned (__tmp, (ARRAY).data, (ARRAY).capacity * sizeof (void*)); \
                if ((ARRAY).capacity > MONO_PTR_ARRAY_MAX_ON_STACK)     \
                        mono_gc_free_fixed ((ARRAY).data);      \
index 333a24367ad95d4b16037cab11752952baf20e56..4bafef4653c25d7cf3d349a163add7ec6456dacc 100644 (file)
@@ -5,7 +5,7 @@
 
 #include <sys/socket.h>
 
-#ifdef HOST_IOS
+#if defined (HOST_IOS) || defined (HOST_WATCHOS) || defined (HOST_APPLETVOS)
 // The iOS SDK does not provide the net/route.h header but using the Darwin version works fine.
 #include "../../support/ios/net/route.h"
 #else
index f4c842d34b20780f4d1281c4a022935dbae877e5..1d0b0217a5146e77ca4e66cf5cc5058d76fb60a7 100644 (file)
@@ -117,7 +117,7 @@ mono_gc_enable_alloc_events (void)
 }
 
 int
-mono_gc_register_root (char *start, size_t size, void *descr)
+mono_gc_register_root (char *start, size_t size, void *descr, MonoGCRootSource source, const char *msg)
 {
        return TRUE;
 }
@@ -176,7 +176,7 @@ mono_gc_make_root_descr_all_refs (int numbits)
 }
 
 void*
-mono_gc_alloc_fixed (size_t size, void *descr)
+mono_gc_alloc_fixed (size_t size, void *descr, MonoGCRootSource source, const char *msg)
 {
        return g_malloc0 (size);
 }
index 428b77ab6f5ce833473f57727fa8bf3f5b437d0f..d141e0d1e250571e8a31fd9bee5ad17bcc1fc69e 100644 (file)
@@ -255,6 +255,8 @@ struct _MonoException {
        MonoObject *_data;
        MonoObject *captured_traces;
        MonoArray  *native_trace_ips;
+       /* Dynamic methods referenced by the stack trace */
+       MonoObject *dynamic_methods;
 };
 
 typedef struct {
@@ -634,10 +636,7 @@ mono_async_result_new          (MonoDomain *domain, HANDLE handle,
                             MonoObject *state, gpointer data, MonoObject *object_data);
 
 MonoObject *
-mono_async_result_invoke    (MonoAsyncResult *ares, MonoObject **exc);
-
-MonoObject *
-ves_icall_System_Runtime_Remoting_Messaging_AsyncResult_Invoke (MonoAsyncResult *this);
+ves_icall_System_Runtime_Remoting_Messaging_AsyncResult_Invoke (MonoAsyncResult *ares);
 
 MonoWaitHandle *
 mono_wait_handle_new       (MonoDomain *domain, HANDLE handle);
@@ -781,6 +780,7 @@ struct _MonoDelegate {
        MonoObject *target;
        MonoMethod *method;
        gpointer delegate_trampoline;
+       gpointer rgctx;
        /* 
         * If non-NULL, this points to a memory location which stores the address of 
         * the compiled code of the method, or NULL if it is not yet compiled.
@@ -789,6 +789,7 @@ struct _MonoDelegate {
        MonoReflectionMethod *method_info;
        MonoReflectionMethod *original_method_info;
        MonoObject *data;
+       MonoBoolean method_is_virtual;
 };
 
 typedef struct _MonoMulticastDelegate MonoMulticastDelegate;
index 2e753bcfe5d4e0ecd7b7c10f0a3bf7c472a63565..267b9655b346d7ec3a4d0944d43ce961d5400bc6 100644 (file)
@@ -71,6 +71,7 @@ DECL_OFFSET(MonoDelegate, method_ptr)
 DECL_OFFSET(MonoDelegate, invoke_impl)
 DECL_OFFSET(MonoDelegate, method)
 DECL_OFFSET(MonoDelegate, method_code)
+DECL_OFFSET(MonoDelegate, method_is_virtual)
 
 DECL_OFFSET(MonoInternalThread, tid)
 DECL_OFFSET(MonoInternalThread, small_id)
index 3103c2096abb156fdff6b7736f7879a3eea13faf..a979a88397265bd55dcc7e55ec8ee2abb7f7be0f 100644 (file)
@@ -42,6 +42,7 @@
 #include <mono/utils/mono-counters.h>
 #include <mono/utils/mono-error-internals.h>
 #include <mono/utils/mono-memory-model.h>
+#include <mono/utils/checked-build.h>
 #include "cominterop.h"
 
 static void
@@ -64,6 +65,8 @@ static mono_mutex_t ldstr_section;
 void
 mono_runtime_object_init (MonoObject *this)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoMethod *method = NULL;
        MonoClass *klass = this->vtable->klass;
 
@@ -108,17 +111,31 @@ typedef struct
 } TypeInitializationLock;
 
 /* for locking access to type_initialization_hash and blocked_thread_hash */
-#define mono_type_initialization_lock() mono_mutex_lock (&type_initialization_section)
-#define mono_type_initialization_unlock() mono_mutex_unlock (&type_initialization_section)
 static mono_mutex_t type_initialization_section;
 
+static inline void
+mono_type_initialization_lock (void)
+{
+       /* The critical sections protected by this lock in mono_runtime_class_init_full () can block */
+       MONO_PREPARE_BLOCKING;
+       mono_mutex_lock (&type_initialization_section);
+       MONO_FINISH_BLOCKING;
+}
+
+static inline void
+mono_type_initialization_unlock (void)
+{
+       mono_mutex_unlock (&type_initialization_section);
+}
 
 static void
 mono_type_init_lock (TypeInitializationLock *lock)
 {
-       MONO_TRY_BLOCKING
+       MONO_REQ_GC_NEUTRAL_MODE;
+
+       MONO_TRY_BLOCKING;
        mono_mutex_lock (&lock->initialization_section);
-       MONO_FINISH_TRY_BLOCKING
+       MONO_FINISH_TRY_BLOCKING;
 }
 
 static void
@@ -151,10 +168,12 @@ static MonoRuntimeCallbacks callbacks;
 void
 mono_thread_set_main (MonoThread *thread)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        static gboolean registered = FALSE;
 
        if (!registered) {
-               MONO_GC_REGISTER_ROOT_SINGLE (main_thread);
+               MONO_GC_REGISTER_ROOT_SINGLE (main_thread, MONO_ROOT_SOURCE_THREADING, "main thread object");
                registered = TRUE;
        }
 
@@ -164,6 +183,8 @@ mono_thread_set_main (MonoThread *thread)
 MonoThread*
 mono_thread_get_main (void)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return main_thread;
 }
 
@@ -202,6 +223,8 @@ mono_type_initialization_cleanup (void)
 static MonoException*
 get_type_init_exception_for_vtable (MonoVTable *vtable)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDomain *domain = vtable->domain;
        MonoClass *klass = vtable->klass;
        MonoException *ex;
@@ -240,6 +263,8 @@ get_type_init_exception_for_vtable (MonoVTable *vtable)
 void
 mono_runtime_class_init (MonoVTable *vtable)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        mono_runtime_class_init_full (vtable, TRUE);
 }
 
@@ -252,11 +277,18 @@ mono_runtime_class_init (MonoVTable *vtable)
 MonoException *
 mono_runtime_class_init_full (MonoVTable *vtable, gboolean raise_exception)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoException *exc;
        MonoException *exc_to_throw;
        MonoMethod *method = NULL;
        MonoClass *klass;
        gchar *full_name;
+       MonoDomain *domain = vtable->domain;
+       TypeInitializationLock *lock;
+       guint32 tid;
+       int do_initialization = 0;
+       MonoDomain *last_domain = NULL;
 
        if (vtable->initialized)
                return NULL;
@@ -288,143 +320,139 @@ mono_runtime_class_init_full (MonoVTable *vtable, gboolean raise_exception)
                }
        }
        method = mono_class_get_cctor (klass);
+       if (!method) {
+               vtable->initialized = 1;
+               return NULL;
+       }
 
-       if (method) {
-               MonoDomain *domain = vtable->domain;
-               TypeInitializationLock *lock;
-               guint32 tid = GetCurrentThreadId();
-               int do_initialization = 0;
-               MonoDomain *last_domain = NULL;
+       tid = GetCurrentThreadId ();
 
-               mono_type_initialization_lock ();
-               /* double check... */
-               if (vtable->initialized) {
+       mono_type_initialization_lock ();
+       /* double check... */
+       if (vtable->initialized) {
+               mono_type_initialization_unlock ();
+               return NULL;
+       }
+       if (vtable->init_failed) {
+               mono_type_initialization_unlock ();
+
+               /* The type initialization already failed once, rethrow the same exception */
+               if (raise_exception)
+                       mono_raise_exception (get_type_init_exception_for_vtable (vtable));
+               return get_type_init_exception_for_vtable (vtable);
+       }
+       lock = g_hash_table_lookup (type_initialization_hash, vtable);
+       if (lock == NULL) {
+               /* This thread will get to do the initialization */
+               if (mono_domain_get () != domain) {
+                       /* Transfer into the target domain */
+                       last_domain = mono_domain_get ();
+                       if (!mono_domain_set (domain, FALSE)) {
+                               vtable->initialized = 1;
+                               mono_type_initialization_unlock ();
+                               if (raise_exception)
+                                       mono_raise_exception (mono_get_exception_appdomain_unloaded ());
+                               return mono_get_exception_appdomain_unloaded ();
+                       }
+               }
+               lock = g_malloc (sizeof(TypeInitializationLock));
+               mono_mutex_init_recursive (&lock->initialization_section);
+               lock->initializing_tid = tid;
+               lock->waiting_count = 1;
+               lock->done = FALSE;
+               /* grab the vtable lock while this thread still owns type_initialization_section */
+               /* This is why type_initialization_lock needs to enter blocking mode */
+               mono_type_init_lock (lock);
+               g_hash_table_insert (type_initialization_hash, vtable, lock);
+               do_initialization = 1;
+       } else {
+               gpointer blocked;
+               TypeInitializationLock *pending_lock;
+
+               if (lock->initializing_tid == tid || lock->done) {
                        mono_type_initialization_unlock ();
                        return NULL;
                }
-               if (vtable->init_failed) {
-                       mono_type_initialization_unlock ();
-
-                       /* The type initialization already failed once, rethrow the same exception */
-                       if (raise_exception)
-                               mono_raise_exception (get_type_init_exception_for_vtable (vtable));
-                       return get_type_init_exception_for_vtable (vtable);
-               }                       
-               lock = g_hash_table_lookup (type_initialization_hash, vtable);
-               if (lock == NULL) {
-                       /* This thread will get to do the initialization */
-                       if (mono_domain_get () != domain) {
-                               /* Transfer into the target domain */
-                               last_domain = mono_domain_get ();
-                               if (!mono_domain_set (domain, FALSE)) {
-                                       vtable->initialized = 1;
+               /* see if the thread doing the initialization is already blocked on this thread */
+               blocked = GUINT_TO_POINTER (lock->initializing_tid);
+               while ((pending_lock = (TypeInitializationLock*) g_hash_table_lookup (blocked_thread_hash, blocked))) {
+                       if (pending_lock->initializing_tid == tid) {
+                               if (!pending_lock->done) {
                                        mono_type_initialization_unlock ();
-                                       if (raise_exception)
-                                               mono_raise_exception (mono_get_exception_appdomain_unloaded ());
-                                       return mono_get_exception_appdomain_unloaded ();
-                               }
-                       }
-                       lock = g_malloc (sizeof(TypeInitializationLock));
-                       mono_mutex_init_recursive (&lock->initialization_section);
-                       lock->initializing_tid = tid;
-                       lock->waiting_count = 1;
-                       lock->done = FALSE;
-                       /* grab the vtable lock while this thread still owns type_initialization_section */
-                       mono_type_init_lock (lock);
-                       g_hash_table_insert (type_initialization_hash, vtable, lock);
-                       do_initialization = 1;
-               } else {
-                       gpointer blocked;
-                       TypeInitializationLock *pending_lock;
-
-                       if (lock->initializing_tid == tid || lock->done) {
-                               mono_type_initialization_unlock ();
-                               return NULL;
-                       }
-                       /* see if the thread doing the initialization is already blocked on this thread */
-                       blocked = GUINT_TO_POINTER (lock->initializing_tid);
-                       while ((pending_lock = (TypeInitializationLock*) g_hash_table_lookup (blocked_thread_hash, blocked))) {
-                               if (pending_lock->initializing_tid == tid) {
-                                       if (!pending_lock->done) {
-                                               mono_type_initialization_unlock ();
-                                               return NULL;
-                                       } else {
-                                               /* the thread doing the initialization is blocked on this thread,
-                                                  but on a lock that has already been freed. It just hasn't got
-                                                  time to awake */
-                                               break;
-                                       }
+                                       return NULL;
+                               } else {
+                                       /* the thread doing the initialization is blocked on this thread,
+                                          but on a lock that has already been freed. It just hasn't got
+                                          time to awake */
+                                       break;
                                }
-                               blocked = GUINT_TO_POINTER (pending_lock->initializing_tid);
                        }
-                       ++lock->waiting_count;
-                       /* record the fact that we are waiting on the initializing thread */
-                       g_hash_table_insert (blocked_thread_hash, GUINT_TO_POINTER (tid), lock);
+                       blocked = GUINT_TO_POINTER (pending_lock->initializing_tid);
                }
-               mono_type_initialization_unlock ();
-
-               if (do_initialization) {
-                       mono_runtime_invoke (method, NULL, NULL, (MonoObject **) &exc);
+               ++lock->waiting_count;
+               /* record the fact that we are waiting on the initializing thread */
+               g_hash_table_insert (blocked_thread_hash, GUINT_TO_POINTER (tid), lock);
+       }
+       mono_type_initialization_unlock ();
 
-                       /* If the initialization failed, mark the class as unusable. */
-                       /* Avoid infinite loops */
-                       if (!(exc == NULL ||
-                                 (klass->image == mono_defaults.corlib &&              
-                                  !strcmp (klass->name_space, "System") &&
-                                  !strcmp (klass->name, "TypeInitializationException")))) {
-                               vtable->init_failed = 1;
+       if (do_initialization) {
+               mono_runtime_invoke (method, NULL, NULL, (MonoObject **) &exc);
 
-                               if (klass->name_space && *klass->name_space)
-                                       full_name = g_strdup_printf ("%s.%s", klass->name_space, klass->name);
-                               else
-                                       full_name = g_strdup (klass->name);
-                               exc_to_throw = mono_get_exception_type_initialization (full_name, exc);
-                               g_free (full_name);
+               /* If the initialization failed, mark the class as unusable. */
+               /* Avoid infinite loops */
+               if (!(exc == NULL ||
+                         (klass->image == mono_defaults.corlib &&
+                          !strcmp (klass->name_space, "System") &&
+                          !strcmp (klass->name, "TypeInitializationException")))) {
+                       vtable->init_failed = 1;
 
-                               /* 
-                                * Store the exception object so it could be thrown on subsequent 
-                                * accesses.
-                                */
-                               mono_domain_lock (domain);
-                               if (!domain->type_init_exception_hash)
-                                       domain->type_init_exception_hash = mono_g_hash_table_new_type (mono_aligned_addr_hash, NULL, MONO_HASH_VALUE_GC);
-                               mono_g_hash_table_insert (domain->type_init_exception_hash, klass, exc_to_throw);
-                               mono_domain_unlock (domain);
-                       }
-
-                       if (last_domain)
-                               mono_domain_set (last_domain, TRUE);
-                       lock->done = TRUE;
-                       mono_type_init_unlock (lock);
-               } else {
-                       /* this just blocks until the initializing thread is done */
-                       mono_type_init_lock (lock);
-                       mono_type_init_unlock (lock);
-               }
+                       if (klass->name_space && *klass->name_space)
+                               full_name = g_strdup_printf ("%s.%s", klass->name_space, klass->name);
+                       else
+                               full_name = g_strdup (klass->name);
+                       exc_to_throw = mono_get_exception_type_initialization (full_name, exc);
+                       g_free (full_name);
 
-               mono_type_initialization_lock ();
-               if (lock->initializing_tid != tid)
-                       g_hash_table_remove (blocked_thread_hash, GUINT_TO_POINTER (tid));
-               --lock->waiting_count;
-               if (lock->waiting_count == 0) {
-                       mono_mutex_destroy (&lock->initialization_section);
-                       g_hash_table_remove (type_initialization_hash, vtable);
-                       g_free (lock);
+                       /*
+                        * Store the exception object so it could be thrown on subsequent
+                        * accesses.
+                        */
+                       mono_domain_lock (domain);
+                       if (!domain->type_init_exception_hash)
+                               domain->type_init_exception_hash = mono_g_hash_table_new_type (mono_aligned_addr_hash, NULL, MONO_HASH_VALUE_GC, MONO_ROOT_SOURCE_DOMAIN, "type initialization exceptions table");
+                       mono_g_hash_table_insert (domain->type_init_exception_hash, klass, exc_to_throw);
+                       mono_domain_unlock (domain);
                }
-               mono_memory_barrier ();
-               if (!vtable->init_failed)
-                       vtable->initialized = 1;
-               mono_type_initialization_unlock ();
 
-               if (vtable->init_failed) {
-                       /* Either we were the initializing thread or we waited for the initialization */
-                       if (raise_exception)
-                               mono_raise_exception (get_type_init_exception_for_vtable (vtable));
-                       return get_type_init_exception_for_vtable (vtable);
-               }
+               if (last_domain)
+                       mono_domain_set (last_domain, TRUE);
+               lock->done = TRUE;
+               mono_type_init_unlock (lock);
        } else {
+               /* this just blocks until the initializing thread is done */
+               mono_type_init_lock (lock);
+               mono_type_init_unlock (lock);
+       }
+
+       mono_type_initialization_lock ();
+       if (lock->initializing_tid != tid)
+               g_hash_table_remove (blocked_thread_hash, GUINT_TO_POINTER (tid));
+       --lock->waiting_count;
+       if (lock->waiting_count == 0) {
+               mono_mutex_destroy (&lock->initialization_section);
+               g_hash_table_remove (type_initialization_hash, vtable);
+               g_free (lock);
+       }
+       mono_memory_barrier ();
+       if (!vtable->init_failed)
                vtable->initialized = 1;
-               return NULL;
+       mono_type_initialization_unlock ();
+
+       if (vtable->init_failed) {
+               /* Either we were the initializing thread or we waited for the initialization */
+               if (raise_exception)
+                       mono_raise_exception (get_type_init_exception_for_vtable (vtable));
+               return get_type_init_exception_for_vtable (vtable);
        }
        return NULL;
 }
@@ -432,6 +460,8 @@ mono_runtime_class_init_full (MonoVTable *vtable, gboolean raise_exception)
 static
 gboolean release_type_locks (gpointer key, gpointer value, gpointer user)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        MonoVTable *vtable = (MonoVTable*)key;
 
        TypeInitializationLock *lock = (TypeInitializationLock*) value;
@@ -457,6 +487,8 @@ gboolean release_type_locks (gpointer key, gpointer value, gpointer user)
 void
 mono_release_type_locks (MonoInternalThread *thread)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        mono_type_initialization_lock ();
        g_hash_table_foreach_remove (type_initialization_hash, release_type_locks, (gpointer)(gsize)(thread->tid));
        mono_type_initialization_unlock ();
@@ -570,6 +602,8 @@ mono_install_compile_method (MonoCompileFunc func)
 gpointer 
 mono_compile_method (MonoMethod *method)
 {
+       MONO_REQ_GC_NEUTRAL_MODE
+
        if (!default_mono_compile_method) {
                g_error ("compile method called on uninitialized runtime");
                return NULL;
@@ -580,12 +614,16 @@ mono_compile_method (MonoMethod *method)
 gpointer
 mono_runtime_create_jump_trampoline (MonoDomain *domain, MonoMethod *method, gboolean add_sync_wrapper)
 {
+       MONO_REQ_GC_NEUTRAL_MODE
+
        return arch_create_jump_trampoline (domain, method, add_sync_wrapper);
 }
 
 gpointer
 mono_runtime_create_delegate_trampoline (MonoClass *klass)
 {
+       MONO_REQ_GC_NEUTRAL_MODE
+
        return arch_create_delegate_trampoline (mono_domain_get (), klass);
 }
 
@@ -620,6 +658,8 @@ mono_install_free_method (MonoFreeMethodFunc func)
 void
 mono_runtime_free_method (MonoDomain *domain, MonoMethod *method)
 {
+       MONO_REQ_GC_NEUTRAL_MODE
+
        if (default_mono_free_method != NULL)
                default_mono_free_method (domain, method);
 
@@ -641,6 +681,8 @@ mono_runtime_free_method (MonoDomain *domain, MonoMethod *method)
 static gsize*
 compute_class_bitmap (MonoClass *class, gsize *bitmap, int size, int offset, int *max_set, gboolean static_fields)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        MonoClassField *field;
        MonoClass *p;
        guint32 pos;
@@ -683,8 +725,8 @@ compute_class_bitmap (MonoClass *class, gsize *bitmap, int size, int offset, int
                        if (field->type->byref)
                                break;
 
-                       if (static_fields && field->offset == -1)
-                               /* special static */
+                       // Special static fields do not have a domain-level static slot
+                       if (static_fields && mono_class_field_is_special_static (field))
                                continue;
 
                        pos = field->offset / sizeof (gpointer);
@@ -765,6 +807,8 @@ compute_class_bitmap (MonoClass *class, gsize *bitmap, int size, int offset, int
 gsize*
 mono_class_compute_bitmap (MonoClass *class, gsize *bitmap, int size, int offset, int *max_set, gboolean static_fields)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        return compute_class_bitmap (class, bitmap, size, offset, max_set, static_fields);
 }
 
@@ -913,12 +957,15 @@ mono_class_insecure_overlapping (MonoClass *klass)
 MonoString*
 mono_string_alloc (int length)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
        return mono_string_new_size (mono_domain_get (), length);
 }
 
 void
 mono_class_compute_gc_descriptor (MonoClass *class)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        int max_set = 0;
        gsize *bitmap;
        gsize default_bitmap [4] = {0};
@@ -989,6 +1036,8 @@ mono_class_compute_gc_descriptor (MonoClass *class)
 static gint32
 field_is_special_static (MonoClass *fklass, MonoClassField *field)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        MonoCustomAttrInfo *ainfo;
        int i;
        ainfo = mono_custom_attrs_from_field (fklass, field);
@@ -1041,6 +1090,8 @@ field_is_special_static (MonoClass *fklass, MonoClassField *field)
 guint32
 mono_method_get_imt_slot (MonoMethod *method)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        MonoMethodSignature *sig;
        int hashes_count;
        guint32 *hashes_start, *hashes;
@@ -1113,6 +1164,8 @@ mono_method_get_imt_slot (MonoMethod *method)
 
 static void
 add_imt_builder_entry (MonoImtBuilderEntry **imt_builder, MonoMethod *method, guint32 *imt_collisions_bitmap, int vtable_slot, int slot_num) {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        guint32 imt_slot = mono_method_get_imt_slot (method);
        MonoImtBuilderEntry *entry;
 
@@ -1175,6 +1228,8 @@ compare_imt_builder_entries (const void *p1, const void *p2) {
 static int
 imt_emit_ir (MonoImtBuilderEntry **sorted_array, int start, int end, GPtrArray *out_array)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        int count = end - start;
        int chunk_start = out_array->len;
        if (count < 4) {
@@ -1206,6 +1261,8 @@ imt_emit_ir (MonoImtBuilderEntry **sorted_array, int start, int end, GPtrArray *
 
 static GPtrArray*
 imt_sort_slot_entries (MonoImtBuilderEntry *entries) {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        int number_of_entries = entries->children + 1;
        MonoImtBuilderEntry **sorted_array = malloc (sizeof (MonoImtBuilderEntry*) * number_of_entries);
        GPtrArray *result = g_ptr_array_new ();
@@ -1230,6 +1287,8 @@ imt_sort_slot_entries (MonoImtBuilderEntry *entries) {
 static gpointer
 initialize_imt_slot (MonoVTable *vtable, MonoDomain *domain, MonoImtBuilderEntry *imt_builder_entry, gpointer fail_tramp)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        if (imt_builder_entry != NULL) {
                if (imt_builder_entry->children == 0 && !fail_tramp) {
                        /* No collision, return the vtable slot contents */
@@ -1265,6 +1324,8 @@ get_generic_virtual_entries (MonoDomain *domain, gpointer *vtable_slot);
 static void
 build_imt_slots (MonoClass *klass, MonoVTable *vt, MonoDomain *domain, gpointer* imt, GSList *extra_interfaces, int slot_num)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        int i;
        GSList *list_item;
        guint32 imt_collisions_bitmap = 0;
@@ -1406,6 +1467,8 @@ build_imt_slots (MonoClass *klass, MonoVTable *vt, MonoDomain *domain, gpointer*
 
 static void
 build_imt (MonoClass *klass, MonoVTable *vt, MonoDomain *domain, gpointer* imt, GSList *extra_interfaces) {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        build_imt_slots (klass, vt, domain, imt, extra_interfaces, -1);
 }
 
@@ -1423,6 +1486,8 @@ build_imt (MonoClass *klass, MonoVTable *vt, MonoDomain *domain, gpointer* imt,
 void
 mono_vtable_build_imt_slot (MonoVTable* vtable, int imt_slot)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        gpointer *imt = (gpointer*)vtable;
        imt -= MONO_IMT_SIZE;
        g_assert (imt_slot >= 0 && imt_slot < MONO_IMT_SIZE);
@@ -1463,6 +1528,8 @@ mono_vtable_build_imt_slot (MonoVTable* vtable, int imt_slot)
 static void
 init_thunk_free_lists (MonoDomain *domain)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        if (domain->thunk_free_lists)
                return;
        domain->thunk_free_lists = mono_domain_alloc0 (domain, sizeof (gpointer) * NUM_FREE_LISTS);
@@ -1496,6 +1563,8 @@ list_index_for_size (int item_size)
 gpointer
 mono_method_alloc_generic_virtual_thunk (MonoDomain *domain, int size)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        static gboolean inited = FALSE;
        static int generic_virtual_thunks_size = 0;
 
@@ -1554,6 +1623,8 @@ mono_method_alloc_generic_virtual_thunk (MonoDomain *domain, int size)
 static void
 invalidate_generic_virtual_thunk (MonoDomain *domain, gpointer code)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        guint32 *p = code;
        MonoThunkFreeList *l = (MonoThunkFreeList*)(p - 1);
        gboolean found = FALSE;
@@ -1615,6 +1686,8 @@ typedef struct _GenericVirtualCase {
 static MonoImtBuilderEntry*
 get_generic_virtual_entries (MonoDomain *domain, gpointer *vtable_slot)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        GenericVirtualCase *list;
        MonoImtBuilderEntry *entries;
   
@@ -1664,6 +1737,8 @@ mono_method_add_generic_virtual_invocation (MonoDomain *domain, MonoVTable *vtab
                                                                                        gpointer *vtable_slot,
                                                                                        MonoMethod *method, gpointer code)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        static gboolean inited = FALSE;
        static int num_added = 0;
 
@@ -1775,6 +1850,8 @@ mono_class_vtable (MonoDomain *domain, MonoClass *class)
 MonoVTable *
 mono_class_vtable_full (MonoDomain *domain, MonoClass *class, gboolean raise_on_error)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoClassRuntimeInfo *runtime_info;
 
        g_assert (class);
@@ -1803,6 +1880,8 @@ mono_class_vtable_full (MonoDomain *domain, MonoClass *class, gboolean raise_on_
 MonoVTable *
 mono_class_try_get_vtable (MonoDomain *domain, MonoClass *class)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        MonoClassRuntimeInfo *runtime_info;
 
        g_assert (class);
@@ -1816,6 +1895,8 @@ mono_class_try_get_vtable (MonoDomain *domain, MonoClass *class)
 static gpointer*
 alloc_vtable (MonoDomain *domain, size_t vtable_size, size_t imt_table_bytes)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        size_t alloc_offset;
 
        /*
@@ -1837,6 +1918,8 @@ alloc_vtable (MonoDomain *domain, size_t vtable_size, size_t imt_table_bytes)
 static MonoVTable *
 mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *class, gboolean raise_on_error)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoVTable *vt;
        MonoClassRuntimeInfo *runtime_info, *old_info;
        MonoClassField *field;
@@ -1972,7 +2055,7 @@ mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *class, gboolean
                        bitmap = compute_class_bitmap (class, default_bitmap, sizeof (default_bitmap) * 8, 0, &max_set, TRUE);
                        /*g_print ("bitmap 0x%x for %s.%s (size: %d)\n", bitmap [0], class->name_space, class->name, class_size);*/
                        statics_gc_descr = mono_gc_make_descr_from_bitmap (bitmap, max_set + 1);
-                       vt->vtable [class->vtable_size] = mono_gc_alloc_fixed (class_size, statics_gc_descr);
+                       vt->vtable [class->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, class, vt->vtable [class->vtable_size], NULL);
                        if (bitmap != default_bitmap)
                                g_free (bitmap);
@@ -2088,7 +2171,7 @@ mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *class, gboolean
                        /* This is unregistered in
                           unregister_vtable_reflection_type() in
                           domain.c. */
-                       MONO_GC_REGISTER_ROOT_IF_MOVING(vt->type);
+                       MONO_GC_REGISTER_ROOT_IF_MOVING(vt->type, MONO_ROOT_SOURCE_REFLECTION, "vtable reflection type");
        }
 
        mono_vtable_set_is_remote (vt, mono_class_is_contextbound (class));
@@ -2142,7 +2225,7 @@ mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *class, gboolean
                        /* This is unregistered in
                           unregister_vtable_reflection_type() in
                           domain.c. */
-                       MONO_GC_REGISTER_ROOT_IF_MOVING(vt->type);
+                       MONO_GC_REGISTER_ROOT_IF_MOVING(vt->type, MONO_ROOT_SOURCE_REFLECTION, "vtable reflection type");
        }
 
        mono_domain_unlock (domain);
@@ -2170,6 +2253,8 @@ mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *class, gboolean
 static MonoVTable *
 mono_class_proxy_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, MonoRemotingTarget target_type)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoError error;
        MonoVTable *vt, *pvt;
        int i, j, vtsize, max_interface_id, extra_interface_vtsize = 0;
@@ -2327,11 +2412,15 @@ mono_class_proxy_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, Mono
 gboolean
 mono_class_field_is_special_static (MonoClassField *field)
 {
+       MONO_REQ_GC_NEUTRAL_MODE
+
        if (!(field->type->attrs & FIELD_ATTRIBUTE_STATIC))
                return FALSE;
        if (mono_field_is_deleted (field))
                return FALSE;
        if (!(field->type->attrs & FIELD_ATTRIBUTE_LITERAL)) {
+               if (field->offset == -1)
+                       return TRUE;
                if (field_is_special_static (field->parent, field) != SPECIAL_STATIC_NONE)
                        return TRUE;
        }
@@ -2348,6 +2437,8 @@ mono_class_field_is_special_static (MonoClassField *field)
 guint32
 mono_class_field_get_special_static_type (MonoClassField *field)
 {
+       MONO_REQ_GC_NEUTRAL_MODE
+
        if (!(field->type->attrs & FIELD_ATTRIBUTE_STATIC))
                return SPECIAL_STATIC_NONE;
        if (mono_field_is_deleted (field))
@@ -2365,6 +2456,8 @@ mono_class_field_get_special_static_type (MonoClassField *field)
 gboolean
 mono_class_has_special_static_fields (MonoClass *klass)
 {
+       MONO_REQ_GC_NEUTRAL_MODE
+
        MonoClassField *field;
        gpointer iter;
 
@@ -2387,6 +2480,8 @@ mono_class_has_special_static_fields (MonoClass *klass)
 static gpointer*
 create_remote_class_key (MonoRemoteClass *remote_class, MonoClass *extra_class)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        gpointer *key;
        int i, j;
        
@@ -2438,6 +2533,8 @@ create_remote_class_key (MonoRemoteClass *remote_class, MonoClass *extra_class)
 static gpointer*
 copy_remote_class_key (MonoDomain *domain, gpointer *key)
 {
+       MONO_REQ_GC_NEUTRAL_MODE
+
        int key_size = (GPOINTER_TO_UINT (key [0]) + 1) * sizeof (gpointer);
        gpointer *mp_key = mono_domain_alloc (domain, key_size);
 
@@ -2458,6 +2555,8 @@ copy_remote_class_key (MonoDomain *domain, gpointer *key)
 MonoRemoteClass*
 mono_remote_class (MonoDomain *domain, MonoString *class_name, MonoClass *proxy_class)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoError error;
        MonoRemoteClass *rc;
        gpointer* key, *mp_key;
@@ -2516,6 +2615,8 @@ mono_remote_class (MonoDomain *domain, MonoString *class_name, MonoClass *proxy_
 static MonoRemoteClass*
 clone_remote_class (MonoDomain *domain, MonoRemoteClass* remote_class, MonoClass *extra_class)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        MonoRemoteClass *rc;
        gpointer* key, *mp_key;
        
@@ -2566,6 +2667,8 @@ clone_remote_class (MonoDomain *domain, MonoRemoteClass* remote_class, MonoClass
 gpointer
 mono_remote_class_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, MonoRealProxy *rp)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        mono_loader_lock (); /*FIXME mono_class_from_mono_type and mono_class_proxy_vtable take it*/
        mono_domain_lock (domain);
        if (rp->target_domain_id != -1) {
@@ -2606,6 +2709,8 @@ mono_remote_class_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, Mon
 void
 mono_upgrade_remote_class (MonoDomain *domain, MonoObject *proxy_object, MonoClass *klass)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoTransparentProxy *tproxy;
        MonoRemoteClass *remote_class;
        gboolean redo_vtable;
@@ -2649,6 +2754,8 @@ mono_upgrade_remote_class (MonoDomain *domain, MonoObject *proxy_object, MonoCla
 MonoMethod*
 mono_object_get_virtual_method (MonoObject *obj, MonoMethod *method)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoClass *klass;
        MonoMethod **vtable;
        gboolean is_proxy = FALSE;
@@ -2772,6 +2879,8 @@ static MonoInvokeFunc default_mono_runtime_invoke = dummy_mono_runtime_invoke;
 MonoObject*
 mono_runtime_invoke (MonoMethod *method, void *obj, void **params, MonoObject **exc)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoObject *result;
 
        if (mono_runtime_get_no_exec ())
@@ -2841,13 +2950,24 @@ mono_runtime_invoke (MonoMethod *method, void *obj, void **params, MonoObject **
 gpointer
 mono_method_get_unmanaged_thunk (MonoMethod *method)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+       MONO_REQ_API_ENTRYPOINT;
+
+       gpointer res;
+
+       MONO_PREPARE_RESET_BLOCKING
        method = mono_marshal_get_thunk_invoke_wrapper (method);
-       return mono_compile_method (method);
+       res = mono_compile_method (method);
+       MONO_FINISH_RESET_BLOCKING
+
+       return res;
 }
 
 void
 mono_copy_value (MonoType *type, void *dest, void *value, int deref_pointer)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        int t;
        if (type->byref) {
                /* object fields cannot be byref, so we don't need a
@@ -2953,6 +3073,8 @@ handle_enum:
 void
 mono_field_set_value (MonoObject *obj, MonoClassField *field, void *value)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        void *dest;
 
        g_return_if_fail (!(field->type->attrs & FIELD_ATTRIBUTE_STATIC));
@@ -2974,6 +3096,8 @@ mono_field_set_value (MonoObject *obj, MonoClassField *field, void *value)
 void
 mono_field_static_set_value (MonoVTable *vt, MonoClassField *field, void *value)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        void *dest;
 
        g_return_if_fail (field->type->attrs & FIELD_ATTRIBUTE_STATIC);
@@ -3004,6 +3128,8 @@ mono_field_static_set_value (MonoVTable *vt, MonoClassField *field, void *value)
 void *
 mono_vtable_get_static_field_data (MonoVTable *vt)
 {
+       MONO_REQ_GC_NEUTRAL_MODE
+
        if (!vt->has_static_fields)
                return NULL;
        return vt->vtable [vt->klass->vtable_size];
@@ -3012,6 +3138,8 @@ mono_vtable_get_static_field_data (MonoVTable *vt)
 static guint8*
 mono_field_get_addr (MonoObject *obj, MonoVTable *vt, MonoClassField *field)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        guint8 *src;
 
        if (field->type->attrs & FIELD_ATTRIBUTE_STATIC) {
@@ -3053,6 +3181,8 @@ mono_field_get_addr (MonoObject *obj, MonoVTable *vt, MonoClassField *field)
 void
 mono_field_get_value (MonoObject *obj, MonoClassField *field, void *value)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        void *src;
 
        g_assert (obj);
@@ -3076,6 +3206,8 @@ mono_field_get_value (MonoObject *obj, MonoClassField *field, void *value)
 MonoObject *
 mono_field_get_value_object (MonoDomain *domain, MonoClassField *field, MonoObject *obj)
 {      
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoObject *o;
        MonoClass *klass;
        MonoVTable *vtable = NULL;
@@ -3204,6 +3336,8 @@ mono_field_get_value_object (MonoDomain *domain, MonoClassField *field, MonoObje
 int
 mono_get_constant_value_from_blob (MonoDomain* domain, MonoTypeEnum type, const char *blob, void *value)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        int retval = 0;
        const char *p = blob;
        mono_metadata_decode_blob_size (p, &p);
@@ -3249,6 +3383,8 @@ mono_get_constant_value_from_blob (MonoDomain* domain, MonoTypeEnum type, const
 static void
 get_default_field_value (MonoDomain* domain, MonoClassField *field, void *value)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        MonoTypeEnum def_type;
        const char* data;
        
@@ -3259,6 +3395,8 @@ get_default_field_value (MonoDomain* domain, MonoClassField *field, void *value)
 void
 mono_field_static_get_value_for_thread (MonoInternalThread *thread, MonoVTable *vt, MonoClassField *field, void *value)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        void *src;
 
        g_return_if_fail (field->type->attrs & FIELD_ATTRIBUTE_STATIC);
@@ -3297,6 +3435,8 @@ mono_field_static_get_value_for_thread (MonoInternalThread *thread, MonoVTable *
 void
 mono_field_static_get_value (MonoVTable *vt, MonoClassField *field, void *value)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        mono_field_static_get_value_for_thread (mono_thread_internal_current (), vt, field, value);
 }
 
@@ -3318,6 +3458,8 @@ mono_field_static_get_value (MonoVTable *vt, MonoClassField *field, void *value)
 void
 mono_property_set_value (MonoProperty *prop, void *obj, void **params, MonoObject **exc)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        default_mono_runtime_invoke (prop->set, obj, params, exc);
 }
 
@@ -3341,6 +3483,8 @@ mono_property_set_value (MonoProperty *prop, void *obj, void **params, MonoObjec
 MonoObject*
 mono_property_get_value (MonoProperty *prop, void *obj, void **params, MonoObject **exc)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return default_mono_runtime_invoke (prop->get, obj, params, exc);
 }
 
@@ -3361,6 +3505,8 @@ mono_property_get_value (MonoProperty *prop, void *obj, void **params, MonoObjec
 void
 mono_nullable_init (guint8 *buf, MonoObject *value, MonoClass *klass)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoClass *param_class = klass->cast_class;
 
        mono_class_setup_fields_locking (klass);
@@ -3391,6 +3537,8 @@ mono_nullable_init (guint8 *buf, MonoObject *value, MonoClass *klass)
 MonoObject*
 mono_nullable_box (guint8 *buf, MonoClass *klass)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoClass *param_class = klass->cast_class;
 
        mono_class_setup_fields_locking (klass);
@@ -3420,6 +3568,8 @@ mono_nullable_box (guint8 *buf, MonoClass *klass)
 MonoMethod *
 mono_get_delegate_invoke (MonoClass *klass)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        MonoMethod *im;
 
        /* This is called at runtime, so avoid the slower search in metadata */
@@ -3439,6 +3589,8 @@ mono_get_delegate_invoke (MonoClass *klass)
 MonoMethod *
 mono_get_delegate_begin_invoke (MonoClass *klass)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        MonoMethod *im;
 
        /* This is called at runtime, so avoid the slower search in metadata */
@@ -3458,6 +3610,8 @@ mono_get_delegate_begin_invoke (MonoClass *klass)
 MonoMethod *
 mono_get_delegate_end_invoke (MonoClass *klass)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        MonoMethod *im;
 
        /* This is called at runtime, so avoid the slower search in metadata */
@@ -3484,6 +3638,8 @@ mono_get_delegate_end_invoke (MonoClass *klass)
 MonoObject*
 mono_runtime_delegate_invoke (MonoObject *delegate, void **params, MonoObject **exc)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoMethod *im;
        MonoClass *klass = delegate->vtable->klass;
 
@@ -3505,6 +3661,8 @@ static int num_main_args = 0;
 MonoArray*
 mono_runtime_get_main_args (void)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoArray *res;
        int i;
        MonoDomain *domain = mono_domain_get ();
@@ -3520,6 +3678,8 @@ mono_runtime_get_main_args (void)
 static void
 free_main_args (void)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        int i;
 
        for (i = 0; i < num_main_args; ++i)
@@ -3540,6 +3700,8 @@ free_main_args (void)
 int
 mono_runtime_set_main_args (int argc, char* argv[])
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        int i;
 
        free_main_args ();
@@ -3579,6 +3741,8 @@ int
 mono_runtime_run_main (MonoMethod *method, int argc, char* argv[],
                       MonoObject **exc)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        int i;
        MonoArray *args = NULL;
        MonoDomain *domain = mono_domain_get ();
@@ -3698,6 +3862,8 @@ serialize_object (MonoObject *obj, gboolean *failure, MonoObject **exc)
 static MonoObject*
 deserialize_object (MonoObject *obj, gboolean *failure, MonoObject **exc)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        static MonoMethod *deserialize_method;
 
        void *params [1];
@@ -3725,6 +3891,8 @@ deserialize_object (MonoObject *obj, gboolean *failure, MonoObject **exc)
 static MonoObject*
 make_transparent_proxy (MonoObject *obj, gboolean *failure, MonoObject **exc)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        static MonoMethod *get_proxy_method;
 
        MonoDomain *domain = mono_domain_get ();
@@ -3769,6 +3937,8 @@ make_transparent_proxy (MonoObject *obj, gboolean *failure, MonoObject **exc)
 MonoObject*
 mono_object_xdomain_representation (MonoObject *obj, MonoDomain *target_domain, MonoObject **exc)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoObject *deserialized = NULL;
        gboolean failure = FALSE;
 
@@ -3800,6 +3970,8 @@ mono_object_xdomain_representation (MonoObject *obj, MonoDomain *target_domain,
 static MonoObject *
 create_unhandled_exception_eventargs (MonoObject *exc)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoClass *klass;
        gpointer args [2];
        MonoMethod *method = NULL;
@@ -3827,6 +3999,8 @@ create_unhandled_exception_eventargs (MonoObject *exc)
 /* Used in mono_unhandled_exception */
 static void
 call_unhandled_exception_delegate (MonoDomain *domain, MonoObject *delegate, MonoObject *exc) {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoObject *e = NULL;
        gpointer pa [2];
        MonoDomain *current_domain = mono_domain_get ();
@@ -3916,39 +4090,39 @@ mono_runtime_unhandled_exception_policy_get (void) {
 void
 mono_unhandled_exception (MonoObject *exc)
 {
-       MonoDomain *current_domain = mono_domain_get ();
-       MonoDomain *root_domain = mono_get_root_domain ();
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoClassField *field;
-       MonoObject *current_appdomain_delegate;
-       MonoObject *root_appdomain_delegate;
+       MonoDomain *current_domain, *root_domain;
+       MonoObject *current_appdomain_delegate = NULL, *root_appdomain_delegate = NULL;
 
-       field=mono_class_get_field_from_name(mono_defaults.appdomain_class, 
-                                            "UnhandledException");
+       if (mono_class_has_parent (exc->vtable->klass, mono_defaults.threadabortexception_class))
+               return;
+
+       field = mono_class_get_field_from_name (mono_defaults.appdomain_class, "UnhandledException");
        g_assert (field);
 
-       if (exc->vtable->klass != mono_defaults.threadabortexception_class) {
-               gboolean abort_process = (main_thread && (mono_thread_internal_current () == main_thread->internal_thread)) ||
-                               (mono_runtime_unhandled_exception_policy_get () == MONO_UNHANDLED_POLICY_CURRENT);
-               root_appdomain_delegate = *(MonoObject **)(((char *)root_domain->domain) + field->offset);
-               if (current_domain != root_domain) {
-                       current_appdomain_delegate = *(MonoObject **)(((char *)current_domain->domain) + field->offset);
-               } else {
-                       current_appdomain_delegate = NULL;
-               }
+       current_domain = mono_domain_get ();
+       root_domain = mono_get_root_domain ();
 
-               /* set exitcode only if we will abort the process */
-               if ((current_appdomain_delegate == NULL) && (root_appdomain_delegate == NULL)) {
-                       if (abort_process)
-                               mono_environment_exitcode_set (1);
-                       mono_print_unhandled_exception (exc);
-               } else {
-                       if (root_appdomain_delegate) {
-                               call_unhandled_exception_delegate (root_domain, root_appdomain_delegate, exc);
-                       }
-                       if (current_appdomain_delegate) {
-                               call_unhandled_exception_delegate (current_domain, current_appdomain_delegate, exc);
-                       }
+       root_appdomain_delegate = mono_field_get_value_object (root_domain, field, (MonoObject*) root_domain->domain);
+       if (current_domain != root_domain)
+               current_appdomain_delegate = mono_field_get_value_object (current_domain, field, (MonoObject*) current_domain->domain);
+
+       /* set exitcode only if we will abort the process */
+       if (!current_appdomain_delegate && !root_appdomain_delegate) {
+               if ((main_thread && mono_thread_internal_current () == main_thread->internal_thread)
+                    || mono_runtime_unhandled_exception_policy_get () == MONO_UNHANDLED_POLICY_CURRENT)
+               {
+                       mono_environment_exitcode_set (1);
                }
+
+               mono_print_unhandled_exception (exc);
+       } else {
+               if (root_appdomain_delegate)
+                       call_unhandled_exception_delegate (root_domain, root_appdomain_delegate, exc);
+               if (current_appdomain_delegate)
+                       call_unhandled_exception_delegate (current_domain, current_appdomain_delegate, exc);
        }
 }
 
@@ -3985,6 +4159,8 @@ mono_runtime_exec_managed_code (MonoDomain *domain,
 int
 mono_runtime_exec_main (MonoMethod *method, MonoArray *args, MonoObject **exc)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDomain *domain;
        gpointer pa [1];
        int rval;
@@ -4116,6 +4292,8 @@ MonoObject*
 mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
                           MonoObject **exc)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoMethodSignature *sig = mono_method_signature (method);
        gpointer *pa = NULL;
        MonoObject *res;
@@ -4293,6 +4471,8 @@ mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
 static void
 arith_overflow (void)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        mono_raise_exception (mono_get_exception_overflow ());
 }
 
@@ -4310,6 +4490,8 @@ arith_overflow (void)
 MonoObject *
 mono_object_new (MonoDomain *domain, MonoClass *klass)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoVTable *vtable;
 
        vtable = mono_class_vtable (domain, klass);
@@ -4327,6 +4509,8 @@ mono_object_new (MonoDomain *domain, MonoClass *klass)
 MonoObject *
 mono_object_new_pinned (MonoDomain *domain, MonoClass *klass)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoVTable *vtable;
 
        vtable = mono_class_vtable (domain, klass);
@@ -4350,6 +4534,8 @@ mono_object_new_pinned (MonoDomain *domain, MonoClass *klass)
 MonoObject *
 mono_object_new_specific (MonoVTable *vtable)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoObject *o;
 
        /* check for is_com_object for COM Interop */
@@ -4365,7 +4551,8 @@ mono_object_new_specific (MonoVTable *vtable)
                                mono_class_init (klass);
 
                        im = mono_class_get_method_from_name (klass, "CreateProxyForType", 1);
-                       g_assert (im);
+                       if (!im)
+                               mono_raise_exception (mono_get_exception_not_supported ("Linked away."));
                        vtable->domain->create_proxy_for_type_method = im;
                }
        
@@ -4381,6 +4568,8 @@ mono_object_new_specific (MonoVTable *vtable)
 MonoObject *
 mono_object_new_alloc_specific (MonoVTable *vtable)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoObject *o = mono_gc_alloc_obj (vtable, vtable->klass->instance_size);
 
        if (G_UNLIKELY (vtable->klass->has_finalize))
@@ -4392,6 +4581,8 @@ mono_object_new_alloc_specific (MonoVTable *vtable)
 MonoObject*
 mono_object_new_fast (MonoVTable *vtable)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return mono_gc_alloc_obj (vtable, vtable->klass->instance_size);
 }
 
@@ -4407,6 +4598,8 @@ mono_object_new_fast (MonoVTable *vtable)
 void*
 mono_class_get_allocation_ftn (MonoVTable *vtable, gboolean for_box, gboolean *pass_size_in_words)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        *pass_size_in_words = FALSE;
 
        if (mono_class_has_finalizer (vtable->klass) || mono_class_is_marshalbyref (vtable->klass) || (mono_profiler_get_events () & MONO_PROFILE_ALLOCATIONS))
@@ -4444,6 +4637,8 @@ mono_class_get_allocation_ftn (MonoVTable *vtable, gboolean for_box, gboolean *p
 MonoObject *
 mono_object_new_from_token  (MonoDomain *domain, MonoImage *image, guint32 token)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoError error;
        MonoClass *class;
 
@@ -4463,6 +4658,8 @@ mono_object_new_from_token  (MonoDomain *domain, MonoImage *image, guint32 token
 MonoObject *
 mono_object_clone (MonoObject *obj)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoObject *o;
        int size = obj->vtable->klass->instance_size;
 
@@ -4489,6 +4686,8 @@ mono_object_clone (MonoObject *obj)
 void
 mono_array_full_copy (MonoArray *src, MonoArray *dest)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        uintptr_t size;
        MonoClass *klass = src->obj.vtable->klass;
 
@@ -4522,6 +4721,8 @@ mono_array_full_copy (MonoArray *src, MonoArray *dest)
 MonoArray*
 mono_array_clone_in_domain (MonoDomain *domain, MonoArray *array)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoArray *o;
        uintptr_t size, i;
        uintptr_t *sizes;
@@ -4580,6 +4781,8 @@ mono_array_clone_in_domain (MonoDomain *domain, MonoArray *array)
 MonoArray*
 mono_array_clone (MonoArray *array)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return mono_array_clone_in_domain (((MonoObject *)array)->vtable->domain, array);
 }
 
@@ -4605,6 +4808,8 @@ mono_array_clone (MonoArray *array)
 gboolean
 mono_array_calc_byte_len (MonoClass *class, uintptr_t len, uintptr_t *res)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        uintptr_t byte_len;
 
        byte_len = mono_array_element_size (class);
@@ -4633,6 +4838,8 @@ mono_array_calc_byte_len (MonoClass *class, uintptr_t len, uintptr_t *res)
 MonoArray*
 mono_array_new_full (MonoDomain *domain, MonoClass *array_class, uintptr_t *lengths, intptr_t *lower_bounds)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        uintptr_t byte_len = 0, len, bounds_size;
        MonoObject *o;
        MonoArray *array;
@@ -4710,6 +4917,8 @@ mono_array_new_full (MonoDomain *domain, MonoClass *array_class, uintptr_t *leng
 MonoArray *
 mono_array_new (MonoDomain *domain, MonoClass *eclass, uintptr_t n)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoClass *ac;
 
        ac = mono_array_class_get (eclass, 1);
@@ -4729,6 +4938,8 @@ mono_array_new (MonoDomain *domain, MonoClass *eclass, uintptr_t n)
 MonoArray *
 mono_array_new_specific (MonoVTable *vtable, uintptr_t n)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoObject *o;
        MonoArray *ao;
        uintptr_t byte_len;
@@ -4758,6 +4969,8 @@ mono_array_new_specific (MonoVTable *vtable, uintptr_t n)
 MonoString *
 mono_string_new_utf16 (MonoDomain *domain, const guint16 *text, gint32 len)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoString *s;
        
        s = mono_string_new_size (domain, len);
@@ -4778,6 +4991,8 @@ mono_string_new_utf16 (MonoDomain *domain, const guint16 *text, gint32 len)
 MonoString *
 mono_string_new_utf32 (MonoDomain *domain, const mono_unichar4 *text, gint32 len)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoString *s;
        mono_unichar2 *utf16_output = NULL;
        gint32 utf16_len = 0;
@@ -4811,6 +5026,8 @@ mono_string_new_utf32 (MonoDomain *domain, const mono_unichar4 *text, gint32 len
 MonoString *
 mono_string_new_size (MonoDomain *domain, gint32 len)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoString *s;
        MonoVTable *vtable;
        size_t size;
@@ -4840,6 +5057,8 @@ mono_string_new_size (MonoDomain *domain, gint32 len)
 MonoString*
 mono_string_new_len (MonoDomain *domain, const char *text, guint length)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        GError *error = NULL;
        MonoString *o = NULL;
        guint16 *ut;
@@ -4866,6 +5085,8 @@ mono_string_new_len (MonoDomain *domain, const char *text, guint length)
 MonoString*
 mono_string_new (MonoDomain *domain, const char *text)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
     GError *error = NULL;
     MonoString *o = NULL;
     guint16 *ut;
@@ -4913,6 +5134,8 @@ mono_string_new (MonoDomain *domain, const char *text)
 MonoString*
 mono_string_new_wrapper (const char *text)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDomain *domain = mono_domain_get ();
 
        if (text)
@@ -4931,6 +5154,8 @@ mono_string_new_wrapper (const char *text)
 MonoObject *
 mono_value_box (MonoDomain *domain, MonoClass *class, gpointer value)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoObject *res;
        int size;
        MonoVTable *vtable;
@@ -4989,6 +5214,8 @@ mono_value_box (MonoDomain *domain, MonoClass *class, gpointer value)
 void
 mono_value_copy (gpointer dest, gpointer src, MonoClass *klass)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        mono_gc_wbarrier_value_copy (dest, src, 1, klass);
 }
 
@@ -5006,6 +5233,8 @@ mono_value_copy (gpointer dest, gpointer src, MonoClass *klass)
 void
 mono_value_copy_array (MonoArray *dest, int dest_idx, gpointer src, int count)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        int size = mono_array_element_size (dest->obj.vtable->klass);
        char *d = mono_array_addr_with_size_fast (dest, size, dest_idx);
        g_assert (size == mono_class_value_size (mono_object_class (dest)->element_class, NULL));
@@ -5021,6 +5250,8 @@ mono_value_copy_array (MonoArray *dest, int dest_idx, gpointer src, int count)
 MonoDomain*
 mono_object_get_domain (MonoObject *obj)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return mono_object_domain (obj);
 }
 
@@ -5033,6 +5264,8 @@ mono_object_get_domain (MonoObject *obj)
 MonoClass*
 mono_object_get_class (MonoObject *obj)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return mono_object_class (obj);
 }
 /**
@@ -5044,6 +5277,8 @@ mono_object_get_class (MonoObject *obj)
 guint
 mono_object_get_size (MonoObject* o)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoClass* klass = mono_object_class (o);
        if (klass == mono_defaults.string_class) {
                return sizeof (MonoString) + 2 * mono_string_length ((MonoString*) o) + 2;
@@ -5073,6 +5308,8 @@ mono_object_get_size (MonoObject* o)
 gpointer
 mono_object_unbox (MonoObject *obj)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        /* add assert for valuetypes? */
        g_assert (obj->vtable->klass->valuetype);
        return ((char*)obj) + sizeof (MonoObject);
@@ -5088,6 +5325,8 @@ mono_object_unbox (MonoObject *obj)
 MonoObject *
 mono_object_isinst (MonoObject *obj, MonoClass *klass)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        if (!klass->inited)
                mono_class_init (klass);
 
@@ -5103,6 +5342,8 @@ mono_object_isinst (MonoObject *obj, MonoClass *klass)
 MonoObject *
 mono_object_isinst_mbyref (MonoObject *obj, MonoClass *klass)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoVTable *vt;
 
        if (!obj)
@@ -5138,6 +5379,8 @@ mono_object_isinst_mbyref (MonoObject *obj, MonoClass *klass)
                gpointer pa [2];
 
                im = mono_class_get_method_from_name (rpklass, "CanCastTo", -1);
+               if (!im)
+                       mono_raise_exception (mono_get_exception_not_supported ("Linked away."));
                im = mono_object_get_virtual_method (rp, im);
                g_assert (im);
        
@@ -5166,6 +5409,8 @@ mono_object_isinst_mbyref (MonoObject *obj, MonoClass *klass)
 MonoObject *
 mono_object_castclass_mbyref (MonoObject *obj, MonoClass *klass)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        if (!obj) return NULL;
        if (mono_object_isinst_mbyref (obj, klass)) return obj;
                
@@ -5184,6 +5429,8 @@ typedef struct {
 static void
 str_lookup (MonoDomain *domain, gpointer user_data)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        LDStrInfo *info = user_data;
        if (info->res || domain == info->orig_domain)
                return;
@@ -5195,6 +5442,8 @@ str_lookup (MonoDomain *domain, gpointer user_data)
 static MonoString*
 mono_string_get_pinned (MonoString *str)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        int size;
        MonoString *news;
        size = sizeof (MonoString) + 2 * (mono_string_length (str) + 1);
@@ -5213,6 +5462,8 @@ mono_string_get_pinned (MonoString *str)
 static MonoString*
 mono_string_is_interned_lookup (MonoString *str, int insert)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoGHashTable *ldstr_table;
        MonoString *s, *res;
        MonoDomain *domain;
@@ -5270,6 +5521,8 @@ mono_string_is_interned_lookup (MonoString *str, int insert)
 MonoString*
 mono_string_is_interned (MonoString *o)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return mono_string_is_interned_lookup (o, FALSE);
 }
 
@@ -5283,6 +5536,8 @@ mono_string_is_interned (MonoString *o)
 MonoString*
 mono_string_intern (MonoString *str)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return mono_string_is_interned_lookup (str, TRUE);
 }
 
@@ -5298,6 +5553,8 @@ mono_string_intern (MonoString *str)
 MonoString*
 mono_ldstr (MonoDomain *domain, MonoImage *image, guint32 idx)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        if (image->dynamic) {
                MonoString *str = mono_lookup_dynamic_token (image, MONO_TOKEN_STRING | idx, NULL);
                return str;
@@ -5318,6 +5575,8 @@ mono_ldstr (MonoDomain *domain, MonoImage *image, guint32 idx)
 static MonoString*
 mono_ldstr_metadata_sig (MonoDomain *domain, const char* sig)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        const char *str = sig;
        MonoString *o, *interned;
        size_t len2;
@@ -5368,6 +5627,8 @@ mono_ldstr_metadata_sig (MonoDomain *domain, const char* sig)
 char *
 mono_string_to_utf8 (MonoString *s)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoError error;
        char *result = mono_string_to_utf8_checked (s, &error);
        
@@ -5388,6 +5649,8 @@ mono_string_to_utf8 (MonoString *s)
 char *
 mono_string_to_utf8_checked (MonoString *s, MonoError *error)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        long written = 0;
        char *as;
        GError *gerror = NULL;
@@ -5430,6 +5693,8 @@ mono_string_to_utf8_checked (MonoString *s, MonoError *error)
 char *
 mono_string_to_utf8_ignore (MonoString *s)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        long written = 0;
        char *as;
 
@@ -5462,6 +5727,8 @@ mono_string_to_utf8_ignore (MonoString *s)
 char *
 mono_string_to_utf8_image_ignore (MonoImage *image, MonoString *s)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return mono_string_to_utf8_internal (NULL, image, s, TRUE, NULL);
 }
 
@@ -5474,6 +5741,8 @@ mono_string_to_utf8_image_ignore (MonoImage *image, MonoString *s)
 char *
 mono_string_to_utf8_mp_ignore (MonoMemPool *mp, MonoString *s)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return mono_string_to_utf8_internal (mp, NULL, s, TRUE, NULL);
 }
 
@@ -5490,6 +5759,8 @@ mono_string_to_utf8_mp_ignore (MonoMemPool *mp, MonoString *s)
 mono_unichar2*
 mono_string_to_utf16 (MonoString *s)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        char *as;
 
        if (s == NULL)
@@ -5517,6 +5788,8 @@ mono_string_to_utf16 (MonoString *s)
 mono_unichar4*
 mono_string_to_utf32 (MonoString *s)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        mono_unichar4 *utf32_output = NULL; 
        GError *error = NULL;
        glong items_written;
@@ -5543,6 +5816,8 @@ mono_string_to_utf32 (MonoString *s)
 MonoString *
 mono_string_from_utf16 (gunichar2 *data)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDomain *domain = mono_domain_get ();
        int len = 0;
 
@@ -5565,6 +5840,8 @@ mono_string_from_utf16 (gunichar2 *data)
 MonoString *
 mono_string_from_utf32 (mono_unichar4 *data)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoString* result = NULL;
        mono_unichar2 *utf16_output = NULL;
        GError *error = NULL;
@@ -5589,6 +5866,8 @@ mono_string_from_utf32 (mono_unichar4 *data)
 static char *
 mono_string_to_utf8_internal (MonoMemPool *mp, MonoImage *image, MonoString *s, gboolean ignore_error, MonoError *error)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        char *r;
        char *mp_s;
        int len;
@@ -5626,6 +5905,8 @@ mono_string_to_utf8_internal (MonoMemPool *mp, MonoImage *image, MonoString *s,
 char *
 mono_string_to_utf8_image (MonoImage *image, MonoString *s, MonoError *error)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return mono_string_to_utf8_internal (NULL, image, s, FALSE, error);
 }
 
@@ -5638,6 +5919,8 @@ mono_string_to_utf8_image (MonoImage *image, MonoString *s, MonoError *error)
 char *
 mono_string_to_utf8_mp (MonoMemPool *mp, MonoString *s, MonoError *error)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return mono_string_to_utf8_internal (mp, NULL, s, FALSE, error);
 }
 
@@ -5665,6 +5948,8 @@ mono_get_eh_callbacks (void)
 void
 mono_raise_exception (MonoException *ex) 
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        /*
         * NOTE: Do NOT annotate this function with G_GNUC_NORETURN, since
         * that will cause gcc to omit the function epilog, causing problems when
@@ -5677,6 +5962,8 @@ mono_raise_exception (MonoException *ex)
 void
 mono_raise_exception_with_context (MonoException *ex, MonoContext *ctx) 
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        eh_callbacks.mono_raise_exception_with_ctx (ex, ctx);
 }
 
@@ -5690,6 +5977,8 @@ mono_raise_exception_with_context (MonoException *ex, MonoContext *ctx)
 MonoWaitHandle *
 mono_wait_handle_new (MonoDomain *domain, HANDLE handle)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoWaitHandle *res;
        gpointer params [1];
        static MonoMethod *handle_set;
@@ -5709,6 +5998,8 @@ mono_wait_handle_new (MonoDomain *domain, HANDLE handle)
 HANDLE
 mono_wait_handle_get_handle (MonoWaitHandle *handle)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        static MonoClassField *f_os_handle;
        static MonoClassField *f_safe_handle;
 
@@ -5732,6 +6023,8 @@ mono_wait_handle_get_handle (MonoWaitHandle *handle)
 static MonoObject*
 mono_runtime_capture_context (MonoDomain *domain)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        RuntimeInvokeFunction runtime_invoke;
 
        if (!domain->capture_context_runtime_invoke || !domain->capture_context_method) {
@@ -5762,6 +6055,8 @@ mono_runtime_capture_context (MonoDomain *domain)
 MonoAsyncResult *
 mono_async_result_new (MonoDomain *domain, HANDLE handle, MonoObject *state, gpointer data, MonoObject *object_data)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoAsyncResult *res = (MonoAsyncResult *)mono_object_new (domain, mono_defaults.asyncresult_class);
        MonoObject *context = mono_runtime_capture_context (domain);
        /* we must capture the execution context from the original thread */
@@ -5783,29 +6078,25 @@ mono_async_result_new (MonoDomain *domain, HANDLE handle, MonoObject *state, gpo
 }
 
 MonoObject *
-mono_async_result_invoke (MonoAsyncResult *ares, MonoObject **exc)
+ves_icall_System_Runtime_Remoting_Messaging_AsyncResult_Invoke (MonoAsyncResult *ares)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoAsyncCall *ac;
        MonoObject *res;
-       MonoInternalThread *thread;
 
        g_assert (ares);
        g_assert (ares->async_delegate);
 
-       thread = mono_thread_internal_current ();
-
        ac = (MonoAsyncCall*) ares->object_data;
        if (!ac) {
-               res = mono_runtime_delegate_invoke (ares->async_delegate, (void**) &ares->async_state, exc);
+               res = mono_runtime_delegate_invoke (ares->async_delegate, (void**) &ares->async_state, NULL);
        } else {
-               MonoArray *out_args = NULL;
                gpointer wait_event = NULL;
 
                ac->msg->exc = NULL;
-               res = mono_message_invoke (ares->async_delegate, ac->msg, exc, &out_args);
-               MONO_OBJECT_SETREF (ac->msg, exc, *exc);
+               res = mono_message_invoke (ares->async_delegate, ac->msg, &ac->msg->exc, &ac->out_args);
                MONO_OBJECT_SETREF (ac, res, res);
-               MONO_OBJECT_SETREF (ac, out_args, out_args);
 
                mono_monitor_enter ((MonoObject*) ares);
                ares->completed = 1;
@@ -5816,32 +6107,26 @@ mono_async_result_invoke (MonoAsyncResult *ares, MonoObject **exc)
                if (wait_event != NULL)
                        SetEvent (wait_event);
 
-               if (!ac->cb_method) {
-                       *exc = NULL;
-               } else {
-                       mono_runtime_invoke (ac->cb_method, ac->cb_target, (gpointer*) &ares, exc);
+               if (ac->cb_method) {
+                       /* we swallow the excepton as it is the behavior on .NET */
+                       MonoObject *exc = NULL;
+                       mono_runtime_invoke (ac->cb_method, ac->cb_target, (gpointer*) &ares, &exc);
+                       if (exc)
+                               mono_unhandled_exception (exc);
                }
        }
 
        return res;
 }
 
-MonoObject *
-ves_icall_System_Runtime_Remoting_Messaging_AsyncResult_Invoke (MonoAsyncResult *this)
-{
-       MonoObject *exc = NULL;
-       MonoObject *res = mono_async_result_invoke (this, &exc);
-       if (exc)
-               mono_raise_exception ((MonoException*) exc);
-       return res;
-}
-
 void
 mono_message_init (MonoDomain *domain,
-                  MonoMethodMessage *this, 
+                  MonoMethodMessage *this_obj
                   MonoReflectionMethod *method,
                   MonoArray *out_args)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        static MonoClass *object_array_klass;
        static MonoClass *byte_array_klass;
        static MonoClass *string_array_klass;
@@ -5868,20 +6153,20 @@ mono_message_init (MonoDomain *domain,
                mono_atomic_store_release (&object_array_klass, klass);
        }
 
-       MONO_OBJECT_SETREF (this, method, method);
+       MONO_OBJECT_SETREF (this_obj, method, method);
 
-       MONO_OBJECT_SETREF (this, args, mono_array_new_specific (mono_class_vtable (domain, object_array_klass), sig->param_count));
-       MONO_OBJECT_SETREF (this, arg_types, mono_array_new_specific (mono_class_vtable (domain, byte_array_klass), sig->param_count));
-       this->async_result = NULL;
-       this->call_type = CallType_Sync;
+       MONO_OBJECT_SETREF (this_obj, args, mono_array_new_specific (mono_class_vtable (domain, object_array_klass), sig->param_count));
+       MONO_OBJECT_SETREF (this_obj, arg_types, mono_array_new_specific (mono_class_vtable (domain, byte_array_klass), sig->param_count));
+       this_obj->async_result = NULL;
+       this_obj->call_type = CallType_Sync;
 
        names = g_new (char *, sig->param_count);
        mono_method_get_param_names (method->method, (const char **) names);
-       MONO_OBJECT_SETREF (this, names, mono_array_new_specific (mono_class_vtable (domain, string_array_klass), sig->param_count));
+       MONO_OBJECT_SETREF (this_obj, names, mono_array_new_specific (mono_class_vtable (domain, string_array_klass), sig->param_count));
        
        for (i = 0; i < sig->param_count; i++) {
                name = mono_string_new (domain, names [i]);
-               mono_array_setref (this->names, i, name);       
+               mono_array_setref (this_obj->names, i, name);   
        }
 
        g_free (names);
@@ -5889,7 +6174,7 @@ mono_message_init (MonoDomain *domain,
                if (sig->params [i]->byref) {
                        if (out_args) {
                                MonoObject* arg = mono_array_get (out_args, gpointer, j);
-                               mono_array_setref (this->args, i, arg);
+                               mono_array_setref (this_obj->args, i, arg);
                                j++;
                        }
                        arg_type = 2;
@@ -5900,7 +6185,7 @@ mono_message_init (MonoDomain *domain,
                        if (sig->params [i]->attrs & PARAM_ATTRIBUTE_OUT)
                                arg_type |= 4;
                }
-               mono_array_set (this->arg_types, guint8, i, arg_type);
+               mono_array_set (this_obj->arg_types, guint8, i, arg_type);
        }
 }
 
@@ -5923,6 +6208,8 @@ MonoObject *
 mono_remoting_invoke (MonoObject *real_proxy, MonoMethodMessage *msg, 
                      MonoObject **exc, MonoArray **out_args)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoMethod *im = real_proxy->vtable->domain->private_invoke_method;
        gpointer pa [4];
 
@@ -5930,7 +6217,8 @@ mono_remoting_invoke (MonoObject *real_proxy, MonoMethodMessage *msg,
 
        if (!im) {
                im = mono_class_get_method_from_name (mono_defaults.real_proxy_class, "PrivateInvoke", 4);
-               g_assert (im);
+               if (!im)
+                       mono_raise_exception (mono_get_exception_not_supported ("Linked away."));
                real_proxy->vtable->domain->private_invoke_method = im;
        }
 
@@ -5947,6 +6235,8 @@ MonoObject *
 mono_message_invoke (MonoObject *target, MonoMethodMessage *msg, 
                     MonoObject **exc, MonoArray **out_args) 
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        static MonoClass *object_array_klass;
        MonoDomain *domain; 
        MonoMethod *method;
@@ -5984,8 +6274,7 @@ mono_message_invoke (MonoObject *target, MonoMethodMessage *msg,
                object_array_klass = klass;
        }
 
-       /* FIXME: GC ensure we insert a write barrier for out_args, maybe in the caller? */
-       *out_args = mono_array_new_specific (mono_class_vtable (domain, object_array_klass), outarg_count);
+       mono_gc_wbarrier_generic_store (out_args, (MonoObject*) mono_array_new_specific (mono_class_vtable (domain, object_array_klass), outarg_count));
        *exc = NULL;
 
        ret = mono_runtime_invoke_array (method, method->klass->valuetype? mono_object_unbox (target): target, msg->args, exc);
@@ -6012,6 +6301,8 @@ mono_message_invoke (MonoObject *target, MonoMethodMessage *msg,
 MonoString *
 mono_object_to_string (MonoObject *obj, MonoObject **exc)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        static MonoMethod *to_string = NULL;
        MonoMethod *method;
        void *target = obj;
@@ -6040,6 +6331,8 @@ mono_object_to_string (MonoObject *obj, MonoObject **exc)
 void
 mono_print_unhandled_exception (MonoObject *exc)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoString * str;
        char *message = (char*)"";
        gboolean free_message = FALSE;
@@ -6104,14 +6397,16 @@ mono_print_unhandled_exception (MonoObject *exc)
  * correct instantiation of the method.
  */
 void
-mono_delegate_ctor_with_method (MonoObject *this, MonoObject *target, gpointer addr, MonoMethod *method)
+mono_delegate_ctor_with_method (MonoObject *this_obj, MonoObject *target, gpointer addr, MonoMethod *method)
 {
-       MonoDelegate *delegate = (MonoDelegate *)this;
+       MONO_REQ_GC_UNSAFE_MODE;
+
+       MonoDelegate *delegate = (MonoDelegate *)this_obj;
 
-       g_assert (this);
+       g_assert (this_obj);
        g_assert (addr);
 
-       g_assert (mono_class_has_parent (mono_object_class (this), mono_defaults.multicastdelegate_class));
+       g_assert (mono_class_has_parent (mono_object_class (this_obj), mono_defaults.multicastdelegate_class));
 
        if (method)
                delegate->method = method;
@@ -6143,8 +6438,10 @@ mono_delegate_ctor_with_method (MonoObject *this, MonoObject *target, gpointer a
  * This is used to initialize a delegate.
  */
 void
-mono_delegate_ctor (MonoObject *this, MonoObject *target, gpointer addr)
+mono_delegate_ctor (MonoObject *this_obj, MonoObject *target, gpointer addr)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDomain *domain = mono_domain_get ();
        MonoJitInfo *ji;
        MonoMethod *method = NULL;
@@ -6160,7 +6457,7 @@ mono_delegate_ctor (MonoObject *this, MonoObject *target, gpointer addr)
                g_assert (!method->klass->generic_container);
        }
 
-       mono_delegate_ctor_with_method (this, target, addr, method);
+       mono_delegate_ctor_with_method (this_obj, target, addr, method);
 }
 
 /**
@@ -6177,6 +6474,8 @@ MonoMethodMessage *
 mono_method_call_message_new (MonoMethod *method, gpointer *params, MonoMethod *invoke, 
                              MonoDelegate **cb, MonoObject **state)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDomain *domain = mono_domain_get ();
        MonoMethodSignature *sig = mono_method_signature (method);
        MonoMethodMessage *msg;
@@ -6229,6 +6528,8 @@ mono_method_call_message_new (MonoMethod *method, gpointer *params, MonoMethod *
 void
 mono_method_return_message_restore (MonoMethod *method, gpointer *params, MonoArray *out_args)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoMethodSignature *sig = mono_method_signature (method);
        int i, j, type, size, out_len;
        
@@ -6289,18 +6590,20 @@ mono_method_return_message_restore (MonoMethod *method, gpointer *params, MonoAr
  * Returns: an address pointing to the value of field.
  */
 gpointer
-mono_load_remote_field (MonoObject *this, MonoClass *klass, MonoClassField *field, gpointer *res)
+mono_load_remote_field (MonoObject *this_obj, MonoClass *klass, MonoClassField *field, gpointer *res)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        static MonoMethod *getter = NULL;
        MonoDomain *domain = mono_domain_get ();
-       MonoTransparentProxy *tp = (MonoTransparentProxy *) this;
+       MonoTransparentProxy *tp = (MonoTransparentProxy *) this_obj;
        MonoClass *field_class;
        MonoMethodMessage *msg;
        MonoArray *out_args;
        MonoObject *exc;
        char* full_name;
 
-       g_assert (mono_object_is_transparent_proxy (this));
+       g_assert (mono_object_is_transparent_proxy (this_obj));
        g_assert (res != NULL);
 
        if (mono_class_is_contextbound (tp->remote_class->proxy_class) && tp->rp->context == (MonoObject *) mono_context_get ()) {
@@ -6310,7 +6613,8 @@ mono_load_remote_field (MonoObject *this, MonoClass *klass, MonoClassField *fiel
        
        if (!getter) {
                getter = mono_class_get_method_from_name (mono_defaults.object_class, "FieldGetter", -1);
-               g_assert (getter);
+               if (!getter)
+                       mono_raise_exception (mono_get_exception_not_supported ("Linked away."));
        }
        
        field_class = mono_class_from_mono_type (field->type);
@@ -6348,18 +6652,20 @@ mono_load_remote_field (MonoObject *this, MonoClass *klass, MonoClassField *fiel
  * Missing documentation.
  */
 MonoObject *
-mono_load_remote_field_new (MonoObject *this, MonoClass *klass, MonoClassField *field)
+mono_load_remote_field_new (MonoObject *this_obj, MonoClass *klass, MonoClassField *field)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        static MonoMethod *getter = NULL;
        MonoDomain *domain = mono_domain_get ();
-       MonoTransparentProxy *tp = (MonoTransparentProxy *) this;
+       MonoTransparentProxy *tp = (MonoTransparentProxy *) this_obj;
        MonoClass *field_class;
        MonoMethodMessage *msg;
        MonoArray *out_args;
        MonoObject *exc, *res;
        char* full_name;
 
-       g_assert (mono_object_is_transparent_proxy (this));
+       g_assert (mono_object_is_transparent_proxy (this_obj));
 
        field_class = mono_class_from_mono_type (field->type);
 
@@ -6377,7 +6683,8 @@ mono_load_remote_field_new (MonoObject *this, MonoClass *klass, MonoClassField *
 
        if (!getter) {
                getter = mono_class_get_method_from_name (mono_defaults.object_class, "FieldGetter", -1);
-               g_assert (getter);
+               if (!getter)
+                       mono_raise_exception (mono_get_exception_not_supported ("Linked away."));
        }
        
        msg = (MonoMethodMessage *)mono_object_new (domain, mono_defaults.mono_method_message_class);
@@ -6404,21 +6711,23 @@ mono_load_remote_field_new (MonoObject *this, MonoClass *klass, MonoClassField *
 
 /**
  * mono_store_remote_field:
- * @this: pointer to an object
+ * @this_obj: pointer to an object
  * @klass: klass of the object containing @field
  * @field: the field to load
  * @val: the value/object to store
  *
  * This method is called by the runtime on attempts to store fields of
- * transparent proxy objects. @this points to such TP, @klass is the class of
+ * transparent proxy objects. @this_obj points to such TP, @klass is the class of
  * the object containing @field. @val is the new value to store in @field.
  */
 void
-mono_store_remote_field (MonoObject *this, MonoClass *klass, MonoClassField *field, gpointer val)
+mono_store_remote_field (MonoObject *this_obj, MonoClass *klass, MonoClassField *field, gpointer val)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        static MonoMethod *setter = NULL;
        MonoDomain *domain = mono_domain_get ();
-       MonoTransparentProxy *tp = (MonoTransparentProxy *) this;
+       MonoTransparentProxy *tp = (MonoTransparentProxy *) this_obj;
        MonoClass *field_class;
        MonoMethodMessage *msg;
        MonoArray *out_args;
@@ -6426,7 +6735,7 @@ mono_store_remote_field (MonoObject *this, MonoClass *klass, MonoClassField *fie
        MonoObject *arg;
        char* full_name;
 
-       g_assert (mono_object_is_transparent_proxy (this));
+       g_assert (mono_object_is_transparent_proxy (this_obj));
 
        field_class = mono_class_from_mono_type (field->type);
 
@@ -6438,7 +6747,8 @@ mono_store_remote_field (MonoObject *this, MonoClass *klass, MonoClassField *fie
 
        if (!setter) {
                setter = mono_class_get_method_from_name (mono_defaults.object_class, "FieldSetter", -1);
-               g_assert (setter);
+               if (!setter)
+                       mono_raise_exception (mono_get_exception_not_supported ("Linked away."));
        }
 
        if (field_class->valuetype)
@@ -6463,7 +6773,7 @@ mono_store_remote_field (MonoObject *this, MonoClass *klass, MonoClassField *fie
 
 /**
  * mono_store_remote_field_new:
- * @this:
+ * @this_obj:
  * @klass:
  * @field:
  * @arg:
@@ -6471,18 +6781,20 @@ mono_store_remote_field (MonoObject *this, MonoClass *klass, MonoClassField *fie
  * Missing documentation
  */
 void
-mono_store_remote_field_new (MonoObject *this, MonoClass *klass, MonoClassField *field, MonoObject *arg)
+mono_store_remote_field_new (MonoObject *this_obj, MonoClass *klass, MonoClassField *field, MonoObject *arg)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        static MonoMethod *setter = NULL;
        MonoDomain *domain = mono_domain_get ();
-       MonoTransparentProxy *tp = (MonoTransparentProxy *) this;
+       MonoTransparentProxy *tp = (MonoTransparentProxy *) this_obj;
        MonoClass *field_class;
        MonoMethodMessage *msg;
        MonoArray *out_args;
        MonoObject *exc;
        char* full_name;
 
-       g_assert (mono_object_is_transparent_proxy (this));
+       g_assert (mono_object_is_transparent_proxy (this_obj));
 
        field_class = mono_class_from_mono_type (field->type);
 
@@ -6494,7 +6806,8 @@ mono_store_remote_field_new (MonoObject *this, MonoClass *klass, MonoClassField
 
        if (!setter) {
                setter = mono_class_get_method_from_name (mono_defaults.object_class, "FieldSetter", -1);
-               g_assert (setter);
+               if (!setter)
+                       mono_raise_exception (mono_get_exception_not_supported ("Linked away."));
        }
 
        msg = (MonoMethodMessage *)mono_object_new (domain, mono_defaults.mono_method_message_class);
@@ -6545,6 +6858,8 @@ mono_get_addr_from_ftnptr (gpointer descr)
 gunichar2 *
 mono_string_chars (MonoString *s)
 {
+       // MONO_REQ_GC_UNSAFE_MODE; //FIXME too much trouble for now
+
        return s->chars;
 }
 
@@ -6557,6 +6872,8 @@ mono_string_chars (MonoString *s)
 int
 mono_string_length (MonoString *s)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return s->length;
 }
 
@@ -6570,6 +6887,8 @@ mono_string_length (MonoString *s)
 uintptr_t
 mono_array_length (MonoArray *array)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return array->max_length;
 }
 
@@ -6584,6 +6903,8 @@ mono_array_length (MonoArray *array)
 char*
 mono_array_addr_with_size (MonoArray *array, int size, uintptr_t idx)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        return ((char*)(array)->vector) + size * idx;
 }
 
index f760b21a7748f94aedbf557c4ab0a27137a78c69..7aef3ad2e6095f3fb203843a5ece7843f2b09339 100644 (file)
@@ -36,6 +36,7 @@ typedef void*    (*MonoCompileFunc)        (MonoMethod *method);
 typedef void       (*MonoMainThreadFunc)    (void* user_data);
 
 #define MONO_OBJECT_SETREF(obj,fieldname,value) do {   \
+               g_assert (sizeof((obj)->fieldname) == sizeof (gpointer*));      \
                mono_gc_wbarrier_set_field ((MonoObject*)(obj), &((obj)->fieldname), (MonoObject*)value);       \
                /*(obj)->fieldname = (value);*/ \
        } while (0)
index 658e43639aeb44297f25d784045186b92d6f6708..b58e72def9fbc3476d29e1e5799753445c44cf90 100644 (file)
@@ -30,6 +30,9 @@
 #define LOGDEBUG(...)  
 /* define LOGDEBUG(...) g_message(__VA_ARGS__)  */
 
+#ifdef _WIN32
+#include <shellapi.h>
+#endif
 
 HANDLE ves_icall_System_Diagnostics_Process_GetProcess_internal (guint32 pid)
 {
@@ -54,11 +57,11 @@ ves_icall_System_Diagnostics_Process_GetPid_internal (void)
        return mono_process_current_pid ();
 }
 
-void ves_icall_System_Diagnostics_Process_Process_free_internal (MonoObject *this,
+void ves_icall_System_Diagnostics_Process_Process_free_internal (MonoObject *this_obj,
                                                                 HANDLE process)
 {
 #ifdef THREAD_DEBUG
-       g_message ("%s: Closing process %p, handle %p", __func__, this, process);
+       g_message ("%s: Closing process %p, handle %p", __func__, this_obj, process);
 #endif
 
 #if defined(TARGET_WIN32) || defined(HOST_WIN32)
@@ -68,9 +71,9 @@ void ves_icall_System_Diagnostics_Process_Process_free_internal (MonoObject *thi
 #endif
 }
 
-#define STASH_SYS_ASS(this) \
+#define STASH_SYS_ASS(this_obj) \
        if(system_assembly == NULL) { \
-               system_assembly=this->vtable->klass->image; \
+               system_assembly=this_obj->vtable->klass->image; \
        }
 
 static MonoImage *system_assembly=NULL;
@@ -470,7 +473,7 @@ static GPtrArray* get_domain_assemblies (MonoDomain *domain)
 }
 
 /* Returns an array of System.Diagnostics.ProcessModule */
-MonoArray *ves_icall_System_Diagnostics_Process_GetModules_internal (MonoObject *this, HANDLE process)
+MonoArray *ves_icall_System_Diagnostics_Process_GetModules_internal (MonoObject *this_obj, HANDLE process)
 {
        MonoArray *temp_arr = NULL;
        MonoArray *arr;
@@ -489,7 +492,7 @@ MonoArray *ves_icall_System_Diagnostics_Process_GetModules_internal (MonoObject
                current_process = ves_icall_System_Diagnostics_Process_GetProcess_internal (pid);
        }
 
-       STASH_SYS_ASS (this);
+       STASH_SYS_ASS (this_obj);
 
        if (process == current_process) {
                assemblies = get_domain_assemblies (mono_domain_get ());
@@ -534,25 +537,15 @@ MonoArray *ves_icall_System_Diagnostics_Process_GetModules_internal (MonoObject
                        mono_array_setref (arr, i, mono_array_get (temp_arr, MonoObject*, i));
        }
 
-       if (count == num_added) {
-               arr = temp_arr;
-       } else {
-               /* shorter version of the array */
-               arr = mono_array_new (mono_domain_get (), proc_class, num_added);
-
-               for (i = 0; i < num_added; i++)
-                       mono_array_setref (arr, i, mono_array_get (temp_arr, MonoObject*, i));
-       }
-
        return arr;
 }
 
-void ves_icall_System_Diagnostics_FileVersionInfo_GetVersionInfo_internal (MonoObject *this, MonoString *filename)
+void ves_icall_System_Diagnostics_FileVersionInfo_GetVersionInfo_internal (MonoObject *this_obj, MonoString *filename)
 {
-       STASH_SYS_ASS (this);
+       STASH_SYS_ASS (this_obj);
        
-       process_get_fileversion (this, mono_string_chars (filename));
-       process_set_field_string (this, "filename",
+       process_get_fileversion (this_obj, mono_string_chars (filename));
+       process_set_field_string (this_obj, "filename",
                                  mono_string_chars (filename),
                                  mono_string_length (filename));
 }
@@ -663,10 +656,7 @@ MonoBoolean ves_icall_System_Diagnostics_Process_ShellExecuteEx_internal (MonoPr
        } else {
                process_info->process_handle = shellex.hProcess;
                process_info->thread_handle = NULL;
-               /* It appears that there's no way to get the pid from a
-                * process handle before windows xp.  Really.
-                */
-#if defined(HAVE_GETPROCESSID) && !defined(MONO_CROSS_COMPILE)
+#if !defined(MONO_CROSS_COMPILE)
                process_info->pid = GetProcessId (shellex.hProcess);
 #else
                process_info->pid = 0;
@@ -803,18 +793,18 @@ MonoBoolean ves_icall_System_Diagnostics_Process_CreateProcess_internal (MonoPro
        return(ret);
 }
 
-MonoBoolean ves_icall_System_Diagnostics_Process_WaitForExit_internal (MonoObject *this, HANDLE process, gint32 ms)
+MonoBoolean ves_icall_System_Diagnostics_Process_WaitForExit_internal (MonoObject *this_obj, HANDLE process, gint32 ms)
 {
        guint32 ret;
        
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        if(ms<0) {
                /* Wait forever */
                ret=WaitForSingleObjectEx (process, INFINITE, TRUE);
        } else {
                ret=WaitForSingleObjectEx (process, ms, TRUE);
        }
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        if(ret==WAIT_OBJECT_0) {
                return(TRUE);
@@ -823,7 +813,7 @@ MonoBoolean ves_icall_System_Diagnostics_Process_WaitForExit_internal (MonoObjec
        }
 }
 
-MonoBoolean ves_icall_System_Diagnostics_Process_WaitForInputIdle_internal (MonoObject *this, HANDLE process, gint32 ms)
+MonoBoolean ves_icall_System_Diagnostics_Process_WaitForInputIdle_internal (MonoObject *this_obj, HANDLE process, gint32 ms)
 {
        guint32 ret;
        
@@ -1077,9 +1067,3 @@ ves_icall_System_Diagnostics_Process_GetProcessData (int pid, gint32 data_type,
        return res;
 }
 
-void
-ves_icall_System_Diagnostics_Process_ProcessAsyncReader_RemoveFromIOThreadPool (HANDLE handle)
-{
-       mono_threadpool_ms_io_remove_socket (GPOINTER_TO_INT (handle));
-}
-
index affa79633a486eb016870595b3a0acbb689cda3e..39247874b0f2e638ca61e4e6ea2c47c684af4299 100644 (file)
@@ -82,8 +82,6 @@ gint64 ves_icall_System_Diagnostics_Process_GetProcessData (int pid, gint32 data
 HANDLE ves_icall_System_Diagnostics_Process_ProcessHandle_duplicate (HANDLE process);
 void ves_icall_System_Diagnostics_Process_ProcessHandle_close (HANDLE process);
 
-void ves_icall_System_Diagnostics_Process_ProcessAsyncReader_RemoveFromIOThreadPool (HANDLE handle);
-
 G_END_DECLS
 
 #endif /* _MONO_METADATA_PROCESS_H_ */
index 096db3127ae0586e894e39196b9f2b367716450d..73dffddad6b08c62d04f7bfd08c49289a90124a3 100644 (file)
@@ -43,6 +43,7 @@
 #include <mono/metadata/mono-ptr-array.h>
 #include <mono/utils/mono-string.h>
 #include <mono/utils/mono-error-internals.h>
+#include <mono/utils/checked-build.h>
 
 static gboolean is_usertype (MonoReflectionType *ref);
 static MonoReflectionType *mono_reflection_type_resolve_user_types (MonoReflectionType *type);
@@ -223,7 +224,9 @@ mono_reflection_init (void)
 static inline void
 dynamic_image_lock (MonoDynamicImage *image)
 {
+       MONO_TRY_BLOCKING;
        mono_image_lock ((MonoImage*)image);
+       MONO_FINISH_TRY_BLOCKING;
 }
 
 static inline void
@@ -235,6 +238,8 @@ dynamic_image_unlock (MonoDynamicImage *image)
 static void
 register_dyn_token (MonoDynamicImage *assembly, guint32 token, MonoObject *obj)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        dynamic_image_lock (assembly);
        mono_g_hash_table_insert (assembly->tokens, GUINT_TO_POINTER (token), obj);
        dynamic_image_unlock (assembly);
@@ -243,6 +248,8 @@ register_dyn_token (MonoDynamicImage *assembly, guint32 token, MonoObject *obj)
 static MonoObject*
 lookup_dyn_token (MonoDynamicImage *assembly, guint32 token)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoObject *obj;
 
        dynamic_image_lock (assembly);
@@ -255,6 +262,8 @@ lookup_dyn_token (MonoDynamicImage *assembly, guint32 token)
 static void
 sigbuffer_init (SigBuffer *buf, int size)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        buf->buf = g_malloc (size);
        buf->p = buf->buf;
        buf->end = buf->buf + size;
@@ -263,6 +272,8 @@ sigbuffer_init (SigBuffer *buf, int size)
 static void
 sigbuffer_make_room (SigBuffer *buf, int size)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        if (buf->end - buf->p < size) {
                int new_size = buf->end - buf->buf + size + 32;
                char *p = g_realloc (buf->buf, new_size);
@@ -276,6 +287,8 @@ sigbuffer_make_room (SigBuffer *buf, int size)
 static void
 sigbuffer_add_value (SigBuffer *buf, guint32 val)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        sigbuffer_make_room (buf, 6);
        mono_metadata_encode_value (val, buf->p, &buf->p);
 }
@@ -283,6 +296,8 @@ sigbuffer_add_value (SigBuffer *buf, guint32 val)
 static void
 sigbuffer_add_byte (SigBuffer *buf, guint8 val)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        sigbuffer_make_room (buf, 1);
        buf->p [0] = val;
        buf->p++;
@@ -291,6 +306,8 @@ sigbuffer_add_byte (SigBuffer *buf, guint8 val)
 static void
 sigbuffer_add_mem (SigBuffer *buf, char *p, guint32 size)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        sigbuffer_make_room (buf, size);
        memcpy (buf->p, p, size);
        buf->p += size;
@@ -299,6 +316,8 @@ sigbuffer_add_mem (SigBuffer *buf, char *p, guint32 size)
 static void
 sigbuffer_free (SigBuffer *buf)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        g_free (buf->buf);
 }
 
@@ -312,6 +331,8 @@ sigbuffer_free (SigBuffer *buf)
 static gpointer
 image_g_malloc (MonoImage *image, guint size)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        if (image)
                return mono_image_alloc (image, size);
        else
@@ -328,6 +349,8 @@ image_g_malloc (MonoImage *image, guint size)
 static gpointer
 image_g_malloc0 (MonoImage *image, guint size)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        if (image)
                return mono_image_alloc0 (image, size);
        else
@@ -338,6 +361,8 @@ image_g_malloc0 (MonoImage *image, guint size)
 static char*
 image_strdup (MonoImage *image, const char *s)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        if (image)
                return mono_image_strdup (image, s);
        else
@@ -355,6 +380,8 @@ image_strdup (MonoImage *image, const char *s)
 static void
 alloc_table (MonoDynamicTable *table, guint nrows)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        table->rows = nrows;
        g_assert (table->columns);
        if (nrows + 1 >= table->alloc_rows) {
@@ -372,6 +399,8 @@ alloc_table (MonoDynamicTable *table, guint nrows)
 static void
 make_room_in_stream (MonoDynamicStream *stream, int size)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        if (size <= stream->alloc_size)
                return;
        
@@ -388,6 +417,8 @@ make_room_in_stream (MonoDynamicStream *stream, int size)
 static guint32
 string_heap_insert (MonoDynamicStream *sh, const char *str)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        guint32 idx;
        guint32 len;
        gpointer oldkey, oldval;
@@ -414,6 +445,8 @@ string_heap_insert (MonoDynamicStream *sh, const char *str)
 static guint32
 string_heap_insert_mstring (MonoDynamicStream *sh, MonoString *str)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        char *name = mono_string_to_utf8 (str);
        guint32 idx;
        idx = string_heap_insert (sh, name);
@@ -425,6 +458,8 @@ string_heap_insert_mstring (MonoDynamicStream *sh, MonoString *str)
 static void
 string_heap_init (MonoDynamicStream *sh)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        sh->index = 0;
        sh->alloc_size = 4096;
        sh->data = g_malloc (4096);
@@ -436,6 +471,8 @@ string_heap_init (MonoDynamicStream *sh)
 static guint32
 mono_image_add_stream_data (MonoDynamicStream *stream, const char *data, guint32 len)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        guint32 idx;
        
        make_room_in_stream (stream, stream->index + len);
@@ -452,6 +489,8 @@ mono_image_add_stream_data (MonoDynamicStream *stream, const char *data, guint32
 static guint32
 mono_image_add_stream_zero (MonoDynamicStream *stream, guint32 len)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        guint32 idx;
        
        make_room_in_stream (stream, stream->index + len);
@@ -464,6 +503,8 @@ mono_image_add_stream_zero (MonoDynamicStream *stream, guint32 len)
 static void
 stream_data_align (MonoDynamicStream *stream)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        char buf [4] = {0};
        guint32 count = stream->index % 4;
 
@@ -476,6 +517,8 @@ stream_data_align (MonoDynamicStream *stream)
 static int
 mono_blob_entry_hash (const char* str)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        guint len, h;
        const char *end;
        len = mono_metadata_decode_blob_size (str, &str);
@@ -492,6 +535,8 @@ mono_blob_entry_hash (const char* str)
 
 static gboolean
 mono_blob_entry_equal (const char *str1, const char *str2) {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        int len, len2;
        const char *end1;
        const char *end2;
@@ -505,6 +550,8 @@ mono_blob_entry_equal (const char *str1, const char *str2) {
 static guint32
 add_to_blob_cached (MonoDynamicImage *assembly, char *b1, int s1, char *b2, int s2)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        guint32 idx;
        char *copy;
        gpointer oldkey, oldval;
@@ -526,6 +573,8 @@ add_to_blob_cached (MonoDynamicImage *assembly, char *b1, int s1, char *b2, int
 static guint32
 sigbuffer_add_to_blob_cached (MonoDynamicImage *assembly, SigBuffer *buf)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        char blob_size [8];
        char *b = blob_size;
        guint32 size = buf->p - buf->buf;
@@ -541,6 +590,7 @@ sigbuffer_add_to_blob_cached (MonoDynamicImage *assembly, SigBuffer *buf)
  */
 static void
 swap_with_size (char *dest, const char* val, int len, int nelem) {
+       MONO_REQ_GC_NEUTRAL_MODE;
 #if G_BYTE_ORDER != G_LITTLE_ENDIAN
        int elem;
 
@@ -583,6 +633,8 @@ swap_with_size (char *dest, const char* val, int len, int nelem) {
 static guint32
 add_mono_string_to_blob_cached (MonoDynamicImage *assembly, MonoString *str)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+       
        char blob_size [64];
        char *b = blob_size;
        guint32 idx = 0, len;
@@ -608,6 +660,8 @@ add_mono_string_to_blob_cached (MonoDynamicImage *assembly, MonoString *str)
 static MonoClass *
 default_class_from_mono_type (MonoType *type)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        switch (type->type) {
        case MONO_TYPE_OBJECT:
                return mono_defaults.object_class;
@@ -660,6 +714,8 @@ default_class_from_mono_type (MonoType *type)
 gpointer
 mono_class_get_ref_info (MonoClass *klass)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        if (klass->ref_info_handle == 0)
                return NULL;
        else
@@ -669,6 +725,8 @@ mono_class_get_ref_info (MonoClass *klass)
 void
 mono_class_set_ref_info (MonoClass *klass, gpointer obj)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        klass->ref_info_handle = mono_gchandle_new ((MonoObject*)obj, FALSE);
        g_assert (klass->ref_info_handle != 0);
 }
@@ -676,6 +734,8 @@ mono_class_set_ref_info (MonoClass *klass, gpointer obj)
 void
 mono_class_free_ref_info (MonoClass *klass)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        if (klass->ref_info_handle) {
                mono_gchandle_free (klass->ref_info_handle);
                klass->ref_info_handle = 0;
@@ -685,6 +745,8 @@ mono_class_free_ref_info (MonoClass *klass)
 static void
 encode_generic_class (MonoDynamicImage *assembly, MonoGenericClass *gclass, SigBuffer *buf)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        int i;
        MonoGenericInst *class_inst;
        MonoClass *klass;
@@ -707,6 +769,8 @@ encode_generic_class (MonoDynamicImage *assembly, MonoGenericClass *gclass, SigB
 static void
 encode_type (MonoDynamicImage *assembly, MonoType *type, SigBuffer *buf)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        if (!type) {
                g_assert_not_reached ();
                return;
@@ -788,6 +852,8 @@ encode_type (MonoDynamicImage *assembly, MonoType *type, SigBuffer *buf)
 static void
 encode_reflection_type (MonoDynamicImage *assembly, MonoReflectionType *type, SigBuffer *buf)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        if (!type) {
                sigbuffer_add_value (buf, MONO_TYPE_VOID);
                return;
@@ -799,6 +865,8 @@ encode_reflection_type (MonoDynamicImage *assembly, MonoReflectionType *type, Si
 static void
 encode_custom_modifiers (MonoDynamicImage *assembly, MonoArray *modreq, MonoArray *modopt, SigBuffer *buf)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        int i;
 
        if (modreq) {
@@ -821,6 +889,8 @@ encode_custom_modifiers (MonoDynamicImage *assembly, MonoArray *modreq, MonoArra
 static guint32
 method_encode_signature (MonoDynamicImage *assembly, MonoMethodSignature *sig)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        SigBuffer buf;
        int i;
        guint32 nparams =  sig->param_count;
@@ -857,6 +927,8 @@ method_encode_signature (MonoDynamicImage *assembly, MonoMethodSignature *sig)
 static guint32
 method_builder_encode_signature (MonoDynamicImage *assembly, ReflectionMethodBuilder *mb)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        /*
         * FIXME: reuse code from method_encode_signature().
         */
@@ -912,6 +984,8 @@ method_builder_encode_signature (MonoDynamicImage *assembly, ReflectionMethodBui
 static guint32
 encode_locals (MonoDynamicImage *assembly, MonoReflectionILGen *ilgen)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDynamicTable *table;
        guint32 *values;
        guint32 idx, sig_idx;
@@ -955,6 +1029,8 @@ encode_locals (MonoDynamicImage *assembly, MonoReflectionILGen *ilgen)
 static guint32
 method_count_clauses (MonoReflectionILGen *ilgen)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        guint32 num_clauses = 0;
        int i;
 
@@ -974,6 +1050,8 @@ method_count_clauses (MonoReflectionILGen *ilgen)
 static MonoExceptionClause*
 method_encode_clauses (MonoImage *image, MonoDynamicImage *assembly, MonoReflectionILGen *ilgen, guint32 num_clauses)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoExceptionClause *clauses;
        MonoExceptionClause *clause;
        MonoILExceptionInfo *ex_info;
@@ -1023,6 +1101,8 @@ method_encode_clauses (MonoImage *image, MonoDynamicImage *assembly, MonoReflect
 static guint32
 method_encode_code (MonoDynamicImage *assembly, ReflectionMethodBuilder *mb)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        char flags = 0;
        guint32 idx;
        guint32 code_size;
@@ -1178,6 +1258,8 @@ fat_header:
 static guint32
 find_index_in_table (MonoDynamicImage *assembly, int table_idx, int col, guint32 token)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        int i;
        MonoDynamicTable *table;
        guint32 *values;
@@ -1201,6 +1283,8 @@ find_index_in_table (MonoDynamicImage *assembly, int table_idx, int col, guint32
 static MonoCustomAttrInfo*
 lookup_custom_attr (MonoImage *image, gpointer member)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        MonoCustomAttrInfo* res;
 
        res = mono_image_property_lookup (image, member, MONO_PROP_DYNAMIC_CATTR);
@@ -1216,6 +1300,8 @@ lookup_custom_attr (MonoImage *image, gpointer member)
 static gboolean
 custom_attr_visible (MonoImage *image, MonoReflectionCustomAttr *cattr)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        /* FIXME: Need to do more checks */
        if (cattr->ctor->method && (cattr->ctor->method->klass->image != image)) {
                int visibility = cattr->ctor->method->klass->flags & TYPE_ATTRIBUTE_VISIBILITY_MASK;
@@ -1230,6 +1316,8 @@ custom_attr_visible (MonoImage *image, MonoReflectionCustomAttr *cattr)
 static MonoCustomAttrInfo*
 mono_custom_attrs_from_builders (MonoImage *alloc_img, MonoImage *image, MonoArray *cattrs)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        int i, index, count, not_visible;
        MonoCustomAttrInfo *ainfo;
        MonoReflectionCustomAttr *cattr;
@@ -1278,6 +1366,8 @@ mono_custom_attrs_from_builders (MonoImage *alloc_img, MonoImage *image, MonoArr
 static void
 mono_save_custom_attrs (MonoImage *image, void *obj, MonoArray *cattrs)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoCustomAttrInfo *ainfo, *tmp;
 
        if (!cattrs || !mono_array_length (cattrs))
@@ -1298,6 +1388,8 @@ mono_save_custom_attrs (MonoImage *image, void *obj, MonoArray *cattrs)
 void
 mono_custom_attrs_free (MonoCustomAttrInfo *ainfo)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        if (!ainfo->cached)
                g_free (ainfo);
 }
@@ -1309,6 +1401,8 @@ mono_custom_attrs_free (MonoCustomAttrInfo *ainfo)
 static void
 mono_image_add_cattrs (MonoDynamicImage *assembly, guint32 idx, guint32 type, MonoArray *cattrs)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDynamicTable *table;
        MonoReflectionCustomAttr *cattr;
        guint32 *values;
@@ -1361,6 +1455,8 @@ mono_image_add_cattrs (MonoDynamicImage *assembly, guint32 idx, guint32 type, Mo
 static void
 mono_image_add_decl_security (MonoDynamicImage *assembly, guint32 parent_token, MonoArray *permissions)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDynamicTable *table;
        guint32 *values;
        guint32 count, i, idx;
@@ -1410,6 +1506,8 @@ mono_image_add_decl_security (MonoDynamicImage *assembly, guint32 parent_token,
 static void
 mono_image_basic_method (ReflectionMethodBuilder *mb, MonoDynamicImage *assembly)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDynamicTable *table;
        guint32 *values;
        guint i, count;
@@ -1485,6 +1583,8 @@ mono_image_basic_method (ReflectionMethodBuilder *mb, MonoDynamicImage *assembly
 static void
 reflection_methodbuilder_from_method_builder (ReflectionMethodBuilder *rmb, MonoReflectionMethodBuilder *mb)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        memset (rmb, 0, sizeof (ReflectionMethodBuilder));
 
        rmb->ilgen = mb->ilgen;
@@ -1524,6 +1624,8 @@ reflection_methodbuilder_from_method_builder (ReflectionMethodBuilder *rmb, Mono
 static void
 reflection_methodbuilder_from_ctor_builder (ReflectionMethodBuilder *rmb, MonoReflectionCtorBuilder *mb)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        const char *name = mb->attrs & METHOD_ATTRIBUTE_STATIC ? ".cctor": ".ctor";
 
        memset (rmb, 0, sizeof (ReflectionMethodBuilder));
@@ -1557,6 +1659,8 @@ reflection_methodbuilder_from_ctor_builder (ReflectionMethodBuilder *rmb, MonoRe
 static void
 reflection_methodbuilder_from_dynamic_method (ReflectionMethodBuilder *rmb, MonoReflectionDynamicMethod *mb)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        memset (rmb, 0, sizeof (ReflectionMethodBuilder));
 
        rmb->ilgen = mb->ilgen;
@@ -1589,6 +1693,8 @@ reflection_methodbuilder_from_dynamic_method (ReflectionMethodBuilder *rmb, Mono
 static void
 mono_image_add_methodimpl (MonoDynamicImage *assembly, MonoReflectionMethodBuilder *mb)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoReflectionTypeBuilder *tb = (MonoReflectionTypeBuilder *)mb->type;
        MonoDynamicTable *table;
        guint32 *values;
@@ -1628,6 +1734,8 @@ mono_image_add_methodimpl (MonoDynamicImage *assembly, MonoReflectionMethodBuild
 static void
 mono_image_get_method_info (MonoReflectionMethodBuilder *mb, MonoDynamicImage *assembly)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDynamicTable *table;
        guint32 *values;
        ReflectionMethodBuilder rmb;
@@ -1681,6 +1789,8 @@ mono_image_get_method_info (MonoReflectionMethodBuilder *mb, MonoDynamicImage *a
 static void
 mono_image_get_ctor_info (MonoDomain *domain, MonoReflectionCtorBuilder *mb, MonoDynamicImage *assembly)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        ReflectionMethodBuilder rmb;
 
        reflection_methodbuilder_from_ctor_builder (&rmb, mb);
@@ -1693,11 +1803,16 @@ mono_image_get_ctor_info (MonoDomain *domain, MonoReflectionCtorBuilder *mb, Mon
 static char*
 type_get_fully_qualified_name (MonoType *type)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        return mono_type_get_name_full (type, MONO_TYPE_NAME_FORMAT_ASSEMBLY_QUALIFIED);
 }
 
 static char*
-type_get_qualified_name (MonoType *type, MonoAssembly *ass) {
+type_get_qualified_name (MonoType *type, MonoAssembly *ass)
+{
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoClass *klass;
        MonoAssembly *ta;
 
@@ -1721,6 +1836,8 @@ type_get_qualified_name (MonoType *type, MonoAssembly *ass) {
 static guint32
 fieldref_encode_signature (MonoDynamicImage *assembly, MonoImage *field_image, MonoType *type)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        SigBuffer buf;
        guint32 idx, i, token;
 
@@ -1761,6 +1878,8 @@ fieldref_encode_signature (MonoDynamicImage *assembly, MonoImage *field_image, M
 static guint32
 field_encode_signature (MonoDynamicImage *assembly, MonoReflectionFieldBuilder *fb)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        SigBuffer buf;
        guint32 idx;
        guint32 typespec = 0;
@@ -1794,7 +1913,10 @@ field_encode_signature (MonoDynamicImage *assembly, MonoReflectionFieldBuilder *
 }
 
 static guint32
-encode_constant (MonoDynamicImage *assembly, MonoObject *val, guint32 *ret_type) {
+encode_constant (MonoDynamicImage *assembly, MonoObject *val, guint32 *ret_type)
+{
+       MONO_REQ_GC_UNSAFE_MODE;
+
        char blob_size [64];
        char *b = blob_size;
        char *box_val;
@@ -1891,7 +2013,10 @@ handle_enum:
 }
 
 static guint32
-encode_marshal_blob (MonoDynamicImage *assembly, MonoReflectionMarshal *minfo) {
+encode_marshal_blob (MonoDynamicImage *assembly, MonoReflectionMarshal *minfo)
+{
+       MONO_REQ_GC_UNSAFE_MODE;
+
        char *str;
        SigBuffer buf;
        guint32 idx, len;
@@ -1968,6 +2093,8 @@ encode_marshal_blob (MonoDynamicImage *assembly, MonoReflectionMarshal *minfo) {
 static void
 mono_image_get_field_info (MonoReflectionFieldBuilder *fb, MonoDynamicImage *assembly)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDynamicTable *table;
        guint32 *values;
 
@@ -2032,6 +2159,8 @@ mono_image_get_field_info (MonoReflectionFieldBuilder *fb, MonoDynamicImage *ass
 static guint32
 property_encode_signature (MonoDynamicImage *assembly, MonoReflectionPropertyBuilder *fb)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        SigBuffer buf;
        guint32 nparams = 0;
        MonoReflectionMethodBuilder *mb = fb->get_method;
@@ -2073,6 +2202,8 @@ property_encode_signature (MonoDynamicImage *assembly, MonoReflectionPropertyBui
 static void
 mono_image_get_property_info (MonoReflectionPropertyBuilder *pb, MonoDynamicImage *assembly)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDynamicTable *table;
        guint32 *values;
        guint num_methods = 0;
@@ -2131,6 +2262,8 @@ mono_image_get_property_info (MonoReflectionPropertyBuilder *pb, MonoDynamicImag
 static void
 mono_image_get_event_info (MonoReflectionEventBuilder *eb, MonoDynamicImage *assembly)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDynamicTable *table;
        guint32 *values;
        guint num_methods = 0;
@@ -2187,6 +2320,8 @@ mono_image_get_event_info (MonoReflectionEventBuilder *eb, MonoDynamicImage *ass
 static void
 encode_constraints (MonoReflectionGenericParam *gparam, guint32 owner, MonoDynamicImage *assembly)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDynamicTable *table;
        guint32 num_constraints, i;
        guint32 *values;
@@ -2225,6 +2360,8 @@ encode_constraints (MonoReflectionGenericParam *gparam, guint32 owner, MonoDynam
 static void
 mono_image_get_generic_param_info (MonoReflectionGenericParam *gparam, guint32 owner, MonoDynamicImage *assembly)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        GenericParamTableEntry *entry;
 
        /*
@@ -2237,7 +2374,7 @@ mono_image_get_generic_param_info (MonoReflectionGenericParam *gparam, guint32 o
        entry = g_new0 (GenericParamTableEntry, 1);
        entry->owner = owner;
        /* FIXME: track where gen_params should be freed and remove the GC root as well */
-       MONO_GC_REGISTER_ROOT_IF_MOVING (entry->gparam);
+       MONO_GC_REGISTER_ROOT_IF_MOVING (entry->gparam, MONO_ROOT_SOURCE_REFLECTION, "reflection generic parameter");
        entry->gparam = gparam;
        
        g_ptr_array_add (assembly->gen_params, entry);
@@ -2246,6 +2383,8 @@ mono_image_get_generic_param_info (MonoReflectionGenericParam *gparam, guint32 o
 static void
 write_generic_param_entry (MonoDynamicImage *assembly, GenericParamTableEntry *entry)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDynamicTable *table;
        MonoGenericParam *param;
        guint32 *values;
@@ -2270,6 +2409,8 @@ write_generic_param_entry (MonoDynamicImage *assembly, GenericParamTableEntry *e
 static guint32
 resolution_scope_from_image (MonoDynamicImage *assembly, MonoImage *image)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDynamicTable *table;
        guint32 token;
        guint32 *values;
@@ -2340,6 +2481,8 @@ resolution_scope_from_image (MonoDynamicImage *assembly, MonoImage *image)
 static guint32
 create_typespec (MonoDynamicImage *assembly, MonoType *type)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        MonoDynamicTable *table;
        guint32 *values;
        guint32 token;
@@ -2392,6 +2535,8 @@ create_typespec (MonoDynamicImage *assembly, MonoType *type)
 static guint32
 mono_image_typedef_or_ref_full (MonoDynamicImage *assembly, MonoType *type, gboolean try_typespec)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDynamicTable *table;
        guint32 *values;
        guint32 token, scope, enclosing;
@@ -2454,6 +2599,8 @@ mono_image_typedef_or_ref (MonoDynamicImage *assembly, MonoType *type)
 static guint32
 mono_image_add_memberef_row (MonoDynamicImage *assembly, guint32 parent, const char *name, guint32 sig)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        MonoDynamicTable *table;
        guint32 *values;
        guint32 token, pclass;
@@ -2500,6 +2647,8 @@ mono_image_add_memberef_row (MonoDynamicImage *assembly, guint32 parent, const c
 static guint32
 mono_image_get_memberref_token (MonoDynamicImage *assembly, MonoType *type, const char *name, guint32 sig)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        guint32 parent = mono_image_typedef_or_ref (assembly, type);
        return mono_image_add_memberef_row (assembly, parent, name, sig);
 }
@@ -2508,6 +2657,8 @@ mono_image_get_memberref_token (MonoDynamicImage *assembly, MonoType *type, cons
 static guint32
 mono_image_get_methodref_token (MonoDynamicImage *assembly, MonoMethod *method, gboolean create_typespec)
 {
+       MONO_REQ_GC_NEUTRAL_MODE;
+
        guint32 token;
        MonoMethodSignature *sig;
        
@@ -4676,7 +4827,7 @@ mono_image_build_metadata (MonoReflectionModuleBuilder *moduleb)
        mono_image_fill_module_table (domain, moduleb, assembly);
 
        /* Collect all types into a list sorted by their table_idx */
-       mono_ptr_array_init (types, moduleb->num_types);
+       mono_ptr_array_init (types, moduleb->num_types, MONO_ROOT_SOURCE_REFLECTION, "dynamic module types list");
 
        if (moduleb->types)
                for (i = 0; i < moduleb->num_types; ++i) {
@@ -5142,21 +5293,21 @@ create_dynamic_mono_image (MonoDynamicAssembly *assembly, char *assembly_name, c
 
        mono_image_init (&image->image);
 
-       image->token_fixups = mono_g_hash_table_new_type ((GHashFunc)mono_object_hash, NULL, MONO_HASH_KEY_GC);
+       image->token_fixups = mono_g_hash_table_new_type ((GHashFunc)mono_object_hash, NULL, MONO_HASH_KEY_GC, MONO_ROOT_SOURCE_REFLECTION, "dynamic module token fixups table");
        image->method_to_table_idx = g_hash_table_new (NULL, NULL);
        image->field_to_table_idx = g_hash_table_new (NULL, NULL);
        image->method_aux_hash = g_hash_table_new (NULL, NULL);
        image->vararg_aux_hash = g_hash_table_new (NULL, NULL);
        image->handleref = g_hash_table_new (NULL, NULL);
-       image->handleref_managed = mono_g_hash_table_new_type ((GHashFunc)mono_object_hash, NULL, MONO_HASH_KEY_GC);
-       image->tokens = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_VALUE_GC);
-       image->generic_def_objects = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_VALUE_GC);
-       image->methodspec = mono_g_hash_table_new_type ((GHashFunc)mono_object_hash, NULL, MONO_HASH_KEY_GC);
+       image->handleref_managed = mono_g_hash_table_new_type ((GHashFunc)mono_object_hash, NULL, MONO_HASH_KEY_GC, MONO_ROOT_SOURCE_REFLECTION, "dynamic module reference-to-token table");
+       image->tokens = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_VALUE_GC, MONO_ROOT_SOURCE_REFLECTION, "dynamic module tokens table");
+       image->generic_def_objects = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_VALUE_GC, MONO_ROOT_SOURCE_REFLECTION, "dynamic module generic definitions table");
+       image->methodspec = mono_g_hash_table_new_type ((GHashFunc)mono_object_hash, NULL, MONO_HASH_KEY_GC, MONO_ROOT_SOURCE_REFLECTION, "dynamic module method specifications table");
        image->typespec = g_hash_table_new ((GHashFunc)mono_metadata_type_hash, (GCompareFunc)mono_metadata_type_equal);
        image->typeref = g_hash_table_new ((GHashFunc)mono_metadata_type_hash, (GCompareFunc)mono_metadata_type_equal);
        image->blob_cache = g_hash_table_new ((GHashFunc)mono_blob_entry_hash, (GCompareFunc)mono_blob_entry_equal);
        image->gen_params = g_ptr_array_new ();
-       image->remapped_tokens = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_VALUE_GC);
+       image->remapped_tokens = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_VALUE_GC, MONO_ROOT_SOURCE_REFLECTION, "dynamic module remapped tokens table");
 
        /*g_print ("string heap create for image %p (%s)\n", image, module_name);*/
        string_heap_init (&image->sheap);
@@ -6123,7 +6274,7 @@ reflected_hash (gconstpointer a) {
                e.refclass = (k);       \
                mono_domain_lock (domain);      \
                if (!domain->refobject_hash)    \
-                       domain->refobject_hash = mono_g_hash_table_new_type (reflected_hash, reflected_equal, MONO_HASH_VALUE_GC);      \
+                       domain->refobject_hash = mono_g_hash_table_new_type (reflected_hash, reflected_equal, MONO_HASH_VALUE_GC, MONO_ROOT_SOURCE_DOMAIN, "domain reflection objects table");  \
                if ((_obj = mono_g_hash_table_lookup (domain->refobject_hash, &e))) {   \
                        mono_domain_unlock (domain);    \
                        return _obj;    \
@@ -6150,7 +6301,7 @@ reflected_hash (gconstpointer a) {
         pe.refclass = (k); \
         mono_domain_lock (domain); \
                if (!domain->refobject_hash)    \
-                       domain->refobject_hash = mono_g_hash_table_new_type (reflected_hash, reflected_equal, MONO_HASH_VALUE_GC);      \
+                       domain->refobject_hash = mono_g_hash_table_new_type (reflected_hash, reflected_equal, MONO_HASH_VALUE_GC, MONO_ROOT_SOURCE_DOMAIN, "domain reflection objects table");  \
         _obj = mono_g_hash_table_lookup (domain->refobject_hash, &pe); \
         if (!_obj) { \
                    ReflectedEntry *e = ALLOC_REFENTRY;         \
@@ -6505,7 +6656,7 @@ mono_type_get_object (MonoDomain *domain, MonoType *type)
        mono_domain_lock (domain);
        if (!domain->type_hash)
                domain->type_hash = mono_g_hash_table_new_type ((GHashFunc)mono_metadata_type_hash, 
-                               (GCompareFunc)mono_metadata_type_equal, MONO_HASH_VALUE_GC);
+                               (GCompareFunc)mono_metadata_type_equal, MONO_HASH_VALUE_GC, MONO_ROOT_SOURCE_DOMAIN, "domain reflection types table");
        if ((res = mono_g_hash_table_lookup (domain->type_hash, type))) {
                mono_domain_unlock (domain);
                mono_loader_unlock ();
@@ -8304,7 +8455,7 @@ create_custom_attr (MonoImage *image, MonoMethod *method, const guchar *data, gu
                memset (params, 0, sizeof (void*) * sig->param_count);
        } else {
                /* Allocate using GC so it gets GC tracking */
-               params = mono_gc_alloc_fixed (sig->param_count * sizeof (void*), MONO_GC_DESCRIPTOR_NULL);
+               params = mono_gc_alloc_fixed (sig->param_count * sizeof (void*), MONO_GC_DESCRIPTOR_NULL, MONO_ROOT_SOURCE_REFLECTION, "custom attribute parameters");
        }
 
        /* skip prolog */
@@ -9422,7 +9573,7 @@ mono_reflection_register_with_runtime (MonoReflectionType *type)
        } else {
                if (!domain->type_hash)
                        domain->type_hash = mono_g_hash_table_new_type ((GHashFunc)mono_metadata_type_hash, 
-                                       (GCompareFunc)mono_metadata_type_equal, MONO_HASH_VALUE_GC);
+                                       (GCompareFunc)mono_metadata_type_equal, MONO_HASH_VALUE_GC, MONO_ROOT_SOURCE_DOMAIN, "domain reflection types table");
                mono_g_hash_table_insert (domain->type_hash, res, type);
        }
        mono_domain_unlock (domain);
@@ -10919,7 +11070,7 @@ mono_reflection_generic_class_initialize (MonoReflectionGenericClass *type, Mono
                dgclass->fields [i].type = mono_class_inflate_generic_type (
                        field->type, mono_generic_class_get_context ((MonoGenericClass *) dgclass));
                dgclass->field_generic_types [i] = field->type;
-               MONO_GC_REGISTER_ROOT_IF_MOVING (dgclass->field_objects [i]);
+               MONO_GC_REGISTER_ROOT_IF_MOVING (dgclass->field_objects [i], MONO_ROOT_SOURCE_REFLECTION, "dynamic generic class field object");
                dgclass->field_objects [i] = obj;
 
                if (inflated_field) {
@@ -11738,8 +11889,18 @@ static void
 free_dynamic_method (void *dynamic_method)
 {
        DynamicMethodReleaseData *data = dynamic_method;
+       MonoDomain *domain = data->domain;
+       MonoMethod *method = data->handle;
+       guint32 dis_link;
+
+       mono_domain_lock (domain);
+       dis_link = (guint32)(size_t)g_hash_table_lookup (domain->method_to_dyn_method, method);
+       g_hash_table_remove (domain->method_to_dyn_method, method);
+       mono_domain_unlock (domain);
+       g_assert (dis_link);
+       mono_gchandle_free (dis_link);
 
-       mono_runtime_free_method (data->domain, data->handle);
+       mono_runtime_free_method (domain, method);
        g_free (data);
 }
 
@@ -11752,6 +11913,7 @@ mono_reflection_create_dynamic_method (MonoReflectionDynamicMethod *mb)
        ReflectionMethodBuilder rmb;
        MonoMethodSignature *sig;
        MonoClass *klass;
+       MonoDomain *domain;
        GSList *l;
        int i;
 
@@ -11849,6 +12011,13 @@ mono_reflection_create_dynamic_method (MonoReflectionDynamicMethod *mb)
 
        /* ilgen is no longer needed */
        mb->ilgen = NULL;
+
+       domain = mono_domain_get ();
+       mono_domain_lock (domain);
+       if (!domain->method_to_dyn_method)
+               domain->method_to_dyn_method = g_hash_table_new (NULL, NULL);
+       g_hash_table_insert (domain->method_to_dyn_method, handle, (gpointer)(size_t)mono_gchandle_new_weakref ((MonoObject *)mb, TRUE));
+       mono_domain_unlock (domain);
 }
 
 #endif /* DISABLE_REFLECTION_EMIT */
index ef08c679bad43cd3d2daceaf305249ec73d8d82e..dcc60ecc5504a93656884ca5c78eb8ad47709457 100644 (file)
@@ -262,13 +262,11 @@ static inline MonoMethod*
 mono_marshal_remoting_find_in_cache (MonoMethod *method, int wrapper_type)
 {
        MonoMethod *res = NULL;
-       MonoRemotingMethods *wrps;
+       MonoRemotingMethods *wrps = NULL;
 
        mono_marshal_lock_internal ();
-       if (method->klass->image->remoting_invoke_cache)
-               wrps = g_hash_table_lookup (method->klass->image->remoting_invoke_cache, method);
-       else
-               wrps = NULL;
+       if (mono_method_get_wrapper_cache (method)->remoting_invoke_cache)
+               wrps = g_hash_table_lookup (mono_method_get_wrapper_cache (method)->remoting_invoke_cache, method);
 
        if (wrps) {
                switch (wrapper_type) {
@@ -294,7 +292,9 @@ mono_remoting_mb_create_and_cache (MonoMethod *key, MonoMethodBuilder *mb,
 {
        MonoMethod **res = NULL;
        MonoRemotingMethods *wrps;
-       GHashTable *cache = get_cache_full (&key->klass->image->remoting_invoke_cache, mono_aligned_addr_hash, NULL, NULL, g_free);
+       GHashTable *cache;
+
+       cache = get_cache_full (&mono_method_get_wrapper_cache (key)->remoting_invoke_cache, mono_aligned_addr_hash, NULL, NULL, g_free);
 
        mono_marshal_lock_internal ();
        wrps = g_hash_table_lookup (cache, key);
@@ -334,19 +334,19 @@ static MonoObject *
 mono_remoting_wrapper (MonoMethod *method, gpointer *params)
 {
        MonoMethodMessage *msg;
-       MonoTransparentProxy *this;
+       MonoTransparentProxy *this_obj;
        MonoObject *res, *exc;
        MonoArray *out_args;
 
-       this = *((MonoTransparentProxy **)params [0]);
+       this_obj = *((MonoTransparentProxy **)params [0]);
 
-       g_assert (this);
-       g_assert (((MonoObject *)this)->vtable->klass == mono_defaults.transparent_proxy_class);
+       g_assert (this_obj);
+       g_assert (((MonoObject *)this_obj)->vtable->klass == mono_defaults.transparent_proxy_class);
        
        /* skip the this pointer */
        params++;
 
-       if (mono_class_is_contextbound (this->remote_class->proxy_class) && this->rp->context == (MonoObject *) mono_context_get ())
+       if (mono_class_is_contextbound (this_obj->remote_class->proxy_class) && this_obj->rp->context == (MonoObject *) mono_context_get ())
        {
                int i;
                MonoMethodSignature *sig = mono_method_signature (method);
@@ -370,12 +370,12 @@ mono_remoting_wrapper (MonoMethod *method, gpointer *params)
                        }
                }
 
-               return mono_runtime_invoke (method, method->klass->valuetype? mono_object_unbox ((MonoObject*)this): this, mparams, NULL);
+               return mono_runtime_invoke (method, method->klass->valuetype? mono_object_unbox ((MonoObject*)this_obj): this_obj, mparams, NULL);
        }
 
        msg = mono_method_call_message_new (method, params, NULL, NULL, NULL);
 
-       res = mono_remoting_invoke ((MonoObject *)this->rp, msg, &exc, &out_args);
+       res = mono_remoting_invoke ((MonoObject *)this_obj->rp, msg, &exc, &out_args);
 
        if (exc)
                mono_raise_exception ((MonoException *)exc);
index 824e5d461a289b75056d4182773bd29ae34d822c..60eb578939451a20e97b8b13faa5e02a119768fa 100644 (file)
@@ -29,7 +29,7 @@
 #include "mono/sgen/sgen-gc.h"
 #include "mono/metadata/sgen-bridge.h"
 
-extern gboolean bridge_processing_in_progress;
+extern volatile gboolean bridge_processing_in_progress;
 extern MonoGCBridgeCallbacks bridge_callbacks;
 
 gboolean sgen_need_bridge_processing (void);
index 47f4f94db5c2fd6c7faaaf703771972a1415fc76..9eb5b3693034dfd541355e92dd2d375925199145 100644 (file)
@@ -53,7 +53,7 @@ MonoGCBridgeCallbacks bridge_callbacks;
 static SgenBridgeProcessor bridge_processor;
 static SgenBridgeProcessor compare_to_bridge_processor;
 
-gboolean bridge_processing_in_progress = FALSE;
+volatile gboolean bridge_processing_in_progress = FALSE;
 
 void
 mono_gc_wait_for_bridge_processing (void)
@@ -179,9 +179,12 @@ null_weak_links_to_dead_objects (SgenBridgeProcessor *processor, int generation)
        }
 
        /* Null weak links to dead objects. */
-       sgen_null_links_if (is_bridge_object_dead, &alive_hash, GENERATION_NURSERY);
-       if (generation == GENERATION_OLD)
-               sgen_null_links_if (is_bridge_object_dead, &alive_hash, GENERATION_OLD);
+       sgen_null_links_if (is_bridge_object_dead, &alive_hash, GENERATION_NURSERY, FALSE);
+       sgen_null_links_if (is_bridge_object_dead, &alive_hash, GENERATION_NURSERY, TRUE);
+       if (generation == GENERATION_OLD) {
+               sgen_null_links_if (is_bridge_object_dead, &alive_hash, GENERATION_OLD, FALSE);
+               sgen_null_links_if (is_bridge_object_dead, &alive_hash, GENERATION_OLD, TRUE);
+       }
 
        sgen_hash_table_clean (&alive_hash);
 }
index 2847011dc22d42f47fb168607d3a12ccb77b946b..e986ae0c2ed5ba451d3c3b34204e27ae687405fa 100644 (file)
@@ -103,6 +103,30 @@ enum {
        INTERNAL_MEM_MAX
 };
 
+static inline mword
+sgen_mono_array_size (GCVTable vtable, MonoArray *array, mword *bounds_size, mword descr)
+{
+       mword size, size_without_bounds;
+       int element_size;
+
+       if ((descr & DESC_TYPE_MASK) == DESC_TYPE_VECTOR)
+               element_size = ((descr) >> VECTOR_ELSIZE_SHIFT) & MAX_ELEMENT_SIZE;
+       else
+               element_size = vtable->klass->sizes.element_size;
+
+       size_without_bounds = size = sizeof (MonoArray) + element_size * mono_array_length_fast (array);
+
+       if (G_UNLIKELY (array->bounds)) {
+               size += sizeof (mono_array_size_t) - 1;
+               size &= ~(sizeof (mono_array_size_t) - 1);
+               size += sizeof (MonoArrayBounds) * vtable->klass->rank;
+       }
+
+       if (bounds_size)
+               *bounds_size = size - size_without_bounds;
+       return size;
+}
+
 #define SGEN_CLIENT_OBJECT_HEADER_SIZE         (sizeof (GCObject))
 #define SGEN_CLIENT_MINIMUM_OBJECT_SIZE                SGEN_CLIENT_OBJECT_HEADER_SIZE
 
@@ -118,14 +142,7 @@ sgen_client_slow_object_get_size (GCVTable vtable, GCObject* o)
        if (klass == mono_defaults.string_class) {
                return G_STRUCT_OFFSET (MonoString, chars) + 2 * mono_string_length_fast ((MonoString*) o) + 2;
        } else if (klass->rank) {
-               MonoArray *array = (MonoArray*)o;
-               size_t size = sizeof (MonoArray) + klass->sizes.element_size * mono_array_length_fast (array);
-               if (G_UNLIKELY (array->bounds)) {
-                       size += sizeof (mono_array_size_t) - 1;
-                       size &= ~(sizeof (mono_array_size_t) - 1);
-                       size += sizeof (MonoArrayBounds) * klass->rank;
-               }
-               return size;
+               return sgen_mono_array_size (vtable, (MonoArray*)o, NULL, 0);
        } else {
                /* from a created object: the class must be inited already */
                return klass->instance_size;
@@ -150,20 +167,7 @@ sgen_client_par_object_get_size (GCVTable vtable, GCObject* o)
        } else if (descr == SGEN_DESC_STRING) {
                return G_STRUCT_OFFSET (MonoString, chars) + 2 * mono_string_length_fast ((MonoString*) o) + 2;
        } else if (type == DESC_TYPE_VECTOR) {
-               int element_size = ((descr) >> VECTOR_ELSIZE_SHIFT) & MAX_ELEMENT_SIZE;
-               MonoArray *array = (MonoArray*)o;
-               size_t size = sizeof (MonoArray) + element_size * mono_array_length_fast (array);
-
-               /*
-                * Non-vector arrays with a single dimension whose lower bound is zero are
-                * allocated without bounds.
-                */
-               if ((descr & VECTOR_KIND_ARRAY) && array->bounds) {
-                       size += sizeof (mono_array_size_t) - 1;
-                       size &= ~(sizeof (mono_array_size_t) - 1);
-                       size += sizeof (MonoArrayBounds) * ((MonoVTable*)vtable)->klass->rank;
-               }
-               return size;
+               return sgen_mono_array_size (vtable, (MonoArray*)o, NULL, descr);
        }
 
        return sgen_client_slow_object_get_size (vtable, o);
@@ -567,7 +571,12 @@ sgen_client_binary_protocol_cleanup (gpointer ptr, gpointer vtable, size_t size)
 }
 
 static void G_GNUC_UNUSED
-sgen_client_binary_protocol_dislink_update (gpointer link, gpointer obj, gboolean track, gboolean staged)
+sgen_client_binary_protocol_dislink_add (gpointer link, gpointer obj, gboolean track)
+{
+}
+
+static void G_GNUC_UNUSED
+sgen_client_binary_protocol_dislink_update (gpointer link, gpointer obj, gboolean track)
 {
 #ifdef ENABLE_DTRACE
        if (MONO_GC_WEAK_UPDATE_ENABLED ()) {
@@ -583,12 +592,7 @@ sgen_client_binary_protocol_dislink_update (gpointer link, gpointer obj, gboolea
 }
 
 static void G_GNUC_UNUSED
-sgen_client_binary_protocol_dislink_update_staged (gpointer link, gpointer obj, gboolean track, int index)
-{
-}
-
-static void G_GNUC_UNUSED
-sgen_client_binary_protocol_dislink_process_staged (gpointer link, gpointer obj, int index)
+sgen_client_binary_protocol_dislink_remove (gpointer link, gboolean track)
 {
 }
 
@@ -702,5 +706,6 @@ gboolean sgen_is_managed_allocator (MonoMethod *method);
 gboolean sgen_has_managed_allocator (void);
 
 void sgen_scan_for_registered_roots_in_domain (MonoDomain *domain, int root_type);
+void sgen_null_links_for_domain (MonoDomain *domain);
 
 #endif
index bb44f590762d61a3903b3500e8fb4f1d65b8aadf..bb06f7eec0273cf41821d64e82c7c4c77bebffb6 100644 (file)
@@ -362,7 +362,7 @@ get_array_fill_vtable (void)
        if (!array_fill_vtable) {
                static MonoClass klass;
                static char _vtable[sizeof(MonoVTable)+8];
-               MonoVTable* vtable = (MonoVTable*) ALIGN_TO(_vtable, 8);
+               MonoVTable* vtable = (MonoVTable*) ALIGN_TO((mword)_vtable, 8);
                gsize bmap;
 
                MonoDomain *domain = mono_get_root_domain ();
@@ -784,9 +784,9 @@ clear_domain_process_object (GCObject *obj, MonoDomain *domain)
        remove = need_remove_object_for_domain (obj, domain);
 
        if (remove && obj->synchronisation) {
-               void **dislink = mono_monitor_get_object_monitor_weak_link (obj);
+               guint32 dislink = mono_monitor_get_object_monitor_gchandle (obj);
                if (dislink)
-                       sgen_register_disappearing_link (NULL, dislink, FALSE, TRUE);
+                       mono_gchandle_free (dislink);
        }
 
        return remove;
@@ -849,7 +849,6 @@ mono_gc_clear_domain (MonoDomain * domain)
        major_collector.finish_sweeping ();
 
        sgen_process_fin_stage_entries ();
-       sgen_process_dislink_stage_entries ();
 
        sgen_clear_nursery_fragments ();
 
@@ -862,9 +861,7 @@ mono_gc_clear_domain (MonoDomain * domain)
        /*Ephemerons and dislinks must be processed before LOS since they might end up pointing
        to memory returned to the OS.*/
        null_ephemerons_for_domain (domain);
-
-       for (i = GENERATION_NURSERY; i < GENERATION_MAX; ++i)
-               sgen_null_links_if (object_in_domain_predicate, domain, i);
+       sgen_null_links_for_domain (domain);
 
        for (i = GENERATION_NURSERY; i < GENERATION_MAX; ++i)
                sgen_remove_finalizers_if (object_in_domain_predicate, domain, i);
@@ -964,13 +961,13 @@ mono_gc_alloc_mature (MonoVTable *vtable)
 }
 
 void*
-mono_gc_alloc_fixed (size_t size, MonoGCDescriptor descr)
+mono_gc_alloc_fixed (size_t size, MonoGCDescriptor descr, MonoGCRootSource source, const char *msg)
 {
        /* FIXME: do a single allocation */
        void *res = calloc (1, size);
        if (!res)
                return NULL;
-       if (!mono_gc_register_root (res, size, descr)) {
+       if (!mono_gc_register_root (res, size, descr, source, msg)) {
                free (res);
                res = NULL;
        }
@@ -1596,15 +1593,17 @@ sgen_client_cardtable_scan_object (GCObject *obj, mword block_obj_size, guint8 *
        SGEN_ASSERT (0, SGEN_VTABLE_HAS_REFERENCES (vt), "Why would we ever call this on reference-free objects?");
 
        if (vt->rank) {
+               MonoArray *arr = (MonoArray*)obj;
                guint8 *card_data, *card_base;
                guint8 *card_data_end;
                char *obj_start = sgen_card_table_align_pointer (obj);
-               mword obj_size = sgen_client_par_object_get_size (vt, obj);
-               char *obj_end = (char*)obj + obj_size;
+               mword bounds_size;
+               mword obj_size = sgen_mono_array_size (vt, arr, &bounds_size, sgen_vtable_get_descriptor (vt));
+               /* We don't want to scan the bounds entries at the end of multidimensional arrays */
+               char *obj_end = (char*)obj + obj_size - bounds_size;
                size_t card_count;
                size_t extra_idx = 0;
 
-               MonoArray *arr = (MonoArray*)obj;
                mword desc = (mword)klass->element_class->gc_descr;
                int elem_size = mono_array_element_size (klass);
 
@@ -2339,6 +2338,8 @@ sgen_client_scan_thread_data (void *start_nursery, void *end_nursery, gboolean p
 
        FOREACH_THREAD (info) {
                int skip_reason = 0;
+               void *aligned_stack_start = (void*)(mword) ALIGN_TO ((mword)info->client_info.stack_start, SIZEOF_VOID_P);
+
                if (info->client_info.skip) {
                        SGEN_LOG (3, "Skipping dead thread %p, range: %p-%p, size: %zd", info, info->client_info.stack_start, info->client_info.stack_end, (char*)info->client_info.stack_end - (char*)info->client_info.stack_start);
                        skip_reason = 1;
@@ -2358,13 +2359,13 @@ sgen_client_scan_thread_data (void *start_nursery, void *end_nursery, gboolean p
                g_assert (info->client_info.suspend_done);
                SGEN_LOG (3, "Scanning thread %p, range: %p-%p, size: %zd, pinned=%zd", info, info->client_info.stack_start, info->client_info.stack_end, (char*)info->client_info.stack_end - (char*)info->client_info.stack_start, sgen_get_pinned_count ());
                if (mono_gc_get_gc_callbacks ()->thread_mark_func && !conservative_stack_mark) {
-                       mono_gc_get_gc_callbacks ()->thread_mark_func (info->client_info.runtime_data, info->client_info.stack_start, info->client_info.stack_end, precise, &ctx);
+                       mono_gc_get_gc_callbacks ()->thread_mark_func (info->client_info.runtime_data, aligned_stack_start, info->client_info.stack_end, precise, &ctx);
                } else if (!precise) {
                        if (!conservative_stack_mark) {
                                fprintf (stderr, "Precise stack mark not supported - disabling.\n");
                                conservative_stack_mark = TRUE;
                        }
-                       sgen_conservatively_pin_objects_from (info->client_info.stack_start, info->client_info.stack_end, start_nursery, end_nursery, PIN_TYPE_STACK);
+                       sgen_conservatively_pin_objects_from (aligned_stack_start, info->client_info.stack_end, start_nursery, end_nursery, PIN_TYPE_STACK);
                }
 
                if (!precise) {
@@ -2404,15 +2405,15 @@ mono_gc_set_stack_end (void *stack_end)
  */
 
 int
-mono_gc_register_root (char *start, size_t size, MonoGCDescriptor descr)
+mono_gc_register_root (char *start, size_t size, MonoGCDescriptor descr, MonoGCRootSource source, const char *msg)
 {
-       return sgen_register_root (start, size, descr, descr ? ROOT_TYPE_NORMAL : ROOT_TYPE_PINNED);
+       return sgen_register_root (start, size, descr, descr ? ROOT_TYPE_NORMAL : ROOT_TYPE_PINNED, source, msg);
 }
 
 int
-mono_gc_register_root_wbarrier (char *start, size_t size, MonoGCDescriptor descr)
+mono_gc_register_root_wbarrier (char *start, size_t size, MonoGCDescriptor descr, MonoGCRootSource source, const char *msg)
 {
-       return sgen_register_root (start, size, descr, ROOT_TYPE_WBARRIER);
+       return sgen_register_root (start, size, descr, ROOT_TYPE_WBARRIER, source, msg);
 }
 
 void
@@ -2566,22 +2567,109 @@ mono_gc_get_los_limit (void)
        return SGEN_MAX_SMALL_OBJ_SIZE;
 }
 
+gpointer
+sgen_client_default_metadata (void)
+{
+       return mono_domain_get ();
+}
+
+gpointer
+sgen_client_metadata_for_object (GCObject *obj)
+{
+       return mono_object_domain (obj);
+}
+
+/**
+ * mono_gchandle_is_in_domain:
+ * @gchandle: a GCHandle's handle.
+ * @domain: An application domain.
+ *
+ * Returns: true if the object wrapped by the @gchandle belongs to the specific @domain.
+ */
+gboolean
+mono_gchandle_is_in_domain (guint32 gchandle, MonoDomain *domain)
+{
+       MonoDomain *gchandle_domain = sgen_gchandle_get_metadata (gchandle);
+       return domain->domain_id == gchandle_domain->domain_id;
+}
+
+/**
+ * mono_gchandle_free_domain:
+ * @unloading: domain that is unloading
+ *
+ * Function used internally to cleanup any GC handle for objects belonging
+ * to the specified domain during appdomain unload.
+ */
 void
-mono_gc_weak_link_add (void **link_addr, MonoObject *obj, gboolean track)
+mono_gchandle_free_domain (MonoDomain *unloading)
 {
-       sgen_register_disappearing_link (obj, link_addr, track, FALSE);
+}
+
+static gpointer
+null_link_if_in_domain (gpointer hidden, GCHandleType handle_type, int max_generation, gpointer user)
+{
+       MonoDomain *unloading_domain = user;
+       MonoDomain *obj_domain;
+       gboolean is_weak = MONO_GC_HANDLE_TYPE_IS_WEAK (handle_type);
+       if (MONO_GC_HANDLE_IS_OBJECT_POINTER (hidden)) {
+               MonoObject *obj = MONO_GC_REVEAL_POINTER (hidden, is_weak);
+               obj_domain = mono_object_domain (obj);
+       } else {
+               obj_domain = MONO_GC_REVEAL_POINTER (hidden, is_weak);
+       }
+       if (unloading_domain->domain_id == obj_domain->domain_id)
+               return NULL;
+       return hidden;
+}
+
+void
+sgen_null_links_for_domain (MonoDomain *domain)
+{
+       guint type;
+       for (type = HANDLE_TYPE_MIN; type < HANDLE_TYPE_MAX; ++type)
+               sgen_gchandle_iterate (type, GENERATION_OLD, null_link_if_in_domain, domain);
 }
 
 void
-mono_gc_weak_link_remove (void **link_addr, gboolean track)
+mono_gchandle_set_target (guint32 gchandle, MonoObject *obj)
 {
-       sgen_register_disappearing_link (NULL, link_addr, track, FALSE);
+       sgen_gchandle_set_target (gchandle, obj);
 }
 
-MonoObject*
-mono_gc_weak_link_get (void **link_addr)
+void
+sgen_client_gchandle_created (int handle_type, GCObject *obj, guint32 handle)
 {
-       return sgen_weak_link_get (link_addr);
+#ifndef DISABLE_PERFCOUNTERS
+       mono_perfcounters->gc_num_handles++;
+#endif
+       mono_profiler_gc_handle (MONO_PROFILER_GC_HANDLE_CREATED, handle_type, handle, obj);
+}
+
+void
+sgen_client_gchandle_destroyed (int handle_type, guint32 handle)
+{
+#ifndef DISABLE_PERFCOUNTERS
+       mono_perfcounters->gc_num_handles--;
+#endif
+       mono_profiler_gc_handle (MONO_PROFILER_GC_HANDLE_DESTROYED, handle_type, handle, NULL);
+}
+
+void
+sgen_client_ensure_weak_gchandles_accessible (void)
+{
+       /*
+        * During the second bridge processing step the world is
+        * running again.  That step processes all weak links once
+        * more to null those that refer to dead objects.  Before that
+        * is completed, those links must not be followed, so we
+        * conservatively wait for bridge processing when any weak
+        * link is dereferenced.
+        */
+       /* FIXME: A GC can occur after this check fails, in which case we
+        * should wait for bridge processing but would fail to do so.
+        */
+       if (G_UNLIKELY (bridge_processing_in_progress))
+               mono_gc_wait_for_bridge_processing ();
 }
 
 gboolean
diff --git a/mono/metadata/sgen-os-coop.c b/mono/metadata/sgen-os-coop.c
new file mode 100644 (file)
index 0000000..165c0d4
--- /dev/null
@@ -0,0 +1,81 @@
+/*
+ * sgen-os-coop.c: SGen Cooperative backend support.
+ *
+ * Author:
+ *     João Matos (joao.matos@xamarin.com)
+ * Copyright (C) 2015 Xamarin Inc
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License 2.0 as published by the Free Software Foundation;
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License 2.0 along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "config.h"
+#ifdef HAVE_SGEN_GC
+
+
+#include <glib.h>
+#include "sgen/sgen-gc.h"
+#include "sgen/sgen-archdep.h"
+#include "sgen/sgen-protocol.h"
+#include "metadata/object-internals.h"
+#include "metadata/gc-internal.h"
+
+
+#if defined(USE_COOP_GC)
+
+gboolean
+sgen_resume_thread (SgenThreadInfo *info)
+{
+       g_error ("FIXME");
+       return FALSE;
+}
+
+gboolean
+sgen_suspend_thread (SgenThreadInfo *info)
+{
+       g_error ("FIXME");
+       return FALSE;
+}
+
+void
+sgen_wait_for_suspend_ack (int count)
+{
+}
+
+/* LOCKING: assumes the GC lock is held */
+int
+sgen_thread_handshake (BOOL suspend)
+{
+       g_error ("FIXME");
+       return 0;
+}
+
+void
+sgen_os_init (void)
+{
+}
+
+int
+mono_gc_get_suspend_signal (void)
+{
+       return -1;
+}
+
+int
+mono_gc_get_restart_signal (void)
+{
+       return -1;
+}
+
+#endif
+#endif
\ No newline at end of file
index db3297f15d7059d91f7f21ac2cb1d8610cc0e41c..46d30d81c4d664f3386c040356e0e60f2023ae4d 100644 (file)
@@ -137,7 +137,6 @@ sgen_thread_handshake (BOOL suspend)
        } END_FOREACH_THREAD_SAFE
        return count;
 }
-#endif
 
 void
 sgen_os_init (void)
@@ -157,3 +156,4 @@ mono_gc_get_restart_signal (void)
 }
 #endif
 #endif
+#endif
index d0aa841296abca3ffc5e6da7ec0a5080bf7ccacb..a45d6be1d9c44c13c527d31cfa2f4eded804f868 100644 (file)
@@ -25,7 +25,7 @@
 
 #include "config.h"
 
-#ifdef HAVE_SGEN_GC
+#if defined(HAVE_SGEN_GC) && !defined(USE_COOP_GC)
 #if !defined(__MACH__) && !MONO_MACH_ARCH_SUPPORTED && defined(HAVE_PTHREAD_KILL)
 
 #include <errno.h>
index 656d8393045abfc5cf3a4d49365cc6c6f13a686b..3145a5e35353e235923ce95f58075a0f1b7526f5 100644 (file)
@@ -61,25 +61,25 @@ sgen_suspend_thread (SgenThreadInfo *info)
 #ifdef USE_MONO_CTX
        memset (&info->client_info.ctx, 0, sizeof (MonoContext));
 #ifdef TARGET_AMD64
-       info->client_info.ctx.rip = context.Rip;
-       info->client_info.ctx.rax = context.Rax;
-       info->client_info.ctx.rcx = context.Rcx;
-       info->client_info.ctx.rdx = context.Rdx;
-       info->client_info.ctx.rbx = context.Rbx;
-       info->client_info.ctx.rsp = context.Rsp;
-       info->client_info.ctx.rbp = context.Rbp;
-       info->client_info.ctx.rsi = context.Rsi;
-       info->client_info.ctx.rdi = context.Rdi;
-       info->client_info.ctx.r8 = context.R8;
-       info->client_info.ctx.r9 = context.R9;
-       info->client_info.ctx.r10 = context.R10;
-       info->client_info.ctx.r11 = context.R11;
-       info->client_info.ctx.r12 = context.R12;
-       info->client_info.ctx.r13 = context.R13;
-       info->client_info.ctx.r14 = context.R14;
-       info->client_info.ctx.r15 = context.R15;
-       info->client_info.stopped_ip = info->client_info.ctx.rip;
-       info->client_info.stack_start = (char*)info->client_info.ctx.rsp - REDZONE_SIZE;
+    info->client_info.ctx.gregs[AMD64_RIP] = context.Rip;
+    info->client_info.ctx.gregs[AMD64_RAX] = context.Rax;
+    info->client_info.ctx.gregs[AMD64_RCX] = context.Rcx;
+    info->client_info.ctx.gregs[AMD64_RDX] = context.Rdx;
+    info->client_info.ctx.gregs[AMD64_RBX] = context.Rbx;
+    info->client_info.ctx.gregs[AMD64_RSP] = context.Rsp;
+    info->client_info.ctx.gregs[AMD64_RBP] = context.Rbp;
+    info->client_info.ctx.gregs[AMD64_RSI] = context.Rsi;
+    info->client_info.ctx.gregs[AMD64_RDI] = context.Rdi;
+    info->client_info.ctx.gregs[AMD64_R8] = context.R8;
+    info->client_info.ctx.gregs[AMD64_R9] = context.R9;
+    info->client_info.ctx.gregs[AMD64_R10] = context.R10;
+    info->client_info.ctx.gregs[AMD64_R11] = context.R11;
+    info->client_info.ctx.gregs[AMD64_R12] = context.R12;
+    info->client_info.ctx.gregs[AMD64_R13] = context.R13;
+    info->client_info.ctx.gregs[AMD64_R14] = context.R14;
+    info->client_info.ctx.gregs[AMD64_R15] = context.R15;
+    info->client_info.stopped_ip = info->client_info.ctx.gregs[AMD64_RIP];
+    info->client_info.stack_start = (char*)info->client_info.ctx.gregs[AMD64_RSP] - REDZONE_SIZE;
 #else
        info->client_info.ctx.edi = context.Edi;
        info->client_info.ctx.esi = context.Esi;
index bc899f5d59c2fe1ebfda9eadfa9e99e890112ff9..17d86487cb3f54ed069f287d39fdc8436fe521ee 100644 (file)
@@ -400,7 +400,7 @@ sgen_unified_suspend_stop_world (void)
                        info->client_info.skip = !mono_thread_info_begin_suspend (info, FALSE);
                        THREADS_STW_DEBUG ("[GC-STW-BEGIN-SUSPEND] SUSPEND thread %p skip %d\n", mono_thread_info_get_tid (info), info->client_info.skip);
                } else {
-                       THREADS_STW_DEBUG ("[GC-STW-BEGIN-SUSPEND] IGNORE thread %p skip %d\n", mono_thread_info_get_tid (info), info->skip);
+                       THREADS_STW_DEBUG ("[GC-STW-BEGIN-SUSPEND] IGNORE thread %p skip %d\n", mono_thread_info_get_tid (info), info->client_info.skip);
                }
        } END_FOREACH_THREAD_SAFE
 
index 3ef7a0aa08ef524a5d25fe96a910f506aa6e8c29..f583341edbbc9de816ff53425813def4453e99ad 100644 (file)
 #define LOGDEBUG(...)  
 /* define LOGDEBUG(...) g_message(__VA_ARGS__)  */
 
-static gint32 convert_family(MonoAddressFamily mono_family)
+static void
+abort_syscall (gpointer data)
 {
-       gint32 family=-1;
-       
-       switch(mono_family) {
+       MonoThreadInfo *info = data;
+
+       if (mono_threads_core_needs_abort_syscall ())
+               mono_threads_core_abort_syscall (info);
+}
+
+static gint32
+convert_family (MonoAddressFamily mono_family)
+{
+       switch (mono_family) {
        case AddressFamily_Unknown:
        case AddressFamily_ImpLink:
        case AddressFamily_Pup:
@@ -121,156 +129,114 @@ static gint32 convert_family(MonoAddressFamily mono_family)
        case AddressFamily_Ieee12844:
        case AddressFamily_NetworkDesigners:
                g_warning("System.Net.Sockets.AddressFamily has unsupported value 0x%x", mono_family);
-               break;
-               
+               return -1;
        case AddressFamily_Unspecified:
-               family=AF_UNSPEC;
-               break;
-               
+               return AF_UNSPEC;
        case AddressFamily_Unix:
-               family=AF_UNIX;
-               break;
-               
+               return AF_UNIX;
        case AddressFamily_InterNetwork:
-               family=AF_INET;
-               break;
-               
+               return AF_INET;
+       case AddressFamily_AppleTalk:
+               return AF_APPLETALK;
+       case AddressFamily_InterNetworkV6:
+               return AF_INET6;
+       case AddressFamily_DecNet:
+#ifdef AF_DECnet
+               return AF_DECnet;
+#else
+               return -1;
+#endif
        case AddressFamily_Ipx:
 #ifdef AF_IPX
-               family=AF_IPX;
+               return AF_IPX;
+#else
+               return -1;
 #endif
-               break;
-               
        case AddressFamily_Sna:
 #ifdef AF_SNA
-               family=AF_SNA;
-#endif
-               break;
-               
-       case AddressFamily_DecNet:
-#ifdef AF_DECnet
-               family=AF_DECnet;
+               return AF_SNA;
+#else
+               return -1;
 #endif
-               break;
-               
-       case AddressFamily_AppleTalk:
-               family=AF_APPLETALK;
-               break;
-               
-       case AddressFamily_InterNetworkV6:
-               family=AF_INET6;
-               break;
-
        case AddressFamily_Irda:
-#ifdef AF_IRDA 
-               family=AF_IRDA;
+#ifdef AF_IRDA
+               return AF_IRDA;
+#else
+               return -1;
 #endif
-               break;
        default:
-               g_warning("System.Net.Sockets.AddressFamily has unknown value 0x%x", mono_family);
+               g_warning ("System.Net.Sockets.AddressFamily has unknown value 0x%x", mono_family);
+               return -1;
        }
-
-       return(family);
 }
 
-static MonoAddressFamily convert_to_mono_family(guint16 af_family)
+static MonoAddressFamily
+convert_to_mono_family (guint16 af_family)
 {
-       MonoAddressFamily family=AddressFamily_Unknown;
-       
-       switch(af_family) {
+       switch (af_family) {
        case AF_UNSPEC:
-               family=AddressFamily_Unspecified;
-               break;
-               
+               return AddressFamily_Unspecified;
        case AF_UNIX:
-               family=AddressFamily_Unix;
-               break;
-               
+               return AddressFamily_Unix;
        case AF_INET:
-               family=AddressFamily_InterNetwork;
-               break;
-               
+               return AddressFamily_InterNetwork;
 #ifdef AF_IPX
        case AF_IPX:
-               family=AddressFamily_Ipx;
-               break;
+               return AddressFamily_Ipx;
 #endif
-               
 #ifdef AF_SNA
        case AF_SNA:
-               family=AddressFamily_Sna;
-               break;
+               return AddressFamily_Sna;
 #endif
-               
 #ifdef AF_DECnet
        case AF_DECnet:
-               family=AddressFamily_DecNet;
-               break;
+               return AddressFamily_DecNet;
 #endif
-               
        case AF_APPLETALK:
-               family=AddressFamily_AppleTalk;
-               break;
-               
+               return AddressFamily_AppleTalk;
        case AF_INET6:
-               family=AddressFamily_InterNetworkV6;
-               break;
-               
-#ifdef AF_IRDA 
+               return AddressFamily_InterNetworkV6;
+#ifdef AF_IRDA
        case AF_IRDA:
-               family=AddressFamily_Irda;
-               break;
+               return AddressFamily_Irda;
 #endif
        default:
                g_warning("unknown address family 0x%x", af_family);
+               return AddressFamily_Unknown;
        }
-
-       return(family);
 }
 
-static gint32 convert_type(MonoSocketType mono_type)
+static gint32
+convert_type (MonoSocketType mono_type)
 {
-       gint32 type=-1;
-       
-       switch(mono_type) {
+       switch (mono_type) {
        case SocketType_Stream:
-               type=SOCK_STREAM;
-               break;
-
+               return SOCK_STREAM;
        case SocketType_Dgram:
-               type=SOCK_DGRAM;
-               break;
-               
+               return SOCK_DGRAM;
        case SocketType_Raw:
-               type=SOCK_RAW;
-               break;
-
+               return SOCK_RAW;
        case SocketType_Rdm:
 #ifdef SOCK_RDM
-               type=SOCK_RDM;
+               return SOCK_RDM;
+#else
+               return -1;
 #endif
-               break;
-
        case SocketType_Seqpacket:
-               type=SOCK_SEQPACKET;
-               break;
-
+               return SOCK_SEQPACKET;
        case SocketType_Unknown:
-               g_warning("System.Net.Sockets.SocketType has unsupported value 0x%x", mono_type);
-               break;
-
+               g_warning ("System.Net.Sockets.SocketType has unsupported value 0x%x", mono_type);
+               return -1;
        default:
-               g_warning("System.Net.Sockets.SocketType has unknown value 0x%x", mono_type);
+               g_warning ("System.Net.Sockets.SocketType has unknown value 0x%x", mono_type);
+               return -1;
        }
-
-       return(type);
 }
 
-static gint32 convert_proto(MonoProtocolType mono_proto)
+static gint32
+convert_proto (MonoProtocolType mono_proto)
 {
-       gint32 proto=-1;
-       
-       switch(mono_proto) {
+       switch (mono_proto) {
        case ProtocolType_IP:
        case ProtocolType_IPv6:
        case ProtocolType_Icmp:
@@ -281,9 +247,7 @@ static gint32 convert_proto(MonoProtocolType mono_proto)
        case ProtocolType_Udp:
        case ProtocolType_Idp:
                /* These protocols are known (on my system at least) */
-               proto=mono_proto;
-               break;
-               
+               return mono_proto;
        case ProtocolType_ND:
        case ProtocolType_Raw:
        case ProtocolType_Ipx:
@@ -292,17 +256,15 @@ static gint32 convert_proto(MonoProtocolType mono_proto)
        case ProtocolType_Unknown:
                /* These protocols arent */
                g_warning("System.Net.Sockets.ProtocolType has unsupported value 0x%x", mono_proto);
-               break;
-               
+               return -1;
        default:
-               break;
+               return -1;
        }
-
-       return(proto);
 }
 
 /* Convert MonoSocketFlags */
-static gint32 convert_socketflags (gint32 sflags)
+static gint32
+convert_socketflags (gint32 sflags)
 {
        gint32 flags = 0;
 
@@ -345,10 +307,8 @@ static gint32 convert_socketflags (gint32 sflags)
  *   -1 on error
  *   -2 on non-fatal error (ie, must ignore)
  */
-static gint32 convert_sockopt_level_and_name(MonoSocketOptionLevel mono_level,
-                                            MonoSocketOptionName mono_name,
-                                            int *system_level,
-                                            int *system_name)
+static gint32
+convert_sockopt_level_and_name(MonoSocketOptionLevel mono_level, MonoSocketOptionName mono_name, int *system_level, int *system_name)
 {
        switch (mono_level) {
        case SocketOptionLevel_Socket:
@@ -563,7 +523,7 @@ static gint32 convert_sockopt_level_and_name(MonoSocketOptionLevel mono_level,
                break;  /* SocketOptionLevel_IPv6 */
                
        case SocketOptionLevel_Tcp:
-       *system_level = mono_networking_get_tcp_protocol ();
+               *system_level = mono_networking_get_tcp_protocol ();
                
                switch(mono_name) {
                case SocketOptionName_NoDelay:
@@ -606,7 +566,8 @@ static gint32 convert_sockopt_level_and_name(MonoSocketOptionLevel mono_level,
        return(0);
 }
 
-static MonoImage *get_socket_assembly (void)
+static MonoImage*
+get_socket_assembly (void)
 {
        MonoDomain *domain = mono_domain_get ();
        
@@ -629,21 +590,33 @@ static MonoImage *get_socket_assembly (void)
        return domain->socket_assembly;
 }
 
-static gint32 get_family_hint(void)
+static gint32
+get_family_hint (void)
 {
        MonoDomain *domain = mono_domain_get ();
 
        if (!domain->inet_family_hint) {
+               MonoImage *socket_assembly;
                MonoClass *socket_class;
                MonoClassField *ipv6_field, *ipv4_field;
                gint32 ipv6_enabled = -1, ipv4_enabled = -1;
                MonoVTable *vtable;
 
-               socket_class = mono_class_from_name (get_socket_assembly (), "System.Net.Sockets", "Socket");
+               socket_assembly = get_socket_assembly ();
+               g_assert (socket_assembly);
+
+               socket_class = mono_class_from_name (socket_assembly, "System.Net.Sockets", "Socket");
+               g_assert (socket_class);
+
                ipv4_field = mono_class_get_field_from_name (socket_class, "ipv4_supported");
+               g_assert (ipv4_field);
+
                ipv6_field = mono_class_get_field_from_name (socket_class, "ipv6_supported");
+               g_assert (ipv6_field);
+
                vtable = mono_class_vtable (mono_domain_get (), socket_class);
                g_assert (vtable);
+
                mono_runtime_class_init (vtable);
 
                mono_field_static_get_value (vtable, ipv4_field, &ipv4_enabled);
@@ -668,7 +641,8 @@ static gint32 get_family_hint(void)
        }
 }
 
-gpointer ves_icall_System_Net_Sockets_Socket_Socket_internal(MonoObject *this, gint32 family, gint32 type, gint32 proto, gint32 *error)
+gpointer
+ves_icall_System_Net_Sockets_Socket_Socket_internal (MonoObject *this_obj, gint32 family, gint32 type, gint32 proto, gint32 *error)
 {
        SOCKET sock;
        gint32 sock_family;
@@ -709,8 +683,8 @@ gpointer ves_icall_System_Net_Sockets_Socket_Socket_internal(MonoObject *this, g
 /* FIXME: the SOCKET parameter (here and in other functions in this
  * file) is really an IntPtr which needs to be converted to a guint32.
  */
-void ves_icall_System_Net_Sockets_Socket_Close_internal(SOCKET sock,
-                                                       gint32 *error)
+void
+ves_icall_System_Net_Sockets_Socket_Close_internal (SOCKET sock, gint32 *error)
 {
        LOGDEBUG (g_message ("%s: closing 0x%x", __func__, sock));
 
@@ -722,15 +696,16 @@ void ves_icall_System_Net_Sockets_Socket_Close_internal(SOCKET sock,
        closesocket(sock);
 }
 
-gint32 ves_icall_System_Net_Sockets_SocketException_WSAGetLastError_internal(void)
+gint32
+ves_icall_System_Net_Sockets_SocketException_WSAGetLastError_internal(void)
 {
        LOGDEBUG (g_message("%s: returning %d", __func__, WSAGetLastError()));
 
        return(WSAGetLastError());
 }
 
-gint32 ves_icall_System_Net_Sockets_Socket_Available_internal(SOCKET sock,
-                                                             gint32 *error)
+gint32
+ves_icall_System_Net_Sockets_Socket_Available_internal(SOCKET sock, gint32 *error)
 {
        int ret;
        int amount;
@@ -747,9 +722,8 @@ gint32 ves_icall_System_Net_Sockets_Socket_Available_internal(SOCKET sock,
        return(amount);
 }
 
-void ves_icall_System_Net_Sockets_Socket_Blocking_internal(SOCKET sock,
-                                                          gboolean block,
-                                                          gint32 *error)
+void
+ves_icall_System_Net_Sockets_Socket_Blocking_internal(SOCKET sock, gboolean block, gint32 *error)
 {
        int ret;
        
@@ -767,17 +741,25 @@ void ves_icall_System_Net_Sockets_Socket_Blocking_internal(SOCKET sock,
        }
 }
 
-gpointer ves_icall_System_Net_Sockets_Socket_Accept_internal(SOCKET sock,
-                                                            gint32 *error,
-                                                            gboolean blocking)
+gpointer
+ves_icall_System_Net_Sockets_Socket_Accept_internal (SOCKET sock, gint32 *error, gboolean blocking)
 {
+       gboolean interrupted;
        SOCKET newsock;
-       MonoInternalThread* curthread G_GNUC_UNUSED = mono_thread_internal_current ();
-       MONO_PREPARE_BLOCKING
-       
+
        *error = 0;
+
+       mono_thread_info_install_interrupt (abort_syscall, mono_thread_info_current (), &interrupted);
+       if (interrupted) {
+               *error = WSAEINTR;
+               return NULL;
+       }
+
+       MONO_PREPARE_BLOCKING;
+
 #ifdef HOST_WIN32
        {
+               MonoInternalThread *curthread = mono_thread_internal_current ();
                curthread->interrupt_on_stop = (gpointer)TRUE;
                newsock = _wapi_accept (sock, NULL, 0);
                curthread->interrupt_on_stop = (gpointer)FALSE;
@@ -785,7 +767,14 @@ gpointer ves_icall_System_Net_Sockets_Socket_Accept_internal(SOCKET sock,
 #else
        newsock = _wapi_accept (sock, NULL, 0);
 #endif
-       MONO_FINISH_BLOCKING
+
+       MONO_FINISH_BLOCKING;
+
+       mono_thread_info_uninstall_interrupt (&interrupted);
+       if (interrupted) {
+               *error = WSAEINTR;
+               return NULL;
+       }
 
        if(newsock==INVALID_SOCKET) {
                *error = WSAGetLastError ();
@@ -795,15 +784,19 @@ gpointer ves_icall_System_Net_Sockets_Socket_Accept_internal(SOCKET sock,
        return(GUINT_TO_POINTER (newsock));
 }
 
-void ves_icall_System_Net_Sockets_Socket_Listen_internal(SOCKET sock,
-                                                        guint32 backlog,
-                                                        gint32 *error)
+void
+ves_icall_System_Net_Sockets_Socket_Listen_internal(SOCKET sock, guint32 backlog, gint32 *error)
 {
        int ret;
        
        *error = 0;
-       
+
+       MONO_PREPARE_BLOCKING;
+
        ret = _wapi_listen (sock, backlog);
+
+       MONO_FINISH_BLOCKING;
+
        if(ret==SOCKET_ERROR) {
                *error = WSAGetLastError ();
        }
@@ -828,8 +821,8 @@ is_ipv4_mapped_any (const struct in6_addr *addr)
        return TRUE;
 }
 
-static MonoObject *create_object_from_sockaddr(struct sockaddr *saddr,
-                                              int sa_size, gint32 *error)
+static MonoObject*
+create_object_from_sockaddr(struct sockaddr *saddr, int sa_size, gint32 *error)
 {
        MonoDomain *domain = mono_domain_get ();
        MonoObject *sockaddr_obj;
@@ -925,8 +918,9 @@ static MonoObject *create_object_from_sockaddr(struct sockaddr *saddr,
                mono_field_set_value (sockaddr_obj, domain->sockaddr_data_field, data);
 
                return(sockaddr_obj);
+       }
 #ifdef HAVE_SYS_UN_H
-       else if (saddr->sa_family == AF_UNIX) {
+       else if (saddr->sa_family == AF_UNIX) {
                int i;
 
                for (i = 0; i < sa_size; i++) {
@@ -936,8 +930,9 @@ static MonoObject *create_object_from_sockaddr(struct sockaddr *saddr,
                mono_field_set_value (sockaddr_obj, domain->sockaddr_data_field, data);
 
                return sockaddr_obj;
+       }
 #endif
-       else {
+       else {
                *error = WSAEAFNOSUPPORT;
                return(NULL);
        }
@@ -953,15 +948,17 @@ get_sockaddr_size (int family)
                size = sizeof (struct sockaddr_in);
        } else if (family == AF_INET6) {
                size = sizeof (struct sockaddr_in6);
+       }
 #ifdef HAVE_SYS_UN_H
-       else if (family == AF_UNIX) {
+       else if (family == AF_UNIX) {
                size = sizeof (struct sockaddr_un);
-#endif
        }
+#endif
        return size;
 }
 
-extern MonoObject *ves_icall_System_Net_Sockets_Socket_LocalEndPoint_internal(SOCKET sock, gint32 af, gint32 *error)
+MonoObject*
+ves_icall_System_Net_Sockets_Socket_LocalEndPoint_internal (SOCKET sock, gint32 af, gint32 *error)
 {
        gchar *sa;
        socklen_t salen;
@@ -976,9 +973,12 @@ extern MonoObject *ves_icall_System_Net_Sockets_Socket_LocalEndPoint_internal(SO
                return NULL;
        }
        sa = (salen <= 128) ? alloca (salen) : g_malloc0 (salen);
-       MONO_PREPARE_BLOCKING
+
+       MONO_PREPARE_BLOCKING;
+
        ret = _wapi_getsockname (sock, (struct sockaddr *)sa, &salen);
-       MONO_FINISH_BLOCKING
+
+       MONO_FINISH_BLOCKING;
        
        if(ret==SOCKET_ERROR) {
                *error = WSAGetLastError ();
@@ -995,7 +995,8 @@ extern MonoObject *ves_icall_System_Net_Sockets_Socket_LocalEndPoint_internal(SO
        return result;
 }
 
-extern MonoObject *ves_icall_System_Net_Sockets_Socket_RemoteEndPoint_internal(SOCKET sock, gint32 af, gint32 *error)
+MonoObject*
+ves_icall_System_Net_Sockets_Socket_RemoteEndPoint_internal (SOCKET sock, gint32 af, gint32 *error)
 {
        gchar *sa;
        socklen_t salen;
@@ -1011,9 +1012,13 @@ extern MonoObject *ves_icall_System_Net_Sockets_Socket_RemoteEndPoint_internal(S
        }
        sa = (salen <= 128) ? alloca (salen) : g_malloc0 (salen);
        /* Note: linux returns just 2 for AF_UNIX. Always. */
-       MONO_PREPARE_BLOCKING
+
+       MONO_PREPARE_BLOCKING;
+
        ret = _wapi_getpeername (sock, (struct sockaddr *)sa, &salen);
-       MONO_FINISH_BLOCKING
+
+       MONO_FINISH_BLOCKING;
+
        if(ret==SOCKET_ERROR) {
                *error = WSAGetLastError ();
                if (salen > 128)
@@ -1029,9 +1034,8 @@ extern MonoObject *ves_icall_System_Net_Sockets_Socket_RemoteEndPoint_internal(S
        return result;
 }
 
-static struct sockaddr *create_sockaddr_from_object(MonoObject *saddr_obj,
-                                                   socklen_t *sa_size,
-                                                   gint32 *error)
+static struct sockaddr*
+create_sockaddr_from_object(MonoObject *saddr_obj, socklen_t *sa_size, gint32 *error)
 {
        MonoClassField *field;
        MonoArray *data;
@@ -1108,8 +1112,9 @@ static struct sockaddr *create_sockaddr_from_object(MonoObject *saddr_obj,
 
                *sa_size = sizeof(struct sockaddr_in6);
                return((struct sockaddr *)sa);
+       }
 #ifdef HAVE_SYS_UN_H
-       else if (family == AF_UNIX) {
+       else if (family == AF_UNIX) {
                struct sockaddr_un *sock_un;
                int i;
 
@@ -1131,14 +1136,16 @@ static struct sockaddr *create_sockaddr_from_object(MonoObject *saddr_obj,
                *sa_size = len;
 
                return (struct sockaddr *)sock_un;
+       }
 #endif
-       else {
+       else {
                *error = WSAEAFNOSUPPORT;
                return(0);
        }
 }
 
-extern void ves_icall_System_Net_Sockets_Socket_Bind_internal(SOCKET sock, MonoObject *sockaddr, gint32 *error)
+void
+ves_icall_System_Net_Sockets_Socket_Bind_internal (SOCKET sock, MonoObject *sockaddr, gint32 *error)
 {
        struct sockaddr *sa;
        socklen_t sa_size;
@@ -1154,6 +1161,7 @@ extern void ves_icall_System_Net_Sockets_Socket_Bind_internal(SOCKET sock, MonoO
        LOGDEBUG (g_message("%s: binding to %s port %d", __func__, inet_ntoa(((struct sockaddr_in *)sa)->sin_addr), ntohs (((struct sockaddr_in *)sa)->sin_port)));
 
        ret = _wapi_bind (sock, sa, sa_size);
+
        if(ret==SOCKET_ERROR) {
                *error = WSAGetLastError ();
        }
@@ -1171,23 +1179,47 @@ MonoBoolean
 ves_icall_System_Net_Sockets_Socket_Poll_internal (SOCKET sock, gint mode,
                                                   gint timeout, gint32 *error)
 {
-       MonoInternalThread *thread = NULL;
+       MonoInternalThread *thread = mono_thread_internal_current ();
        mono_pollfd *pfds;
        int ret;
+       gboolean interrupted;
        time_t start;
-       
+
+       *error = 0;
+
        pfds = g_new0 (mono_pollfd, 1);
-       pfds[0].fd = GPOINTER_TO_INT (sock);
-       pfds[0].events = (mode == SelectModeRead) ? MONO_POLLIN :
-               (mode == SelectModeWrite) ? MONO_POLLOUT :
-               (MONO_POLLERR | MONO_POLLHUP | MONO_POLLNVAL);
+       pfds->fd = GPOINTER_TO_INT (sock);
+
+       switch (mode) {
+       case SelectModeRead:  pfds->events = MONO_POLLIN; break;
+       case SelectModeWrite: pfds->events = MONO_POLLOUT; break;
+       default:              pfds->events = MONO_POLLERR | MONO_POLLHUP | MONO_POLLNVAL; break;
+       }
 
        timeout = (timeout >= 0) ? (timeout / 1000) : -1;
        start = time (NULL);
+
        do {
-               *error = 0;
-               
+               mono_thread_info_install_interrupt (abort_syscall, mono_thread_info_current (), &interrupted);
+               if (interrupted) {
+                       g_free (pfds);
+                       *error = WSAEINTR;
+                       return FALSE;
+               }
+
+               MONO_PREPARE_BLOCKING;
+
                ret = mono_poll (pfds, 1, timeout);
+
+               MONO_FINISH_BLOCKING;
+
+               mono_thread_info_uninstall_interrupt (&interrupted);
+               if (interrupted) {
+                       g_free (pfds);
+                       *error = WSAEINTR;
+                       return FALSE;
+               }
+
                if (timeout > 0 && ret < 0) {
                        int err = errno;
                        int sec = time (NULL) - start;
@@ -1199,23 +1231,16 @@ ves_icall_System_Net_Sockets_Socket_Poll_internal (SOCKET sock, gint mode,
                        
                        errno = err;
                }
-               
-               if (ret == -1 && errno == EINTR) {
-                       int leave = 0;
 
-                       if (thread == NULL) {
-                               thread = mono_thread_internal_current ();
-                       }
-                       
-                       leave = mono_thread_test_state (thread, ThreadState_AbortRequested | ThreadState_StopRequested);
-                       
-                       if (leave != 0) {
+               if (ret == -1 && errno == EINTR) {
+                       if (mono_thread_test_state (thread, ThreadState_AbortRequested | ThreadState_StopRequested)) {
                                g_free (pfds);
-                               return(FALSE);
-                       } else {
-                               /* Suspend requested? */
-                               mono_thread_interruption_checkpoint ();
+                               return FALSE;
                        }
+
+                       /* Suspend requested? */
+                       mono_thread_interruption_checkpoint ();
+
                        errno = EINTR;
                }
        } while (ret == -1 && errno == EINTR);
@@ -1227,41 +1252,50 @@ ves_icall_System_Net_Sockets_Socket_Poll_internal (SOCKET sock, gint mode,
                *error = errno_to_WSA (errno, __func__);
 #endif
                g_free (pfds);
-               return(FALSE);
+               return FALSE;
        }
-       
-       g_free (pfds);
 
-       if (ret == 0) {
-               return(FALSE);
-       } else {
-               return (TRUE);
-       }
+       g_free (pfds);
+       return ret != 0;
 }
 
-extern void ves_icall_System_Net_Sockets_Socket_Connect_internal(SOCKET sock, MonoObject *sockaddr, gint32 *error)
+void
+ves_icall_System_Net_Sockets_Socket_Connect_internal (SOCKET sock, MonoObject *sockaddr, gint32 *error)
 {
        struct sockaddr *sa;
        socklen_t sa_size;
        int ret;
-       
+       gboolean interrupted;
+
        *error = 0;
-       
-       sa=create_sockaddr_from_object(sockaddr, &sa_size, error);
-       if (*error != 0) {
+
+       sa = create_sockaddr_from_object(sockaddr, &sa_size, error);
+       if (*error != 0)
                return;
-       }
-       
+
        LOGDEBUG (g_message("%s: connecting to %s port %d", __func__, inet_ntoa(((struct sockaddr_in *)sa)->sin_addr), ntohs (((struct sockaddr_in *)sa)->sin_port)));
 
-       MONO_PREPARE_BLOCKING
+       mono_thread_info_install_interrupt (abort_syscall, mono_thread_info_current (), &interrupted);
+       if (interrupted) {
+               *error = WSAEINTR;
+               return;
+       }
+
+       MONO_PREPARE_BLOCKING;
+
        ret = _wapi_connect (sock, sa, sa_size);
-       MONO_FINISH_BLOCKING
 
-       if(ret==SOCKET_ERROR) {
-               *error = WSAGetLastError ();
+       MONO_FINISH_BLOCKING;
+
+       mono_thread_info_uninstall_interrupt (&interrupted);
+       if (interrupted) {
+               *error = WSAEINTR;
+               return;
        }
 
+       if (ret == SOCKET_ERROR)
+               *error = WSAGetLastError ();
+
        g_free(sa);
 }
 
@@ -1279,7 +1313,8 @@ typedef BOOL (WINAPI *LPFN_DISCONNECTEX)(SOCKET, LPOVERLAPPED, DWORD, DWORD);
 typedef BOOL (WINAPI *LPFN_TRANSMITFILE)(SOCKET, HANDLE, DWORD, DWORD, LPOVERLAPPED, LPTRANSMIT_FILE_BUFFERS, DWORD);
 #endif
 
-extern void ves_icall_System_Net_Sockets_Socket_Disconnect_internal(SOCKET sock, MonoBoolean reuse, gint32 *error)
+void
+ves_icall_System_Net_Sockets_Socket_Disconnect_internal (SOCKET sock, MonoBoolean reuse, gint32 *error)
 {
        int ret;
        glong output_bytes = 0;
@@ -1287,28 +1322,32 @@ extern void ves_icall_System_Net_Sockets_Socket_Disconnect_internal(SOCKET sock,
        GUID trans_guid = WSAID_TRANSMITFILE;
        LPFN_DISCONNECTEX _wapi_disconnectex = NULL;
        LPFN_TRANSMITFILE _wapi_transmitfile = NULL;
-       gboolean bret;
-       MONO_PREPARE_BLOCKING
-       
+       gboolean interrupted;
+
        *error = 0;
-       
+
        LOGDEBUG (g_message("%s: disconnecting from socket %p (reuse %d)", __func__, sock, reuse));
 
+       MONO_PREPARE_BLOCKING;
+
        /* I _think_ the extension function pointers need to be looked
         * up for each socket.  FIXME: check the best way to store
         * pointers to functions in managed objects that still works
         * on 64bit platforms.
         */
-       ret = WSAIoctl (sock, SIO_GET_EXTENSION_FUNCTION_POINTER,
-                       (void *)&disco_guid, sizeof(GUID),
-                       (void *)&_wapi_disconnectex, sizeof(void *),
-                       &output_bytes, NULL, NULL);
+       ret = WSAIoctl (sock, SIO_GET_EXTENSION_FUNCTION_POINTER, (void *)&disco_guid, sizeof(GUID),
+                       (void *)&_wapi_disconnectex, sizeof(void *), &output_bytes, NULL, NULL);
+
+       MONO_FINISH_BLOCKING;
+
        if (ret != 0) {
                /* make sure that WSAIoctl didn't put crap in the
                 * output pointer
                 */
                _wapi_disconnectex = NULL;
 
+               MONO_PREPARE_BLOCKING;
+
                /*
                 * Use the SIO_GET_EXTENSION_FUNCTION_POINTER to
                 * determine the address of the disconnect method without
@@ -1317,38 +1356,48 @@ extern void ves_icall_System_Net_Sockets_Socket_Disconnect_internal(SOCKET sock,
                 * For an explanation of why this is done, you can read
                 * the article at http://www.codeproject.com/internet/jbsocketserver3.asp
                 */
-               ret = WSAIoctl (sock, SIO_GET_EXTENSION_FUNCTION_POINTER,
-                               (void *)&trans_guid, sizeof(GUID),
-                               (void *)&_wapi_transmitfile, sizeof(void *),
-                               &output_bytes, NULL, NULL);
-               if (ret != 0) {
+               ret = WSAIoctl (sock, SIO_GET_EXTENSION_FUNCTION_POINTER, (void *)&trans_guid, sizeof(GUID),
+                               (void *)&_wapi_transmitfile, sizeof(void *), &output_bytes, NULL, NULL);
+
+               MONO_FINISH_BLOCKING;
+
+               if (ret != 0)
                        _wapi_transmitfile = NULL;
-               }
        }
 
+       mono_thread_info_install_interrupt (abort_syscall, mono_thread_info_current (), &interrupted);
+       if (interrupted) {
+               *error = WSAEINTR;
+               return;
+       }
+
+       MONO_PREPARE_BLOCKING;
+
        if (_wapi_disconnectex != NULL) {
-               bret = _wapi_disconnectex (sock, NULL, TF_REUSE_SOCKET, 0);
+               if (!_wapi_disconnectex (sock, NULL, TF_REUSE_SOCKET, 0))
+                       *error = WSAGetLastError ();
        } else if (_wapi_transmitfile != NULL) {
-               bret = _wapi_transmitfile (sock, NULL, 0, 0, NULL, NULL,
-                                          TF_DISCONNECT | TF_REUSE_SOCKET);
+               if (!_wapi_transmitfile (sock, NULL, 0, 0, NULL, NULL, TF_DISCONNECT | TF_REUSE_SOCKET))
+                       *error = WSAGetLastError ();
        } else {
                *error = ERROR_NOT_SUPPORTED;
-               bret = TRUE; //we don't want the following bret check to change *error
        }
 
-       if (bret == FALSE) {
-               *error = WSAGetLastError ();
-       }
+       MONO_FINISH_BLOCKING;
 
-       MONO_FINISH_BLOCKING
+       mono_thread_info_uninstall_interrupt (&interrupted);
+       if (interrupted)
+               *error = WSAEINTR;
 }
 
-gint32 ves_icall_System_Net_Sockets_Socket_Receive_internal(SOCKET sock, MonoArray *buffer, gint32 offset, gint32 count, gint32 flags, gint32 *error)
+gint32
+ves_icall_System_Net_Sockets_Socket_Receive_internal (SOCKET sock, MonoArray *buffer, gint32 offset, gint32 count, gint32 flags, gint32 *error)
 {
        int ret;
        guchar *buf;
        gint32 alen;
        int recvflags=0;
+       gboolean interrupted;
        MonoInternalThread* curthread G_GNUC_UNUSED = mono_thread_internal_current ();
        
        *error = 0;
@@ -1366,7 +1415,12 @@ gint32 ves_icall_System_Net_Sockets_Socket_Receive_internal(SOCKET sock, MonoArr
                return (0);
        }
 
-       MONO_PREPARE_BLOCKING
+       mono_thread_info_install_interrupt (abort_syscall, mono_thread_info_current (), &interrupted);
+       if (interrupted)
+               return 0;
+
+       MONO_PREPARE_BLOCKING;
+
 #ifdef HOST_WIN32
        {
                curthread->interrupt_on_stop = (gpointer)TRUE;
@@ -1376,7 +1430,14 @@ gint32 ves_icall_System_Net_Sockets_Socket_Receive_internal(SOCKET sock, MonoArr
 #else
        ret = _wapi_recv (sock, buf, count, recvflags);
 #endif
-       MONO_FINISH_BLOCKING
+
+       MONO_FINISH_BLOCKING;
+
+       mono_thread_info_uninstall_interrupt (&interrupted);
+       if (interrupted) {
+               *error = WSAEINTR;
+               return 0;
+       }
 
        if(ret==SOCKET_ERROR) {
                *error = WSAGetLastError ();
@@ -1386,9 +1447,11 @@ gint32 ves_icall_System_Net_Sockets_Socket_Receive_internal(SOCKET sock, MonoArr
        return(ret);
 }
 
-gint32 ves_icall_System_Net_Sockets_Socket_Receive_array_internal(SOCKET sock, MonoArray *buffers, gint32 flags, gint32 *error)
+gint32
+ves_icall_System_Net_Sockets_Socket_Receive_array_internal (SOCKET sock, MonoArray *buffers, gint32 flags, gint32 *error)
 {
        int ret, count;
+       gboolean interrupted;
        DWORD recv;
        WSABUF *wsabufs;
        DWORD recvflags = 0;
@@ -1403,17 +1466,35 @@ gint32 ves_icall_System_Net_Sockets_Socket_Receive_array_internal(SOCKET sock, M
                *error = WSAEOPNOTSUPP;
                return(0);
        }
-       
+
+       mono_thread_info_install_interrupt (abort_syscall, mono_thread_info_current (), &interrupted);
+       if (interrupted) {
+               *error = WSAEINTR;
+               return 0;
+       }
+
+       MONO_PREPARE_BLOCKING;
+
        ret = WSARecv (sock, wsabufs, count, &recv, &recvflags, NULL, NULL);
+
+       MONO_FINISH_BLOCKING;
+
+       mono_thread_info_uninstall_interrupt (&interrupted);
+       if (interrupted) {
+               *error = WSAEINTR;
+               return 0;
+       }
+
        if (ret == SOCKET_ERROR) {
                *error = WSAGetLastError ();
-               return(0);
+               return 0;
        }
-       
-       return(recv);
+
+       return recv;
 }
 
-gint32 ves_icall_System_Net_Sockets_Socket_ReceiveFrom_internal(SOCKET sock, MonoArray *buffer, gint32 offset, gint32 count, gint32 flags, MonoObject **sockaddr, gint32 *error)
+gint32
+ves_icall_System_Net_Sockets_Socket_ReceiveFrom_internal (SOCKET sock, MonoArray *buffer, gint32 offset, gint32 count, gint32 flags, MonoObject **sockaddr, gint32 *error)
 {
        int ret;
        guchar *buf;
@@ -1421,6 +1502,7 @@ gint32 ves_icall_System_Net_Sockets_Socket_ReceiveFrom_internal(SOCKET sock, Mon
        int recvflags=0;
        struct sockaddr *sa;
        socklen_t sa_size;
+       gboolean interrupted;
        
        *error = 0;
        
@@ -1442,9 +1524,25 @@ gint32 ves_icall_System_Net_Sockets_Socket_ReceiveFrom_internal(SOCKET sock, Mon
                return (0);
        }
 
-       MONO_PREPARE_BLOCKING
+       mono_thread_info_install_interrupt (abort_syscall, mono_thread_info_current (), &interrupted);
+       if (interrupted) {
+               g_free(sa);
+               *error = WSAEINTR;
+               return 0;
+       }
+
+       MONO_PREPARE_BLOCKING;
+
        ret = _wapi_recvfrom (sock, buf, count, recvflags, sa, &sa_size);
-       MONO_FINISH_BLOCKING
+
+       MONO_FINISH_BLOCKING;
+
+       mono_thread_info_uninstall_interrupt (&interrupted);
+       if (interrupted) {
+               g_free(sa);
+               *error = WSAEINTR;
+               return 0;
+       }
 
        if(ret==SOCKET_ERROR) {
                g_free(sa);
@@ -1466,12 +1564,14 @@ gint32 ves_icall_System_Net_Sockets_Socket_ReceiveFrom_internal(SOCKET sock, Mon
        return(ret);
 }
 
-gint32 ves_icall_System_Net_Sockets_Socket_Send_internal(SOCKET sock, MonoArray *buffer, gint32 offset, gint32 count, gint32 flags, gint32 *error)
+gint32
+ves_icall_System_Net_Sockets_Socket_Send_internal (SOCKET sock, MonoArray *buffer, gint32 offset, gint32 count, gint32 flags, gint32 *error)
 {
        int ret;
        guchar *buf;
        gint32 alen;
        int sendflags=0;
+       gboolean interrupted;
        
        *error = 0;
        
@@ -1492,9 +1592,24 @@ gint32 ves_icall_System_Net_Sockets_Socket_Send_internal(SOCKET sock, MonoArray
                return (0);
        }
 
-       MONO_PREPARE_BLOCKING
+       mono_thread_info_install_interrupt (abort_syscall, mono_thread_info_current (), &interrupted);
+       if (interrupted) {
+               *error = WSAEINTR;
+               return 0;
+       }
+
+       MONO_PREPARE_BLOCKING;
+
        ret = _wapi_send (sock, buf, count, sendflags);
-       MONO_FINISH_BLOCKING
+
+       MONO_FINISH_BLOCKING;
+
+       mono_thread_info_uninstall_interrupt (&interrupted);
+       if (interrupted) {
+               *error = WSAEINTR;
+               return 0;
+       }
+
        if(ret==SOCKET_ERROR) {
                *error = WSAGetLastError ();
                return(0);
@@ -1503,12 +1618,14 @@ gint32 ves_icall_System_Net_Sockets_Socket_Send_internal(SOCKET sock, MonoArray
        return(ret);
 }
 
-gint32 ves_icall_System_Net_Sockets_Socket_Send_array_internal(SOCKET sock, MonoArray *buffers, gint32 flags, gint32 *error)
+gint32
+ves_icall_System_Net_Sockets_Socket_Send_array_internal(SOCKET sock, MonoArray *buffers, gint32 flags, gint32 *error)
 {
        int ret, count;
        DWORD sent;
        WSABUF *wsabufs;
        DWORD sendflags = 0;
+       gboolean interrupted;
        
        *error = 0;
        
@@ -1520,8 +1637,25 @@ gint32 ves_icall_System_Net_Sockets_Socket_Send_array_internal(SOCKET sock, Mono
                *error = WSAEOPNOTSUPP;
                return(0);
        }
-       
+
+       mono_thread_info_install_interrupt (abort_syscall, mono_thread_info_current (), &interrupted);
+       if (interrupted) {
+               *error = WSAEINTR;
+               return 0;
+       }
+
+       MONO_PREPARE_BLOCKING;
+
        ret = WSASend (sock, wsabufs, count, &sent, sendflags, NULL, NULL);
+
+       MONO_FINISH_BLOCKING;
+
+       mono_thread_info_uninstall_interrupt (&interrupted);
+       if (interrupted) {
+               *error = WSAEINTR;
+               return 0;
+       }
+
        if (ret == SOCKET_ERROR) {
                *error = WSAGetLastError ();
                return(0);
@@ -1530,7 +1664,8 @@ gint32 ves_icall_System_Net_Sockets_Socket_Send_array_internal(SOCKET sock, Mono
        return(sent);
 }
 
-gint32 ves_icall_System_Net_Sockets_Socket_SendTo_internal(SOCKET sock, MonoArray *buffer, gint32 offset, gint32 count, gint32 flags, MonoObject *sockaddr, gint32 *error)
+gint32
+ves_icall_System_Net_Sockets_Socket_SendTo_internal(SOCKET sock, MonoArray *buffer, gint32 offset, gint32 count, gint32 flags, MonoObject *sockaddr, gint32 *error)
 {
        int ret;
        guchar *buf;
@@ -1538,6 +1673,7 @@ gint32 ves_icall_System_Net_Sockets_Socket_SendTo_internal(SOCKET sock, MonoArra
        int sendflags=0;
        struct sockaddr *sa;
        socklen_t sa_size;
+       gboolean interrupted;
        
        *error = 0;
        
@@ -1559,13 +1695,31 @@ gint32 ves_icall_System_Net_Sockets_Socket_SendTo_internal(SOCKET sock, MonoArra
 
        sendflags = convert_socketflags (flags);
        if (sendflags == -1) {
+               g_free (sa);
                *error = WSAEOPNOTSUPP;
                return (0);
        }
 
-       MONO_PREPARE_BLOCKING
+       mono_thread_info_install_interrupt (abort_syscall, mono_thread_info_current (), &interrupted);
+       if (interrupted) {
+               g_free (sa);
+               *error = WSAEINTR;
+               return 0;
+       }
+
+       MONO_PREPARE_BLOCKING;
+
        ret = _wapi_sendto (sock, buf, count, sendflags, sa, sa_size);
-       MONO_FINISH_BLOCKING
+
+       MONO_FINISH_BLOCKING;
+
+       mono_thread_info_uninstall_interrupt (&interrupted);
+       if (interrupted) {
+               g_free (sa);
+               *error = WSAEINTR;
+               return 0;
+       }
+
        if(ret==SOCKET_ERROR) {
                *error = WSAGetLastError ();
        }
@@ -1590,9 +1744,10 @@ static SOCKET Socket_to_SOCKET(MonoObject *sockobj)
 }
 
 #define POLL_ERRORS (MONO_POLLERR | MONO_POLLHUP | MONO_POLLNVAL)
-void ves_icall_System_Net_Sockets_Socket_Select_internal(MonoArray **sockets, gint32 timeout, gint32 *error)
+void
+ves_icall_System_Net_Sockets_Socket_Select_internal (MonoArray **sockets, gint32 timeout, gint32 *error)
 {
-       MonoInternalThread *thread = NULL;
+       MonoInternalThread *thread = mono_thread_internal_current ();
        MonoObject *obj;
        mono_pollfd *pfds;
        int nfds, idx;
@@ -1603,6 +1758,9 @@ void ves_icall_System_Net_Sockets_Socket_Select_internal(MonoArray **sockets, gi
        MonoArray *socks;
        time_t start;
        uintptr_t socks_size;
+       gboolean interrupted;
+
+       *error = 0;
        
        /* *sockets -> READ, null, WRITE, null, ERROR, null */
        count = mono_array_length (*sockets);
@@ -1631,8 +1789,26 @@ void ves_icall_System_Net_Sockets_Socket_Select_internal(MonoArray **sockets, gi
        timeout = (timeout >= 0) ? (timeout / 1000) : -1;
        start = time (NULL);
        do {
-               *error = 0;
+               mono_thread_info_install_interrupt (abort_syscall, mono_thread_info_current (), &interrupted);
+               if (interrupted) {
+                       g_free (pfds);
+                       *error = WSAEINTR;
+                       return;
+               }
+
+               MONO_PREPARE_BLOCKING;
+
                ret = mono_poll (pfds, nfds, timeout);
+
+               MONO_FINISH_BLOCKING;
+
+               mono_thread_info_uninstall_interrupt (&interrupted);
+               if (interrupted) {
+                       g_free (pfds);
+                       *error = WSAEINTR;
+                       return;
+               }
+
                if (timeout > 0 && ret < 0) {
                        int err = errno;
                        int sec = time (NULL) - start;
@@ -1644,20 +1820,15 @@ void ves_icall_System_Net_Sockets_Socket_Select_internal(MonoArray **sockets, gi
                }
 
                if (ret == -1 && errno == EINTR) {
-                       int leave = 0;
-                       if (thread == NULL)
-                               thread = mono_thread_internal_current ();
-
-                       leave = mono_thread_test_state (thread, ThreadState_AbortRequested | ThreadState_StopRequested);
-                       
-                       if (leave != 0) {
+                       if (mono_thread_test_state (thread, ThreadState_AbortRequested | ThreadState_StopRequested)) {
                                g_free (pfds);
                                *sockets = NULL;
                                return;
-                       } else {
-                               /* Suspend requested? */
-                               mono_thread_interruption_checkpoint ();
                        }
+
+                       /* Suspend requested? */
+                       mono_thread_interruption_checkpoint ();
+
                        errno = EINTR;
                }
        } while (ret == -1 && errno == EINTR);
@@ -1717,7 +1888,8 @@ static MonoObject* int_to_object (MonoDomain *domain, int val)
 }
 
 
-void ves_icall_System_Net_Sockets_Socket_GetSocketOption_obj_internal(SOCKET sock, gint32 level, gint32 name, MonoObject **obj_val, gint32 *error)
+void
+ves_icall_System_Net_Sockets_Socket_GetSocketOption_obj_internal (SOCKET sock, gint32 level, gint32 name, MonoObject **obj_val, gint32 *error)
 {
        int system_level = 0;
        int system_name = 0;
@@ -1763,7 +1935,9 @@ void ves_icall_System_Net_Sockets_Socket_GetSocketOption_obj_internal(SOCKET soc
                *obj_val = int_to_object (domain, 0);
                return;
        }
-       
+
+       MONO_PREPARE_BLOCKING;
+
        /* No need to deal with MulticastOption names here, because
         * you cant getsockopt AddMembership or DropMembership (the
         * int getsockopt will error, causing an exception)
@@ -1771,8 +1945,7 @@ void ves_icall_System_Net_Sockets_Socket_GetSocketOption_obj_internal(SOCKET soc
        switch(name) {
        case SocketOptionName_Linger:
        case SocketOptionName_DontLinger:
-               ret = _wapi_getsockopt(sock, system_level, system_name, &linger,
-                              &lingersize);
+               ret = _wapi_getsockopt(sock, system_level, system_name, &linger, &lingersize);
                break;
                
        case SocketOptionName_SendTimeout:
@@ -1782,16 +1955,16 @@ void ves_icall_System_Net_Sockets_Socket_GetSocketOption_obj_internal(SOCKET soc
 
 #ifdef SO_PEERCRED
        case SocketOptionName_PeerCred: 
-               ret = _wapi_getsockopt (sock, system_level, system_name, &cred,
-                                       &credsize);
+               ret = _wapi_getsockopt (sock, system_level, system_name, &cred, &credsize);
                break;
 #endif
 
        default:
-               ret = _wapi_getsockopt (sock, system_level, system_name, &val,
-                              &valsize);
+               ret = _wapi_getsockopt (sock, system_level, system_name, &val, &valsize);
        }
-       
+
+       MONO_FINISH_BLOCKING;
+
        if(ret==SOCKET_ERROR) {
                *error = WSAGetLastError ();
                return;
@@ -1870,7 +2043,8 @@ void ves_icall_System_Net_Sockets_Socket_GetSocketOption_obj_internal(SOCKET soc
        *obj_val=obj;
 }
 
-void ves_icall_System_Net_Sockets_Socket_GetSocketOption_arr_internal(SOCKET sock, gint32 level, gint32 name, MonoArray **byte_val, gint32 *error)
+void
+ves_icall_System_Net_Sockets_Socket_GetSocketOption_arr_internal (SOCKET sock, gint32 level, gint32 name, MonoArray **byte_val, gint32 *error)
 {
        int system_level = 0;
        int system_name = 0;
@@ -1891,8 +2065,13 @@ void ves_icall_System_Net_Sockets_Socket_GetSocketOption_arr_internal(SOCKET soc
 
        valsize=mono_array_length(*byte_val);
        buf=mono_array_addr(*byte_val, guchar, 0);
-       
+
+       MONO_PREPARE_BLOCKING;
+
        ret = _wapi_getsockopt (sock, system_level, system_name, buf, &valsize);
+
+       MONO_FINISH_BLOCKING;
+
        if(ret==SOCKET_ERROR) {
                *error = WSAGetLastError ();
        }
@@ -1942,10 +2121,12 @@ static struct in6_addr ipaddress_to_struct_in6_addr(MonoObject *ipaddr)
 
 #if defined(__APPLE__) || defined(__FreeBSD__)
 
-#if defined(HAVE_GETIFADDRS) && defined(HAVE_IF_NAMETOINDEX)
 static int
 get_local_interface_id (int family)
 {
+#if !defined(HAVE_GETIFADDRS) || !defined(HAVE_IF_NAMETOINDEX)
+       return 0;
+#else
        struct ifaddrs *ifap = NULL, *ptr;
        int idx = 0;
        
@@ -1969,18 +2150,13 @@ get_local_interface_id (int family)
        
        freeifaddrs (ifap);
        return idx;
-}
-#else
-static int
-get_local_interface_id (int family)
-{
-       return 0;
-}
 #endif
+}
 
 #endif /* defined(__APPLE__) || defined(__FreeBSD__) */
 
-void ves_icall_System_Net_Sockets_Socket_SetSocketOption_internal(SOCKET sock, gint32 level, gint32 name, MonoObject *obj_val, MonoArray *byte_val, gint32 int_val, gint32 *error)
+void
+ves_icall_System_Net_Sockets_Socket_SetSocketOption_internal (SOCKET sock, gint32 level, gint32 name, MonoObject *obj_val, MonoArray *byte_val, gint32 int_val, gint32 *error)
 {
        struct linger linger;
        int system_level = 0;
@@ -2184,30 +2360,39 @@ void ves_icall_System_Net_Sockets_Socket_SetSocketOption_internal(SOCKET sock, g
        }
 }
 
-void ves_icall_System_Net_Sockets_Socket_Shutdown_internal(SOCKET sock,
-                                                          gint32 how,
-                                                          gint32 *error)
+void
+ves_icall_System_Net_Sockets_Socket_Shutdown_internal(SOCKET sock, gint32 how, gint32 *error)
 {
        int ret;
-       MONO_PREPARE_BLOCKING
+       gboolean interrupted;
 
        *error = 0;
-       
-       /* Currently, the values for how (recv=0, send=1, both=2) match
-        * the BSD API
-        */
+
+       mono_thread_info_install_interrupt (abort_syscall, mono_thread_info_current (), &interrupted);
+       if (interrupted) {
+               *error = WSAEINTR;
+               return;
+       }
+
+       MONO_PREPARE_BLOCKING;
+
+       /* Currently, the values for how (recv=0, send=1, both=2) match the BSD API */
        ret = _wapi_shutdown (sock, how);
-       if(ret==SOCKET_ERROR) {
-               *error = WSAGetLastError ();
+
+       MONO_FINISH_BLOCKING;
+
+       mono_thread_info_uninstall_interrupt (&interrupted);
+       if (interrupted) {
+               *error = WSAEINTR;
+               return;
        }
 
-       MONO_FINISH_BLOCKING
+       if (ret == SOCKET_ERROR)
+               *error = WSAGetLastError ();
 }
 
 gint
-ves_icall_System_Net_Sockets_Socket_IOControl_internal (SOCKET sock, gint32 code,
-                                             MonoArray *input,
-                                             MonoArray *output, gint32 *error)
+ves_icall_System_Net_Sockets_Socket_IOControl_internal (SOCKET sock, gint32 code, MonoArray *input, MonoArray *output, gint32 *error)
 {
        glong output_bytes = 0;
        gchar *i_buffer, *o_buffer;
@@ -2237,7 +2422,12 @@ ves_icall_System_Net_Sockets_Socket_IOControl_internal (SOCKET sock, gint32 code
                o_len = mono_array_length (output);
        }
 
+       MONO_PREPARE_BLOCKING;
+
        ret = WSAIoctl (sock, code, i_buffer, i_len, o_buffer, o_len, &output_bytes, NULL, NULL);
+
+       MONO_FINISH_BLOCKING;
+
        if (ret == SOCKET_ERROR) {
                *error = WSAGetLastError ();
                return(-1);
@@ -2247,10 +2437,7 @@ ves_icall_System_Net_Sockets_Socket_IOControl_internal (SOCKET sock, gint32 code
 }
 
 static gboolean 
-addrinfo_to_IPHostEntry(MonoAddressInfo *info, MonoString **h_name,
-                                               MonoArray **h_aliases,
-                                               MonoArray **h_addr_list,
-                                               gboolean add_local_ips)
+addrinfo_to_IPHostEntry(MonoAddressInfo *info, MonoString **h_name, MonoArray **h_aliases, MonoArray **h_addr_list, gboolean add_local_ips)
 {
        gint32 count, i;
        MonoAddressEntry *ai = NULL;
@@ -2373,7 +2560,8 @@ get_addrinfo_family_hint (void)
        }
 }
 
-MonoBoolean ves_icall_System_Net_Dns_GetHostByName_internal(MonoString *host, MonoString **h_name, MonoArray **h_aliases, MonoArray **h_addr_list)
+MonoBoolean
+ves_icall_System_Net_Dns_GetHostByName_internal (MonoString *host, MonoString **h_name, MonoArray **h_aliases, MonoArray **h_addr_list)
 {
        gboolean add_local_ips = FALSE, add_info_ok = TRUE;
        gchar this_hostname [256];
@@ -2381,12 +2569,11 @@ MonoBoolean ves_icall_System_Net_Dns_GetHostByName_internal(MonoString *host, Mo
        char *hostname = mono_string_to_utf8 (host);
        int hint = get_addrinfo_family_hint ();
 
-       MONO_PREPARE_BLOCKING
-
        if (*hostname == '\0') {
                add_local_ips = TRUE;
                *h_name = host;
        }
+
        if (!add_local_ips && gethostname (this_hostname, sizeof (this_hostname)) != -1) {
                if (!strcmp (hostname, this_hostname)) {
                        add_local_ips = TRUE;
@@ -2398,88 +2585,83 @@ MonoBoolean ves_icall_System_Net_Dns_GetHostByName_internal(MonoString *host, Mo
                add_info_ok = FALSE;
 
        g_free(hostname);
-       MONO_FINISH_BLOCKING
 
        if (add_info_ok)
                return addrinfo_to_IPHostEntry(info, h_name, h_aliases, h_addr_list, add_local_ips);
        return FALSE;
 }
 
-extern MonoBoolean ves_icall_System_Net_Dns_GetHostByAddr_internal(MonoString *addr, MonoString **h_name, MonoArray **h_aliases, MonoArray **h_addr_list)
+MonoBoolean
+ves_icall_System_Net_Dns_GetHostByAddr_internal (MonoString *addr, MonoString **h_name, MonoArray **h_aliases, MonoArray **h_addr_list)
 {
        char *address;
        struct sockaddr_in saddr;
        struct sockaddr_in6 saddr6;
        MonoAddressInfo *info = NULL;
        gint32 family;
-       char hostname[NI_MAXHOST] = {0};
-       int flags = 0;
-       int hint = get_addrinfo_family_hint ();
-       gboolean add_info_ok;
-
-       MONO_PREPARE_BLOCKING
+       gchar hostname[NI_MAXHOST] = { 0 };
+       gboolean ret;
 
        address = mono_string_to_utf8 (addr);
 
-       if (inet_pton (AF_INET, address, &saddr.sin_addr ) <= 0) {
-               /* Maybe an ipv6 address */
-               if (inet_pton (AF_INET6, address, &saddr6.sin6_addr) <= 0) {
-                       g_free (address);
-                       return FALSE;
-               }
-               else {
-                       family = AF_INET6;
-                       saddr6.sin6_family = AF_INET6;
-               }
-       }
-       else {
+       if (inet_pton (AF_INET, address, &saddr.sin_addr ) == 1) {
                family = AF_INET;
                saddr.sin_family = AF_INET;
+       } else if (inet_pton (AF_INET6, address, &saddr6.sin6_addr) == 1) {
+               family = AF_INET6;
+               saddr6.sin6_family = AF_INET6;
+       } else {
+               g_free (address);
+               return FALSE;
        }
-       g_free(address);
 
-       if(family == AF_INET) {
+       g_free (address);
+
+       MONO_PREPARE_BLOCKING;
+
+       switch (family) {
+       case AF_INET: {
 #if HAVE_SOCKADDR_IN_SIN_LEN
                saddr.sin_len = sizeof (saddr);
 #endif
-               if(getnameinfo ((struct sockaddr*)&saddr, sizeof(saddr),
-                               hostname, sizeof(hostname), NULL, 0,
-                               flags) != 0) {
-                       return(FALSE);
-               }
-       } else if(family == AF_INET6) {
+               ret = getnameinfo ((struct sockaddr*)&saddr, sizeof(saddr), hostname, sizeof(hostname), NULL, 0, 0) == 0;
+               break;
+       }
+       case AF_INET6: {
 #if HAVE_SOCKADDR_IN6_SIN_LEN
                saddr6.sin6_len = sizeof (saddr6);
 #endif
-               if(getnameinfo ((struct sockaddr*)&saddr6, sizeof(saddr6),
-                               hostname, sizeof(hostname), NULL, 0,
-                               flags) != 0) {
-                       return(FALSE);
-               }
+               ret = getnameinfo ((struct sockaddr*)&saddr6, sizeof(saddr6), hostname, sizeof(hostname), NULL, 0, 0) == 0;
+               break;
+       }
+       default:
+               g_assert_not_reached ();
        }
 
-       add_info_ok = !mono_get_address_info (hostname, 0, hint | MONO_HINT_CANONICAL_NAME | MONO_HINT_CONFIGURED_ONLY, &info);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
-       if (add_info_ok)
-               return addrinfo_to_IPHostEntry (info, h_name, h_aliases, h_addr_list, FALSE);
+       if (!ret)
+               return FALSE;
 
-       return FALSE;
+       if (mono_get_address_info (hostname, 0, get_addrinfo_family_hint () | MONO_HINT_CANONICAL_NAME | MONO_HINT_CONFIGURED_ONLY, &info) != 0)
+               return FALSE;
+
+       return addrinfo_to_IPHostEntry (info, h_name, h_aliases, h_addr_list, FALSE);
 }
 
-extern MonoBoolean ves_icall_System_Net_Dns_GetHostName_internal(MonoString **h_name)
+MonoBoolean
+ves_icall_System_Net_Dns_GetHostName_internal (MonoString **h_name)
 {
-       gchar hostname[256];
+       gchar hostname[NI_MAXHOST] = { 0 };
        int ret;
-       
+
        ret = gethostname (hostname, sizeof (hostname));
-       if(ret==-1) {
-               return(FALSE);
-       }
-       
-       *h_name=mono_string_new(mono_domain_get (), hostname);
+       if (ret == -1)
+               return FALSE;
 
-       return(TRUE);
+       *h_name = mono_string_new(mono_domain_get (), hostname);
+
+       return TRUE;
 }
 
 gboolean
@@ -2487,12 +2669,17 @@ ves_icall_System_Net_Sockets_Socket_SendFile_internal (SOCKET sock, MonoString *
 {
        HANDLE file;
        gint32 error;
+       gboolean ret;
+       gboolean interrupted;
        TRANSMIT_FILE_BUFFERS buffers;
 
        if (filename == NULL)
                return FALSE;
 
+       /* FIXME: replace file by a proper fd that we can call open and close on, as they are interruptible */
+
        file = ves_icall_System_IO_MonoIO_Open (filename, FileMode_Open, FileAccess_Read, FileShare_Read, 0, &error);
+
        if (file == INVALID_HANDLE_VALUE) {
                SetLastError (error);
                return FALSE;
@@ -2508,21 +2695,43 @@ ves_icall_System_Net_Sockets_Socket_SendFile_internal (SOCKET sock, MonoString *
                buffers.TailLength = mono_array_length (post_buffer);
        }
 
-       if (!TransmitFile (sock, file, 0, 0, NULL, &buffers, flags)) {
+       mono_thread_info_install_interrupt (abort_syscall, mono_thread_info_current (), &interrupted);
+       if (interrupted) {
+               CloseHandle (file);
+               SetLastError (WSAEINTR);
+               return FALSE;
+       }
+
+       MONO_PREPARE_BLOCKING;
+
+       ret = TransmitFile (sock, file, 0, 0, NULL, &buffers, flags);
+
+       MONO_FINISH_BLOCKING;
+
+       mono_thread_info_uninstall_interrupt (&interrupted);
+       if (interrupted) {
                CloseHandle (file);
+               SetLastError (WSAEINTR);
                return FALSE;
        }
 
+       MONO_PREPARE_BLOCKING;
+
        CloseHandle (file);
-       return TRUE;
+
+       MONO_FINISH_BLOCKING;
+
+       return ret;
 }
 
-void mono_network_init(void)
+void
+mono_network_init(void)
 {
        mono_networking_init ();
 }
 
-void mono_network_cleanup(void)
+void
+mono_network_cleanup(void)
 {
        _wapi_cleanup_networking ();
        mono_networking_shutdown ();
index 7cef4a43a26a73d2a89383cd607222db6aa6b1d4..5e1c7ef43a90e779c97d2d74f6730f8a353b643d 100644 (file)
@@ -151,40 +151,6 @@ typedef enum {
        SocketFlags_Partial = 0x8000
 } MonoSocketFlags;
 
-/*
-  Keep this in sync with SocketAsyncResult in
-  ./System.Net.Sockets/Socket.cs and ProcessAsyncReader
-  in System.Diagnostics/Process.cs.
-*/
-typedef struct _MonoSocketAsyncResult {
-       MonoObject obj;
-       MonoObject *socket;
-       HANDLE handle;
-       MonoObject *state;
-       MonoDelegate *callback;
-       MonoWaitHandle *wait_handle;
-       MonoException *delayed_exc;
-       MonoObject *ep;
-       MonoArray *buffer;
-       gint offset;
-       gint size;
-       gint socket_flags;
-       MonoObject *accept_reuse_socket;
-       MonoArray *addresses;
-       gint port;
-       MonoObject *buffers;
-       MonoBoolean reusesocket;
-       MonoObject *acc_socket;
-       gint total;
-       MonoBoolean completed_synch;
-       MonoBoolean completed;
-       MonoBoolean blocking;
-       gint error;
-       gint operation;
-       MonoAsyncResult *ares;
-       gint32 end_called;
-} MonoSocketAsyncResult;
-
 typedef struct
 {
        MonoObject obj;
index de24fcb0fa51d5c40bc1b613658527350e7653ed..eadb052ccd16c46a72927fb13c0b8fe0dccda8cc 100644 (file)
  *
  * Author:
  *     Mono Project (http://www.mono-project.com)
+ *     Ludovic Henry (ludovic@xamarin.com)
  *
  * Copyright 2001-2003 Ximian, Inc (http://www.ximian.com)
  * Copyright 2004-2009 Novell, Inc (http://www.novell.com)
+ * Copyright 2015 Xamarin, Inc (https://www.xamarin.com)
  */
+
+//
+// Copyright (c) Microsoft. All rights reserved.
+// Licensed under the MIT license. See LICENSE file in the project root for full license information.
+//
+// Files:
+//  - src/classlibnative/float/floatnative.cpp
+//  - src/pal/src/cruntime/floatnative.cpp
+//
+// Ported from C++ to C and adjusted to Mono runtime
+
 #define __USE_ISOC99
+
 #include <math.h>
 #include <mono/metadata/sysmath.h>
-#include <mono/metadata/exception.h>
-
-#ifndef NAN
-# if G_BYTE_ORDER == G_BIG_ENDIAN
-#  define __nan_bytes           { 0x7f, 0xc0, 0, 0 }
-# endif
-# if G_BYTE_ORDER == G_LITTLE_ENDIAN
-#  define __nan_bytes           { 0, 0, 0xc0, 0x7f }
-# endif
-
-static union { unsigned char __c[4]; float __d; } __nan_union = { __nan_bytes };
-# define NAN    (__nan_union.__d)
-#endif
 
-#ifndef HUGE_VAL
-#define __huge_val_t   union { unsigned char __c[8]; double __d; }
-# if G_BYTE_ORDER == G_BIG_ENDIAN
-#  define __HUGE_VAL_bytes       { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 }
-# endif
-# if G_BYTE_ORDER == G_LITTLE_ENDIAN
-#  define __HUGE_VAL_bytes       { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f }
-# endif
-static __huge_val_t __huge_val = { __HUGE_VAL_bytes };
-#  define HUGE_VAL      (__huge_val.__d)
-#endif
+#include "number-ms.h"
+#include "utils/mono-compiler.h"
+
+static const MonoDouble_double NaN = { .s = { .sign = 0x0, .exp = 0x7FF, .mantHi = 0x80000, .mantLo = 0x0 } };
+
+/* +Infinity */
+static const MonoDouble_double PInfinity = { .s = { .sign = 0x0, .exp = 0x7FF, .mantHi = 0x0, .mantLo = 0x0 } };
 
+/* -Infinity */
+static const MonoDouble_double MInfinity = { .s = { .sign = 0x1, .exp = 0x7FF, .mantHi = 0x0, .mantLo = 0x0 } };
 
-gdouble ves_icall_System_Math_Floor (gdouble x) {
+/* +1 */
+static const MonoDouble_double POne = { .s = { .sign = 0x0, .exp = 0x3FF, .mantHi = 0x0, .mantLo = 0x0 } };
+
+/* -1 */
+static const MonoDouble_double MOne = { .s = { .sign = 0x1, .exp = 0x3FF, .mantHi = 0x0, .mantLo = 0x0 } };
+
+static MONO_ALWAYS_INLINE gboolean
+isplusinfinity (gdouble d)
+{
+       return d == PInfinity.d;
+}
+
+static MONO_ALWAYS_INLINE gboolean
+isminusinfinity (gdouble d)
+{
+       return d == MInfinity.d;
+}
+
+static MONO_ALWAYS_INLINE gboolean
+isinfinity (gdouble d)
+{
+       return isplusinfinity (d) || isminusinfinity (d);
+}
+
+static MONO_ALWAYS_INLINE gboolean
+isplusone (gdouble d)
+{
+       return d == POne.d;
+}
+
+static MONO_ALWAYS_INLINE gboolean
+isminusone (gdouble d)
+{
+       return d == MOne.d;
+}
+
+gdouble
+ves_icall_System_Math_Floor (gdouble x)
+{
        return floor(x);
 }
 
-gdouble ves_icall_System_Math_Round (gdouble x) {
-       double int_part, dec_part;
+gdouble
+ves_icall_System_Math_Round (gdouble x)
+{
+       gdouble tmp, floor_tmp;
+
+       /* If the number has no fractional part do nothing This shortcut is necessary
+        * to workaround precision loss in borderline cases on some platforms */
+       if (x == (gdouble)(gint64) x)
+               return x;
 
-       int_part = floor(x);
-       dec_part = x - int_part;
-       if (((dec_part == 0.5) &&
-               ((2.0 * ((int_part / 2.0) - floor(int_part / 2.0))) != 0.0)) ||
-               (dec_part > 0.5)) {
-               int_part++;
+       tmp = x + 0.5;
+       floor_tmp = floor (tmp);
+
+       if (floor_tmp == tmp) {
+               if (fmod (tmp, 2.0) != 0)
+                       floor_tmp -= 1.0;
        }
-       return int_part;
-}
 
-gdouble ves_icall_System_Math_Round2 (gdouble value, gint32 digits, gboolean away_from_zero) {
-#if !defined (HAVE_ROUND) || !defined (HAVE_RINT)
-       double int_part, dec_part;
-#endif
-       double p;
-
-       if (value == HUGE_VAL)
-               return HUGE_VAL;
-       if (value == -HUGE_VAL)
-               return -HUGE_VAL;
-       p = pow(10, digits);
-#if defined (HAVE_ROUND) && defined (HAVE_RINT)
-       if (away_from_zero)
-               return round (value * p) / p;
-       else
-               return rint (value * p) / p;
-#else
-       dec_part = modf (value, &int_part);
-       dec_part *= 1000000000000000ULL;
-       if (away_from_zero && dec_part > 0)
-               dec_part = ceil (dec_part);
-       else
-               dec_part = floor (dec_part);
-       dec_part /= (1000000000000000ULL / p);
-       if (away_from_zero) {
-               if (dec_part > 0)
-                       dec_part = floor (dec_part + 0.5);
-               else
-                       dec_part = ceil (dec_part - 0.5);
-       } else
-               dec_part = ves_icall_System_Math_Round (dec_part);
-       dec_part /= p;
-       return ves_icall_System_Math_Round ((int_part + dec_part) * p) / p;
-#endif
+       return copysign (floor_tmp, x);
 }
 
 gdouble 
@@ -130,7 +139,7 @@ gdouble
 ves_icall_System_Math_Acos (gdouble x)
 {
        if (x < -1 || x > 1)
-               return NAN;
+               return NaN.d;
 
        return acos (x);
 }
@@ -139,7 +148,7 @@ gdouble
 ves_icall_System_Math_Asin (gdouble x)
 {
        if (x < -1 || x > 1)
-               return NAN;
+               return NaN.d;
 
        return asin (x);
 }
@@ -153,21 +162,21 @@ ves_icall_System_Math_Atan (gdouble x)
 gdouble 
 ves_icall_System_Math_Atan2 (gdouble y, gdouble x)
 {
-       double result;
+       gdouble result;
+
+       if (isinfinity (x) && isinfinity (y))
+               return NaN.d;
 
-       if ((y == HUGE_VAL && x == HUGE_VAL) ||
-               (y == HUGE_VAL && x == -HUGE_VAL) ||
-               (y == -HUGE_VAL && x == HUGE_VAL) ||
-               (y == -HUGE_VAL && x == -HUGE_VAL)) {
-               return NAN;
-       }
        result = atan2 (y, x);
-       return (result == -0)? 0: result;
+       return result == -0.0 ? 0.0: result;
 }
 
 gdouble 
 ves_icall_System_Math_Exp (gdouble x)
 {
+       if (isinfinity (x))
+               return x < 0 ? 0.0 : x;
+
        return exp (x);
 }
 
@@ -175,9 +184,9 @@ gdouble
 ves_icall_System_Math_Log (gdouble x)
 {
        if (x == 0)
-               return -HUGE_VAL;
+               return MInfinity.d;
        else if (x < 0)
-               return NAN;
+               return NaN.d;
 
        return log (x);
 }
@@ -186,9 +195,9 @@ gdouble
 ves_icall_System_Math_Log10 (gdouble x)
 {
        if (x == 0)
-               return -HUGE_VAL;
+               return MInfinity.d;
        else if (x < 0)
-               return NAN;
+               return NaN.d;
 
        return log10 (x);
 }
@@ -196,43 +205,112 @@ ves_icall_System_Math_Log10 (gdouble x)
 gdouble 
 ves_icall_System_Math_Pow (gdouble x, gdouble y)
 {
-       double result;
-
-       if (isnan(x) || isnan(y)) {
-               return NAN;
+       gdouble result;
+
+       if (isnan (y))
+               return y;
+       if (isnan (x))
+               return x;
+
+       if (isinfinity (y)) {
+               if (isplusone (x))
+                       return x;
+               if (isminusone (x))
+                       return NaN.d;
        }
 
-       if ((x == 1 || x == -1) && (y == HUGE_VAL || y == -HUGE_VAL)) {
-               return NAN;
-       }
+       /* following are cases from PAL_pow which abstract the implementation of pow for posix and win32 platforms
+        * (https://github.com/dotnet/coreclr/blob/master/src/pal/src/cruntime/finite.cpp#L331) */
 
-       /* This code is for return the same results as MS.NET for certain
-        * limit values */
-       if (x < -9007199254740991.0) {
-               if (y > 9007199254740991.0)
-                       return HUGE_VAL;
-               if (y < -9007199254740991.0)
-                       return 0;
+       if (isplusinfinity (y) && !isnan (x)) {
+               if (isplusone (x) || isminusone (x))
+                       result = NaN.d;
+               else if (x > MOne.d && x < POne.d)
+                       result = 0.0;
+               else
+                       result = PInfinity.d;
+       } else if (isminusinfinity (y) && !isnan (x)) {
+               if (isplusone (x) || isminusone (x))
+                       result = NaN.d;
+               if (x > MOne.d && x < POne.d)
+                       result = PInfinity.d;
+               else
+                       result = 0.0;
+       } else if (x == 0.0 && y < 0.0) {
+               result = PInfinity.d;
+       } else if (y == 0.0 && isnan (x)) {
+               /* Windows returns NaN for pow(NaN, 0), but POSIX specifies
+                * a return value of 1 for that case.  We need to return
+                * the same result as Windows. */
+               result = NaN.d;
+       } else {
+               result = pow (x, y);
        }
 
-       result = pow (x, y);
-
-       /* This code is for return the same results as MS.NET for certain
-        * limit values */
-       if (isnan(result) &&
-               (x == -1.0) &&
-               ((y > 9007199254740991.0) || (y < -9007199254740991.0))) {
-               return 1;
+       if (result == PInfinity.d && x < 0.0 && isfinite (x) && ceil (y / 2) != floor (y / 2))
+               result = MInfinity.d;
+
+       /*
+        * The even/odd test in the if (this one and the one above) used to be ((long long) y % 2 == 0)
+        * on SPARC (long long) y for large y (>2**63) is always 0x7fffffff7fffffff, which
+        * is an odd number, so the test ((long long) y % 2 == 0) will always fail for
+        * large y. Since large double numbers are always even (e.g., the representation of
+        * 1E20+1 is the same as that of 1E20, the last .+1. is too insignificant to be part
+        * of the representation), this test will always return the wrong result for large y.
+        *
+        * The (ceil(y/2) == floor(y/2)) test is slower, but more robust.
+        */
+       if (result == MInfinity.d && x < 0.0 && isfinite (x) && ceil (y / 2) == floor (y / 2))
+               result = PInfinity.d;
+
+#if defined (__linux__) && SIZEOF_VOID_P == 4
+       /* On Linux 32bits, some tests erroneously return NaN */
+       if (isnan (result)) {
+               if (isminusone (x) && (y > 9007199254740991.0 || y < -9007199254740991.0)) {
+                       /* Math.Pow (-1, Double.MaxValue) and Math.Pow (-1, Double.MinValue) should return 1 */
+                       result = POne.d;
+               } else if (x < -9007199254740991.0 && y < -9007199254740991.0) {
+                       /* Math.Pow (Double.MinValue, Double.MinValue) should return 0 */
+                       result = 0.0;
+               } else if (x < -9007199254740991.0 && y > 9007199254740991.0) {
+                       /* Math.Pow (Double.MinValue, Double.MaxValue) should return Double.PositiveInfinity */
+                       result = PInfinity.d;
+               }
        }
+#endif
 
-       return (result == -0)? 0: result;
+       return result == -0.0 ? 0 : result;
 }
 
 gdouble 
 ves_icall_System_Math_Sqrt (gdouble x)
 {
        if (x < 0)
-               return NAN;
+               return NaN.d;
 
        return sqrt (x);
 }
+
+gdouble
+ves_icall_System_Math_Abs_double (gdouble v)
+{
+       return fabs (v);
+}
+
+gfloat
+ves_icall_System_Math_Abs_single (gfloat v)
+{
+       return fabsf (v);
+}
+
+gdouble
+ves_icall_System_Math_Ceiling (gdouble v)
+{
+       return ceil (v);
+}
+
+gdouble
+ves_icall_System_Math_SplitFractionDouble (gdouble *v)
+{
+       return modf (*v, v);
+}
index f8f5778ab418c7fdd52f28a9f8f6cc311d3b9815..bb3cf92bfd5d1906d1a53e04f4c59a0cdacc5e87 100644 (file)
@@ -3,8 +3,10 @@
  *
  * Author:
  *   Dan Lewis (dihlewis@yahoo.co.uk)
+ *   Ludovic Henry (ludovic@xamarin.com)
  *
  * (C) Ximian, Inc. 2002
+ * Copyright 2015 Xamarin, Inc (https://www.xamarin.com)
  */
 
 #ifndef __METADATA_SYSMATH_H__
 
 #include <config.h>
 #include <glib.h>
-#include "mono/utils/mono-compiler.h"
 
-extern gdouble ves_icall_System_Math_Floor (gdouble x);
-extern gdouble ves_icall_System_Math_Round (gdouble x);
-extern gdouble ves_icall_System_Math_Round2 (gdouble value, gint32 digits, gboolean away_from_zero);
+gdouble
+ves_icall_System_Math_Floor (gdouble x);
 
-extern gdouble 
+gdouble
+ves_icall_System_Math_Round (gdouble x);
+
+gdouble
 ves_icall_System_Math_Sin (gdouble x);
 
-extern gdouble 
+gdouble
 ves_icall_System_Math_Cos (gdouble x);
 
-extern gdouble 
+gdouble
 ves_icall_System_Math_Tan (gdouble x);
 
-extern gdouble 
+gdouble
 ves_icall_System_Math_Sinh (gdouble x);
 
-extern gdouble 
+gdouble
 ves_icall_System_Math_Cosh (gdouble x);
 
-extern gdouble 
+gdouble
 ves_icall_System_Math_Tanh (gdouble x);
 
-extern gdouble 
+gdouble
 ves_icall_System_Math_Acos (gdouble x);
 
-extern gdouble 
+gdouble
 ves_icall_System_Math_Asin (gdouble x);
 
-extern gdouble 
+gdouble
 ves_icall_System_Math_Atan (gdouble x);
 
-extern gdouble 
+gdouble
 ves_icall_System_Math_Atan2 (gdouble y, gdouble x);
 
-extern gdouble 
+gdouble
 ves_icall_System_Math_Exp (gdouble x);
 
-extern gdouble 
+gdouble
 ves_icall_System_Math_Log (gdouble x);
 
-extern gdouble 
+gdouble
 ves_icall_System_Math_Log10 (gdouble x);
 
-extern gdouble 
+gdouble
 ves_icall_System_Math_Pow (gdouble x, gdouble y);
 
-extern gdouble 
+gdouble
 ves_icall_System_Math_Sqrt (gdouble x);
 
+gdouble
+ves_icall_System_Math_Abs_double (gdouble v);
+
+gfloat
+ves_icall_System_Math_Abs_single (gfloat v);
+
+gdouble
+ves_icall_System_Math_SplitFractionDouble (gdouble *v);
+
+gdouble
+ves_icall_System_Math_Ceiling (gdouble v);
+
 #endif
index b7deef04375ac1cb7c669f40a1ba7ab970a1ce7b..bf619214c8557f19a08553296a81a69719ee3d1c 100644 (file)
@@ -57,37 +57,44 @@ epoll_cleanup (void)
 static void
 epoll_register_fd (gint fd, gint events, gboolean is_new)
 {
-       if (events == 0) {
-               if (!is_new && epoll_ctl (epoll_fd, EPOLL_CTL_DEL, fd, NULL) == -1)
-                       g_error ("epoll_register_fd: epoll_ctl (EPOLL_CTL_DEL) failed, error (%d) %s", errno, g_strerror (errno));
-       } else {
-               struct epoll_event event;
+       struct epoll_event event;
 
 #ifndef EPOLLONESHOT
 /* it was only defined on android in May 2013 */
 #define EPOLLONESHOT 0x40000000
 #endif
 
-               event.data.fd = fd;
-               event.events = EPOLLONESHOT;
-               if ((events & MONO_POLLIN) != 0)
-                       event.events |= EPOLLIN;
-               if ((events & MONO_POLLOUT) != 0)
-                       event.events |= EPOLLOUT;
+       event.data.fd = fd;
+       event.events = EPOLLONESHOT;
+       if ((events & EVENT_IN) != 0)
+               event.events |= EPOLLIN;
+       if ((events & EVENT_OUT) != 0)
+               event.events |= EPOLLOUT;
 
-               if (epoll_ctl (epoll_fd, is_new ? EPOLL_CTL_ADD : EPOLL_CTL_MOD, event.data.fd, &event) == -1)
-                       g_error ("epoll_register_fd: epoll_ctl(%s) failed, error (%d) %s", is_new ? "EPOLL_CTL_ADD" : "EPOLL_CTL_MOD", errno, g_strerror (errno));
-       }
+       if (epoll_ctl (epoll_fd, is_new ? EPOLL_CTL_ADD : EPOLL_CTL_MOD, event.data.fd, &event) == -1)
+               g_error ("epoll_register_fd: epoll_ctl(%s) failed, error (%d) %s", is_new ? "EPOLL_CTL_ADD" : "EPOLL_CTL_MOD", errno, g_strerror (errno));
+}
+
+static void
+epoll_remove_fd (gint fd)
+{
+       if (epoll_ctl (epoll_fd, EPOLL_CTL_DEL, fd, NULL) == -1)
+                       g_error ("epoll_remove_fd: epoll_ctl (EPOLL_CTL_DEL) failed, error (%d) %s", errno, g_strerror (errno));
 }
 
 static gint
-epoll_event_wait (void)
+epoll_event_wait (void (*callback) (gint fd, gint events, gpointer user_data), gpointer user_data)
 {
-       gint ready;
+       gint i, ready;
 
        memset (epoll_events, 0, sizeof (struct epoll_event) * EPOLL_NEVENTS);
 
+       mono_gc_set_skip_thread (TRUE);
+
        ready = epoll_wait (epoll_fd, epoll_events, EPOLL_NEVENTS, -1);
+
+       mono_gc_set_skip_thread (FALSE);
+
        if (ready == -1) {
                switch (errno) {
                case EINTR:
@@ -100,33 +107,30 @@ epoll_event_wait (void)
                }
        }
 
-       return ready;
-}
+       if (ready == -1)
+               return -1;
 
-static gint
-epoll_event_get_fd_max (void)
-{
-       return EPOLL_NEVENTS;
-}
+       for (i = 0; i < ready; ++i) {
+               gint fd, events = 0;
 
-static gint
-epoll_event_get_fd_at (gint i, gint *events)
-{
-       g_assert (events);
+               fd = epoll_events [i].data.fd;
+               if (epoll_events [i].events & (EPOLLIN | EPOLLERR | EPOLLHUP))
+                       events |= EVENT_IN;
+               if (epoll_events [i].events & (EPOLLOUT | EPOLLERR | EPOLLHUP))
+                       events |= EVENT_OUT;
 
-       *events = ((epoll_events [i].events & (EPOLLIN | EPOLLERR | EPOLLHUP)) ? MONO_POLLIN : 0)
-                   | ((epoll_events [i].events & (EPOLLOUT | EPOLLERR | EPOLLHUP)) ? MONO_POLLOUT : 0);
+               callback (fd, events, user_data);
+       }
 
-       return epoll_events [i].data.fd;
+       return 0;
 }
 
 static ThreadPoolIOBackend backend_epoll = {
        .init = epoll_init,
        .cleanup = epoll_cleanup,
        .register_fd = epoll_register_fd,
+       .remove_fd = epoll_remove_fd,
        .event_wait = epoll_event_wait,
-       .event_get_fd_max = epoll_event_get_fd_max,
-       .event_get_fd_at = epoll_event_get_fd_at,
 };
 
 #endif
index b06ea74aa1e11ee189cb0a12f3f499cfb5a8cd5c..093d3399dc947736f20140470c3ef08cfa306aa0 100644 (file)
 static gint kqueue_fd;
 static struct kevent *kqueue_events;
 
-static gboolean
-kqueue_init (gint wakeup_pipe_fd)
+static gint
+KQUEUE_INIT_FD (gint fd, gint events, gint flags)
 {
        struct kevent event;
+       EV_SET (&event, fd, events, flags, 0, 0, 0);
+       return kevent (kqueue_fd, &event, 1, NULL, 0, NULL);
+}
 
+static gboolean
+kqueue_init (gint wakeup_pipe_fd)
+{
        kqueue_fd = kqueue ();
        if (kqueue_fd == -1) {
-               g_warning ("kqueue_init: kqueue () failed, error (%d) %s", errno, g_strerror (errno));
+               g_error ("kqueue_init: kqueue () failed, error (%d) %s", errno, g_strerror (errno));
                return FALSE;
        }
 
-       EV_SET (&event, wakeup_pipe_fd, EVFILT_READ, EV_ADD | EV_ENABLE, 0, 0, 0);
-       if (kevent (kqueue_fd, &event, 1, NULL, 0, NULL) == -1) {
-               g_warning ("kqueue_init: kevent () failed, error (%d) %s", errno, g_strerror (errno));
+       if (KQUEUE_INIT_FD (wakeup_pipe_fd, EVFILT_READ, EV_ADD | EV_ENABLE) == -1) {
+               g_error ("kqueue_init: kevent () failed, error (%d) %s", errno, g_strerror (errno));
                close (kqueue_fd);
                return FALSE;
        }
@@ -48,26 +53,45 @@ kqueue_cleanup (void)
 static void
 kqueue_register_fd (gint fd, gint events, gboolean is_new)
 {
-       struct kevent event;
-
-       if (events == 0)
-               return;
-
-       if ((events & MONO_POLLIN) != 0)
-               EV_SET (&event, fd, EVFILT_READ, EV_ADD | EV_ENABLE | EV_ONESHOT, 0, 0, 0);
-       if ((events & MONO_POLLOUT) != 0)
-               EV_SET (&event, fd, EVFILT_WRITE, EV_ADD | EV_ENABLE | EV_ONESHOT, 0, 0, 0);
+       if (events & EVENT_IN) {
+               if (KQUEUE_INIT_FD (fd, EVFILT_READ, EV_ADD | EV_ENABLE) == -1)
+                       g_error ("kqueue_register_fd: kevent(read,enable) failed, error (%d) %s", errno, g_strerror (errno));
+       } else {
+               if (KQUEUE_INIT_FD (fd, EVFILT_READ, EV_ADD | EV_DISABLE) == -1)
+                       g_error ("kqueue_register_fd: kevent(read,disable) failed, error (%d) %s", errno, g_strerror (errno));
+       }
+       if (events & EVENT_OUT) {
+               if (KQUEUE_INIT_FD (fd, EVFILT_WRITE, EV_ADD | EV_ENABLE) == -1)
+                       g_error ("kqueue_register_fd: kevent(write,enable) failed, error (%d) %s", errno, g_strerror (errno));
+       } else {
+               if (KQUEUE_INIT_FD (fd, EVFILT_WRITE, EV_ADD | EV_DISABLE) == -1)
+                       g_error ("kqueue_register_fd: kevent(write,disable) failed, error (%d) %s", errno, g_strerror (errno));
+       }
+}
 
-       if (kevent (kqueue_fd, &event, 1, NULL, 0, NULL) == -1)
-               g_warning ("kqueue_register_fd: kevent(update) failed, error (%d) %s", errno, g_strerror (errno));
+static void
+kqueue_remove_fd (gint fd)
+{
+       /* FIXME: a race between closing and adding operation in the Socket managed code trigger a ENOENT error */
+       if (KQUEUE_INIT_FD (fd, EVFILT_READ, EV_DELETE) == -1)
+               g_error ("kqueue_register_fd: kevent(read,delete) failed, error (%d) %s", errno, g_strerror (errno));
+       if (KQUEUE_INIT_FD (fd, EVFILT_WRITE, EV_DELETE) == -1)
+               g_error ("kqueue_register_fd: kevent(write,delete) failed, error (%d) %s", errno, g_strerror (errno));
 }
 
 static gint
-kqueue_event_wait (void)
+kqueue_event_wait (void (*callback) (gint fd, gint events, gpointer user_data), gpointer user_data)
 {
-       gint ready;
+       gint i, ready;
+
+       memset (kqueue_events, 0, sizeof (struct kevent) * KQUEUE_NEVENTS);
+
+       mono_gc_set_skip_thread (TRUE);
 
        ready = kevent (kqueue_fd, NULL, 0, kqueue_events, KQUEUE_NEVENTS, NULL);
+
+       mono_gc_set_skip_thread (FALSE);
+
        if (ready == -1) {
                switch (errno) {
                case EINTR:
@@ -75,38 +99,35 @@ kqueue_event_wait (void)
                        ready = 0;
                        break;
                default:
-                       g_warning ("kqueue_event_wait: kevent () failed, error (%d) %s", errno, g_strerror (errno));
+                       g_error ("kqueue_event_wait: kevent () failed, error (%d) %s", errno, g_strerror (errno));
                        break;
                }
        }
 
-       return ready;
-}
+       if (ready == -1)
+               return -1;
 
-static gint
-kqueue_event_get_fd_at (gint i, gint *events)
-{
-       g_assert (events);
+       for (i = 0; i < ready; ++i) {
+               gint fd, events = 0;
 
-       *events = ((kqueue_events [i].filter == EVFILT_READ || (kqueue_events [i].flags & EV_ERROR) != 0) ? MONO_POLLIN : 0)
-                   | ((kqueue_events [i].filter == EVFILT_WRITE || (kqueue_events [i].flags & EV_ERROR) != 0) ? MONO_POLLOUT : 0);
+               fd = kqueue_events [i].ident;
+               if (kqueue_events [i].filter == EVFILT_READ || (kqueue_events [i].flags & EV_ERROR) != 0)
+                       events |= EVENT_IN;
+               if (kqueue_events [i].filter == EVFILT_WRITE || (kqueue_events [i].flags & EV_ERROR) != 0)
+                       events |= EVENT_OUT;
 
-       return kqueue_events [i].ident;
-}
+               callback (fd, events, user_data);
+       }
 
-static gint
-kqueue_event_get_fd_max (void)
-{
-       return KQUEUE_NEVENTS;
+       return 0;
 }
 
 static ThreadPoolIOBackend backend_kqueue = {
        .init = kqueue_init,
        .cleanup = kqueue_cleanup,
        .register_fd = kqueue_register_fd,
+       .remove_fd = kqueue_remove_fd,
        .event_wait = kqueue_event_wait,
-       .event_get_fd_max = kqueue_event_get_fd_max,
-       .event_get_fd_at = kqueue_event_get_fd_at,
 };
 
 #endif
index 88bdc9f839be81a2bdcff84a7f8ae9207143ca55..f7ae6246f2fe1b0464f342c08562fd32e3a350c7 100644 (file)
@@ -1,5 +1,5 @@
 
-#define POLL_NEVENTS 1024
+#include "utils/mono-poll.h"
 
 static mono_pollfd *poll_fds;
 static guint poll_fds_capacity;
@@ -16,15 +16,14 @@ POLL_INIT_FD (mono_pollfd *poll_fd, gint fd, gint events)
 static gboolean
 poll_init (gint wakeup_pipe_fd)
 {
-       guint i;
+       g_assert (wakeup_pipe_fd >= 0);
 
        poll_fds_size = 1;
-       poll_fds_capacity = POLL_NEVENTS;
+       poll_fds_capacity = 64;
+
        poll_fds = g_new0 (mono_pollfd, poll_fds_capacity);
 
-       POLL_INIT_FD (poll_fds, wakeup_pipe_fd, MONO_POLLIN);
-       for (i = 1; i < poll_fds_capacity; ++i)
-               POLL_INIT_FD (poll_fds + i, -1, 0);
+       POLL_INIT_FD (&poll_fds [0], wakeup_pipe_fd, MONO_POLLIN);
 
        return TRUE;
 }
@@ -35,91 +34,131 @@ poll_cleanup (void)
        g_free (poll_fds);
 }
 
+static void
+poll_register_fd (gint fd, gint events, gboolean is_new)
+{
+       gint i;
+       gint poll_event;
+
+       g_assert (fd >= 0);
+       g_assert (poll_fds_size <= poll_fds_capacity);
+
+       g_assert ((events & ~(EVENT_IN | EVENT_OUT)) == 0);
+
+       poll_event = 0;
+       if (events & EVENT_IN)
+               poll_event |= MONO_POLLIN;
+       if (events & EVENT_OUT)
+               poll_event |= MONO_POLLOUT;
+
+       for (i = 0; i < poll_fds_size; ++i) {
+               if (poll_fds [i].fd == fd) {
+                       g_assert (!is_new);
+                       POLL_INIT_FD (&poll_fds [i], fd, poll_event);
+                       return;
+               }
+       }
+
+       g_assert (is_new);
+
+       for (i = 0; i < poll_fds_size; ++i) {
+               if (poll_fds [i].fd == -1) {
+                       POLL_INIT_FD (&poll_fds [i], fd, poll_event);
+                       return;
+               }
+       }
+
+       poll_fds_size += 1;
+
+       if (poll_fds_size > poll_fds_capacity) {
+               poll_fds_capacity *= 2;
+               g_assert (poll_fds_size <= poll_fds_capacity);
+
+               poll_fds = g_renew (mono_pollfd, poll_fds, poll_fds_capacity);
+       }
+
+       POLL_INIT_FD (&poll_fds [poll_fds_size - 1], fd, poll_event);
+}
+
+static void
+poll_remove_fd (gint fd)
+{
+       gint i;
+
+       g_assert (fd >= 0);
+
+       for (i = 0; i < poll_fds_size; ++i) {
+               if (poll_fds [i].fd == fd) {
+                       POLL_INIT_FD (&poll_fds [i], -1, 0);
+                       break;
+               }
+       }
+
+       /* if we don't find the fd in poll_fds,
+        * it means we try to delete it twice */
+       g_assert (i < poll_fds_size);
+
+       /* if we find it again, it means we added
+        * it twice */
+       for (; i < poll_fds_size; ++i)
+               g_assert (poll_fds [i].fd != fd);
+
+       /* reduce the value of poll_fds_size so we
+        * do not keep it too big */
+       while (poll_fds_size > 1 && poll_fds [poll_fds_size - 1].fd == -1)
+               poll_fds_size -= 1;
+}
+
 static inline gint
 poll_mark_bad_fds (mono_pollfd *poll_fds, gint poll_fds_size)
 {
-       gint i;
-       gint ret;
-       gint ready = 0;
-       mono_pollfd *poll_fd;
+       gint i, ready = 0;
 
        for (i = 0; i < poll_fds_size; i++) {
-               poll_fd = poll_fds + i;
-               if (poll_fd->fd == -1)
+               if (poll_fds [i].fd == -1)
                        continue;
 
-               ret = mono_poll (poll_fd, 1, 0);
-               if (ret == 1)
+               switch (mono_poll (&poll_fds [i], 1, 0)) {
+               case 1:
                        ready++;
-               if (ret == -1) {
+                       break;
+               case -1:
 #if !defined(HOST_WIN32)
                        if (errno == EBADF)
 #else
                        if (WSAGetLastError () == WSAEBADF)
 #endif
                        {
-                               poll_fd->revents |= MONO_POLLNVAL;
+                               poll_fds [i].revents |= MONO_POLLNVAL;
                                ready++;
                        }
+                       break;
                }
        }
 
        return ready;
 }
 
-static void
-poll_register_fd (gint fd, gint events, gboolean is_new)
+static gint
+poll_event_wait (void (*callback) (gint fd, gint events, gpointer user_data), gpointer user_data)
 {
-       gboolean found = FALSE;
-       gint j, k;
+       gint i, ready;
 
-       for (j = 1; j < poll_fds_size; ++j) {
-               mono_pollfd *poll_fd = poll_fds + j;
-               if (poll_fd->fd == fd) {
-                       found = TRUE;
-                       break;
-               }
-       }
+       for (i = 0; i < poll_fds_size; ++i)
+               poll_fds [i].revents = 0;
 
-       if (events == 0) {
-               if (found)
-                       POLL_INIT_FD (poll_fds + j, -1, 0);
-               return;
-       }
+       mono_gc_set_skip_thread (TRUE);
 
-       if (!found) {
-               for (j = 1; j < poll_fds_capacity; ++j) {
-                       mono_pollfd *poll_fd = poll_fds + j;
-                       if (poll_fd->fd == -1)
-                               break;
-               }
-       }
-
-       if (j == poll_fds_capacity) {
-               poll_fds_capacity += POLL_NEVENTS;
-               poll_fds = g_renew (mono_pollfd, poll_fds, poll_fds_capacity);
-               for (k = j; k < poll_fds_capacity; ++k)
-                       POLL_INIT_FD (poll_fds + k, -1, 0);
-       }
-
-       POLL_INIT_FD (poll_fds + j, fd, events);
-
-       if (j >= poll_fds_size)
-               poll_fds_size = j + 1;
-}
+       ready = mono_poll (poll_fds, poll_fds_size, -1);
 
-static gint
-poll_event_wait (void)
-{
-       gint ready;
+       mono_gc_set_skip_thread (FALSE);
 
-       ready = mono_poll (poll_fds, poll_fds_size, -1);
        if (ready == -1) {
                /*
                 * Apart from EINTR, we only check EBADF, for the rest:
                 *  EINVAL: mono_poll() 'protects' us from descriptor
                 *      numbers above the limit if using select() by marking
-                *      then as MONO_POLLERR.  If a system poll() is being
+                *      then as POLLERR.  If a system poll() is being
                 *      used, the number of descriptor we're passing will not
                 *      be over sysconf(_SC_OPEN_MAX), as the error would have
                 *      happened when opening.
@@ -139,53 +178,66 @@ poll_event_wait (void)
 #else
                case WSAEINTR:
 #endif
+               {
                        mono_thread_internal_check_for_interruption_critical (mono_thread_internal_current ());
                        ready = 0;
                        break;
+               }
 #if !defined(HOST_WIN32)
                case EBADF:
 #else
                case WSAEBADF:
 #endif
+               {
                        ready = poll_mark_bad_fds (poll_fds, poll_fds_size);
                        break;
+               }
                default:
 #if !defined(HOST_WIN32)
-                       g_warning ("poll_event_wait: mono_poll () failed, error (%d) %s", errno, g_strerror (errno));
+                       g_error ("poll_event_wait: mono_poll () failed, error (%d) %s", errno, g_strerror (errno));
 #else
-                       g_warning ("poll_event_wait: mono_poll () failed, error (%d)\n", WSAGetLastError ());
+                       g_error ("poll_event_wait: mono_poll () failed, error (%d)\n", WSAGetLastError ());
 #endif
                        break;
                }
        }
 
-       return ready;
-}
+       if (ready == -1)
+               return -1;
+       if (ready == 0)
+               return 0;
 
-static gint
-poll_event_get_fd_at (gint i, gint *events)
-{
-       g_assert (events);
+       g_assert (ready > 0);
 
-       *events = ((poll_fds [i].revents & (MONO_POLLIN | MONO_POLLERR | MONO_POLLHUP | MONO_POLLNVAL)) ? MONO_POLLIN : 0)
-                   | ((poll_fds [i].revents & (MONO_POLLOUT | MONO_POLLERR | MONO_POLLHUP | MONO_POLLNVAL)) ? MONO_POLLOUT : 0);
+       for (i = 0; i < poll_fds_size; ++i) {
+               gint fd, events = 0;
 
-       /* if nothing happened on the fd, then just return
-        * an invalid fd number so it is discarded */
-       return poll_fds [i].revents == 0 ? -1 : poll_fds [i].fd;
-}
+               if (poll_fds [i].fd == -1)
+                       continue;
+               if (poll_fds [i].revents == 0)
+                       continue;
 
-static gint
-poll_event_get_fd_max (void)
-{
-       return poll_fds_size;
+               fd = poll_fds [i].fd;
+               if (poll_fds [i].revents & (MONO_POLLIN | MONO_POLLERR | MONO_POLLHUP | MONO_POLLNVAL))
+                       events |= EVENT_IN;
+               if (poll_fds [i].revents & (MONO_POLLOUT | MONO_POLLERR | MONO_POLLHUP | MONO_POLLNVAL))
+                       events |= EVENT_OUT;
+               if (poll_fds [i].revents & (MONO_POLLERR | MONO_POLLHUP | MONO_POLLNVAL))
+                       events |= EVENT_ERR;
+
+               callback (fd, events, user_data);
+
+               if (--ready == 0)
+                       break;
+       }
+
+       return 0;
 }
 
 static ThreadPoolIOBackend backend_poll = {
        .init = poll_init,
        .cleanup = poll_cleanup,
        .register_fd = poll_register_fd,
+       .remove_fd = poll_remove_fd,
        .event_wait = poll_event_wait,
-       .event_get_fd_max = poll_event_get_fd_max,
-       .event_get_fd_at = poll_event_get_fd_at,
 };
index 3853f8496288a2826c3cb69eb59b67d3a6b1181a..6742fddc151c9a3f3704815c1749f03a9493fb70 100644 (file)
 #include <mono/metadata/threadpool-ms.h>
 #include <mono/metadata/threadpool-ms-io.h>
 #include <mono/utils/atomic.h>
-#include <mono/utils/mono-poll.h>
 #include <mono/utils/mono-threads.h>
 #include <mono/utils/mono-lazy-init.h>
+#include <mono/utils/mono-logger-internal.h>
 
 typedef struct {
        gboolean (*init) (gint wakeup_pipe_fd);
        void     (*cleanup) (void);
        void     (*register_fd) (gint fd, gint events, gboolean is_new);
-       gint     (*event_wait) (void);
-       gint     (*event_get_fd_max) (void);
-       gint     (*event_get_fd_at) (gint i, gint *events);
+       void     (*remove_fd) (gint fd);
+       gint     (*event_wait) (void (*callback) (gint fd, gint events, gpointer user_data), gpointer user_data);
 } ThreadPoolIOBackend;
 
+/* Keep in sync with System.IOOperation in mcs/class/System/System/IOSelector.cs */
+enum MonoIOOperation {
+       EVENT_IN   = 1 << 0,
+       EVENT_OUT  = 1 << 1,
+       EVENT_ERR  = 1 << 2, /* not in managed */
+};
+
 #include "threadpool-ms-io-epoll.c"
 #include "threadpool-ms-io-kqueue.c"
 #include "threadpool-ms-io-poll.c"
 
-/* Keep in sync with System.Net.Sockets.Socket.SocketOperation */
-enum {
-       AIO_OP_FIRST,
-       AIO_OP_ACCEPT = 0,
-       AIO_OP_CONNECT,
-       AIO_OP_RECEIVE,
-       AIO_OP_RECEIVEFROM,
-       AIO_OP_SEND,
-       AIO_OP_SENDTO,
-       AIO_OP_RECV_JUST_CALLBACK,
-       AIO_OP_SEND_JUST_CALLBACK,
-       AIO_OP_READPIPE,
-       AIO_OP_CONSOLE2,
-       AIO_OP_DISCONNECT,
-       AIO_OP_ACCEPTRECEIVE,
-       AIO_OP_RECEIVE_BUFFERS,
-       AIO_OP_SEND_BUFFERS,
-       AIO_OP_LAST
+#define UPDATES_CAPACITY 128
+
+/* Keep in sync with System.IOSelectorJob in mcs/class/System/System/IOSelector.cs */
+struct _MonoIOSelectorJob {
+       MonoObject object;
+       gint32 operation;
+       MonoObject *callback;
+       MonoObject *state;
 };
 
+typedef enum {
+       UPDATE_EMPTY = 0,
+       UPDATE_ADD,
+       UPDATE_REMOVE_SOCKET,
+       UPDATE_REMOVE_DOMAIN,
+} ThreadPoolIOUpdateType;
+
 typedef struct {
        gint fd;
-       MonoSocketAsyncResult *sockares;
-} ThreadPoolIOUpdate;
+       MonoIOSelectorJob *job;
+} ThreadPoolIOUpdate_Add;
 
 typedef struct {
-       ThreadPoolIOBackend backend;
+       gint fd;
+} ThreadPoolIOUpdate_RemoveSocket;
 
-       mono_mutex_t lock;
+typedef struct {
+       MonoDomain *domain;
+} ThreadPoolIOUpdate_RemoveDomain;
 
-       mono_cond_t updates_signal;
+typedef struct {
+       ThreadPoolIOUpdateType type;
+       union {
+               ThreadPoolIOUpdate_Add add;
+               ThreadPoolIOUpdate_RemoveSocket remove_socket;
+               ThreadPoolIOUpdate_RemoveDomain remove_domain;
+       } data;
+} ThreadPoolIOUpdate;
 
-       MonoGHashTable *states;
+typedef struct {
+       ThreadPoolIOBackend backend;
 
-       ThreadPoolIOUpdate *updates;
-       guint updates_size;
-       guint updates_capacity;
+       ThreadPoolIOUpdate updates [UPDATES_CAPACITY];
+       gint updates_size;
+       mono_mutex_t updates_lock;
+       mono_cond_t updates_cond;
 
 #if !defined(HOST_WIN32)
        gint wakeup_pipes [2];
@@ -93,42 +108,18 @@ static gboolean io_selector_running = FALSE;
 
 static ThreadPoolIO* threadpool_io;
 
-static int
-get_events_from_sockares (MonoSocketAsyncResult *ares)
-{
-       switch (ares->operation) {
-       case AIO_OP_ACCEPT:
-       case AIO_OP_RECEIVE:
-       case AIO_OP_RECV_JUST_CALLBACK:
-       case AIO_OP_RECEIVEFROM:
-       case AIO_OP_READPIPE:
-       case AIO_OP_ACCEPTRECEIVE:
-       case AIO_OP_RECEIVE_BUFFERS:
-               return MONO_POLLIN;
-       case AIO_OP_SEND:
-       case AIO_OP_SEND_JUST_CALLBACK:
-       case AIO_OP_SENDTO:
-       case AIO_OP_CONNECT:
-       case AIO_OP_SEND_BUFFERS:
-       case AIO_OP_DISCONNECT:
-               return MONO_POLLOUT;
-       default:
-               g_assert_not_reached ();
-       }
-}
-
-static MonoSocketAsyncResult*
-get_sockares_for_event (MonoMList **list, gint event)
+static MonoIOSelectorJob*
+get_job_for_event (MonoMList **list, gint32 event)
 {
        MonoMList *current;
 
        g_assert (list);
 
        for (current = *list; current; current = mono_mlist_next (current)) {
-               MonoSocketAsyncResult *ares = (MonoSocketAsyncResult*) mono_mlist_get_data (current);
-               if (get_events_from_sockares (ares) == event) {
+               MonoIOSelectorJob *job = (MonoIOSelectorJob*) mono_mlist_get_data (current);
+               if (job->operation == event) {
                        *list = mono_mlist_remove_item (*list, current);
-                       return ares;
+                       return job;
                }
        }
 
@@ -136,131 +127,15 @@ get_sockares_for_event (MonoMList **list, gint event)
 }
 
 static gint
-get_events (MonoMList *list)
+get_operations_for_jobs (MonoMList *list)
 {
        MonoMList *current;
-       gint events = 0;
-
-       for (current = list; current; current = mono_mlist_next (current)) {
-               MonoSocketAsyncResult *ares = (MonoSocketAsyncResult*) mono_mlist_get_data (current);
-               if (ares)
-                       events |= get_events_from_sockares (ares);
-       }
-
-       return events;
-}
-
-static void
-selector_thread_wakeup (void);
-
-/*
- * If sockares is NULL, then it means we want to delete the corresponding fd
- */
-static void
-update_add (gint fd, MonoSocketAsyncResult *sockares)
-{
-       ThreadPoolIOUpdate *update;
-
-       mono_mutex_lock (&threadpool_io->lock);
-
-       threadpool_io->updates_size += 1;
-       if (threadpool_io->updates_size > threadpool_io->updates_capacity) {
-               ThreadPoolIOUpdate *updates_new, *updates_old;
-               gint updates_new_capacity, updates_old_capacity;
-
-               updates_old_capacity = threadpool_io->updates_capacity;
-               updates_new_capacity = updates_old_capacity + 16;
-
-               updates_old = threadpool_io->updates;
-               updates_new = mono_gc_alloc_fixed (sizeof (ThreadPoolIOUpdate) * updates_new_capacity, MONO_GC_DESCRIPTOR_NULL);
-               g_assert (updates_new);
-
-               if (updates_old)
-                       memcpy (updates_new, updates_old, sizeof (ThreadPoolIOUpdate) * updates_old_capacity);
-
-               threadpool_io->updates = updates_new;
-               threadpool_io->updates_capacity = updates_new_capacity;
-
-               if (updates_old)
-                       mono_gc_free_fixed (updates_old);
-       }
-
-       update = &threadpool_io->updates [threadpool_io->updates_size - 1];
-       update->fd = fd;
-       update->sockares = sockares;
-
-       selector_thread_wakeup ();
-
-       mono_cond_wait (&threadpool_io->updates_signal, &threadpool_io->lock);
-
-       mono_mutex_unlock (&threadpool_io->lock);
-}
-
-static void
-update_drain (void (*callback) (gint fd, gint events, gboolean is_new))
-{
-       gint i;
-
-       mono_mutex_lock (&threadpool_io->lock);
-
-       for (i = 0; i < threadpool_io->updates_size; ++i) {
-               ThreadPoolIOUpdate *update;
-               MonoMList *list = NULL;
-               gpointer k;
-               gboolean is_new;
-
-               update = &threadpool_io->updates [i];
-
-               is_new = !mono_g_hash_table_lookup_extended (threadpool_io->states, GINT_TO_POINTER (update->fd), &k, (gpointer*) &list);
-
-               if (!update->sockares) {
-                       callback (update->fd, 0, is_new);
-               } else {
-                       list = mono_mlist_append (list, (MonoObject*) update->sockares);
-                       mono_g_hash_table_replace (threadpool_io->states, update->sockares->handle, list);
-
-                       callback (update->fd, get_events (list), is_new);
-               }
-       }
-
-       mono_cond_broadcast (&threadpool_io->updates_signal);
-
-       if (threadpool_io->updates_size > 0) {
-               ThreadPoolIOUpdate *updates_old;
-
-               threadpool_io->updates_size = 0;
-               threadpool_io->updates_capacity = 16;
-
-               updates_old = threadpool_io->updates;
-
-               threadpool_io->updates = mono_gc_alloc_fixed (sizeof (ThreadPoolIOUpdate) * threadpool_io->updates_capacity, MONO_GC_DESCRIPTOR_NULL);
-               g_assert (threadpool_io->updates);
-
-               mono_gc_free_fixed (updates_old);
-       }
-
-       mono_mutex_unlock (&threadpool_io->lock);
-}
-
-static void
-update_remove (gboolean (*predicate) (ThreadPoolIOUpdate *update, gpointer user_data), gpointer user_data)
-{
-       gint i;
-
-       mono_mutex_lock (&threadpool_io->lock);
+       gint operations = 0;
 
-       for (i = 0; i < threadpool_io->updates_size; ++i) {
-               if (predicate (&threadpool_io->updates [i], user_data)) {
-                       if (i < threadpool_io->updates_size - 1)
-                               memmove (threadpool_io->updates + i, threadpool_io->updates + i + 1, sizeof (ThreadPoolIOUpdate) * threadpool_io->updates_size - i - 1);
-                       memset (threadpool_io->updates + threadpool_io->updates_size - 1, 0, sizeof (ThreadPoolIOUpdate));
+       for (current = list; current; current = mono_mlist_next (current))
+               operations |= ((MonoIOSelectorJob*) mono_mlist_get_data (current))->operation;
 
-                       threadpool_io->updates_size --;
-                       i --;
-               }
-       }
-
-       mono_mutex_unlock (&threadpool_io->lock);
+       return operations;
 }
 
 static void
@@ -319,9 +194,115 @@ selector_thread_wakeup_drain_pipes (void)
        }
 }
 
+typedef struct {
+       MonoDomain *domain;
+       MonoGHashTable *states;
+} FilterSockaresForDomainData;
+
+static void
+filter_jobs_for_domain (gpointer key, gpointer value, gpointer user_data)
+{
+       FilterSockaresForDomainData *data;
+       MonoMList *list = value, *element;
+       MonoDomain *domain;
+       MonoGHashTable *states;
+
+       g_assert (user_data);
+       data = user_data;
+       domain = data->domain;
+       states = data->states;
+
+       for (element = list; element; element = mono_mlist_next (element)) {
+               MonoIOSelectorJob *job = (MonoIOSelectorJob*) mono_mlist_get_data (element);
+               if (mono_object_domain (job) == domain)
+                       mono_mlist_set_data (element, NULL);
+       }
+
+       /* we skip all the first elements which are NULL */
+       for (; list; list = mono_mlist_next (list)) {
+               if (mono_mlist_get_data (list))
+                       break;
+       }
+
+       if (list) {
+               g_assert (mono_mlist_get_data (list));
+
+               /* we delete all the NULL elements after the first one */
+               for (element = list; element;) {
+                       MonoMList *next;
+                       if (!(next = mono_mlist_next (element)))
+                               break;
+                       if (mono_mlist_get_data (next))
+                               element = next;
+                       else
+                               mono_mlist_set_next (element, mono_mlist_next (next));
+               }
+       }
+
+       mono_g_hash_table_replace (states, key, list);
+}
+
+static void
+wait_callback (gint fd, gint events, gpointer user_data)
+{
+       if (mono_runtime_is_shutting_down ())
+               return;
+
+       if (fd == threadpool_io->wakeup_pipes [0]) {
+               mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: wke");
+               selector_thread_wakeup_drain_pipes ();
+       } else {
+               MonoGHashTable *states;
+               MonoMList *list = NULL;
+               gpointer k;
+               gboolean remove_fd = FALSE;
+               gint operations;
+
+               g_assert (user_data);
+               states = user_data;
+
+               mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: cal fd %3d, events = %2s | %2s | %3s",
+                       fd, (events & EVENT_IN) ? "RD" : "..", (events & EVENT_OUT) ? "WR" : "..", (events & EVENT_ERR) ? "ERR" : "...");
+
+               if (!mono_g_hash_table_lookup_extended (states, GINT_TO_POINTER (fd), &k, (gpointer*) &list))
+                       g_error ("wait_callback: fd %d not found in states table", fd);
+
+               if (list && (events & EVENT_IN) != 0) {
+                       MonoIOSelectorJob *job = get_job_for_event (&list, EVENT_IN);
+                       if (job)
+                               mono_threadpool_ms_enqueue_work_item (((MonoObject*) job)->vtable->domain, (MonoObject*) job);
+               }
+               if (list && (events & EVENT_OUT) != 0) {
+                       MonoIOSelectorJob *job = get_job_for_event (&list, EVENT_OUT);
+                       if (job)
+                               mono_threadpool_ms_enqueue_work_item (((MonoObject*) job)->vtable->domain, (MonoObject*) job);
+               }
+
+               remove_fd = (events & EVENT_ERR) == EVENT_ERR;
+               if (!remove_fd) {
+                       mono_g_hash_table_replace (states, GINT_TO_POINTER (fd), list);
+
+                       operations = get_operations_for_jobs (list);
+
+                       mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: res fd %3d, events = %2s | %2s | %2s",
+                               fd, (operations & EVENT_IN) ? "RD" : "..", (operations & EVENT_OUT) ? "WR" : "..");
+
+                       threadpool_io->backend.register_fd (fd, operations, FALSE);
+               } else {
+                       mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: err fd %d", fd);
+
+                       mono_g_hash_table_remove (states, GINT_TO_POINTER (fd));
+
+                       threadpool_io->backend.remove_fd (fd);
+               }
+       }
+}
+
 static void
 selector_thread (gpointer data)
 {
+       MonoGHashTable *states;
+
        io_selector_running = TRUE;
 
        if (mono_runtime_is_shutting_down ()) {
@@ -329,73 +310,138 @@ selector_thread (gpointer data)
                return;
        }
 
-       mono_mutex_lock (&threadpool_io->lock);
+       states = mono_g_hash_table_new_type (g_direct_hash, g_direct_equal, MONO_HASH_VALUE_GC, MONO_ROOT_SOURCE_THREAD_POOL, "i/o thread pool states table");
 
        for (;;) {
-               guint i;
-               guint max;
-               gint ready = 0;
-
-               update_drain (threadpool_io->backend.register_fd);
+               gint i, j;
+               gint res;
 
-               mono_mutex_unlock (&threadpool_io->lock);
+               mono_mutex_lock (&threadpool_io->updates_lock);
 
-               mono_gc_set_skip_thread (TRUE);
+               for (i = 0; i < threadpool_io->updates_size; ++i) {
+                       ThreadPoolIOUpdate *update = &threadpool_io->updates [i];
 
-               ready = threadpool_io->backend.event_wait ();
+                       switch (update->type) {
+                       case UPDATE_EMPTY:
+                               break;
+                       case UPDATE_ADD: {
+                               gint fd;
+                               gint operations;
+                               gpointer k;
+                               gboolean exists;
+                               MonoMList *list = NULL;
+                               MonoIOSelectorJob *job;
 
-               mono_gc_set_skip_thread (FALSE);
+                               fd = update->data.add.fd;
+                               g_assert (fd >= 0);
 
-               mono_mutex_lock (&threadpool_io->lock);
+                               job = update->data.add.job;
+                               g_assert (job);
 
-               if (ready == -1 || mono_runtime_is_shutting_down ())
-                       break;
+                               exists = mono_g_hash_table_lookup_extended (states, GINT_TO_POINTER (fd), &k, (gpointer*) &list);
+                               list = mono_mlist_append (list, (MonoObject*) job);
+                               mono_g_hash_table_replace (states, GINT_TO_POINTER (fd), list);
 
-               max = threadpool_io->backend.event_get_fd_max ();
+                               operations = get_operations_for_jobs (list);
 
-               for (i = 0; i < max && ready > 0; ++i) {
-                       gint events;
-                       gint fd = threadpool_io->backend.event_get_fd_at (i, &events);
+                               mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: %3s fd %3d, operations = %2s | %2s | %2s",
+                                       exists ? "mod" : "add", fd, (operations & EVENT_IN) ? "RD" : "..", (operations & EVENT_OUT) ? "WR" : "..");
 
-                       if (fd == -1)
-                               continue;
+                               threadpool_io->backend.register_fd (fd, operations, !exists);
 
-                       if (fd == threadpool_io->wakeup_pipes [0]) {
-                               selector_thread_wakeup_drain_pipes ();
-                       } else {
-                               MonoMList *list = NULL;
+                               break;
+                       }
+                       case UPDATE_REMOVE_SOCKET: {
+                               gint fd;
                                gpointer k;
+                               MonoMList *list = NULL;
 
-                               if (mono_g_hash_table_lookup_extended (threadpool_io->states, GINT_TO_POINTER (fd), &k, (gpointer*) &list)) {
-                                       if (list && (events & MONO_POLLIN) != 0) {
-                                               MonoSocketAsyncResult *sockares = get_sockares_for_event (&list, MONO_POLLIN);
-                                               if (sockares)
-                                                       mono_threadpool_ms_enqueue_work_item (((MonoObject*) sockares)->vtable->domain, (MonoObject*) sockares);
-                                       }
-                                       if (list && (events & MONO_POLLOUT) != 0) {
-                                               MonoSocketAsyncResult *sockares = get_sockares_for_event (&list, MONO_POLLOUT);
-                                               if (sockares)
-                                                       mono_threadpool_ms_enqueue_work_item (((MonoObject*) sockares)->vtable->domain, (MonoObject*) sockares);
+                               fd = update->data.remove_socket.fd;
+                               g_assert (fd >= 0);
+
+                               if (mono_g_hash_table_lookup_extended (states, GINT_TO_POINTER (fd), &k, (gpointer*) &list)) {
+                                       mono_g_hash_table_remove (states, GINT_TO_POINTER (fd));
+
+                                       for (j = i + 1; j < threadpool_io->updates_size; ++j) {
+                                               ThreadPoolIOUpdate *update = &threadpool_io->updates [j];
+                                               if (update->type == UPDATE_ADD && update->data.add.fd == fd)
+                                                       memset (update, 0, sizeof (ThreadPoolIOUpdate));
                                        }
 
-                                       if (!list)
-                                               mono_g_hash_table_remove (threadpool_io->states, GINT_TO_POINTER (fd));
-                                       else
-                                               mono_g_hash_table_replace (threadpool_io->states, GINT_TO_POINTER (fd), list);
+                                       for (; list; list = mono_mlist_remove_item (list, list))
+                                               mono_threadpool_ms_enqueue_work_item (mono_object_domain (mono_mlist_get_data (list)), mono_mlist_get_data (list));
+
+                                       mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: del fd %3d", fd);
+                                       threadpool_io->backend.remove_fd (fd);
+                               }
+
+                               break;
+                       }
+                       case UPDATE_REMOVE_DOMAIN: {
+                               MonoDomain *domain;
+
+                               domain = update->data.remove_domain.domain;
+                               g_assert (domain);
+
+                               FilterSockaresForDomainData user_data = { .domain = domain, .states = states };
+                               mono_g_hash_table_foreach (states, filter_jobs_for_domain, &user_data);
 
-                                       threadpool_io->backend.register_fd (fd, get_events (list), FALSE);
+                               for (j = i + 1; j < threadpool_io->updates_size; ++j) {
+                                       ThreadPoolIOUpdate *update = &threadpool_io->updates [j];
+                                       if (update->type == UPDATE_ADD && mono_object_domain (update->data.add.job) == domain)
+                                               memset (update, 0, sizeof (ThreadPoolIOUpdate));
                                }
+
+                               break;
+                       }
+                       default:
+                               g_assert_not_reached ();
                        }
+               }
+
+               mono_cond_broadcast (&threadpool_io->updates_cond);
 
-                       ready -= 1;
+               if (threadpool_io->updates_size > 0) {
+                       threadpool_io->updates_size = 0;
+                       memset (&threadpool_io->updates, 0, UPDATES_CAPACITY * sizeof (ThreadPoolIOUpdate));
                }
+
+               mono_mutex_unlock (&threadpool_io->updates_lock);
+
+               mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: wai");
+
+               res = threadpool_io->backend.event_wait (wait_callback, states);
+
+               if (res == -1 || mono_runtime_is_shutting_down ())
+                       break;
        }
 
-       mono_mutex_unlock (&threadpool_io->lock);
+       mono_g_hash_table_destroy (states);
 
        io_selector_running = FALSE;
 }
 
+/* Locking: threadpool_io->updates_lock must be held */
+static ThreadPoolIOUpdate*
+update_get_new (void)
+{
+       ThreadPoolIOUpdate *update = NULL;
+       g_assert (threadpool_io->updates_size <= UPDATES_CAPACITY);
+
+       while (threadpool_io->updates_size == UPDATES_CAPACITY) {
+               /* we wait for updates to be applied in the selector_thread and we loop
+                * as long as none are available. if it happends too much, then we need
+                * to increase UPDATES_CAPACITY */
+               mono_cond_wait (&threadpool_io->updates_cond, &threadpool_io->updates_lock);
+       }
+
+       g_assert (threadpool_io->updates_size < UPDATES_CAPACITY);
+
+       update = &threadpool_io->updates [threadpool_io->updates_size ++];
+
+       return update;
+}
+
 static void
 wakeup_pipes_init (void)
 {
@@ -460,26 +506,20 @@ initialize (void)
        threadpool_io = g_new0 (ThreadPoolIO, 1);
        g_assert (threadpool_io);
 
-       mono_mutex_init_recursive (&threadpool_io->lock);
-
-       mono_cond_init (&threadpool_io->updates_signal, NULL);
-
-       threadpool_io->states = mono_g_hash_table_new_type (g_direct_hash, g_direct_equal, MONO_HASH_VALUE_GC);
-       MONO_GC_REGISTER_ROOT_FIXED (threadpool_io->states);
+       mono_mutex_init_recursive (&threadpool_io->updates_lock);
+       mono_cond_init (&threadpool_io->updates_cond, 0);
+       mono_gc_register_root ((void*)&threadpool_io->updates [0], sizeof (threadpool_io->updates), MONO_GC_DESCRIPTOR_NULL, MONO_ROOT_SOURCE_THREAD_POOL, "i/o thread pool updates list");
 
-       threadpool_io->updates = NULL;
        threadpool_io->updates_size = 0;
-       threadpool_io->updates_capacity = 0;
 
+       threadpool_io->backend = backend_poll;
+       if (g_getenv ("MONO_ENABLE_AIO") != NULL) {
 #if defined(HAVE_EPOLL)
-       threadpool_io->backend = backend_epoll;
+               threadpool_io->backend = backend_epoll;
 #elif defined(HAVE_KQUEUE)
-       threadpool_io->backend = backend_kqueue;
-#else
-       threadpool_io->backend = backend_poll;
+               threadpool_io->backend = backend_kqueue;
 #endif
-       if (g_getenv ("MONO_DISABLE_AIO") != NULL)
-               threadpool_io->backend = backend_poll;
+       }
 
        wakeup_pipes_init ();
 
@@ -501,15 +541,8 @@ cleanup (void)
        while (io_selector_running)
                g_usleep (1000);
 
-       mono_mutex_destroy (&threadpool_io->lock);
-
-       mono_cond_destroy (&threadpool_io->updates_signal);
-
-       MONO_GC_UNREGISTER_ROOT (threadpool_io->states);
-       mono_g_hash_table_destroy (threadpool_io->states);
-
-       if (threadpool_io->updates)
-               mono_gc_free_fixed (threadpool_io->updates);
+       mono_mutex_destroy (&threadpool_io->updates_lock);
+       mono_cond_destroy (&threadpool_io->updates_cond);
 
        threadpool_io->backend.cleanup ();
 
@@ -527,212 +560,120 @@ cleanup (void)
        g_assert (!threadpool_io);
 }
 
-static gboolean
-is_socket_async_callback (MonoImage *system_image, MonoClass *class)
-{
-       MonoClass *socket_async_callback_class = NULL;
-
-       socket_async_callback_class = mono_class_from_name (system_image, "System.Net.Sockets", "SocketAsyncCallback");
-       g_assert (socket_async_callback_class);
-
-       return class == socket_async_callback_class;
-}
-
-static gboolean
-is_async_read_handler (MonoImage *system_image, MonoClass *class)
-{
-       MonoClass *async_read_handler_class = NULL;
-
-       async_read_handler_class = mono_class_from_name (system_image, "System.Diagnostics", "Process/AsyncReadHandler");
-       g_assert (async_read_handler_class);
-
-       return class == async_read_handler_class;
-}
-
-gboolean
-mono_threadpool_ms_is_io (MonoObject *target, MonoObject *state)
-{
-       MonoImage *system_image;
-       MonoSocketAsyncResult *sockares;
-
-       system_image = mono_image_loaded ("System");
-       if (!system_image)
-               return FALSE;
-
-       if (!is_socket_async_callback (system_image, target->vtable->klass) && !is_async_read_handler (system_image, target->vtable->klass))
-               return FALSE;
-
-       sockares = (MonoSocketAsyncResult*) state;
-       if (sockares->operation < AIO_OP_FIRST || sockares->operation >= AIO_OP_LAST)
-               return FALSE;
-
-       return TRUE;
-}
-
 void
 mono_threadpool_ms_io_cleanup (void)
 {
        mono_lazy_cleanup (&io_status, cleanup);
 }
 
-MonoAsyncResult *
-mono_threadpool_ms_io_add (MonoAsyncResult *ares, MonoSocketAsyncResult *sockares)
+void
+ves_icall_System_IOSelector_Add (gpointer handle, MonoIOSelectorJob *job)
 {
-       g_assert (ares);
-       g_assert (sockares);
+       ThreadPoolIOUpdate *update;
+
+       g_assert (handle >= 0);
+
+       g_assert (job->operation == EVENT_IN ^ job->operation == EVENT_OUT);
+       g_assert (job->callback);
 
        if (mono_runtime_is_shutting_down ())
-               return NULL;
+               return;
+       if (mono_domain_is_unloading (mono_object_domain (job)))
+               return;
 
        mono_lazy_initialize (&io_status, initialize);
 
-       MONO_OBJECT_SETREF (sockares, ares, ares);
+       mono_mutex_lock (&threadpool_io->updates_lock);
+
+       update = update_get_new ();
+       update->type = UPDATE_ADD;
+       update->data.add.fd = GPOINTER_TO_INT (handle);
+       update->data.add.job = job;
+       mono_memory_barrier (); /* Ensure this is safely published before we wake up the selector */
 
-       update_add (GPOINTER_TO_INT (sockares->handle), sockares);
+       selector_thread_wakeup ();
 
-       return ares;
+       mono_mutex_unlock (&threadpool_io->updates_lock);
 }
 
-static gboolean
-remove_update_for_socket (ThreadPoolIOUpdate *update, gpointer user_data)
+void
+ves_icall_System_IOSelector_Remove (gpointer handle)
 {
-       if (!update->sockares)
-               return FALSE;
-
-       return GPOINTER_TO_INT (update->sockares->handle) == GPOINTER_TO_INT (user_data);
+       mono_threadpool_ms_io_remove_socket (GPOINTER_TO_INT (handle));
 }
 
 void
 mono_threadpool_ms_io_remove_socket (int fd)
 {
-       MonoMList *list = NULL;
-       gpointer k;
+       ThreadPoolIOUpdate *update;
 
        if (!mono_lazy_is_initialized (&io_status))
                return;
 
-       mono_mutex_lock (&threadpool_io->lock);
-
-       g_assert (threadpool_io->states);
-
-       if (mono_g_hash_table_lookup_extended (threadpool_io->states, GINT_TO_POINTER (fd), &k, (gpointer*) &list))
-               mono_g_hash_table_remove (threadpool_io->states, GINT_TO_POINTER (fd));
-
-       update_remove (remove_update_for_socket, GINT_TO_POINTER (fd));
-
-       mono_mutex_unlock (&threadpool_io->lock);
-
-       for (; list; list = mono_mlist_remove_item (list, list)) {
-               MonoSocketAsyncResult *sockares = (MonoSocketAsyncResult*) mono_mlist_get_data (list);
-
-               if (!sockares)
-                       continue;
-
-               switch (sockares->operation) {
-               case AIO_OP_RECEIVE:
-                       sockares->operation = AIO_OP_RECV_JUST_CALLBACK;
-                       break;
-               case AIO_OP_SEND:
-                       sockares->operation = AIO_OP_SEND_JUST_CALLBACK;
-                       break;
-               }
-
-               mono_threadpool_ms_enqueue_work_item (((MonoObject*) sockares)->vtable->domain, (MonoObject*) sockares);
-       }
-
-       update_add (fd, NULL);
-}
+       mono_mutex_lock (&threadpool_io->updates_lock);
 
-static gboolean
-remove_sockstate_for_domain (gpointer key, gpointer value, gpointer user_data)
-{
-       MonoMList *list;
-       gboolean remove = FALSE;
-
-       for (list = value; list; list = mono_mlist_next (list)) {
-               MonoObject *data = mono_mlist_get_data (list);
-               if (mono_object_domain (data) == user_data) {
-                       remove = TRUE;
-                       mono_mlist_set_data (list, NULL);
-               }
-       }
+       update = update_get_new ();
+       update->type = UPDATE_REMOVE_SOCKET;
+       update->data.add.fd = fd;
+       mono_memory_barrier (); /* Ensure this is safely published before we wake up the selector */
 
-       //FIXME is there some sort of additional unregistration we need to perform here?
-       return remove;
-}
+       selector_thread_wakeup ();
 
-static gboolean
-remove_update_for_domain (ThreadPoolIOUpdate *update, gpointer user_data)
-{
-       if (!update->sockares)
-               return FALSE;
+       mono_cond_wait (&threadpool_io->updates_cond, &threadpool_io->updates_lock);
 
-       return mono_object_domain (update->sockares) == (MonoDomain*) user_data;
+       mono_mutex_unlock (&threadpool_io->updates_lock);
 }
 
 void
 mono_threadpool_ms_io_remove_domain_jobs (MonoDomain *domain)
 {
+       ThreadPoolIOUpdate *update;
+
        if (!mono_lazy_is_initialized (&io_status))
                return;
 
-       mono_mutex_lock (&threadpool_io->lock);
-
-       mono_g_hash_table_foreach_remove (threadpool_io->states, remove_sockstate_for_domain, domain);
-
-       update_remove (remove_update_for_domain, domain);
+       mono_mutex_lock (&threadpool_io->updates_lock);
 
-       mono_mutex_unlock (&threadpool_io->lock);
-}
+       update = update_get_new ();
+       update->type = UPDATE_REMOVE_DOMAIN;
+       update->data.remove_domain.domain = domain;
+       mono_memory_barrier (); /* Ensure this is safely published before we wake up the selector */
 
-void
-icall_append_io_job (MonoObject *target, MonoSocketAsyncResult *state)
-{
-       MonoAsyncResult *ares;
+       selector_thread_wakeup ();
 
-       /* Don't call mono_async_result_new() to avoid capturing the context */
-       ares = (MonoAsyncResult *) mono_object_new (mono_domain_get (), mono_defaults.asyncresult_class);
-       MONO_OBJECT_SETREF (ares, async_delegate, target);
-       MONO_OBJECT_SETREF (ares, async_state, state);
+       mono_cond_wait (&threadpool_io->updates_cond, &threadpool_io->updates_lock);
 
-       mono_threadpool_ms_io_add (ares, state);
-       return;
+       mono_mutex_unlock (&threadpool_io->updates_lock);
 }
 
 #else
 
-gboolean
-mono_threadpool_ms_is_io (MonoObject *target, MonoObject *state)
-{
-       return FALSE;
-}
-
 void
-mono_threadpool_ms_io_cleanup (void)
+ves_icall_System_IOSelector_Add (gpointer handle, MonoIOSelectorJob *job)
 {
        g_assert_not_reached ();
 }
 
-MonoAsyncResult *
-mono_threadpool_ms_io_add (MonoAsyncResult *ares, MonoSocketAsyncResult *sockares)
+void
+ves_icall_System_IOSelector_Remove (gpointer handle)
 {
        g_assert_not_reached ();
 }
 
 void
-mono_threadpool_ms_io_remove_socket (int fd)
+mono_threadpool_ms_io_cleanup (void)
 {
        g_assert_not_reached ();
 }
 
 void
-mono_threadpool_ms_io_remove_domain_jobs (MonoDomain *domain)
+mono_threadpool_ms_io_remove_socket (int fd)
 {
        g_assert_not_reached ();
 }
 
 void
-icall_append_io_job (MonoObject *target, MonoSocketAsyncResult *state)
+mono_threadpool_ms_io_remove_domain_jobs (MonoDomain *domain)
 {
        g_assert_not_reached ();
 }
index 4a73e0ee6883b43f063b5b8d78cda529d23ed0bd..106be80a1daee33b08524758538d6021b2c4df29 100644 (file)
@@ -7,11 +7,14 @@
 #include <mono/metadata/object-internals.h>
 #include <mono/metadata/socket-io.h>
 
-gboolean
-mono_threadpool_ms_is_io (MonoObject *target, MonoObject *state);
+typedef struct _MonoIOSelectorJob MonoIOSelectorJob;
+
+void
+ves_icall_System_IOSelector_Add (gpointer handle, MonoIOSelectorJob *job);
+
+void
+ves_icall_System_IOSelector_Remove (gpointer handle);
 
-MonoAsyncResult *
-mono_threadpool_ms_io_add (MonoAsyncResult *ares, MonoSocketAsyncResult *sockares);
 void
 mono_threadpool_ms_io_remove_socket (int fd);
 void
@@ -19,7 +22,4 @@ mono_threadpool_ms_io_remove_domain_jobs (MonoDomain *domain);
 void
 mono_threadpool_ms_io_cleanup (void);
 
-void
-icall_append_io_job (MonoObject *target, MonoSocketAsyncResult *state);
-
 #endif /* _MONO_THREADPOOL_MS_IO_H_ */
index c1eb63b2d15529300d08faa91d79f246ff556d56..05c88bea0d4ae55b13e2a5979db1f2387e7fba28 100644 (file)
@@ -87,7 +87,6 @@ typedef struct {
 } ThreadPoolDomain;
 
 typedef MonoInternalThread ThreadPoolWorkingThread;
-typedef mono_cond_t ThreadPoolParkedThread;
 
 typedef struct {
        gint32 wave_period;
@@ -129,7 +128,8 @@ typedef struct {
        mono_mutex_t domains_lock;
 
        GPtrArray *working_threads; // ThreadPoolWorkingThread* []
-       GPtrArray *parked_threads; // ThreadPoolParkedThread* []
+       gint32 parked_threads_count;
+       mono_cond_t parked_threads_cond;
        mono_mutex_t active_threads_lock; /* protect access to working_threads and parked_threads */
 
        gint32 heuristic_completions;
@@ -250,9 +250,10 @@ initialize (void)
        threadpool->domains = g_ptr_array_new ();
        mono_mutex_init_recursive (&threadpool->domains_lock);
 
-       threadpool->parked_threads = g_ptr_array_new ();
+       threadpool->parked_threads_count = 0;
+       mono_cond_init (&threadpool->parked_threads_cond, NULL);
        threadpool->working_threads = g_ptr_array_new ();
-       mono_mutex_init (&threadpool->active_threads_lock);
+       mono_mutex_init_recursive (&threadpool->active_threads_lock);
 
        threadpool->heuristic_adjustment_interval = 10;
        mono_mutex_init (&threadpool->heuristic_lock);
@@ -303,7 +304,6 @@ initialize (void)
        threadpool->suspended = FALSE;
 }
 
-static void worker_unpark (ThreadPoolParkedThread *thread);
 static void worker_kill (ThreadPoolWorkingThread *thread);
 
 static void
@@ -315,18 +315,21 @@ cleanup (void)
         * cleaning up only if the runtime is shutting down */
        g_assert (mono_runtime_is_shutting_down ());
 
+       MONO_PREPARE_BLOCKING;
        while (monitor_status != MONITOR_STATUS_NOT_RUNNING)
                g_usleep (1000);
+       MONO_FINISH_BLOCKING;
 
+       MONO_PREPARE_BLOCKING;
        mono_mutex_lock (&threadpool->active_threads_lock);
+       MONO_FINISH_BLOCKING;
 
        /* stop all threadpool->working_threads */
        for (i = 0; i < threadpool->working_threads->len; ++i)
                worker_kill ((ThreadPoolWorkingThread*) g_ptr_array_index (threadpool->working_threads, i));
 
        /* unpark all threadpool->parked_threads */
-       for (i = 0; i < threadpool->parked_threads->len; ++i)
-               worker_unpark ((ThreadPoolParkedThread*) g_ptr_array_index (threadpool->parked_threads, i));
+       mono_cond_broadcast (&threadpool->parked_threads_cond);
 
        mono_mutex_unlock (&threadpool->active_threads_lock);
 }
@@ -481,66 +484,90 @@ domain_get_next (ThreadPoolDomain *current)
 }
 
 static void
+worker_wait_interrupt (gpointer data)
+{
+       mono_mutex_lock (&threadpool->active_threads_lock);
+       mono_cond_signal (&threadpool->parked_threads_cond);
+       mono_mutex_unlock (&threadpool->active_threads_lock);
+}
+
+/* return TRUE if timeout, FALSE otherwise (worker unpark or interrupt) */
+static gboolean
 worker_park (void)
 {
-       mono_cond_t cond;
-       MonoInternalThread *thread = mono_thread_internal_current ();
+       gboolean timeout = FALSE;
 
        mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_THREADPOOL, "[%p] current worker parking", GetCurrentThreadId ());
 
-       mono_cond_init (&cond, NULL);
-
        mono_gc_set_skip_thread (TRUE);
 
+       MONO_PREPARE_BLOCKING;
+
        mono_mutex_lock (&threadpool->active_threads_lock);
 
        if (!mono_runtime_is_shutting_down ()) {
-               g_ptr_array_add (threadpool->parked_threads, &cond);
-               g_ptr_array_remove_fast (threadpool->working_threads, thread);
+               static gpointer rand_handle = NULL;
+               MonoInternalThread *thread_internal;
+               gboolean interrupted = FALSE;
+
+               if (!rand_handle)
+                       rand_handle = rand_create ();
+               g_assert (rand_handle);
+
+               thread_internal = mono_thread_internal_current ();
+               g_assert (thread_internal);
+
+               threadpool->parked_threads_count += 1;
+               g_ptr_array_remove_fast (threadpool->working_threads, thread_internal);
 
-               mono_cond_wait (&cond, &threadpool->active_threads_lock);
+               mono_thread_info_install_interrupt (worker_wait_interrupt, NULL, &interrupted);
+               if (interrupted)
+                       goto done;
 
-               g_ptr_array_add (threadpool->working_threads, thread);
-               g_ptr_array_remove (threadpool->parked_threads, &cond);
+               if (mono_cond_timedwait_ms (&threadpool->parked_threads_cond, &threadpool->active_threads_lock, rand_next (rand_handle, 5 * 1000, 60 * 1000)) != 0)
+                       timeout = TRUE;
+
+               mono_thread_info_uninstall_interrupt (&interrupted);
+
+done:
+               g_ptr_array_add (threadpool->working_threads, thread_internal);
+               threadpool->parked_threads_count -= 1;
        }
 
        mono_mutex_unlock (&threadpool->active_threads_lock);
 
+       MONO_FINISH_BLOCKING;
+
        mono_gc_set_skip_thread (FALSE);
 
-       mono_cond_destroy (&cond);
+       mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_THREADPOOL, "[%p] current worker unparking, timeout? %s", GetCurrentThreadId (), timeout ? "yes" : "no");
 
-       mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_THREADPOOL, "[%p] current worker unparking", GetCurrentThreadId ());
+       return timeout;
 }
 
 static gboolean
 worker_try_unpark (void)
 {
        gboolean res = FALSE;
-       guint len;
 
        mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_THREADPOOL, "[%p] try unpark worker", GetCurrentThreadId ());
 
+       MONO_PREPARE_BLOCKING;
+
        mono_mutex_lock (&threadpool->active_threads_lock);
-       len = threadpool->parked_threads->len;
-       if (len > 0) {
-               mono_cond_t *cond = (mono_cond_t*) g_ptr_array_index (threadpool->parked_threads, len - 1);
-               mono_cond_signal (cond);
+       if (threadpool->parked_threads_count > 0) {
+               mono_cond_signal (&threadpool->parked_threads_cond);
                res = TRUE;
        }
        mono_mutex_unlock (&threadpool->active_threads_lock);
 
+       MONO_FINISH_BLOCKING;
+
        mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_THREADPOOL, "[%p] try unpark worker, success? %s", GetCurrentThreadId (), res ? "yes" : "no");
 
        return res;
 }
 
-static void
-worker_unpark (ThreadPoolParkedThread *thread)
-{
-       mono_cond_signal ((mono_cond_t*) thread);
-}
-
 static void
 worker_kill (ThreadPoolWorkingThread *thread)
 {
@@ -567,9 +594,11 @@ worker_thread (gpointer data)
 
        mono_thread_set_name_internal (thread, mono_string_new (mono_domain_get (), "Threadpool worker"), FALSE);
 
+       MONO_PREPARE_BLOCKING;
        mono_mutex_lock (&threadpool->active_threads_lock);
        g_ptr_array_add (threadpool->working_threads, thread);
        mono_mutex_unlock (&threadpool->active_threads_lock);
+       MONO_FINISH_BLOCKING;
 
        previous_tpdomain = NULL;
 
@@ -585,13 +614,15 @@ worker_thread (gpointer data)
                }
 
                if (retire || !(tpdomain = domain_get_next (previous_tpdomain))) {
+                       gboolean timeout;
+
                        COUNTER_ATOMIC (counter, {
                                counter._.working --;
                                counter._.parked ++;
                        });
 
                        mono_mutex_unlock (&threadpool->domains_lock);
-                       worker_park ();
+                       timeout = worker_park ();
                        mono_mutex_lock (&threadpool->domains_lock);
 
                        COUNTER_ATOMIC (counter, {
@@ -599,6 +630,9 @@ worker_thread (gpointer data)
                                counter._.parked --;
                        });
 
+                       if (timeout)
+                               break;
+
                        if (retire)
                                retire = FALSE;
 
@@ -653,9 +687,11 @@ worker_thread (gpointer data)
 
        mono_mutex_unlock (&threadpool->domains_lock);
 
+       MONO_PREPARE_BLOCKING;
        mono_mutex_lock (&threadpool->active_threads_lock);
        g_ptr_array_remove_fast (threadpool->working_threads, thread);
        mono_mutex_unlock (&threadpool->active_threads_lock);
+       MONO_FINISH_BLOCKING;
 
        COUNTER_ATOMIC (counter, {
                counter._.working--;
@@ -848,6 +884,7 @@ monitor_thread (void)
                if (mono_runtime_is_shutting_down () || !domain_any_has_request ())
                        continue;
 
+               MONO_PREPARE_BLOCKING;
                mono_mutex_lock (&threadpool->active_threads_lock);
                for (i = 0; i < threadpool->working_threads->len; ++i) {
                        thread = g_ptr_array_index (threadpool->working_threads, i);
@@ -857,6 +894,7 @@ monitor_thread (void)
                        }
                }
                mono_mutex_unlock (&threadpool->active_threads_lock);
+               MONO_FINISH_BLOCKING;
 
                if (all_waitsleepjoin) {
                        ThreadPoolCounter counter;
@@ -1274,11 +1312,6 @@ mono_threadpool_ms_begin_invoke (MonoDomain *domain, MonoObject *target, MonoMet
        async_result = mono_async_result_new (domain, NULL, async_call->state, NULL, (MonoObject*) async_call);
        MONO_OBJECT_SETREF (async_result, async_delegate, target);
 
-#ifndef DISABLE_SOCKETS
-       if (mono_threadpool_ms_is_io (target, state))
-               return mono_threadpool_ms_io_add (async_result, (MonoSocketAsyncResult*) state);
-#endif
-
        mono_threadpool_ms_enqueue_work_item (domain, (MonoObject*) async_result);
 
        return async_result;
@@ -1304,7 +1337,7 @@ mono_threadpool_ms_end_invoke (MonoAsyncResult *ares, MonoArray **out_args, Mono
                return NULL;
        }
 
-       MONO_OBJECT_SETREF (ares, endinvoke_called, 1);
+       ares->endinvoke_called = 1;
 
        /* wait until we are really finished */
        if (ares->completed) {
@@ -1319,9 +1352,9 @@ mono_threadpool_ms_end_invoke (MonoAsyncResult *ares, MonoArray **out_args, Mono
                        MONO_OBJECT_SETREF (ares, handle, (MonoObject*) mono_wait_handle_new (mono_object_domain (ares), wait_event));
                }
                mono_monitor_exit ((MonoObject*) ares);
-               MONO_PREPARE_BLOCKING
+               MONO_PREPARE_BLOCKING;
                WaitForSingleObjectEx (wait_event, INFINITE, TRUE);
-               MONO_FINISH_BLOCKING
+               MONO_FINISH_BLOCKING;
        }
 
        ac = (MonoAsyncCall*) ares->object_data;
@@ -1370,9 +1403,9 @@ mono_threadpool_ms_remove_domain_jobs (MonoDomain *domain, int timeout)
        mono_memory_write_barrier ();
 
        while (domain->threadpool_jobs) {
-               MONO_PREPARE_BLOCKING
+               MONO_PREPARE_BLOCKING;
                WaitForSingleObject (sem, timeout);
-               MONO_FINISH_BLOCKING
+               MONO_FINISH_BLOCKING;
                if (timeout != -1) {
                        timeout -= mono_msec_ticks () - start;
                        if (timeout <= 0) {
index 0b469b1795dda6a69f0924d6701ea621987b73a2..5ffafe61b78e1c8eb1d04385ce7f2ebbb2fc55ee 100644 (file)
@@ -72,13 +72,13 @@ void ves_icall_System_Threading_Thread_ConstructInternalThread (MonoThread *this
 HANDLE ves_icall_System_Threading_Thread_Thread_internal(MonoThread *this_obj, MonoObject *start);
 void ves_icall_System_Threading_InternalThread_Thread_free_internal(MonoInternalThread *this_obj, HANDLE thread);
 void ves_icall_System_Threading_Thread_Sleep_internal(gint32 ms);
-gboolean ves_icall_System_Threading_Thread_Join_internal(MonoThread *this, int ms);
+gboolean ves_icall_System_Threading_Thread_Join_internal(MonoThread *this_obj, int ms);
 gint32 ves_icall_System_Threading_Thread_GetDomainID (void);
 gboolean ves_icall_System_Threading_Thread_Yield (void);
 MonoString* ves_icall_System_Threading_Thread_GetName_internal (MonoInternalThread *this_obj);
 void ves_icall_System_Threading_Thread_SetName_internal (MonoInternalThread *this_obj, MonoString *name);
-int ves_icall_System_Threading_Thread_GetPriority (MonoThread *this);
-void ves_icall_System_Threading_Thread_SetPriority (MonoThread *this, int priority);
+int ves_icall_System_Threading_Thread_GetPriority (MonoThread *this_obj);
+void ves_icall_System_Threading_Thread_SetPriority (MonoThread *this_obj, int priority);
 MonoObject* ves_icall_System_Threading_Thread_GetCachedCurrentCulture (MonoInternalThread *this_obj);
 void ves_icall_System_Threading_Thread_SetCachedCurrentCulture (MonoThread *this_obj, MonoObject *culture);
 MonoObject* ves_icall_System_Threading_Thread_GetCachedCurrentUICulture (MonoInternalThread *this_obj);
@@ -136,9 +136,9 @@ gint32 ves_icall_System_Threading_Interlocked_Decrement_Int(gint32 *location);
 gint64 ves_icall_System_Threading_Interlocked_Decrement_Long(gint64 * location);
 
 void ves_icall_System_Threading_Thread_Abort (MonoInternalThread *thread, MonoObject *state);
-void ves_icall_System_Threading_Thread_ResetAbort (MonoThread *this);
+void ves_icall_System_Threading_Thread_ResetAbort (MonoThread *this_obj);
 MonoObject* ves_icall_System_Threading_Thread_GetAbortExceptionState (MonoThread *thread);
-void ves_icall_System_Threading_Thread_Suspend (MonoThread *this);
+void ves_icall_System_Threading_Thread_Suspend (MonoThread *this_obj);
 void ves_icall_System_Threading_Thread_Resume (MonoThread *thread);
 void ves_icall_System_Threading_Thread_ClrState (MonoInternalThread *thread, guint32 state);
 void ves_icall_System_Threading_Thread_SetState (MonoInternalThread *thread, guint32 state);
@@ -181,7 +181,7 @@ void ves_icall_System_Threading_Volatile_WriteDouble (void *ptr, double);
 void ves_icall_System_Threading_Volatile_Write_T (void *ptr, MonoObject *value);
 
 void ves_icall_System_Threading_Thread_MemoryBarrier (void);
-void ves_icall_System_Threading_Thread_Interrupt_internal (MonoThread *this);
+void ves_icall_System_Threading_Thread_Interrupt_internal (MonoThread *this_obj);
 void ves_icall_System_Threading_Thread_SpinWait_nop (void);
 
 void ves_icall_System_Runtime_Remoting_Contexts_Context_RegisterContext (MonoAppContext *ctx);
index ded97fdf404c15e31bc2115269e041b7b740f854..fd83f30929e108812f54c1f0106c4e16f4b3e401 100644 (file)
@@ -155,10 +155,6 @@ static GHashTable *contexts = NULL;
  * Protected by mono_threads_lock ().
  */
 static MonoGHashTable *threads_starting_up = NULL;
-/* Maps a MonoThread to its start argument */
-/* Protected by mono_threads_lock () */
-static MonoGHashTable *thread_start_args = NULL;
 
 /* The TLS key that holds the MonoObject assigned to each thread */
 static MonoNativeTlsKey current_object_key;
@@ -210,7 +206,7 @@ static void suspend_thread_internal (MonoInternalThread *thread, gboolean interr
 static void self_suspend_internal (MonoInternalThread *thread);
 static gboolean resume_thread_internal (MonoInternalThread *thread);
 
-static MonoException* mono_thread_execute_interruption (MonoInternalThread *thread);
+static MonoException* mono_thread_execute_interruption ();
 static void ref_stack_destroy (gpointer rs);
 
 /* Spin lock for InterlockedXXX 64 bit functions */
@@ -228,13 +224,12 @@ static gboolean shutting_down = FALSE;
 
 static gint32 managed_thread_id_counter = 0;
 
-
 static void
 mono_threads_lock (void)
 {
-       MONO_TRY_BLOCKING
+       MONO_TRY_BLOCKING;
        mono_locks_acquire (&threads_mutex, ThreadsLock);
-       MONO_FINISH_TRY_BLOCKING
+       MONO_FINISH_TRY_BLOCKING;
 }
 
 static void
@@ -292,8 +287,8 @@ static gboolean handle_store(MonoThread *thread, gboolean force_attach)
        }
 
        if(threads==NULL) {
-               MONO_GC_REGISTER_ROOT_FIXED (threads);
-               threads=mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_VALUE_GC);
+               MONO_GC_REGISTER_ROOT_FIXED (threads, MONO_ROOT_SOURCE_THREADING, "threads table");
+               threads=mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_VALUE_GC, MONO_ROOT_SOURCE_THREADING, "threads table");
        }
 
        /* We don't need to duplicate thread->handle, because it is
@@ -379,9 +374,9 @@ lock_thread (MonoInternalThread *thread)
 
        g_assert (thread->synch_cs);
 
-       MONO_TRY_BLOCKING
+       MONO_TRY_BLOCKING;
        mono_mutex_lock (thread->synch_cs);
-       MONO_FINISH_TRY_BLOCKING
+       MONO_FINISH_TRY_BLOCKING;
 }
 
 static inline void
@@ -453,7 +448,7 @@ static void thread_cleanup (MonoInternalThread *thread)
                }
                /* This needs to be called even if handle_remove () fails */
                if (mono_thread_cleanup_fn)
-                       mono_thread_cleanup_fn ((MonoNativeThreadId)thread->tid);
+                       mono_thread_cleanup_fn (thread_get_tid (thread));
                return;
        }
        mono_release_type_locks (thread);
@@ -480,7 +475,7 @@ static void thread_cleanup (MonoInternalThread *thread)
        thread->appdomain_refs = NULL;
 
        if (mono_thread_cleanup_fn)
-               mono_thread_cleanup_fn ((MonoNativeThreadId)thread->tid);
+               mono_thread_cleanup_fn (thread_get_tid (thread));
 
        if (mono_gc_is_moving ()) {
                MONO_GC_UNREGISTER_ROOT (thread->thread_pinning_ref);
@@ -604,7 +599,7 @@ create_internal_thread (void)
        thread->managed_id = get_next_managed_thread_id ();
        if (mono_gc_is_moving ()) {
                thread->thread_pinning_ref = thread;
-               MONO_GC_REGISTER_ROOT_PINNING (thread->thread_pinning_ref);
+               MONO_GC_REGISTER_ROOT_PINNING (thread->thread_pinning_ref, MONO_ROOT_SOURCE_THREADING, "thread pinning reference");
        }
 
        return thread;
@@ -650,7 +645,7 @@ static guint32 WINAPI start_wrapper_internal(void *data)
        internal->thread_info = info;
        internal->small_id = info->small_id;
 
-       tid=internal->tid;
+       tid = internal->tid;
 
        SET_CURRENT_OBJECT (internal);
 
@@ -665,7 +660,9 @@ static guint32 WINAPI start_wrapper_internal(void *data)
        }
 
        start_func = start_info->func;
-       start_arg = start_info->start_arg;
+       start_arg = start_info->obj->start_obj;
+       if (!start_arg)
+               start_arg = start_info->start_arg;
 
        /* We have to do this here because mono_thread_new_init()
           requires that root_domain_thread is set up. */
@@ -697,10 +694,6 @@ static guint32 WINAPI start_wrapper_internal(void *data)
                ReleaseSemaphore (internal->start_notify, 1, NULL);
        }
 
-       mono_threads_lock ();
-       mono_g_hash_table_remove (thread_start_args, start_info->obj);
-       mono_threads_unlock ();
-
        g_free (start_info);
        THREAD_DEBUG (g_message ("%s: start_wrapper for %"G_GSIZE_FORMAT, __func__,
                                                         internal->tid));
@@ -796,20 +789,9 @@ create_thread (MonoThread *thread, MonoInternalThread *internal, StartInfo *star
                mono_threads_unlock ();
                return FALSE;
        }
-       /*
-        * The thread start argument may be an object reference, and there is
-        * no ref to keep it alive when the new thread is started but not yet
-        * registered with the collector. So we store it in a GC tracked hash
-        * table.
-        */
-       if (thread_start_args == NULL) {
-               MONO_GC_REGISTER_ROOT_FIXED (thread_start_args);
-               thread_start_args = mono_g_hash_table_new (NULL, NULL);
-       }
-       mono_g_hash_table_insert (thread_start_args, thread, start_info->start_arg);
        if (threads_starting_up == NULL) {
-               MONO_GC_REGISTER_ROOT_FIXED (threads_starting_up);
-               threads_starting_up = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_KEY_VALUE_GC);
+               MONO_GC_REGISTER_ROOT_FIXED (threads_starting_up, MONO_ROOT_SOURCE_THREADING, "starting threads table");
+               threads_starting_up = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_KEY_VALUE_GC, MONO_ROOT_SOURCE_THREADING, "starting threads table");
        }
        mono_g_hash_table_insert (threads_starting_up, thread, thread);
        mono_threads_unlock ();
@@ -832,10 +814,10 @@ create_thread (MonoThread *thread, MonoInternalThread *internal, StartInfo *star
         */
        create_flags = CREATE_SUSPENDED;
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        thread_handle = mono_threads_create_thread ((LPTHREAD_START_ROUTINE)start_wrapper, start_info,
                                                                                                stack_size, create_flags, &tid);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        if (thread_handle == NULL) {
                /* The thread couldn't be created, so throw an exception */
@@ -867,9 +849,9 @@ create_thread (MonoThread *thread, MonoInternalThread *internal, StartInfo *star
        if (!handle_store (thread, FALSE))
                return FALSE;
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        mono_thread_info_resume (tid);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        if (internal->start_notify) {
                /*
@@ -880,9 +862,9 @@ create_thread (MonoThread *thread, MonoInternalThread *internal, StartInfo *star
                 */
                THREAD_DEBUG (g_message ("%s: (%"G_GSIZE_FORMAT") waiting for thread %p (%"G_GSIZE_FORMAT") to start", __func__, GetCurrentThreadId (), internal, (gsize)internal->tid));
 
-               MONO_PREPARE_BLOCKING
+               MONO_PREPARE_BLOCKING;
                WaitForSingleObjectEx (internal->start_notify, INFINITE, FALSE);
-               MONO_FINISH_BLOCKING
+               MONO_FINISH_BLOCKING;
 
                CloseHandle (internal->start_notify);
                internal->start_notify = NULL;
@@ -912,7 +894,8 @@ guint32 mono_threads_get_default_stacksize (void)
 
 /*
  * mono_thread_create_internal:
- * 
+ *
+ *   ARG should not be a GC reference.
  */
 MonoInternalThread*
 mono_thread_create_internal (MonoDomain *domain, gpointer func, gpointer arg, gboolean threadpool_thread, guint32 stack_size)
@@ -981,8 +964,8 @@ mono_thread_attach_full (MonoDomain *domain, gboolean force_attach)
 
        tid=GetCurrentThreadId ();
 
-       thread->handle=thread_handle;
-       thread->tid=tid;
+       thread->handle = thread_handle;
+       thread->tid = tid;
        thread->stack_ptr = &tid;
 
        THREAD_DEBUG (g_message ("%s: Attached thread ID %"G_GSIZE_FORMAT" (handle %p)", __func__, tid, thread_handle));
@@ -1094,28 +1077,28 @@ mono_thread_exit ()
 }
 
 void
-ves_icall_System_Threading_Thread_ConstructInternalThread (MonoThread *this)
+ves_icall_System_Threading_Thread_ConstructInternalThread (MonoThread *this_obj)
 {
        MonoInternalThread *internal = create_internal_thread ();
 
        internal->state = ThreadState_Unstarted;
 
-       InterlockedCompareExchangePointer ((gpointer)&this->internal_thread, internal, NULL);
+       InterlockedCompareExchangePointer ((gpointer)&this_obj->internal_thread, internal, NULL);
 }
 
 HANDLE
-ves_icall_System_Threading_Thread_Thread_internal (MonoThread *this,
+ves_icall_System_Threading_Thread_Thread_internal (MonoThread *this_obj,
                                                                                                   MonoObject *start)
 {
        StartInfo *start_info;
        MonoInternalThread *internal;
        gboolean res;
 
-       THREAD_DEBUG (g_message("%s: Trying to start a new thread: this (%p) start (%p)", __func__, this, start));
+       THREAD_DEBUG (g_message("%s: Trying to start a new thread: this (%p) start (%p)", __func__, this_obj, start));
 
-       if (!this->internal_thread)
-               ves_icall_System_Threading_Thread_ConstructInternalThread (this);
-       internal = this->internal_thread;
+       if (!this_obj->internal_thread)
+               ves_icall_System_Threading_Thread_ConstructInternalThread (this_obj);
+       internal = this_obj->internal_thread;
 
        LOCK_THREAD (internal);
 
@@ -1127,17 +1110,17 @@ ves_icall_System_Threading_Thread_Thread_internal (MonoThread *this,
 
        if ((internal->state & ThreadState_Aborted) != 0) {
                UNLOCK_THREAD (internal);
-               return this;
+               return this_obj;
        }
        /* This is freed in start_wrapper */
        start_info = g_new0 (StartInfo, 1);
        start_info->func = NULL;
-       start_info->start_arg = this->start_obj; /* FIXME: GC object stored in unmanaged memory */
+       start_info->start_arg = NULL;
        start_info->delegate = start;
-       start_info->obj = this;
-       g_assert (this->obj.vtable->domain == mono_domain_get ());
+       start_info->obj = this_obj;
+       g_assert (this_obj->obj.vtable->domain == mono_domain_get ());
 
-       res = create_thread (this, internal, start_info, FALSE, 0, FALSE);
+       res = create_thread (this_obj, internal, start_info, FALSE, 0, FALSE);
        if (!res) {
                UNLOCK_THREAD (internal);
                return NULL;
@@ -1155,7 +1138,7 @@ ves_icall_System_Threading_Thread_Thread_internal (MonoThread *this,
  * This is called from the finalizer of the internal thread object.
  */
 void
-ves_icall_System_Threading_InternalThread_Thread_free_internal (MonoInternalThread *this, HANDLE thread)
+ves_icall_System_Threading_InternalThread_Thread_free_internal (MonoInternalThread *this_obj, HANDLE thread)
 {
        THREAD_DEBUG (g_message ("%s: Closing thread %p, handle %p", __func__, this, thread));
 
@@ -1167,16 +1150,16 @@ ves_icall_System_Threading_InternalThread_Thread_free_internal (MonoInternalThre
        if (thread)
                CloseHandle (thread);
 
-       if (this->synch_cs) {
-               mono_mutex_t *synch_cs = this->synch_cs;
-               this->synch_cs = NULL;
+       if (this_obj->synch_cs) {
+               mono_mutex_t *synch_cs = this_obj->synch_cs;
+               this_obj->synch_cs = NULL;
                mono_mutex_destroy (synch_cs);
                g_free (synch_cs);
        }
 
-       if (this->name) {
-               void *name = this->name;
-               this->name = NULL;
+       if (this_obj->name) {
+               void *name = this_obj->name;
+               this_obj->name = NULL;
                g_free (name);
        }
 }
@@ -1194,14 +1177,14 @@ ves_icall_System_Threading_Thread_Sleep_internal(gint32 ms)
        while (TRUE) {
                mono_thread_set_state (thread, ThreadState_WaitSleepJoin);
        
-               MONO_PREPARE_BLOCKING
+               MONO_PREPARE_BLOCKING;
                res = SleepEx(ms,TRUE);
-               MONO_FINISH_BLOCKING
+               MONO_FINISH_BLOCKING;
        
                mono_thread_clr_state (thread, ThreadState_WaitSleepJoin);
 
                if (res == WAIT_IO_COMPLETION) { /* we might have been interrupted */
-                       MonoException* exc = mono_thread_execute_interruption (thread);
+                       MonoException* exc = mono_thread_execute_interruption ();
                        if (exc) {
                                mono_raise_exception (exc);
                        } else {
@@ -1325,7 +1308,7 @@ ves_icall_System_Threading_Thread_GetPriority (MonoThread *this)
 }
 
 void
-ves_icall_System_Threading_Thread_SetPriority (MonoThread *this, int priority)
+ves_icall_System_Threading_Thread_SetPriority (MonoThread *this_obj, int priority)
 {
 }
 
@@ -1385,36 +1368,36 @@ mono_thread_internal_current (void)
 }
 
 gboolean
-ves_icall_System_Threading_Thread_Join_internal(MonoThread *this, int ms)
+ves_icall_System_Threading_Thread_Join_internal(MonoThread *this_obj, int ms)
 {
-       MonoInternalThread *this_obj = this->internal_thread;
-       HANDLE thread = this_obj->handle;
+       MonoInternalThread *thread = this_obj->internal_thread;
+       HANDLE handle = thread->handle;
        MonoInternalThread *cur_thread = mono_thread_internal_current ();
        gboolean ret;
 
        mono_thread_current_check_pending_interrupt ();
 
-       LOCK_THREAD (this_obj);
+       LOCK_THREAD (thread);
        
-       if ((this_obj->state & ThreadState_Unstarted) != 0) {
-               UNLOCK_THREAD (this_obj);
+       if ((thread->state & ThreadState_Unstarted) != 0) {
+               UNLOCK_THREAD (thread);
                
                mono_set_pending_exception (mono_get_exception_thread_state ("Thread has not been started."));
                return FALSE;
        }
 
-       UNLOCK_THREAD (this_obj);
+       UNLOCK_THREAD (thread);
 
        if(ms== -1) {
                ms=INFINITE;
        }
-       THREAD_DEBUG (g_message ("%s: joining thread handle %p, %d ms", __func__, thread, ms));
+       THREAD_DEBUG (g_message ("%s: joining thread handle %p, %d ms", __func__, handle, ms));
        
        mono_thread_set_state (cur_thread, ThreadState_WaitSleepJoin);
 
-       MONO_PREPARE_BLOCKING
-       ret=WaitForSingleObjectEx (thread, ms, TRUE);
-       MONO_FINISH_BLOCKING
+       MONO_PREPARE_BLOCKING;
+       ret=WaitForSingleObjectEx (handle, ms, TRUE);
+       MONO_FINISH_BLOCKING;
 
        mono_thread_clr_state (cur_thread, ThreadState_WaitSleepJoin);
        
@@ -1440,17 +1423,17 @@ mono_wait_uninterrupted (MonoInternalThread *thread, gboolean multiple, guint32
 
        start = (ms == -1) ? 0 : mono_100ns_ticks ();
        do {
-               MONO_PREPARE_BLOCKING
+               MONO_PREPARE_BLOCKING;
                        if (multiple)
                        ret = WaitForMultipleObjectsEx (numhandles, handles, waitall, wait, alertable);
                else
                        ret = WaitForSingleObjectEx (handles [0], ms, alertable);
-               MONO_FINISH_BLOCKING
+               MONO_FINISH_BLOCKING;
 
                if (ret != WAIT_IO_COMPLETION)
                        break;
 
-               exc = mono_thread_execute_interruption (thread);
+               exc = mono_thread_execute_interruption ();
                if (exc)
                        mono_raise_exception (exc);
 
@@ -1563,7 +1546,7 @@ gint32 ves_icall_System_Threading_WaitHandle_WaitAny_internal(MonoArray *mono_ha
 }
 
 /* FIXME: exitContext isnt documented */
-gboolean ves_icall_System_Threading_WaitHandle_WaitOne_internal(MonoObject *this, HANDLE handle, gint32 ms, gboolean exitContext)
+gboolean ves_icall_System_Threading_WaitHandle_WaitOne_internal(MonoObject *this_obj, HANDLE handle, gint32 ms, gboolean exitContext)
 {
        guint32 ret;
        MonoInternalThread *thread = mono_thread_internal_current ();
@@ -1606,9 +1589,9 @@ ves_icall_System_Threading_WaitHandle_SignalAndWait_Internal (HANDLE toSignal, H
 
        mono_thread_set_state (thread, ThreadState_WaitSleepJoin);
        
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        ret = SignalObjectAndWait (toSignal, toWait, ms, TRUE);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        
        mono_thread_clr_state (thread, ThreadState_WaitSleepJoin);
 
@@ -2022,23 +2005,23 @@ ves_icall_System_Threading_Thread_GetState (MonoInternalThread* this)
        return state;
 }
 
-void ves_icall_System_Threading_Thread_Interrupt_internal (MonoThread *this)
+void ves_icall_System_Threading_Thread_Interrupt_internal (MonoThread *this_obj)
 {
        MonoInternalThread *current;
        gboolean throw;
-       MonoInternalThread *this_obj = this->internal_thread;
+       MonoInternalThread *thread = this_obj->internal_thread;
 
-       LOCK_THREAD (this_obj);
+       LOCK_THREAD (thread);
 
        current = mono_thread_internal_current ();
 
-       this_obj->thread_interrupt_requested = TRUE;
-       throw = current != this_obj && (this_obj->state & ThreadState_WaitSleepJoin);
+       thread->thread_interrupt_requested = TRUE;
+       throw = current != thread && (thread->state & ThreadState_WaitSleepJoin);
 
-       UNLOCK_THREAD (this_obj);
+       UNLOCK_THREAD (thread);
        
        if (throw) {
-               abort_thread_internal (this_obj, TRUE, FALSE);
+               abort_thread_internal (thread, TRUE, FALSE);
        }
 }
 
@@ -2104,7 +2087,7 @@ ves_icall_System_Threading_Thread_Abort (MonoInternalThread *thread, MonoObject
 }
 
 void
-ves_icall_System_Threading_Thread_ResetAbort (MonoThread *this)
+ves_icall_System_Threading_Thread_ResetAbort (MonoThread *this_obj)
 {
        MonoInternalThread *thread = mono_thread_internal_current ();
        gboolean was_aborting;
@@ -2149,9 +2132,9 @@ mono_thread_internal_reset_abort (MonoInternalThread *thread)
 }
 
 MonoObject*
-ves_icall_System_Threading_Thread_GetAbortExceptionState (MonoThread *this)
+ves_icall_System_Threading_Thread_GetAbortExceptionState (MonoThread *this_obj)
 {
-       MonoInternalThread *thread = this->internal_thread;
+       MonoInternalThread *thread = this_obj->internal_thread;
        MonoObject *state, *deserialized = NULL, *exc;
        MonoDomain *domain;
 
@@ -2208,9 +2191,9 @@ mono_thread_suspend (MonoInternalThread *thread)
 }
 
 void
-ves_icall_System_Threading_Thread_Suspend (MonoThread *this)
+ves_icall_System_Threading_Thread_Suspend (MonoThread *this_obj)
 {
-       if (!mono_thread_suspend (this->internal_thread)) {
+       if (!mono_thread_suspend (this_obj->internal_thread)) {
                mono_set_pending_exception (mono_get_exception_thread_state ("Thread has not been started, or is dead."));
                return;
        }
@@ -2709,9 +2692,9 @@ static void wait_for_tids (struct wait_data *wait, guint32 timeout)
        
        THREAD_DEBUG (g_message("%s: %d threads to wait for in this batch", __func__, wait->num));
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        ret=WaitForMultipleObjectsEx(wait->num, wait->handles, TRUE, timeout, TRUE);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        if(ret==WAIT_FAILED) {
                /* See the comment in build_wait_tids() */
@@ -2772,9 +2755,9 @@ static void wait_for_tids_or_state_change (struct wait_data *wait, guint32 timeo
                count++;
        }
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        ret=WaitForMultipleObjectsEx (count, wait->handles, FALSE, timeout, TRUE);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        if(ret==WAIT_FAILED) {
                /* See the comment in build_wait_tids() */
@@ -2836,7 +2819,7 @@ static void build_wait_tids (gpointer key, gpointer value, gpointer user)
                        return;
                }
 
-               handle = mono_threads_open_thread_handle (thread->handle, (MonoNativeThreadId)thread->tid);
+               handle = mono_threads_open_thread_handle (thread->handle, thread_get_tid (thread));
                if (handle == NULL) {
                        THREAD_DEBUG (g_message ("%s: ignoring unopenable thread %"G_GSIZE_FORMAT, __func__, (gsize)thread->tid));
                        return;
@@ -2876,7 +2859,7 @@ remove_and_abort_threads (gpointer key, gpointer value, gpointer user)
        if (thread->tid != self && (thread->state & ThreadState_Background) != 0 &&
                !(thread->flags & MONO_THREAD_FLAG_DONT_MANAGE)) {
        
-               handle = mono_threads_open_thread_handle (thread->handle, (MonoNativeThreadId)thread->tid);
+               handle = mono_threads_open_thread_handle (thread->handle, thread_get_tid (thread));
                if (handle == NULL)
                        return FALSE;
 
@@ -2918,7 +2901,7 @@ mono_threads_set_shutting_down (void)
                    (current_thread->state & ThreadState_AbortRequested) ||
                    (current_thread->state & ThreadState_StopRequested)) {
                        UNLOCK_THREAD (current_thread);
-                       mono_thread_execute_interruption (current_thread);
+                       mono_thread_execute_interruption ();
                } else {
                        current_thread->state |= ThreadState_Stopped;
                        UNLOCK_THREAD (current_thread);
@@ -2986,7 +2969,7 @@ void mono_thread_manage (void)
        if (!mono_runtime_try_shutdown ()) {
                /*FIXME mono_thread_suspend probably should call mono_thread_execute_interruption when self interrupting. */
                mono_thread_suspend (mono_thread_internal_current ());
-               mono_thread_execute_interruption (mono_thread_internal_current ());
+               mono_thread_execute_interruption ();
        }
 
        /* 
@@ -3058,7 +3041,7 @@ collect_threads_for_suspend (gpointer key, gpointer value, gpointer user_data)
                return;
 
        if (wait->num<MAXIMUM_WAIT_OBJECTS) {
-               handle = mono_threads_open_thread_handle (thread->handle, (MonoNativeThreadId)thread->tid);
+               handle = mono_threads_open_thread_handle (thread->handle, thread_get_tid (thread));
                if (handle == NULL)
                        return;
 
@@ -3180,7 +3163,7 @@ print_stack_frame_to_string (MonoStackFrameInfo *frame, MonoContext *ctx, gpoint
 {
        GString *p = (GString*)data;
        MonoMethod *method = NULL;
-       if (frame->ji)
+       if (frame->type == FRAME_TYPE_MANAGED)
                method = mono_jit_info_get_method (frame->ji);
 
        if (method) {
@@ -3249,7 +3232,7 @@ dump_thread (gpointer key, gpointer value, gpointer user)
        We probably should loop a bit around trying to get it to either managed code
        or WSJ state.
        */
-       mono_thread_info_safe_suspend_and_run ((MonoNativeThreadId)(gsize)thread->tid, FALSE, print_thread_dump, thread);
+       mono_thread_info_safe_suspend_and_run (thread_get_tid (thread), FALSE, print_thread_dump, thread);
 }
 
 void
@@ -3425,7 +3408,7 @@ collect_appdomain_thread (gpointer key, gpointer value, gpointer user_data)
                /* printf ("ABORTING THREAD %p BECAUSE IT REFERENCES DOMAIN %s.\n", thread->tid, domain->friendly_name); */
 
                if(data->wait.num<MAXIMUM_WAIT_OBJECTS) {
-                       HANDLE handle = mono_threads_open_thread_handle (thread->handle, (MonoNativeThreadId)thread->tid);
+                       HANDLE handle = mono_threads_open_thread_handle (thread->handle, thread_get_tid (thread));
                        if (handle == NULL)
                                return;
                        data->wait.handles [data->wait.num] = handle;
@@ -3622,7 +3605,9 @@ mono_alloc_static_data (gpointer **static_data_ptr, guint32 offset, gboolean thr
                                ctx_desc = mono_gc_make_root_descr_user (mark_ctx_slots);
                }
 
-               static_data = mono_gc_alloc_fixed (static_data_size [0], threadlocal ? tls_desc : ctx_desc);
+               static_data = mono_gc_alloc_fixed (static_data_size [0], threadlocal ? tls_desc : ctx_desc,
+                       threadlocal ? MONO_ROOT_SOURCE_THREAD_STATIC : MONO_ROOT_SOURCE_CONTEXT_STATIC,
+                       threadlocal ? "managed thread-static variables" : "managed context-static variables");
                *static_data_ptr = static_data;
                static_data [0] = static_data;
        }
@@ -3634,7 +3619,9 @@ mono_alloc_static_data (gpointer **static_data_ptr, guint32 offset, gboolean thr
                if (mono_gc_user_markers_supported ())
                        static_data [i] = g_malloc0 (static_data_size [i]);
                else
-                       static_data [i] = mono_gc_alloc_fixed (static_data_size [i], MONO_GC_DESCRIPTOR_NULL);
+                       static_data [i] = mono_gc_alloc_fixed (static_data_size [i], MONO_GC_DESCRIPTOR_NULL,
+                               threadlocal ? MONO_ROOT_SOURCE_THREAD_STATIC : MONO_ROOT_SOURCE_CONTEXT_STATIC,
+                               threadlocal ? "managed thread-static variables" : "managed context-static variables");
        }
 }
 
@@ -4017,8 +4004,10 @@ static void CALLBACK dummy_apc (ULONG_PTR param)
  * suspend or stop)
  */
 static MonoException*
-mono_thread_execute_interruption (MonoInternalThread *thread)
+mono_thread_execute_interruption (void)
 {
+       MonoInternalThread *thread = mono_thread_internal_current ();
+
        LOCK_THREAD (thread);
 
        /* MonoThread::interruption_requested can only be changed with atomics */
@@ -4028,8 +4017,9 @@ mono_thread_execute_interruption (MonoInternalThread *thread)
                WaitForSingleObjectEx (GetCurrentThread(), 0, TRUE);
 #endif
                InterlockedDecrement (&thread_interruption_requested);
+
                /* Clear the interrupted flag of the thread so it can wait again */
-               mono_thread_info_clear_interruption ();
+               mono_thread_info_clear_self_interrupt ();
        }
 
        if ((thread->state & ThreadState_AbortRequested) != 0) {
@@ -4124,7 +4114,7 @@ mono_thread_request_interruption (gboolean running_managed)
                return NULL;
        }
        else {
-               return mono_thread_execute_interruption (thread);
+               return mono_thread_execute_interruption ();
        }
 }
 
@@ -4154,7 +4144,7 @@ mono_thread_resume_interruption (void)
 
        mono_thread_info_self_interrupt ();
 
-       return mono_thread_execute_interruption (thread);
+       return mono_thread_execute_interruption ();
 }
 
 gboolean mono_thread_interruption_requested ()
@@ -4178,7 +4168,7 @@ mono_thread_interruption_checkpoint_request (gboolean bypass_abort_protection)
                return NULL;
 
        if (thread->interruption_requested && (bypass_abort_protection || !is_running_protected_wrapper ())) {
-               MonoException* exc = mono_thread_execute_interruption (thread);
+               MonoException* exc = mono_thread_execute_interruption ();
                if (exc)
                        return exc;
        }
@@ -4235,7 +4225,7 @@ mono_thread_get_and_clear_pending_exception (void)
                return NULL;
 
        if (thread->interruption_requested && !is_running_protected_wrapper ()) {
-               return mono_thread_execute_interruption (thread);
+               return mono_thread_execute_interruption ();
        }
        
        if (thread->pending_exception) {
@@ -4364,7 +4354,7 @@ static void
 self_interrupt_thread (void *_unused)
 {
        MonoThreadInfo *info = mono_thread_info_current ();
-       MonoException *exc = mono_thread_execute_interruption (mono_thread_internal_current ()); 
+       MonoException *exc = mono_thread_execute_interruption ();
        if (exc) /*We must use _with_context since we didn't trampoline into the runtime*/
                mono_raise_exception_with_context (exc, &info->thread_saved_state [ASYNC_SUSPEND_STATE_INDEX].ctx); /* FIXME using thread_saved_state [ASYNC_SUSPEND_STATE_INDEX] can race with another suspend coming in. */
        g_assert_not_reached (); /*this MUST not happen since we can't resume from an async call*/
@@ -4399,7 +4389,7 @@ mono_thread_info_get_last_managed (MonoThreadInfo *info)
 typedef struct {
        MonoInternalThread *thread;
        gboolean install_async_abort;
-       gpointer interrupt_handle;
+       MonoThreadInfoInterruptToken *interrupt_token;
 } AbortThreadData;
 
 static SuspendThreadResult
@@ -4421,7 +4411,7 @@ abort_thread_critical (MonoThreadInfo *info, gpointer ud)
        InterlockedIncrement (&thread_interruption_requested);
 
        ji = mono_thread_info_get_last_managed (info);
-       protected_wrapper = ji && mono_threads_is_critical_method (mono_jit_info_get_method (ji));
+       protected_wrapper = ji && !ji->is_trampoline && !ji->async && mono_threads_is_critical_method (mono_jit_info_get_method (ji));
        running_managed = mono_jit_info_match (ji, MONO_CONTEXT_GET_IP (&mono_thread_info_get_suspend_state (info)->ctx));
 
        if (!protected_wrapper && running_managed) {
@@ -4442,7 +4432,8 @@ abort_thread_critical (MonoThreadInfo *info, gpointer ud)
                 * functions in the io-layer until the signal handler calls QueueUserAPC which will
                 * make it return.
                 */
-               data->interrupt_handle = mono_thread_info_prepare_interrupt (thread->handle);
+               data->interrupt_token = mono_thread_info_prepare_interrupt (info);
+
                return MonoResumeThread;
        }
 }
@@ -4463,20 +4454,22 @@ abort_thread_internal (MonoInternalThread *thread, gboolean can_raise_exception,
                MonoException *exc = mono_thread_request_interruption (can_raise_exception); 
                if (exc)
                        mono_raise_exception (exc);
-               mono_thread_info_interrupt (thread->handle);
+
+               mono_thread_info_self_interrupt ();
+
                return;
        }
 
-       mono_thread_info_safe_suspend_and_run ((MonoNativeThreadId)(gsize)thread->tid, TRUE, abort_thread_critical, &data);
-       if (data.interrupt_handle)
-               mono_thread_info_finish_interrupt (data.interrupt_handle);
+       mono_thread_info_safe_suspend_and_run (thread_get_tid (thread), TRUE, abort_thread_critical, &data);
+       if (data.interrupt_token)
+               mono_thread_info_finish_interrupt (data.interrupt_token);
        /*FIXME we need to wait for interruption to complete -- figure out how much into interruption we should wait for here*/
 }
 
 typedef struct{
        MonoInternalThread *thread;
        gboolean interrupt;
-       gpointer interrupt_handle;
+       MonoThreadInfoInterruptToken *interrupt_token;
 } SuspendThreadData;
 
 static SuspendThreadResult
@@ -4489,7 +4482,7 @@ suspend_thread_critical (MonoThreadInfo *info, gpointer ud)
        gboolean running_managed;
 
        ji = mono_thread_info_get_last_managed (info);
-       protected_wrapper = ji && !ji->async && mono_threads_is_critical_method (mono_jit_info_get_method (ji));
+       protected_wrapper = ji && !ji->is_trampoline && !ji->async && mono_threads_is_critical_method (mono_jit_info_get_method (ji));
        running_managed = mono_jit_info_match (ji, MONO_CONTEXT_GET_IP (&mono_thread_info_get_suspend_state (info)->ctx));
 
        if (running_managed && !protected_wrapper) {
@@ -4500,7 +4493,7 @@ suspend_thread_critical (MonoThreadInfo *info, gpointer ud)
                if (InterlockedCompareExchange (&thread->interruption_requested, 1, 0) == 0)
                        InterlockedIncrement (&thread_interruption_requested);
                if (data->interrupt)
-                       data->interrupt_handle = mono_thread_info_prepare_interrupt (thread->handle);
+                       data->interrupt_token = mono_thread_info_prepare_interrupt (thread->thread_info);
                
                if (mono_thread_notify_pending_exc_fn && !running_managed)
                        /* The JIT will notify the thread about the interruption */
@@ -4525,9 +4518,9 @@ suspend_thread_internal (MonoInternalThread *thread, gboolean interrupt)
                data.thread = thread;
                data.interrupt = interrupt;
 
-               mono_thread_info_safe_suspend_and_run ((MonoNativeThreadId)(gsize)thread->tid, interrupt, suspend_thread_critical, &data);
-               if (data.interrupt_handle)
-                       mono_thread_info_finish_interrupt (data.interrupt_handle);
+               mono_thread_info_safe_suspend_and_run (thread_get_tid (thread), interrupt, suspend_thread_critical, &data);
+               if (data.interrupt_token)
+                       mono_thread_info_finish_interrupt (data.interrupt_token);
                UNLOCK_THREAD (thread);
        }
 }
@@ -4549,7 +4542,7 @@ resume_thread_internal (MonoInternalThread *thread)
 {
        UNLOCK_THREAD (thread);
        /* Awake the thread */
-       if (!mono_thread_info_resume ((MonoNativeThreadId)(gpointer)(gsize)thread->tid))
+       if (!mono_thread_info_resume (thread_get_tid (thread)))
                return FALSE;
        LOCK_THREAD (thread);
        thread->state &= ~ThreadState_Suspended;
index ee02ad4f7becedc289f30935906466e8edc32827..934c7028033c3108f1dff1be54702655ba73d9ee 100755 (executable)
@@ -6,7 +6,7 @@ monodir=$(top_builddir)
 libgc_libs=$(monodir)/libgc/libmonogc.la
 libgc_static_libs=$(monodir)/libgc/libmonogc-static.la
 
-libs=  \
+boehm_libs=    \
        $(monodir)/mono/metadata/libmonoruntime.la      \
        $(monodir)/mono/io-layer/libwapi.la     \
        $(monodir)/mono/utils/libmonoutils.la \
@@ -20,14 +20,14 @@ sgen_libs = \
        $(monodir)/mono/utils/libmonoutils.la \
        $(GLIB_LIBS) $(LIBICONV)
 
-static_libs=   \
+boehm_static_libs=     \
        $(monodir)/mono/metadata/libmonoruntime-static.la       \
        $(monodir)/mono/io-layer/libwapi.la     \
        $(monodir)/mono/utils/libmonoutils.la \
        $(GLIB_LIBS) $(LIBICONV) \
        $(libgc_static_libs)
 
-sgenstatic_libs = \
+sgen_static_libs = \
        $(monodir)/mono/metadata/libmonoruntimesgen-static.la   \
        $(monodir)/mono/sgen/libmonosgen-static.la      \
        $(monodir)/mono/io-layer/libwapi.la     \
@@ -78,16 +78,16 @@ endif
 if SUPPORT_SGEN
 sgen_binaries = mono-sgen
 sgen_libraries = libmonosgen-2.0.la
-sgen_static_libraries = libmini-static.la $(sgenstatic_libs)
+sgen_static_libraries = libmini-static.la $(sgen_static_libs)
 endif
 
 if SUPPORT_BOEHM
 boehm_libraries = libmonoboehm-2.0.la
-boehm_static_libraries = libmini-static.la $(static_libs)
+boehm_static_libraries = libmini-static.la $(boehm_static_libs)
 boehm_binaries  = mono-boehm
 endif
 
-#The mono uses sgen, while libmono remains boehm
+# The mono executable uses sgen, while libmono remains boehm
 if SUPPORT_SGEN
 mono_bin_suffix = sgen
 else
@@ -152,7 +152,7 @@ libmono_llvm_la_LIBADD = $(GLIB_LIBS) $(LLVM_LIBS) $(LLVM_LDFLAGS)
 if PLATFORM_DARWIN
 libmono_llvm_la_LDFLAGS=-Wl,-undefined -Wl,suppress -Wl,-flat_namespace
 else
-libmono_llvm_la_LIBADD += $(top_builddir)/mono/mini/libmonoboehm-$(API_VER).la $(libs)
+libmono_llvm_la_LIBADD += $(top_builddir)/mono/mini/libmonoboehm-$(API_VER).la $(boehm_libs)
 endif
 endif
 
@@ -423,7 +423,8 @@ common_sources = \
        xdebug.c                        \
        mini-llvm-cpp.h \
        alias-analysis.c        \
-       mini-cross-helpers.c
+       mini-cross-helpers.c \
+       arch-stubs.c
 
 test_sources =                         \
        basic-calls.cs          \
@@ -541,7 +542,7 @@ libmini_la_CFLAGS = $(mono_CFLAGS)
 
 libmonoboehm_2_0_la_SOURCES =
 libmonoboehm_2_0_la_CFLAGS = $(mono_boehm_CFLAGS)
-libmonoboehm_2_0_la_LIBADD = libmini.la $(libs) $(LIBMONO_DTRACE_OBJECT) $(LLVMMONOF)
+libmonoboehm_2_0_la_LIBADD = libmini.la $(boehm_libs) $(LIBMONO_DTRACE_OBJECT) $(LLVMMONOF)
 libmonoboehm_2_0_la_LDFLAGS = $(libmonoldflags)
 
 libmonosgen_2_0_la_SOURCES =
@@ -683,16 +684,36 @@ gsharedvtcheck:
 
 fullaot_regtests = $(regtests) aot-tests.exe $(if $(GSHAREDVT),gshared.exe)
 
+FULLAOT_LIBS = \
+       mscorlib.dll \
+       System.Core.dll \
+       System.dll \
+       Mono.Posix.dll \
+       System.Configuration.dll \
+       System.Security.dll \
+       System.Xml.dll \
+       Mono.Security.dll \
+       Mono.Simd.dll
+
 # This currently only works on amd64/arm
 fullaotcheck: mono $(fullaot_regtests)
        rm -rf fullaot-tmp
        mkdir fullaot-tmp
-       cp $(CLASS)/mscorlib.dll $(CLASS)/System.Core.dll $(CLASS)/System.dll $(CLASS)/Mono.Posix.dll $(CLASS)/System.Configuration.dll $(CLASS)/System.Security.dll $(CLASS)/System.Xml.dll $(CLASS)/Mono.Security.dll $(CLASS)/Mono.Simd.dll $(regtests) generics-variant-types.dll TestDriver.dll fullaot-tmp/
-       cp $(fullaot_regtests) fullaot-tmp/
-       MONO_PATH=fullaot-tmp $(top_builddir)/runtime/mono-wrapper $(LLVM_AOT_RUNTIME_OPTS) $(GSHAREDVT_RUNTIME_OPTS) --aot=full fullaot-tmp/* || exit 1
+       $(MAKE) fullaot-libs AOT_FLAGS=full
+       cp $(regtests) $(fullaot_regtests) generics-variant-types.dll TestDriver.dll fullaot-tmp/
+       MONO_PATH=fullaot-tmp $(top_builddir)/runtime/mono-wrapper $(LLVM_AOT_RUNTIME_OPTS) $(GSHAREDVT_RUNTIME_OPTS) --aot=full fullaot-tmp/{generics-variant-types.dll,TestDriver.dll,*.exe} || exit 1
        ln -s $$PWD/mono fullaot-tmp/
        for i in $(fullaot_regtests); do echo $$i; MONO_PATH=fullaot-tmp $(top_builddir)/runtime/mono-wrapper --full-aot fullaot-tmp/$$i --exclude '!FULLAOT' $(ARCH_FULLAOT_EXCLUDE) || exit 1; done
 
+# This can run in parallel
+fullaot-libs: $(patsubst %,fullaot-tmp/%.dylib,$(FULLAOT_LIBS))
+
+fullaot-tmp/%.dylib: $(CLASS)/%
+       cp $(CLASS)/$* fullaot-tmp/
+       mkdir fullaot-tmp/$*-tmp
+       MONO_PATH=fullaot-tmp/:$(CLASS) $(top_builddir)/runtime/mono-wrapper --aot=$(AOT_FLAGS),temp-path=fullaot-tmp/$*-tmp fullaot-tmp/$*
+       rm -rf fullaot-tmp/$*-tmp
+
 llvmfullaotcheck:
        $(MAKE) fullaotcheck LLVM=1
 
index c9e50793c1d52795125a5ae35a622c9872556d39..8b8b3879e4cd31868fbec04d16b055f4ebe3b8ae 100644 (file)
@@ -42,7 +42,6 @@
 #include <mono/metadata/metadata-internals.h>
 #include <mono/metadata/marshal.h>
 #include <mono/metadata/gc-internal.h>
-#include <mono/metadata/monitor.h>
 #include <mono/metadata/mempool-internals.h>
 #include <mono/metadata/mono-endian.h>
 #include <mono/metadata/threads-types.h>
@@ -127,7 +126,6 @@ typedef struct MonoAotOptions {
        gboolean stats;
        char *tool_prefix;
        char *ld_flags;
-       gboolean autoreg;
        char *mtriple;
        char *llvm_path;
        char *temp_path;
@@ -198,7 +196,6 @@ typedef struct MonoAotCompile {
        int method_index;
        char *static_linking_symbol;
        mono_mutex_t mutex;
-       gboolean use_bin_writer;
        gboolean gas_line_numbers;
        /* Whenever to emit an object file directly from llc */
        gboolean llvm_owriter;
@@ -298,6 +295,9 @@ get_patch_name (int info)
 
 #endif
 
+static guint32
+get_unwind_info_offset (MonoAotCompile *acfg, guint8 *encoded, guint32 encoded_len);
+
 static char*
 get_plt_entry_debug_sym (MonoAotCompile *acfg, MonoJumpInfo *ji, GHashTable *cache);
 
@@ -852,42 +852,22 @@ arch_emit_direct_call (MonoAotCompile *acfg, const char *target, gboolean extern
 {
 #if defined(TARGET_X86) || defined(TARGET_AMD64)
        /* Need to make sure this is exactly 5 bytes long */
-       if (!acfg->use_bin_writer) {
-               emit_unset_mode (acfg);
-               fprintf (acfg->fp, "call %s\n", target);
-       } else {
-               emit_byte (acfg, '\xe8');
-               emit_symbol_diff (acfg, target, ".", -4);
-       }
+       emit_unset_mode (acfg);
+       fprintf (acfg->fp, "call %s\n", target);
        *call_size = 5;
 #elif defined(TARGET_ARM)
-       if (acfg->use_bin_writer) {
-               guint8 buf [4];
-               guint8 *code;
-
-               code = buf;
-               ARM_BL (code, 0);
-
-               mono_img_writer_emit_reloc (acfg->w, R_ARM_CALL, target, -8);
-               emit_bytes (acfg, buf, 4);
-       } else {
-               emit_unset_mode (acfg);
-               if (thumb)
-                       fprintf (acfg->fp, "blx %s\n", target);
-               else
-                       fprintf (acfg->fp, "bl %s\n", target);
-       }
+       emit_unset_mode (acfg);
+       if (thumb)
+               fprintf (acfg->fp, "blx %s\n", target);
+       else
+               fprintf (acfg->fp, "bl %s\n", target);
        *call_size = 4;
 #elif defined(TARGET_ARM64)
        arm64_emit_direct_call (acfg, target, external, thumb, ji, call_size);
 #elif defined(TARGET_POWERPC)
-       if (acfg->use_bin_writer) {
-               g_assert_not_reached ();
-       } else {
-               emit_unset_mode (acfg);
-               fprintf (acfg->fp, "bl %s\n", target);
-               *call_size = 4;
-       }
+       emit_unset_mode (acfg);
+       fprintf (acfg->fp, "bl %s\n", target);
+       *call_size = 4;
 #else
        g_assert_not_reached ();
 #endif
@@ -937,7 +917,6 @@ static void
 arch_emit_got_offset (MonoAotCompile *acfg, guint8 *code, int *code_size)
 {
 #if defined(TARGET_POWERPC64)
-       g_assert (!acfg->use_bin_writer);
        emit_unset_mode (acfg);
        /* 
         * The ppc32 code doesn't seem to work on ppc64, the assembler complains about
@@ -952,7 +931,6 @@ arch_emit_got_offset (MonoAotCompile *acfg, guint8 *code, int *code_size)
        acfg->label_generator ++;
        *code_size = 16;
 #elif defined(TARGET_POWERPC)
-       g_assert (!acfg->use_bin_writer);
        emit_unset_mode (acfg);
        fprintf (acfg->fp, ".L%d:\n", acfg->label_generator);
        fprintf (acfg->fp, "lis 0, (%s + 4 - .L%d)@h\n", acfg->got_symbol, acfg->label_generator);
@@ -1096,14 +1074,8 @@ arch_emit_plt_entry (MonoAotCompile *acfg, const char *got_symbol, int offset, i
 #endif /*__native_client_codegen__*/
 #elif defined(TARGET_AMD64)
 #if defined(__default_codegen__)
-               if (acfg->use_bin_writer) {
-                       emit_byte (acfg, '\xff');
-                       emit_byte (acfg, '\x25');
-                       emit_symbol_diff (acfg, got_symbol, ".", offset - 4);
-               } else {
-                       emit_unset_mode (acfg);
-                       fprintf (acfg->fp, "jmp *%s+%d(%%rip)\n", got_symbol, offset);
-               }
+               emit_unset_mode (acfg);
+               fprintf (acfg->fp, "jmp *%s+%d(%%rip)\n", got_symbol, offset);
                /* Used by mono_aot_get_plt_info_offset */
                emit_int32 (acfg, info_offset);
                acfg->stats.plt_size += 10;
@@ -1143,7 +1115,6 @@ arch_emit_plt_entry (MonoAotCompile *acfg, const char *got_symbol, int offset, i
                arm64_emit_plt_entry (acfg, got_symbol, offset, info_offset);
 #elif defined(TARGET_POWERPC)
                /* The GOT address is guaranteed to be in r30 by OP_LOAD_GOTADDR */
-               g_assert (!acfg->use_bin_writer);
                emit_unset_mode (acfg);
                fprintf (acfg->fp, "lis 11, %d@h\n", offset);
                fprintf (acfg->fp, "ori 11, 11, %d@l\n", offset);
@@ -1196,6 +1167,22 @@ arch_emit_llvm_plt_entry (MonoAotCompile *acfg, const char *got_symbol, int offs
 #endif
 }
 
+/* Save unwind_info in the module and emit the offset to the information at symbol */
+static void save_unwind_info (MonoAotCompile *acfg, char *symbol, GSList *unwind_ops)
+{
+       guint32 uw_offset, encoded_len;
+       guint8 *encoded;
+
+       emit_section_change (acfg, RODATA_SECT, 0);
+       emit_global (acfg, symbol, FALSE);
+       emit_label (acfg, symbol);
+
+       encoded = mono_unwind_ops_encode (unwind_ops, &encoded_len);
+       uw_offset = get_unwind_info_offset (acfg, encoded, encoded_len);
+       g_free (encoded);
+       emit_int32 (acfg, uw_offset);
+}
+
 /*
  * arch_emit_specific_trampoline_pages:
  *
@@ -1219,6 +1206,7 @@ arch_emit_specific_trampoline_pages (MonoAotCompile *acfg)
        guint8 *loop_start, *loop_branch_back, *loop_end_check, *imt_found_check;
        int i;
        int pagesize = MONO_AOT_TRAMP_PAGE_SIZE;
+       GSList *unwind_ops = NULL;
 #define COMMON_TRAMP_SIZE 16
        int count = (pagesize - COMMON_TRAMP_SIZE) / 8;
        int imm8, rot_amount;
@@ -1311,7 +1299,6 @@ arch_emit_specific_trampoline_pages (MonoAotCompile *acfg)
        /* now the imt trampolines: each specific trampolines puts in the ip register
         * the instruction pointer address, so the generic trampoline at the start of the page
         * subtracts 4096 to get to the data page and loads the values
-        * We again fit the generic trampiline in 16 bytes.
         */
 #define IMT_TRAMP_SIZE 72
        sprintf (symbol, "%simt_trampolines_page", acfg->user_symbol_prefix);
@@ -1377,6 +1364,53 @@ arch_emit_specific_trampoline_pages (MonoAotCompile *acfg)
        acfg->tramp_page_code_offsets [MONO_AOT_TRAMP_STATIC_RGCTX] = 16;
        acfg->tramp_page_code_offsets [MONO_AOT_TRAMP_IMT_THUNK] = 72;
        acfg->tramp_page_code_offsets [MONO_AOT_TRAMP_GSHAREDVT_ARG] = 16;
+
+       /* Unwind info for specifc trampolines */
+       sprintf (symbol, "%sspecific_trampolines_page_gen_p", acfg->user_symbol_prefix);
+       /* We unwind to the original caller, from the stack, since lr is clobbered */
+       mono_add_unwind_op_def_cfa (unwind_ops, 0, 0, ARMREG_SP, 14 * sizeof (mgreg_t));
+       mono_add_unwind_op_offset (unwind_ops, 0, 0, ARMREG_LR, -4);
+       save_unwind_info (acfg, symbol, unwind_ops);
+       mono_free_unwind_info (unwind_ops);
+
+       sprintf (symbol, "%sspecific_trampolines_page_sp_p", acfg->user_symbol_prefix);
+       mono_add_unwind_op_def_cfa (unwind_ops, 0, 0, ARMREG_SP, 0);
+       mono_add_unwind_op_def_cfa_offset (unwind_ops, 4, 0, 14 * sizeof (mgreg_t));
+       save_unwind_info (acfg, symbol, unwind_ops);
+       mono_free_unwind_info (unwind_ops);
+
+       /* Unwind info for rgctx trampolines */
+       sprintf (symbol, "%srgctx_trampolines_page_gen_p", acfg->user_symbol_prefix);
+       mono_add_unwind_op_def_cfa (unwind_ops, 0, 0, ARMREG_SP, 0);
+       save_unwind_info (acfg, symbol, unwind_ops);
+
+       sprintf (symbol, "%srgctx_trampolines_page_sp_p", acfg->user_symbol_prefix);
+       save_unwind_info (acfg, symbol, unwind_ops);
+       mono_free_unwind_info (unwind_ops);
+
+       /* Unwind info for gsharedvt trampolines */
+       sprintf (symbol, "%sgsharedvt_trampolines_page_gen_p", acfg->user_symbol_prefix);
+       mono_add_unwind_op_def_cfa (unwind_ops, 0, 0, ARMREG_SP, 0);
+       mono_add_unwind_op_def_cfa_offset (unwind_ops, 4, 0, 4 * sizeof (mgreg_t));
+       save_unwind_info (acfg, symbol, unwind_ops);
+       mono_free_unwind_info (unwind_ops);
+
+       sprintf (symbol, "%sgsharedvt_trampolines_page_sp_p", acfg->user_symbol_prefix);
+       mono_add_unwind_op_def_cfa (unwind_ops, 0, 0, ARMREG_SP, 0);
+       save_unwind_info (acfg, symbol, unwind_ops);
+       mono_free_unwind_info (unwind_ops);
+
+       /* Unwind info for imt trampolines */
+       sprintf (symbol, "%simt_trampolines_page_gen_p", acfg->user_symbol_prefix);
+       mono_add_unwind_op_def_cfa (unwind_ops, 0, 0, ARMREG_SP, 0);
+       mono_add_unwind_op_def_cfa_offset (unwind_ops, 4, 0, 3 * sizeof (mgreg_t));
+       save_unwind_info (acfg, symbol, unwind_ops);
+       mono_free_unwind_info (unwind_ops);
+
+       sprintf (symbol, "%simt_trampolines_page_sp_p", acfg->user_symbol_prefix);
+       mono_add_unwind_op_def_cfa (unwind_ops, 0, 0, ARMREG_SP, 0);
+       save_unwind_info (acfg, symbol, unwind_ops);
+       mono_free_unwind_info (unwind_ops);
 #elif defined(TARGET_ARM64)
        arm64_emit_specific_trampoline_pages (acfg);
 #endif
@@ -1506,8 +1540,6 @@ arch_emit_specific_trampoline (MonoAotCompile *acfg, int offset, int *tramp_size
        *tramp_size = 4;
        code = buf;
 
-       g_assert (!acfg->use_bin_writer);
-
        /*
         * PPC has no ip relative addressing, so we need to compute the address
         * of the mscorlib got. That is slow and complex, so instead, we store it
@@ -1546,14 +1578,6 @@ arch_emit_specific_trampoline (MonoAotCompile *acfg, int offset, int *tramp_size
 
        /* FIXME: Could this clobber the register needed by get_vcall_slot () ? */
 
-       /* We clobber ECX, since EAX is used as MONO_ARCH_MONITOR_OBJECT_REG */
-#ifdef MONO_ARCH_MONITOR_OBJECT_REG
-       g_assert (MONO_ARCH_MONITOR_OBJECT_REG != X86_ECX);
-#ifdef MONO_ARCH_MONITOR_LOCK_TAKEN_REG
-       g_assert (MONO_ARCH_MONITOR_LOCK_TAKEN_REG != X86_ECX);
-#endif
-#endif
-
        code = buf;
        /* Load mscorlib got address */
        x86_mov_reg_membase (code, X86_ECX, MONO_ARCH_GOT_REG, sizeof (gpointer), 4);
@@ -1639,28 +1663,15 @@ arch_emit_unbox_trampoline (MonoAotCompile *acfg, MonoCompile *cfg, MonoMethod *
 
        emit_bytes (acfg, buf, code - buf);
        /* jump to method */
-       if (acfg->use_bin_writer) {
-               guint8 buf [4];
-               guint8 *code;
-
-               code = buf;
-               ARM_B (code, 0);
-
-               mono_img_writer_emit_reloc (acfg->w, R_ARM_JUMP24, call_target, -8);
-               emit_bytes (acfg, buf, 4);
-       } else {
-               if (acfg->thumb_mixed && cfg->compile_llvm)
-                       fprintf (acfg->fp, "\n\tbx %s\n", call_target);
-               else
-                       fprintf (acfg->fp, "\n\tb %s\n", call_target);
-       }
+       if (acfg->thumb_mixed && cfg->compile_llvm)
+               fprintf (acfg->fp, "\n\tbx %s\n", call_target);
+       else
+               fprintf (acfg->fp, "\n\tb %s\n", call_target);
 #elif defined(TARGET_ARM64)
        arm64_emit_unbox_trampoline (acfg, cfg, method, call_target);
 #elif defined(TARGET_POWERPC)
        int this_pos = 3;
 
-       g_assert (!acfg->use_bin_writer);
-
        fprintf (acfg->fp, "\n\taddi %d, %d, %d\n", this_pos, this_pos, (int)sizeof (MonoObject));
        fprintf (acfg->fp, "\n\tb %s\n", call_target);
 #else
@@ -1756,8 +1767,6 @@ arch_emit_static_rgctx_trampoline (MonoAotCompile *acfg, int offset, int *tramp_
        *tramp_size = 4;
        code = buf;
 
-       g_assert (!acfg->use_bin_writer);
-
        /*
         * PPC has no ip relative addressing, so we need to compute the address
         * of the mscorlib got. That is slow and complex, so instead, we store it
@@ -2183,73 +2192,6 @@ arch_emit_gsharedvt_arg_trampoline (MonoAotCompile *acfg, int offset, int *tramp
 #endif
 }      
 
-static void
-arch_emit_autoreg (MonoAotCompile *acfg, char *symbol)
-{
-#if defined(TARGET_POWERPC) && defined(__mono_ilp32__)
-       /* Based on code generated by gcc */
-       emit_unset_mode (acfg);
-
-       fprintf (acfg->fp,
-#if defined(_MSC_VER) || defined(MONO_CROSS_COMPILE) 
-                        ".section      .ctors,\"aw\",@progbits\n"
-                        ".align 2\n"
-                        ".globl        %s\n"
-                        ".long %s\n"
-                        ".section      .opd,\"aw\"\n"
-                        ".align 2\n"
-                        "%s:\n"
-                        ".long .%s,.TOC.@tocbase32\n"
-                        ".size %s,.-%s\n"
-                        ".section .text\n"
-                        ".type .%s,@function\n"
-                        ".align 2\n"
-                        ".%s:\n", symbol, symbol, symbol, symbol, symbol, symbol, symbol, symbol);
-#else
-                        ".section      .ctors,\"aw\",@progbits\n"
-                        ".align 2\n"
-                        ".globl        %1$s\n"
-                        ".long %1$s\n"
-                        ".section      .opd,\"aw\"\n"
-                        ".align 2\n"
-                        "%1$s:\n"
-                        ".long .%1$s,.TOC.@tocbase32\n"
-                        ".size %1$s,.-%1$s\n"
-                        ".section .text\n"
-                        ".type .%1$s,@function\n"
-                        ".align 2\n"
-                        ".%1$s:\n", symbol);
-#endif
-
-
-       fprintf (acfg->fp,
-                        "stdu 1,-128(1)\n"
-                        "mflr 0\n"
-                        "std 31,120(1)\n"
-                        "std 0,144(1)\n"
-
-                        ".Lautoreg:\n"
-                        "lis 3, .Lglobals@h\n"
-                        "ori 3, 3, .Lglobals@l\n"
-                        "bl .mono_aot_register_module\n"
-                        "ld 11,0(1)\n"
-                        "ld 0,16(11)\n"
-                        "mtlr 0\n"
-                        "ld 31,-8(11)\n"
-                        "mr 1,11\n"
-                        "blr\n"
-                        );
-#if defined(_MSC_VER) || defined(MONO_CROSS_COMPILE) 
-               fprintf (acfg->fp,
-                        ".size .%s,.-.%s\n", symbol, symbol);
-#else
-       fprintf (acfg->fp,
-                        ".size .%1$s,.-.%1$s\n", symbol);
-#endif
-#else
-#endif
-}
-
 /* END OF ARCH SPECIFIC CODE */
 
 static guint32
@@ -3138,9 +3080,6 @@ is_plt_patch (MonoJumpInfo *patch_info)
        case MONO_PATCH_INFO_JIT_ICALL_ADDR:
        case MONO_PATCH_INFO_ICALL_ADDR:
        case MONO_PATCH_INFO_RGCTX_FETCH:
-       case MONO_PATCH_INFO_MONITOR_ENTER:
-       case MONO_PATCH_INFO_MONITOR_ENTER_V4:
-       case MONO_PATCH_INFO_MONITOR_EXIT:
        case MONO_PATCH_INFO_LLVM_IMT_TRAMPOLINE:
                return TRUE;
        default:
@@ -5372,9 +5311,6 @@ encode_patch (MonoAotCompile *acfg, MonoJumpInfo *patch_info, guint8 *buf, guint
                encode_patch (acfg, entry->data, p, &p);
                break;
        }
-       case MONO_PATCH_INFO_MONITOR_ENTER:
-       case MONO_PATCH_INFO_MONITOR_ENTER_V4:
-       case MONO_PATCH_INFO_MONITOR_EXIT:
        case MONO_PATCH_INFO_SEQ_POINT_INFO:
                break;
        case MONO_PATCH_INFO_LLVM_IMT_TRAMPOLINE:
@@ -6194,7 +6130,7 @@ emit_trampoline_full (MonoAotCompile *acfg, int got_offset, MonoTrampInfo *info,
 static G_GNUC_UNUSED void
 emit_trampoline (MonoAotCompile *acfg, int got_offset, MonoTrampInfo *info)
 {
-       emit_trampoline_full (acfg, got_offset, info, FALSE);
+       emit_trampoline_full (acfg, got_offset, info, TRUE);
 }
 
 static void
@@ -6239,17 +6175,6 @@ emit_trampolines (MonoAotCompile *acfg)
                        emit_trampoline (acfg, acfg->got_offset, info);
                }
 
-#if defined(MONO_ARCH_MONITOR_OBJECT_REG)
-               mono_arch_create_monitor_enter_trampoline (&info, FALSE, TRUE);
-               emit_trampoline (acfg, acfg->got_offset, info);
-#if defined(MONO_ARCH_MONITOR_LOCK_TAKEN_REG)
-               mono_arch_create_monitor_enter_trampoline (&info, TRUE, TRUE);
-               emit_trampoline (acfg, acfg->got_offset, info);
-#endif
-               mono_arch_create_monitor_exit_trampoline (&info, TRUE);
-               emit_trampoline (acfg, acfg->got_offset, info);
-#endif
-
                /* Emit the exception related code pieces */
                mono_arch_get_restore_context (&info, TRUE);
                emit_trampoline (acfg, acfg->got_offset, info);
@@ -6660,8 +6585,6 @@ mono_aot_parse_options (const char *aot_options, MonoAotOptions *opts)
                        opts->nimt_trampolines = atoi (arg + strlen ("nimt-trampolines="));
                } else if (str_begins_with (arg, "ngsharedvt-trampolines=")) {
                        opts->ngsharedvt_arg_trampolines = atoi (arg + strlen ("ngsharedvt-trampolines="));
-               } else if (str_begins_with (arg, "autoreg")) {
-                       opts->autoreg = TRUE;
                } else if (str_begins_with (arg, "tool-prefix=")) {
                        opts->tool_prefix = g_strdup (arg + strlen ("tool-prefix="));
                } else if (str_begins_with (arg, "ld-flags=")) {
@@ -6728,7 +6651,6 @@ mono_aot_parse_options (const char *aot_options, MonoAotOptions *opts)
                        printf ("    nrgctx-trampolines=\n");
                        printf ("    nimt-trampolines=\n");
                        printf ("    ngsharedvt-trampolines=\n");
-                       printf ("    autoreg\n");
                        printf ("    tool-prefix=\n");
                        printf ("    readonly-value=\n");
                        printf ("    soft-debug\n");
@@ -7543,6 +7465,7 @@ static void
 emit_code (MonoAotCompile *acfg)
 {
        int oindex, i, prev_index;
+       gboolean saved_unbox_info = FALSE;
        char symbol [256];
 
 #if defined(TARGET_POWERPC64)
@@ -7610,6 +7533,23 @@ emit_code (MonoAotCompile *acfg)
 
                        if (acfg->thumb_mixed && cfg->compile_llvm)
                                emit_set_arm_mode (acfg);
+
+                       if (!saved_unbox_info) {
+                               char user_symbol [128];
+                               GSList *unwind_ops;
+                               sprintf (user_symbol, "%sunbox_trampoline_p", acfg->user_symbol_prefix);
+
+                               emit_label (acfg, "ut_end");
+
+                               unwind_ops = mono_unwind_get_cie_program ();
+                               save_unwind_info (acfg, user_symbol, unwind_ops);
+                               mono_free_unwind_info (unwind_ops);
+
+                               /* Save the unbox trampoline size */
+                               emit_symbol_diff (acfg, "ut_end", symbol, 0);
+
+                               saved_unbox_info = TRUE;
+                       }
                }
 
                if (cfg->compile_llvm)
@@ -8555,25 +8495,6 @@ emit_globals (MonoAotCompile *acfg)
        emit_int32 (acfg, 0);
 }
 
-static void
-emit_autoreg (MonoAotCompile *acfg)
-{
-       char *symbol;
-
-       /*
-        * Emit a function into the .ctor section which will be called by the ELF
-        * loader to register this module with the runtime.
-        */
-       if (! (!acfg->use_bin_writer && acfg->aot_opts.static_link && acfg->aot_opts.autoreg))
-               return;
-
-       symbol = g_strdup_printf ("_%s_autoreg", acfg->static_linking_symbol);
-
-       arch_emit_autoreg (acfg, symbol);
-
-       g_free (symbol);
-}      
-
 static void
 emit_mem_end (MonoAotCompile *acfg)
 {
@@ -8607,25 +8528,8 @@ init_aot_file_info (MonoAotCompile *acfg, MonoAotFileInfo *info, int gc_name_off
                info->trampoline_size [i] = acfg->trampoline_size [i];
        info->num_rgctx_fetch_trampolines = acfg->aot_opts.nrgctx_fetch_trampolines;
 
-#if defined (TARGET_ARM) && defined (TARGET_MACH)
-       {
-               MonoType t;
-               int align = 0;
-
-               memset (&t, 0, sizeof (MonoType));
-               t.type = MONO_TYPE_R8;
-               mono_type_size (&t, &align);
-               info->double_align = align;
-
-               memset (&t, 0, sizeof (MonoType));
-               t.type = MONO_TYPE_I8;
-               mono_type_size (&t, &align);
-               info->long_align = align;
-       }
-#else
        info->double_align = MONO_ABI_ALIGNOF (double);
        info->long_align = MONO_ABI_ALIGNOF (gint64);
-#endif
        info->generic_tramp_num = MONO_TRAMPOLINE_NUM;
        info->tramp_page_size = acfg->tramp_page_size;
        for (i = 0; i < MONO_AOT_TRAMP_NUM; ++i)
@@ -9137,7 +9041,7 @@ compile_asm (MonoAotCompile *acfg)
        tmp_outfile_name = g_strdup_printf ("%s.tmp", outfile_name);
 
        if (acfg->llvm) {
-               llvm_ofile = g_strdup (acfg->llvm_ofile);
+               llvm_ofile = g_strdup_printf ("\"%s\"", acfg->llvm_ofile);
        } else {
                llvm_ofile = g_strdup ("");
        }
@@ -9146,7 +9050,7 @@ compile_asm (MonoAotCompile *acfg)
        g_strdelimit (ld_flags, ";", ' ');
 
 #ifdef LD_NAME
-       command = g_strdup_printf ("%s -o %s %s %s.o %s", LD_NAME, tmp_outfile_name, llvm_ofile, acfg->tmpfname, ld_flags);
+       command = g_strdup_printf ("%s -o \"%s\" %s \"%s.o\" %s", LD_NAME, tmp_outfile_name, llvm_ofile, acfg->tmpfname, ld_flags);
 #else
        command = g_strdup_printf ("\"%sld\" %s -shared -o %s %s %s.o %s", tool_prefix, LD_OPTIONS, tmp_outfile_name, llvm_ofile,
                acfg->tmpfname, ld_flags);
@@ -9187,7 +9091,7 @@ compile_asm (MonoAotCompile *acfg)
        rename (tmp_outfile_name, outfile_name);
 
 #if defined(TARGET_MACH)
-       command = g_strdup_printf ("dsymutil %s", outfile_name);
+       command = g_strdup_printf ("dsymutil \"%s\"", outfile_name);
        aot_printf (acfg, "Executing dsymutil: %s\n", command);
        if (execute_system (command) != 0) {
                return 1;
@@ -9499,9 +9403,6 @@ mono_compile_assembly (MonoAssembly *ass, guint32 opts, const char *aot_options)
                acfg->logfile = fopen (acfg->aot_opts.logfile, "a+");
        }
 
-       if (acfg->aot_opts.static_link)
-               acfg->aot_opts.autoreg = TRUE;
-
        //acfg->aot_opts.print_skipped_methods = TRUE;
 
 #if !defined(MONO_ARCH_GSHAREDVT_SUPPORTED) || !defined(ENABLE_GSHAREDVT)
@@ -9711,46 +9612,24 @@ mono_compile_assembly (MonoAssembly *ass, guint32 opts, const char *aot_options)
        }
 #endif
 
-       if (!acfg->aot_opts.asm_only && !acfg->aot_opts.asm_writer && mono_bin_writer_supported ()) {
+       if (acfg->aot_opts.asm_only) {
                if (acfg->aot_opts.outfile)
-                       outfile_name = g_strdup_printf ("%s", acfg->aot_opts.outfile);
+                       acfg->tmpfname = g_strdup_printf ("%s", acfg->aot_opts.outfile);
                else
-                       outfile_name = g_strdup_printf ("%s%s", acfg->image->name, MONO_SOLIB_EXT);
-
-               /* 
-                * Can't use g_file_open_tmp () as it will be deleted at exit, and
-                * it might be in another file system so the rename () won't work.
-                */
-               tmp_outfile_name = g_strdup_printf ("%s.tmp", outfile_name);
-
-               acfg->fp = fopen (tmp_outfile_name, "w");
-               if (!acfg->fp) {
-                       aot_printf (acfg, "Unable to create temporary file '%s': %s\n", tmp_outfile_name, strerror (errno));
-                       return 1;
-               }
-
-               acfg->w = mono_img_writer_create (acfg->fp, TRUE);
-               acfg->use_bin_writer = TRUE;
+                       acfg->tmpfname = g_strdup_printf ("%s.s", acfg->image->name);
+               acfg->fp = fopen (acfg->tmpfname, "w+");
        } else {
-               if (acfg->aot_opts.asm_only) {
-                       if (acfg->aot_opts.outfile)
-                               acfg->tmpfname = g_strdup_printf ("%s", acfg->aot_opts.outfile);
-                       else
-                               acfg->tmpfname = g_strdup_printf ("%s.s", acfg->image->name);
-                       acfg->fp = fopen (acfg->tmpfname, "w+");
-               } else {
-                       int i = g_file_open_tmp ("mono_aot_XXXXXX", &acfg->tmpfname, NULL);
-                       acfg->fp = fdopen (i, "w+");
-               }
-               if (acfg->fp == 0) {
-                       aot_printerrf (acfg, "Unable to open file '%s': %s\n", acfg->tmpfname, strerror (errno));
-                       return 1;
-               }
-               acfg->w = mono_img_writer_create (acfg->fp, FALSE);
-               
-               tmp_outfile_name = NULL;
-               outfile_name = NULL;
+               int i = g_file_open_tmp ("mono_aot_XXXXXX", &acfg->tmpfname, NULL);
+               acfg->fp = fdopen (i, "w+");
        }
+       if (acfg->fp == 0) {
+               aot_printerrf (acfg, "Unable to open file '%s': %s\n", acfg->tmpfname, strerror (errno));
+               return 1;
+       }
+       acfg->w = mono_img_writer_create (acfg->fp, FALSE);
+
+       tmp_outfile_name = NULL;
+       outfile_name = NULL;
 
        /* Compute symbols for methods */
        for (i = 0; i < acfg->nmethods; ++i) {
@@ -9824,8 +9703,6 @@ mono_compile_assembly (MonoAssembly *ass, guint32 opts, const char *aot_options)
 
        emit_globals (acfg);
 
-       emit_autoreg (acfg);
-
        if (acfg->dwarf) {
                emit_dwarf_info (acfg);
                mono_dwarf_writer_close (acfg->dwarf);
@@ -9836,8 +9713,7 @@ mono_compile_assembly (MonoAssembly *ass, guint32 opts, const char *aot_options)
        if (acfg->need_pt_gnu_stack) {
                /* This is required so the .so doesn't have an executable stack */
                /* The bin writer already emits this */
-               if (!acfg->use_bin_writer)
-                       fprintf (acfg->fp, "\n.section  .note.GNU-stack,\"\",@progbits\n");
+               fprintf (acfg->fp, "\n.section  .note.GNU-stack,\"\",@progbits\n");
        }
 
 #ifdef ENABLE_LLVM
@@ -9891,19 +9767,10 @@ mono_compile_assembly (MonoAssembly *ass, guint32 opts, const char *aot_options)
                acfg_free (acfg);
                return res;
        }
-       if (acfg->use_bin_writer) {
-               int err = rename (tmp_outfile_name, outfile_name);
-
-               if (err) {
-                       aot_printf (acfg, "Unable to rename '%s' to '%s': %s\n", tmp_outfile_name, outfile_name, strerror (errno));
-                       return 1;
-               }
-       } else {
-               res = compile_asm (acfg);
-               if (res != 0) {
-                       acfg_free (acfg);
-                       return res;
-               }
+       res = compile_asm (acfg);
+       if (res != 0) {
+               acfg_free (acfg);
+               return res;
        }
        TV_GETTIME (btv);
        acfg->stats.link_time = TV_ELAPSED (atv, btv);
index 868b4fa6fbb9b77ac259fa5449a9d1f01301e181..ba9d698d3dbd97e271340832fd2602f7ceba87aa 100644 (file)
@@ -48,7 +48,6 @@
 #include <mono/metadata/metadata-internals.h>
 #include <mono/metadata/marshal.h>
 #include <mono/metadata/gc-internal.h>
-#include <mono/metadata/monitor.h>
 #include <mono/metadata/threads-types.h>
 #include <mono/metadata/mono-endian.h>
 #include <mono/utils/mono-logger-internal.h>
@@ -889,10 +888,8 @@ decode_method_ref_with_target (MonoAotModule *module, MethodRef *ref, MonoMethod
                        int atype = decode_value (p, &p);
 
                        ref->method = mono_gc_get_managed_allocator_by_type (atype, !!(mono_profiler_get_events () & MONO_PROFILE_ALLOCATIONS));
-                       if (!ref->method) {
-                               fprintf (stderr, "Error: No managed allocator, but we need one for AOT.\nAre you using non-standard GC options?\n");
-                               exit (1);
-                       }
+                       if (!ref->method)
+                               g_error ("Error: No managed allocator, but we need one for AOT.\nAre you using non-standard GC options?\n");
                        break;
                }
                case MONO_WRAPPER_WRITE_BARRIER:
@@ -1834,10 +1831,8 @@ load_aot_module (MonoAssembly *assembly, gpointer user_data)
        }
 
        if (!sofile && !globals) {
-               if (mono_aot_only && assembly->image->tables [MONO_TABLE_METHOD].rows) {
-                       fprintf (stderr, "Failed to load AOT module '%s' in aot-only mode.\n", aot_name);
-                       exit (1);
-               }
+               if (mono_aot_only && assembly->image->tables [MONO_TABLE_METHOD].rows)
+                       g_error ("Failed to load AOT module '%s' in aot-only mode.\n", aot_name);
                g_free (aot_name);
                return;
        }
@@ -1864,8 +1859,7 @@ load_aot_module (MonoAssembly *assembly, gpointer user_data)
 
        if (!usable) {
                if (mono_aot_only) {
-                       fprintf (stderr, "Failed to load AOT module '%s' while running in aot-only mode: %s.\n", aot_name, msg);
-                       exit (1);
+                       g_error ("Failed to load AOT module '%s' while running in aot-only mode: %s.\n", aot_name, msg);
                } else {
                        mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_AOT, "AOT: module %s is unusable: %s.\n", aot_name, msg);
                }
@@ -1877,26 +1871,9 @@ load_aot_module (MonoAssembly *assembly, gpointer user_data)
                return;
        }
 
-#if defined (TARGET_ARM) && defined (TARGET_MACH)
-       {
-               MonoType t;
-               int align = 0;
-
-               memset (&t, 0, sizeof (MonoType));
-               t.type = MONO_TYPE_R8;
-               mono_type_size (&t, &align);
-               align_double = align;
-
-               memset (&t, 0, sizeof (MonoType));
-               t.type = MONO_TYPE_I8;
-               align_int64 = align;
-       }
-#else
+       /* Sanity check */
        align_double = MONO_ABI_ALIGNOF (double);
        align_int64 = MONO_ABI_ALIGNOF (gint64);
-#endif
-
-       /* Sanity check */
        g_assert (info->double_align == align_double);
        g_assert (info->long_align == align_int64);
        g_assert (info->generic_tramp_num == MONO_TRAMPOLINE_NUM);
@@ -2078,6 +2055,20 @@ load_aot_module (MonoAssembly *assembly, gpointer user_data)
 
        init_gots (amodule);
 
+       /*
+        * Register the plt region as a single trampoline so we can unwind from this code
+        */
+       mono_tramp_info_register (
+               mono_tramp_info_create (
+                       NULL,
+                       amodule->plt,
+                       amodule->plt_end - amodule->plt,
+                       NULL,
+                       mono_unwind_get_cie_program ()
+                       ),
+               NULL
+               );
+
        /*
         * Since we store methoddef and classdef tokens when referring to methods/classes in
         * referenced assemblies, we depend on the exact versions of the referenced assemblies.
@@ -2102,10 +2093,8 @@ load_aot_module (MonoAssembly *assembly, gpointer user_data)
 
        if (amodule->out_of_date) {
                mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_AOT, "AOT: Module %s is unusable because a dependency is out-of-date.\n", assembly->image->name);
-               if (mono_aot_only) {
-                       fprintf (stderr, "Failed to load AOT module '%s' while running in aot-only mode because a dependency cannot be found or it is out of date.\n", aot_name);
-                       exit (1);
-               }
+               if (mono_aot_only)
+                       g_error ("Failed to load AOT module '%s' while running in aot-only mode because a dependency cannot be found or it is out of date.\n", aot_name);
        }
        else
                mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_AOT, "AOT: loaded AOT Module for %s.\n", assembly->image->name);
@@ -2421,10 +2410,8 @@ compute_llvm_code_range (MonoAotModule *amodule, guint8 **code_start, guint8 **c
        p += 4;
        table = (gint32*)p;
 
-       if (fde_count > 1) {
-               /* mono_aot_personality () */
-               g_assert (table [0] == -1);
-               *code_start = amodule->methods [table [2]];
+       if (fde_count > 0) {
+               *code_start = amodule->methods [table [0]];
                *code_end = (guint8*)amodule->methods [table [(fde_count - 1) * 2]] + table [fde_count * 2];
        } else {
                *code_start = NULL;
@@ -3176,11 +3163,10 @@ mono_aot_find_jit_info (MonoDomain *domain, MonoImage *image, gpointer addr)
        }
 
        //printf ("F: %s\n", mono_method_full_name (method, TRUE));
-       
+
        jinfo = decode_exception_debug_info (amodule, domain, method, ex_info, addr, code, code_len);
 
        g_assert ((guint8*)addr >= (guint8*)jinfo->code_start);
-       g_assert ((guint8*)addr < (guint8*)jinfo->code_start + jinfo->code_size);
 
        /* Add it to the normal JitInfo tables */
        if (async) {
@@ -3212,6 +3198,10 @@ mono_aot_find_jit_info (MonoDomain *domain, MonoImage *image, gpointer addr)
        } else {
                mono_jit_info_table_add (domain, jinfo);
        }
+
+       if ((guint8*)addr >= (guint8*)jinfo->code_start + jinfo->code_size)
+               /* addr is in the padding between methods, see the adjustment of code_size in decode_exception_debug_info () */
+               return NULL;
        
        return jinfo;
 }
@@ -3359,9 +3349,6 @@ decode_patch (MonoAotModule *aot_module, MonoMemPool *mp, MonoJumpInfo *ji, guin
                ji->data.offset = decode_value (p, &p);
                break;
        case MONO_PATCH_INFO_INTERRUPTION_REQUEST_FLAG:
-       case MONO_PATCH_INFO_MONITOR_ENTER:
-       case MONO_PATCH_INFO_MONITOR_ENTER_V4:
-       case MONO_PATCH_INFO_MONITOR_EXIT:
        case MONO_PATCH_INFO_GC_CARD_TABLE_ADDR:
        case MONO_PATCH_INFO_GC_NURSERY_START:
        case MONO_PATCH_INFO_JIT_TLS_ID:
@@ -3746,7 +3733,11 @@ find_aot_method_in_amodule (MonoAotModule *amodule, MonoMethod *method, guint32
                amodule_unlock (amodule);
                if (!m) {
                        m = decode_resolve_method_ref_with_target (amodule, method, p, &p);
-                       if (m) {
+                       /*
+                        * Can't catche runtime invoke wrappers since it would break
+                        * the check in decode_method_ref_with_target ().
+                        */
+                       if (m && m->wrapper_type != MONO_WRAPPER_RUNTIME_INVOKE) {
                                amodule_lock (amodule);
                                g_hash_table_insert (amodule->method_ref_to_method, orig_p, m);
                                amodule_unlock (amodule);
@@ -4549,15 +4540,6 @@ load_function_full (MonoAotModule *amodule, const char *name, MonoTrampInfo **ou
                                        g_assert (res == 1);
                                        target = mono_create_specific_trampoline (GUINT_TO_POINTER (slot), MONO_TRAMPOLINE_RGCTX_LAZY_FETCH, mono_get_root_domain (), NULL);
                                        target = mono_create_ftnptr_malloc (target);
-                               } else if (!strcmp (ji->data.name, "specific_trampoline_monitor_enter")) {
-                                       target = mono_create_specific_trampoline (NULL, MONO_TRAMPOLINE_MONITOR_ENTER, mono_get_root_domain (), NULL);
-                                       target = mono_create_ftnptr_malloc (target);
-                               } else if (!strcmp (ji->data.name, "specific_trampoline_monitor_enter_v4")) {
-                                       target = mono_create_specific_trampoline (NULL, MONO_TRAMPOLINE_MONITOR_ENTER_V4, mono_get_root_domain (), NULL);
-                                       target = mono_create_ftnptr_malloc (target);
-                               } else if (!strcmp (ji->data.name, "specific_trampoline_monitor_exit")) {
-                                       target = mono_create_specific_trampoline (NULL, MONO_TRAMPOLINE_MONITOR_EXIT, mono_get_root_domain (), NULL);
-                                       target = mono_create_ftnptr_malloc (target);
                                } else if (!strcmp (ji->data.name, "mono_thread_get_and_clear_pending_exception")) {
                                        target = mono_thread_get_and_clear_pending_exception;
                                } else if (!strcmp (ji->data.name, "debugger_agent_single_step_from_context")) {
@@ -4629,7 +4611,36 @@ mono_aot_get_trampoline_full (const char *name, MonoTrampInfo **out_tinfo)
 gpointer
 mono_aot_get_trampoline (const char *name)
 {
-       return mono_aot_get_trampoline_full (name, NULL);
+       MonoTrampInfo *out_tinfo;
+       gpointer code;
+
+       code =  mono_aot_get_trampoline_full (name, &out_tinfo);
+       mono_tramp_info_register (out_tinfo, NULL);
+
+       return code;
+}
+
+static gpointer
+read_unwind_info (MonoAotModule *amodule, MonoTrampInfo *info, const char *symbol_name)
+{
+       gpointer symbol_addr;
+       guint32 uw_offset, uw_info_len;
+       guint8 *uw_info;
+
+       find_symbol (amodule->sofile, amodule->globals, symbol_name, &symbol_addr);
+
+       if (!symbol_addr)
+               return NULL;
+
+       uw_offset = *(guint32*)symbol_addr;
+       uw_info = amodule->unwind_info + uw_offset;
+       uw_info_len = decode_value (uw_info, &uw_info);
+
+       info->uw_info = uw_info;
+       info->uw_info_len = uw_info_len;
+
+       /* If successful return the address of the following data */
+       return (guint32*)symbol_addr + 1;
 }
 
 #ifdef MONOTOUCH
@@ -4637,6 +4648,25 @@ mono_aot_get_trampoline (const char *name)
 
 static TrampolinePage* trampoline_pages [MONO_AOT_TRAMP_NUM];
 
+static void
+read_page_trampoline_uwinfo (MonoTrampInfo *info, int tramp_type, gboolean is_generic)
+{
+       char symbol_name [128];
+
+       if (tramp_type == MONO_AOT_TRAMP_SPECIFIC)
+               sprintf (symbol_name, "specific_trampolines_page_%s_p", is_generic ? "gen" : "sp");
+       else if (tramp_type == MONO_AOT_TRAMP_STATIC_RGCTX)
+               sprintf (symbol_name, "rgctx_trampolines_page_%s_p", is_generic ? "gen" : "sp");
+       else if (tramp_type == MONO_AOT_TRAMP_IMT_THUNK)
+               sprintf (symbol_name, "imt_trampolines_page_%s_p", is_generic ? "gen" : "sp");
+       else if (tramp_type == MONO_AOT_TRAMP_GSHAREDVT_ARG)
+               sprintf (symbol_name, "gsharedvt_trampolines_page_%s_p", is_generic ? "gen" : "sp");
+       else
+               g_assert_not_reached ();
+
+       read_unwind_info (mono_defaults.corlib->aot_module, info, symbol_name);
+}
+
 static unsigned char*
 get_new_trampoline_from_page (int tramp_type)
 {
@@ -4688,6 +4718,8 @@ get_new_trampoline_from_page (int tramp_type)
        count = 40;
        page = NULL;
        while (page == NULL && count-- > 0) {
+               MonoTrampInfo *gen_info, *sp_info;
+
                addr = 0;
                /* allocate two contiguous pages of memory: the first page will contain the data (like a local constant pool)
                 * while the second will contain the trampolines.
@@ -4728,6 +4760,23 @@ get_new_trampoline_from_page (int tramp_type)
                code = page->trampolines;
                page->trampolines += specific_trampoline_size;
                mono_aot_page_unlock ();
+
+               /* Register the generic part at the beggining of the trampoline page */
+               gen_info = mono_tramp_info_create (NULL, (guint8*)taddr, amodule->info.tramp_page_code_offsets [tramp_type], NULL, NULL);
+               read_page_trampoline_uwinfo (gen_info, tramp_type, TRUE);
+               mono_tramp_info_register (gen_info, NULL);
+               /*
+                * FIXME
+                * Registering each specific trampoline produces a lot of
+                * MonoJitInfo structures. Jump trampolines are also registered
+                * separately.
+                */
+               if (tramp_type != MONO_AOT_TRAMP_SPECIFIC) {
+                       /* Register the rest of the page as a single trampoline */
+                       sp_info = mono_tramp_info_create (NULL, code, page->trampolines_end - code, NULL, NULL);
+                       read_page_trampoline_uwinfo (sp_info, tramp_type, FALSE);
+                       mono_tramp_info_register (sp_info, NULL);
+               }
                return code;
        }
        g_error ("Cannot allocate more trampoline pages: %d", ret);
@@ -4807,6 +4856,7 @@ get_new_gsharedvt_arg_trampoline_from_page (gpointer tramp, gpointer arg)
 }
 
 /* Return a given kind of trampoline */
+/* FIXME set unwind info for these trampolines */
 static gpointer
 get_numerous_trampoline (MonoAotTrampoline tramp_type, int n_got_slots, MonoAotModule **out_amodule, guint32 *got_offset, guint32 *out_tramp_size)
 {
@@ -4925,6 +4975,8 @@ mono_aot_get_unbox_trampoline (MonoMethod *method)
        gpointer code;
        guint32 *ut, *ut_end, *entry;
        int low, high, entry_index = 0;
+       gpointer symbol_addr;
+       MonoTrampInfo *tinfo;
 
        if (method->is_inflated && !mono_method_is_generic_sharable_full (method, FALSE, FALSE, FALSE)) {
                method_index = find_aot_method (method, &amodule);
@@ -4964,6 +5016,17 @@ mono_aot_get_unbox_trampoline (MonoMethod *method)
        code = get_call_table_entry (amodule->unbox_trampoline_addresses, entry_index);
        g_assert (code);
 
+       tinfo = mono_tramp_info_create (NULL, code, 0, NULL, NULL);
+
+       symbol_addr = read_unwind_info (amodule, tinfo, "unbox_trampoline_p");
+       if (!symbol_addr) {
+               mono_tramp_info_free (tinfo);
+               return FALSE;
+       }
+
+       tinfo->code_size = *(guint32*)symbol_addr;
+       mono_tramp_info_register (tinfo, NULL);
+
        /* The caller expects an ftnptr */
        return mono_create_ftnptr (mono_domain_get (), code);
 }
index 17e3cfafee9a6476951c576492969fa282691f5b..98bd905faf3550cfae9354d3c34360ba53cdebd9 100644 (file)
@@ -1,5 +1,6 @@
 using System;
 using System.Text;
+using System.Linq;
 using System.Reflection;
 using System.Runtime.InteropServices;
 using System.Runtime.CompilerServices;
@@ -202,6 +203,23 @@ class Tests
                return 0;
        }
 
+       class Foo6 {
+               public T reg_stack_split_inner<T> (int i, int j, T l) {
+                       return l;
+               }
+       }
+
+       [Category("DYNCALL")]
+       static int test_0_arm_dyncall_reg_stack_split () {
+               var m = typeof (Foo6).GetMethod ("reg_stack_split_inner").MakeGenericMethod (new Type[] { typeof (long) });
+               var o = new Foo6 ();
+               if ((long)m.Invoke (o, new object [] { 1, 2, 3 }) != 3)
+                       return 1;
+               if ((long)m.Invoke (o, new object [] { 1, 2, Int64.MaxValue }) != Int64.MaxValue)
+                       return 2;
+               return 0;
+       }
+
        static int test_0_partial_sharing_regress_30204 () {
                var t = typeof (System.Collections.Generic.Comparer<System.Collections.Generic.KeyValuePair<string, string>>);
                var d = new SortedDictionary<string, string> ();
@@ -257,4 +275,20 @@ class Tests
                var c = Comparer<AnEnum>.Default;
                return c.Compare (AnEnum.A, AnEnum.A);
        }
+
+       private static Dictionary<long, TValue> ConvertDictionary<TValue>(Dictionary<long, IList<TValue>> source) {
+               return source.ToDictionary(pair => pair.Key, pair => pair.Value[0]);
+       }
+
+       [Category ("GSHAREDVT")]
+       public static int test_0_gsharedvt_non_variable_arg () {
+               Dictionary<long, IList<int>> data = new Dictionary<long, IList<int>>
+            {
+                               {123L, new List<int> {2}}
+            };
+               Dictionary<long, int> newDict = ConvertDictionary(data);
+               if (newDict.Count != 1)
+                       return 1;
+               return 0;
+       }
 }
diff --git a/mono/mini/arch-stubs.c b/mono/mini/arch-stubs.c
new file mode 100644 (file)
index 0000000..d67b677
--- /dev/null
@@ -0,0 +1,73 @@
+#include "mini.h"
+
+/* Dummy versions of some arch specific functions to avoid ifdefs at call sites */
+
+#ifndef MONO_ARCH_GSHAREDVT_SUPPORTED
+
+gboolean
+mono_arch_gsharedvt_sig_supported (MonoMethodSignature *sig)
+{
+       return FALSE;
+}
+
+gpointer
+mono_arch_get_gsharedvt_call_info (gpointer addr, MonoMethodSignature *normal_sig, MonoMethodSignature *gsharedvt_sig, gboolean gsharedvt_in, gint32 vcall_offset, gboolean calli)
+{
+       g_assert_not_reached ();
+       return NULL;
+}
+
+gpointer
+mono_arch_get_gsharedvt_arg_trampoline (MonoDomain *domain, gpointer arg, gpointer addr)
+{
+       g_assert_not_reached ();
+       return NULL;
+}
+
+gpointer
+mono_arch_get_gsharedvt_trampoline (MonoTrampInfo **info, gboolean aot)
+{
+       g_assert_not_reached ();
+       return NULL;
+}
+
+#endif
+
+#if defined(MONO_ARCH_GSHAREDVT_SUPPORTED) && !defined(ENABLE_GSHAREDVT)
+
+gboolean
+mono_arch_gsharedvt_sig_supported (MonoMethodSignature *sig)
+{
+       return FALSE;
+}
+
+gpointer
+mono_arch_get_gsharedvt_call_info (gpointer addr, MonoMethodSignature *normal_sig, MonoMethodSignature *gsharedvt_sig, gboolean gsharedvt_in, gint32 vcall_offset, gboolean calli)
+{
+       NOT_IMPLEMENTED;
+       return NULL;
+}
+
+#endif
+
+#ifndef MONO_ARCH_HAVE_DECOMPOSE_OPTS
+void
+mono_arch_decompose_opts (MonoCompile *cfg, MonoInst *ins)
+{
+}
+#endif
+
+#ifndef MONO_ARCH_HAVE_OPCODE_NEEDS_EMULATION
+gboolean
+mono_arch_opcode_needs_emulation (MonoCompile *cfg, int opcode)
+{
+       return FALSE;
+}
+#endif
+
+#ifndef MONO_ARCH_HAVE_DECOMPOSE_LONG_OPTS
+void
+mono_arch_decompose_long_opts (MonoCompile *cfg, MonoInst *ins)
+{
+}
+#endif
index 14488d7b435a2eee3e9f37833904ddea34173ae5..6b5d709f905d335e3fb4b37267dfce4527d97797 100644 (file)
@@ -1238,7 +1238,7 @@ mono_remove_critical_edges (MonoCompile *cfg)
 void
 mono_optimize_branches (MonoCompile *cfg)
 {
-       int i, changed = FALSE;
+       int i, count = 0, changed = FALSE;
        MonoBasicBlock *bb, *bbn;
        guint32 niterations;
        MonoInst *bbn_first_inst;
@@ -1261,6 +1261,11 @@ mono_optimize_branches (MonoCompile *cfg)
 
                /* we skip the entry block (exit is handled specially instead ) */
                for (previous_bb = cfg->bb_entry, bb = cfg->bb_entry->next_bb; bb; previous_bb = bb, bb = bb->next_bb) {
+                       count ++;
+                       if (count == 1000) {
+                               MONO_SUSPEND_CHECK ();
+                               count = 0;
+                       }
                        /* dont touch code inside exception clauses */
                        if (bb->region != -1)
                                continue;
index 194ff2b334534d156594405b3e4c2e26c7bb4f00..49bc57e72e84fd45a78bfde7aac37ac59a1d9e87 100644 (file)
@@ -381,6 +381,7 @@ gc_liveness_def: len:0
 gc_liveness_use: len:0
 gc_spill_slot_liveness_def: len:0
 gc_param_slot_liveness_def: len:0
+gc_safe_point: clob:c src1:i len:40
 
 atomic_add_i4: dest:i src1:i src2:i len:64
 atomic_exchange_i4: dest:i src1:i src2:i len:64
index d9c2a5f2751408528f0551ced8def387fd9aa798..440e6a69e14b46711625758d458e12955ddc9f5a 100644 (file)
@@ -480,3 +480,4 @@ atomic_store_r4: dest:b src1:f len:24
 atomic_store_r8: dest:b src1:f len:20
 
 generic_class_init: src1:a len:44 clob:c
+gc_safe_point: src1:i len:12 clob:c
index ba2ec60d3e727b0a74beeffeeb2126607abed162..8109c232b0b5aa61015222287733c4b25fbb4989 100644 (file)
@@ -128,6 +128,8 @@ storer8_memindex: dest:b src1:i src2:i len:4
 loadu4_mem: dest:i len:8
 move: dest:i src1:i len:4
 fmove: dest:f src1:f len:4
+move_f_to_i4: dest:i src1:f len:8
+move_i4_to_f: dest:f src1:i len:8
 add_imm: dest:i src1:i len:4
 sub_imm: dest:i src1:i len:4
 mul_imm: dest:i src1:i len:4
@@ -314,5 +316,5 @@ vcall2_membase: src1:b len:16 clob:c
 
 jump_table: dest:i len:8
 
-atomic_add_i4: src1:b src2:i dest:i len:20
+atomic_add_i4: src1:b src2:i dest:i len:28
 atomic_cas_i4: src1:b src2:i src3:i dest:i len:38
index 2bd196cc76c0fd4f1de577e8ae0cc99770a8554f..e9789f9461f375f76c0e242dff149d2dd0d6f68d 100644 (file)
@@ -66,7 +66,7 @@ break: len:1
 call: dest:a clob:c len:17
 tailcall: len:120 clob:c
 br: len:5
-seq_point: len:17
+seq_point: len:24 clob:c
 il_seq_point: len:0
 
 int_beq: len:6
index 2a52f825d9bef37957ef6702c8f691ee8b61c831..5a5faf35c4663f289bbf2821a3059955f12068af 100644 (file)
@@ -225,11 +225,6 @@ typedef struct {
      */
        MonoThreadUnwindState filter_state;
 
-       /*
-        * The callee address of the last mono_runtime_invoke call
-        */
-       gpointer invoke_addr;
-
        gboolean abort_requested;
 
        /*
@@ -273,7 +268,7 @@ typedef struct {
 #define HEADER_LENGTH 11
 
 #define MAJOR_VERSION 2
-#define MINOR_VERSION 40
+#define MINOR_VERSION 42
 
 typedef enum {
        CMD_SET_VM = 1,
@@ -330,6 +325,7 @@ typedef enum {
        ERR_NO_INVOCATION = 104,
        ERR_ABSENT_INFORMATION = 105,
        ERR_NO_SEQ_POINT_AT_IL_OFFSET = 106,
+       ERR_INVOKE_ABORTED = 107,
        ERR_LOADER_ERROR = 200, /*XXX extend the protocol to pass this information down the pipe */
 } ErrorCode;
 
@@ -655,12 +651,15 @@ static MonoNativeTlsKey debugger_tls_id;
 static gboolean vm_start_event_sent, vm_death_event_sent, disconnected;
 
 /* Maps MonoInternalThread -> DebuggerTlsData */
+/* Protected by the loader lock */
 static MonoGHashTable *thread_to_tls;
 
 /* Maps tid -> MonoInternalThread */
+/* Protected by the loader lock */
 static MonoGHashTable *tid_to_thread;
 
 /* Maps tid -> MonoThread (not MonoInternalThread) */
+/* Protected by the loader lock */
 static MonoGHashTable *tid_to_thread_obj;
 
 static gsize debugger_thread_id;
@@ -690,7 +689,6 @@ static DebuggerProfiler debugger_profiler;
 
 /* The single step request instance */
 static SingleStepReq *ss_req;
-static gpointer ss_invoke_addr;
 
 #ifdef MONO_ARCH_SOFT_DEBUG_SUPPORTED
 /* Number of single stepping operations in progress */
@@ -704,6 +702,7 @@ static int major_version, minor_version;
 static gboolean protocol_version_set;
 
 /* A hash table containing all active domains */
+/* Protected by the loader lock */
 static GHashTable *domains;
 
 /* The number of times the runtime is suspended */
@@ -717,9 +716,9 @@ static ReplyPacket reply_packets [128];
 int nreply_packets;
 
 #define dbg_lock() do {        \
-       MONO_TRY_BLOCKING       \
+       MONO_TRY_BLOCKING;                      \
        mono_mutex_lock (&debug_mutex); \
-       MONO_FINISH_TRY_BLOCKING        \
+       MONO_FINISH_TRY_BLOCKING;               \
 } while (0)
 
 #define dbg_unlock() mono_mutex_unlock (&debug_mutex)
@@ -760,10 +759,6 @@ static void emit_assembly_load (gpointer assembly, gpointer user_data);
 
 static void emit_type_load (gpointer key, gpointer type, gpointer user_data);
 
-static void start_runtime_invoke (MonoProfiler *prof, MonoMethod *method);
-
-static void end_runtime_invoke (MonoProfiler *prof, MonoMethod *method);
-
 static void jit_end (MonoProfiler *prof, MonoMethod *method, MonoJitInfo *jinfo, int result);
 
 static void add_pending_breakpoints (MonoMethod *method, MonoJitInfo *jinfo);
@@ -979,7 +974,7 @@ mono_debugger_agent_init (void)
        event_requests = g_ptr_array_new ();
 
        mono_mutex_init (&debugger_thread_exited_mutex);
-       mono_cond_init (&debugger_thread_exited_cond, NULL);
+       mono_cond_init (&debugger_thread_exited_cond, 0);
 
        mono_profiler_install ((MonoProfiler*)&debugger_profiler, runtime_shutdown);
        mono_profiler_set_events (MONO_PROFILE_APPDOMAIN_EVENTS | MONO_PROFILE_THREADS | MONO_PROFILE_ASSEMBLY_EVENTS | MONO_PROFILE_JIT_COMPILATION | MONO_PROFILE_METHOD_EVENTS);
@@ -988,21 +983,20 @@ mono_debugger_agent_init (void)
        mono_profiler_install_thread (thread_startup, thread_end);
        mono_profiler_install_assembly (NULL, assembly_load, assembly_unload, NULL);
        mono_profiler_install_jit_end (jit_end);
-       mono_profiler_install_method_invoke (start_runtime_invoke, end_runtime_invoke);
 
        mono_native_tls_alloc (&debugger_tls_id, NULL);
 
        /* Needed by the hash_table_new_type () call below */
        mono_gc_base_init ();
 
-       thread_to_tls = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_KEY_GC);
-       MONO_GC_REGISTER_ROOT_FIXED (thread_to_tls);
+       thread_to_tls = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_KEY_GC, MONO_ROOT_SOURCE_DEBUGGER, "thread-to-tls table");
+       MONO_GC_REGISTER_ROOT_FIXED (thread_to_tls, MONO_ROOT_SOURCE_DEBUGGER, "thread-to-tls table");
 
-       tid_to_thread = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_VALUE_GC);
-       MONO_GC_REGISTER_ROOT_FIXED (tid_to_thread);
+       tid_to_thread = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_VALUE_GC, MONO_ROOT_SOURCE_DEBUGGER, "tid-to-thread table");
+       MONO_GC_REGISTER_ROOT_FIXED (tid_to_thread, MONO_ROOT_SOURCE_DEBUGGER, "tid-to-thread table");
 
-       tid_to_thread_obj = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_VALUE_GC);
-       MONO_GC_REGISTER_ROOT_FIXED (tid_to_thread_obj);
+       tid_to_thread_obj = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_VALUE_GC, MONO_ROOT_SOURCE_DEBUGGER, "tid-to-thread object table");
+       MONO_GC_REGISTER_ROOT_FIXED (tid_to_thread_obj, MONO_ROOT_SOURCE_DEBUGGER, "tid-to-thread object table");
 
        pending_assembly_loads = g_ptr_array_new ();
        domains = g_hash_table_new (mono_aligned_addr_hash, NULL);
@@ -1088,9 +1082,9 @@ finish_agent_init (gboolean on_startup)
                }
        }
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        transport_connect (agent_config.address);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        if (!on_startup) {
                /* Do some which is usually done after sending the VMStart () event */
@@ -1322,9 +1316,9 @@ socket_transport_connect (const char *address)
                        }
                }
 
-               MONO_PREPARE_BLOCKING
+               MONO_PREPARE_BLOCKING;
                conn_fd = socket_transport_accept (sfd);
-               MONO_FINISH_BLOCKING
+               MONO_FINISH_BLOCKING;
                if (conn_fd == -1)
                        exit (1);
 
@@ -1544,18 +1538,18 @@ transport_handshake (void)
        /* Write handshake message */
        sprintf (handshake_msg, "DWP-Handshake");
        /* Must use try blocking as this can nest into code that runs blocking */
-       MONO_TRY_BLOCKING
+       MONO_TRY_BLOCKING;
        do {
                res = transport_send (handshake_msg, strlen (handshake_msg));
        } while (res == -1 && get_last_sock_error () == MONO_EINTR);
-       MONO_FINISH_TRY_BLOCKING
+       MONO_FINISH_TRY_BLOCKING;
 
        g_assert (res != -1);
 
        /* Read answer */
-       MONO_TRY_BLOCKING
+       MONO_TRY_BLOCKING;
        res = transport_recv (buf, strlen (handshake_msg));
-       MONO_FINISH_TRY_BLOCKING
+       MONO_FINISH_TRY_BLOCKING;
        if ((res != strlen (handshake_msg)) || (memcmp (buf, handshake_msg, strlen (handshake_msg)) != 0)) {
                fprintf (stderr, "debugger-agent: DWP handshake failed.\n");
                return FALSE;
@@ -1598,9 +1592,9 @@ stop_debugger_thread (void)
        if (!inited)
                return;
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        transport_close1 ();
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        /* 
         * Wait for the thread to exit.
@@ -1610,18 +1604,18 @@ stop_debugger_thread (void)
         */
        if (GetCurrentThreadId () != debugger_thread_id) {
                do {
-                       MONO_TRY_BLOCKING
+                       MONO_TRY_BLOCKING;
                        mono_mutex_lock (&debugger_thread_exited_mutex);
                        if (!debugger_thread_exited)
                                mono_cond_wait (&debugger_thread_exited_cond, &debugger_thread_exited_mutex);
                        mono_mutex_unlock (&debugger_thread_exited_mutex);
-                       MONO_FINISH_TRY_BLOCKING
+                       MONO_FINISH_TRY_BLOCKING;
                } while (!debugger_thread_exited);
        }
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        transport_close2 ();
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 }
 
 static void
@@ -1815,9 +1809,9 @@ send_packet (int command_set, int command, Buffer *data)
        buffer_add_byte (&buf, command);
        memcpy (buf.buf + 11, data->buf, data->p - data->buf);
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        res = transport_send (buf.buf, len);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        buffer_free (&buf);
 
@@ -1844,9 +1838,9 @@ send_reply_packets (int npackets, ReplyPacket *packets)
                buffer_add_buffer (&buf, packets [i].data);
        }
 
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        res = transport_send (buf.buf, len);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        buffer_free (&buf);
 
@@ -1913,7 +1907,9 @@ typedef struct {
 } ObjRef;
 
 /* Maps objid -> ObjRef */
+/* Protected by the loader lock */
 static GHashTable *objrefs;
+/* Protected by the loader lock */
 static GHashTable *obj_to_objref;
 /* Protected by the dbg lock */
 static MonoGHashTable *suspended_objs;
@@ -1933,8 +1929,8 @@ objrefs_init (void)
 {
        objrefs = g_hash_table_new_full (NULL, NULL, NULL, free_objref);
        obj_to_objref = g_hash_table_new (NULL, NULL);
-       suspended_objs = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_KEY_GC);
-       MONO_GC_REGISTER_ROOT_FIXED (suspended_objs);
+       suspended_objs = mono_g_hash_table_new_type (NULL, NULL, MONO_HASH_KEY_GC, MONO_ROOT_SOURCE_DEBUGGER, "suspended objects table");
+       MONO_GC_REGISTER_ROOT_FIXED (suspended_objs, MONO_ROOT_SOURCE_DEBUGGER, "suspended objects table");
 }
 
 static void
@@ -2128,8 +2124,10 @@ typedef struct {
 
 typedef struct {
        /* Maps runtime structure -> Id */
+       /* Protected by the dbg lock */
        GHashTable *val_to_id [ID_NUM];
        /* Classes whose class load event has been sent */
+       /* Protected by the loader lock */
        GHashTable *loaded_classes;
        /* Maps MonoClass->GPtrArray of file names */
        GHashTable *source_files;
@@ -2255,24 +2253,19 @@ get_id (MonoDomain *domain, IdType type, gpointer val)
        if (val == NULL)
                return 0;
 
-       mono_loader_lock ();
-
-       mono_domain_lock (domain);
-
        info = get_agent_domain_info (domain);
 
+       dbg_lock ();
+
        if (info->val_to_id [type] == NULL)
                info->val_to_id [type] = g_hash_table_new (mono_aligned_addr_hash, NULL);
 
        id = g_hash_table_lookup (info->val_to_id [type], val);
        if (id) {
-               mono_domain_unlock (domain);
-               mono_loader_unlock ();
+               dbg_unlock ();
                return id->id;
        }
 
-       dbg_lock ();
-
        id = g_new0 (Id, 1);
        /* Reserve id 0 */
        id->id = ids [type]->len + 1;
@@ -2284,10 +2277,6 @@ get_id (MonoDomain *domain, IdType type, gpointer val)
 
        dbg_unlock ();
 
-       mono_domain_unlock (domain);
-
-       mono_loader_unlock ();
-
        return id->id;
 }
 
@@ -2503,7 +2492,7 @@ static void
 suspend_init (void)
 {
        mono_mutex_init (&suspend_mutex);
-       mono_cond_init (&suspend_cond, NULL);   
+       mono_cond_init (&suspend_cond, 0);      
        MONO_SEM_INIT (&suspend_sem, 0);
 }
 
@@ -2520,7 +2509,7 @@ get_last_frame (StackFrameInfo *info, MonoContext *ctx, gpointer user_data)
 {
        GetLastFrameUserData *data = user_data;
 
-       if (info->type == FRAME_TYPE_MANAGED_TO_NATIVE)
+       if (info->type == FRAME_TYPE_MANAGED_TO_NATIVE || info->type == FRAME_TYPE_TRAMPOLINE)
                return FALSE;
 
        if (!data->last_frame_set) {
@@ -2556,7 +2545,7 @@ thread_interrupt (DebuggerTlsData *tls, MonoThreadInfo *info, MonoJitInfo *ji)
        // FIXME: Races when the thread leaves managed code before hitting a single step
        // event.
 
-       if (ji) {
+       if (ji && !ji->is_trampoline) {
                /* Running managed code, will be suspended by the single step code */
                DEBUG_PRINTF (1, "[%p] Received interrupt while at %s(%p), continuing.\n", (gpointer)(gsize)tid, jinfo_get_method (ji)->name, ip);
        } else {
@@ -2648,7 +2637,11 @@ debugger_interrupt_critical (MonoThreadInfo *info, gpointer user_data)
        MonoJitInfo *ji;
 
        data->valid_info = TRUE;
-       ji = mono_jit_info_table_find (mono_thread_info_get_suspend_state (info)->unwind_data [MONO_UNWIND_DATA_DOMAIN], MONO_CONTEXT_GET_IP (&mono_thread_info_get_suspend_state (info)->ctx));
+       ji = mono_jit_info_table_find_internal (
+                       mono_thread_info_get_suspend_state (info)->unwind_data [MONO_UNWIND_DATA_DOMAIN],
+                       MONO_CONTEXT_GET_IP (&mono_thread_info_get_suspend_state (info)->ctx),
+                       TRUE,
+                       TRUE);
 
        /* This is signal safe */
        thread_interrupt (data->tls, info, ji);
@@ -2744,9 +2737,9 @@ suspend_vm (void)
 {
        mono_loader_lock ();
 
-       MONO_TRY_BLOCKING
+       MONO_TRY_BLOCKING;
        mono_mutex_lock (&suspend_mutex);
-       MONO_FINISH_TRY_BLOCKING
+       MONO_FINISH_TRY_BLOCKING;
 
        suspend_count ++;
 
@@ -2784,9 +2777,9 @@ resume_vm (void)
 
        mono_loader_lock ();
 
-       MONO_TRY_BLOCKING
+       MONO_TRY_BLOCKING;
        mono_mutex_lock (&suspend_mutex);
-       MONO_FINISH_TRY_BLOCKING
+       MONO_FINISH_TRY_BLOCKING;
 
        g_assert (suspend_count > 0);
        suspend_count --;
@@ -2830,9 +2823,9 @@ resume_thread (MonoInternalThread *thread)
        tls = mono_g_hash_table_lookup (thread_to_tls, thread);
        g_assert (tls);
        
-       MONO_TRY_BLOCKING
+       MONO_TRY_BLOCKING;
        mono_mutex_lock (&suspend_mutex);
-       MONO_FINISH_TRY_BLOCKING
+       MONO_FINISH_TRY_BLOCKING;
 
        g_assert (suspend_count > 0);
 
@@ -2907,9 +2900,9 @@ suspend_current (void)
        tls = mono_native_tls_get_value (debugger_tls_id);
        g_assert (tls);
 
-       MONO_TRY_BLOCKING
+       MONO_TRY_BLOCKING;
        mono_mutex_lock (&suspend_mutex);
-       MONO_FINISH_TRY_BLOCKING
+       MONO_FINISH_TRY_BLOCKING;
 
        tls->suspending = FALSE;
        tls->really_suspended = TRUE;
@@ -2921,12 +2914,12 @@ suspend_current (void)
 
        DEBUG_PRINTF (1, "[%p] Suspended.\n", (gpointer)GetCurrentThreadId ());
 
-       MONO_TRY_BLOCKING
+       MONO_TRY_BLOCKING;
        while (suspend_count - tls->resume_count > 0) {
                err = mono_cond_wait (&suspend_cond, &suspend_mutex);
                g_assert (err == 0);
        }
-       MONO_FINISH_TRY_BLOCKING
+       MONO_FINISH_TRY_BLOCKING;
 
        tls->suspended = FALSE;
        tls->really_suspended = FALSE;
@@ -3070,7 +3063,7 @@ process_frame (StackFrameInfo *info, MonoContext *ctx, gpointer user_data)
                        info->il_offset = mono_debug_il_offset_from_address (method, info->domain, info->native_offset);
        }
 
-       DEBUG_PRINTF (1, "\tFrame: %s:%x(%x) %d\n", mono_method_full_name (method, TRUE), info->il_offset, info->native_offset, info->managed);
+       DEBUG_PRINTF (1, "\tFrame: %s:[il=0x%x, native=0x%x] %d\n", mono_method_full_name (method, TRUE), info->il_offset, info->native_offset, info->managed);
 
        if (method->wrapper_type == MONO_WRAPPER_MANAGED_TO_NATIVE) {
                if (!CHECK_PROTOCOL_VERSION (2, 17))
@@ -3843,7 +3836,7 @@ thread_startup (MonoProfiler *prof, uintptr_t tid)
        g_assert (!tls);
        // FIXME: Free this somewhere
        tls = g_new0 (DebuggerTlsData, 1);
-       MONO_GC_REGISTER_ROOT_SINGLE (tls->thread);
+       MONO_GC_REGISTER_ROOT_SINGLE (tls->thread, MONO_ROOT_SOURCE_DEBUGGER, "debugger thread reference");
        tls->thread = thread;
        mono_native_tls_set_value (debugger_tls_id, tls);
 
@@ -3983,60 +3976,6 @@ assembly_unload (MonoProfiler *prof, MonoAssembly *assembly)
        clear_types_for_assembly (assembly);
 }
 
-static void
-start_runtime_invoke (MonoProfiler *prof, MonoMethod *method)
-{
-#if defined(HOST_WIN32) && !defined(__GNUC__)
-       gpointer stackptr = ((guint64)_AddressOfReturnAddress () - sizeof (void*));
-#else
-       gpointer stackptr = __builtin_frame_address (1);
-#endif
-       MonoInternalThread *thread = mono_thread_internal_current ();
-       DebuggerTlsData *tls;
-
-       mono_loader_lock ();
-       
-       tls = mono_g_hash_table_lookup (thread_to_tls, thread);
-       /* Could be the debugger thread with assembly/type load hooks */
-       if (tls)
-               tls->invoke_addr = stackptr;
-
-       mono_loader_unlock ();
-}
-
-static void
-end_runtime_invoke (MonoProfiler *prof, MonoMethod *method)
-{
-       int i;
-#if defined(HOST_WIN32) && !defined(__GNUC__)
-       gpointer stackptr = ((guint64)_AddressOfReturnAddress () - sizeof (void*));
-#else
-       gpointer stackptr = __builtin_frame_address (1);
-#endif
-
-       if (!embedding || ss_req == NULL || stackptr != ss_invoke_addr || ss_req->thread != mono_thread_internal_current ())
-               return;
-
-       /*
-        * We need to stop single stepping when exiting a runtime invoke, since if it is
-        * a step out, it may return to native code, and thus never end.
-        */
-       mono_loader_lock ();
-       ss_invoke_addr = NULL;
-
-       for (i = 0; i < event_requests->len; ++i) {
-               EventRequest *req = g_ptr_array_index (event_requests, i);
-
-               if (req->event_kind == EVENT_KIND_STEP) {
-                       ss_destroy (req->info);
-                       g_ptr_array_remove_index_fast (event_requests, i);
-                       g_free (req);
-                       break;
-               }
-       }
-       mono_loader_unlock ();
-}
-
 static void
 send_type_load (MonoClass *klass)
 {
@@ -4044,18 +3983,17 @@ send_type_load (MonoClass *klass)
        MonoDomain *domain = mono_domain_get ();
        AgentDomainInfo *info = NULL;
 
-       mono_loader_lock ();
-       mono_domain_lock (domain);
-
        info = get_agent_domain_info (domain);
 
+       mono_loader_lock ();
+
        if (!g_hash_table_lookup (info->loaded_classes, klass)) {
                type_load = TRUE;
                g_hash_table_insert (info->loaded_classes, klass, klass);
        }
 
-       mono_domain_unlock (domain);
        mono_loader_unlock ();
+
        if (type_load)
                emit_type_load (klass, klass, NULL);
 }
@@ -4069,13 +4007,12 @@ static void
 send_types_for_domain (MonoDomain *domain, void *user_data)
 {
        AgentDomainInfo *info = NULL;
+
+       info = get_agent_domain_info (domain);
+       g_assert (info);
        
        mono_loader_lock ();
-       mono_domain_lock (domain);
-       info =  get_agent_domain_info (domain);
-       g_assert (info);
        g_hash_table_foreach (info->loaded_classes, emit_type_load, NULL);
-       mono_domain_unlock (domain);
        mono_loader_unlock ();
 }
 
@@ -4148,6 +4085,7 @@ typedef struct {
 } MonoBreakpoint;
 
 /* List of breakpoints */
+/* Protected by the loader lock */
 static GPtrArray *breakpoints;
 /* Maps breakpoint locations to the number of breakpoints at that location */
 static GHashTable *bp_locs;
@@ -4247,7 +4185,7 @@ insert_breakpoint (MonoSeqPointInfo *seq_points, MonoDomain *domain, MonoJitInfo
 #endif
        }
 
-       DEBUG_PRINTF (1, "[dbg] Inserted breakpoint at %s:0x%x [%p](%d).\n", mono_method_full_name (jinfo_get_method (ji), TRUE), (int)it.seq_point.il_offset, inst->ip, count);
+       DEBUG_PRINTF (1, "[dbg] Inserted breakpoint at %s:[il=0x%x,native=0x%x] [%p](%d).\n", mono_method_full_name (jinfo_get_method (ji), TRUE), (int)it.seq_point.il_offset, (int)it.seq_point.native_offset, inst->ip, count);
 }
 
 static void
@@ -4274,6 +4212,9 @@ remove_breakpoint (BreakpointInstance *inst)
 #endif
 }      
 
+/*
+ * This doesn't take any locks.
+ */
 static inline gboolean
 bp_matches_method (MonoBreakpoint *bp, MonoMethod *method)
 {
@@ -4341,11 +4282,16 @@ add_pending_breakpoints (MonoMethod *method, MonoJitInfo *ji)
                }
 
                if (!found) {
+                       MonoMethod *declaring = NULL;
+
                        jmethod = jinfo_get_method (ji);
+                       if (jmethod->is_inflated)
+                               declaring = mono_method_get_declaring_generic_method (jmethod);
+
                        mono_domain_lock (domain);
                        seq_points = g_hash_table_lookup (domain_jit_info (domain)->seq_points, jmethod);
-                       if (!seq_points && jmethod->is_inflated)
-                               seq_points = g_hash_table_lookup (domain_jit_info (domain)->seq_points, mono_method_get_declaring_generic_method (jmethod));
+                       if (!seq_points && declaring)
+                               seq_points = g_hash_table_lookup (domain_jit_info (domain)->seq_points, declaring);
                        mono_domain_unlock (domain);
                        if (!seq_points)
                                /* Could be AOT code */
@@ -4402,6 +4348,10 @@ set_breakpoint (MonoMethod *method, long il_offset, EventRequest *req, MonoError
        MonoDomain *domain;
        MonoMethod *m;
        MonoSeqPointInfo *seq_points;
+       GPtrArray *methods;
+       GPtrArray *method_domains;
+       GPtrArray *method_seq_points;
+       int i;
 
        if (error)
                mono_error_init (error);
@@ -4420,27 +4370,40 @@ set_breakpoint (MonoMethod *method, long il_offset, EventRequest *req, MonoError
 
        DEBUG_PRINTF (1, "[dbg] Setting %sbreakpoint at %s:0x%x.\n", (req->event_kind == EVENT_KIND_STEP) ? "single step " : "", method ? mono_method_full_name (method, TRUE) : "<all>", (int)il_offset);
 
-       mono_loader_lock ();
+       methods = g_ptr_array_new ();
+       method_domains = g_ptr_array_new ();
+       method_seq_points = g_ptr_array_new ();
 
+       mono_loader_lock ();
        g_hash_table_iter_init (&iter, domains);
        while (g_hash_table_iter_next (&iter, (void**)&domain, NULL)) {
                mono_domain_lock (domain);
-
                g_hash_table_iter_init (&iter2, domain_jit_info (domain)->seq_points);
                while (g_hash_table_iter_next (&iter2, (void**)&m, (void**)&seq_points)) {
-                       if (bp_matches_method (bp, m))
-                               set_bp_in_method (domain, m, seq_points, bp, error);
+                       if (bp_matches_method (bp, m)) {
+                               /* Save the info locally to simplify the code inside the domain lock */
+                               g_ptr_array_add (methods, m);
+                               g_ptr_array_add (method_domains, domain);
+                               g_ptr_array_add (method_seq_points, seq_points);
+                       }
                }
-
                mono_domain_unlock (domain);
        }
 
-       mono_loader_unlock ();
+       for (i = 0; i < methods->len; ++i) {
+               m = g_ptr_array_index (methods, i);
+               domain = g_ptr_array_index (method_domains, i);
+               seq_points = g_ptr_array_index (method_seq_points, i);
+               set_bp_in_method (domain, m, seq_points, bp, error);
+       }
 
-       mono_loader_lock ();
        g_ptr_array_add (breakpoints, bp);
        mono_loader_unlock ();
 
+       g_ptr_array_free (methods, TRUE);
+       g_ptr_array_free (method_domains, TRUE);
+       g_ptr_array_free (method_seq_points, TRUE);
+
        if (error && !mono_error_ok (error)) {
                clear_breakpoint (bp);
                return NULL;
@@ -4637,7 +4600,7 @@ process_breakpoint_inner (DebuggerTlsData *tls, gboolean from_signal)
 
        ip = MONO_CONTEXT_GET_IP (ctx);
        ji = mini_jit_info_table_find (mono_domain_get (), (char*)ip, NULL);
-       g_assert (ji);
+       g_assert (ji && !ji->is_trampoline);
        method = jinfo_get_method (ji);
 
        /* Compute the native offset of the breakpoint from the ip */
@@ -4669,7 +4632,7 @@ process_breakpoint_inner (DebuggerTlsData *tls, gboolean from_signal)
 
        g_assert (found_sp);
 
-       DEBUG_PRINTF (1, "[%p] Breakpoint hit, method=%s, ip=%p, offset=0x%x, sp il offset=0x%x.\n", (gpointer)GetCurrentThreadId (), method->name, ip, native_offset, sp.il_offset);
+       DEBUG_PRINTF (1, "[%p] Breakpoint hit, method=%s, ip=%p, [il=0x%x,native=0x%x].\n", (gpointer)GetCurrentThreadId (), method->name, ip, sp.il_offset, native_offset);
 
        bp = NULL;
        for (i = 0; i < breakpoints->len; ++i) {
@@ -4841,7 +4804,7 @@ mono_debugger_agent_user_break (void)
                mono_loader_unlock ();
 
                process_event (EVENT_KIND_USER_BREAK, NULL, 0, &ctx, events, suspend_policy);
-       } else {
+       } else if (debug_options.native_debugger_break) {
                G_BREAKPOINT ();
        }
 }
@@ -4901,7 +4864,7 @@ process_single_step_inner (DebuggerTlsData *tls, gboolean from_signal)
        }
 
        ji = mini_jit_info_table_find (mono_domain_get (), (char*)ip, &domain);
-       g_assert (ji);
+       g_assert (ji && !ji->is_trampoline);
        method = jinfo_get_method (ji);
        g_assert (method);
 
@@ -5054,17 +5017,6 @@ start_single_stepping (void)
 
        if (val == 1)
                mono_arch_start_single_stepping ();
-
-       if (ss_req != NULL && ss_invoke_addr == NULL) {
-               DebuggerTlsData *tls;
-       
-               mono_loader_lock ();
-       
-               tls = mono_g_hash_table_lookup (thread_to_tls, ss_req->thread);
-               ss_invoke_addr = tls->invoke_addr;
-               
-               mono_loader_unlock ();
-       }
 #else
        g_assert_not_reached ();
 #endif
@@ -5078,8 +5030,6 @@ stop_single_stepping (void)
 
        if (val == 0)
                mono_arch_stop_single_stepping ();
-       if (ss_req != NULL)
-               ss_invoke_addr = NULL;
 #else
        g_assert_not_reached ();
 #endif
@@ -6478,8 +6428,9 @@ clear_types_for_assembly (MonoAssembly *assembly)
                /* Can happen during shutdown */
                return;
 
-       mono_loader_lock ();
        info = get_agent_domain_info (domain);
+
+       mono_loader_lock ();
        g_hash_table_foreach_remove (info->loaded_classes, type_comes_from_assembly, assembly);
        mono_loader_unlock ();
 }
@@ -6502,7 +6453,7 @@ do_invoke_method (DebuggerTlsData *tls, Buffer *buf, InvokeData *invoke, guint8
        MonoMethodSignature *sig;
        guint8 **arg_buf;
        void **args;
-       MonoObject *this, *res, *exc;
+       MonoObject *this_arg, *res, *exc;
        MonoDomain *domain;
        guint8 *this_buf;
 #ifdef MONO_ARCH_SOFT_DEBUG_SUPPORTED
@@ -6514,8 +6465,8 @@ do_invoke_method (DebuggerTlsData *tls, Buffer *buf, InvokeData *invoke, guint8
                /* 
                 * Invoke this method directly, currently only Environment.Exit () is supported.
                 */
-               this = NULL;
-               DEBUG_PRINTF (1, "[%p] Invoking method '%s' on receiver '%s'.\n", (gpointer)GetCurrentThreadId (), mono_method_full_name (invoke->method, TRUE), this ? this->vtable->klass->name : "<null>");
+               this_arg = NULL;
+               DEBUG_PRINTF (1, "[%p] Invoking method '%s' on receiver '%s'.\n", (gpointer)GetCurrentThreadId (), mono_method_full_name (invoke->method, TRUE), this_arg ? this_arg->vtable->klass->name : "<null>");
                mono_runtime_invoke (invoke->method, NULL, invoke->args, &exc);
                g_assert_not_reached ();
        }
@@ -6557,50 +6508,50 @@ do_invoke_method (DebuggerTlsData *tls, Buffer *buf, InvokeData *invoke, guint8
        }
 
        if (!m->klass->valuetype)
-               this = *(MonoObject**)this_buf;
+               this_arg = *(MonoObject**)this_buf;
        else
-               this = NULL;
+               this_arg = NULL;
 
        if (MONO_CLASS_IS_INTERFACE (m->klass)) {
-               if (!this) {
+               if (!this_arg) {
                        DEBUG_PRINTF (1, "[%p] Error: Interface method invoked without this argument.\n", (gpointer)GetCurrentThreadId ());
                        return ERR_INVALID_ARGUMENT;
                }
-               m = mono_object_get_virtual_method (this, m);
+               m = mono_object_get_virtual_method (this_arg, m);
                /* Transform this to the format the rest of the code expects it to be */
                if (m->klass->valuetype) {
                        this_buf = g_alloca (mono_class_instance_size (m->klass));
-                       memcpy (this_buf, mono_object_unbox (this), mono_class_instance_size (m->klass));
+                       memcpy (this_buf, mono_object_unbox (this_arg), mono_class_instance_size (m->klass));
                }
        } else if ((m->flags & METHOD_ATTRIBUTE_VIRTUAL) && !m->klass->valuetype && invoke->flags & INVOKE_FLAG_VIRTUAL) {
-               if (!this) {
+               if (!this_arg) {
                        DEBUG_PRINTF (1, "[%p] Error: invoke with INVOKE_FLAG_VIRTUAL flag set without this argument.\n", (gpointer)GetCurrentThreadId ());
                        return ERR_INVALID_ARGUMENT;
                }
-               m = mono_object_get_virtual_method (this, m);
+               m = mono_object_get_virtual_method (this_arg, m);
                if (m->klass->valuetype) {
                        this_buf = g_alloca (mono_class_instance_size (m->klass));
-                       memcpy (this_buf, mono_object_unbox (this), mono_class_instance_size (m->klass));
+                       memcpy (this_buf, mono_object_unbox (this_arg), mono_class_instance_size (m->klass));
                }
        }
 
-       DEBUG_PRINTF (1, "[%p] Invoking method '%s' on receiver '%s'.\n", (gpointer)GetCurrentThreadId (), mono_method_full_name (m, TRUE), this ? this->vtable->klass->name : "<null>");
+       DEBUG_PRINTF (1, "[%p] Invoking method '%s' on receiver '%s'.\n", (gpointer)GetCurrentThreadId (), mono_method_full_name (m, TRUE), this_arg ? this_arg->vtable->klass->name : "<null>");
 
-       if (this && this->vtable->domain != domain)
+       if (this_arg && this_arg->vtable->domain != domain)
                NOT_IMPLEMENTED;
 
-       if (!m->klass->valuetype && !(m->flags & METHOD_ATTRIBUTE_STATIC) && !this) {
+       if (!m->klass->valuetype && !(m->flags & METHOD_ATTRIBUTE_STATIC) && !this_arg) {
                if (!strcmp (m->name, ".ctor")) {
                        if (m->klass->flags & TYPE_ATTRIBUTE_ABSTRACT)
                                return ERR_INVALID_ARGUMENT;
                        else
-                               this = mono_object_new (domain, m->klass);
+                               this_arg = mono_object_new (domain, m->klass);
                } else {
                        return ERR_INVALID_ARGUMENT;
                }
        }
 
-       if (this && !obj_is_of_type (this, &m->klass->byval_arg))
+       if (this_arg && !obj_is_of_type (this_arg, &m->klass->byval_arg))
                return ERR_INVALID_ARGUMENT;
 
        nargs = decode_int (p, &p, end);
@@ -6664,7 +6615,7 @@ do_invoke_method (DebuggerTlsData *tls, Buffer *buf, InvokeData *invoke, guint8
        if (m->klass->valuetype)
                res = mono_runtime_invoke (m, this_buf, args, &exc);
        else
-               res = mono_runtime_invoke (m, this, args, &exc);
+               res = mono_runtime_invoke (m, this_arg, args, &exc);
        mono_stopwatch_stop (&watch);
        DEBUG_PRINTF (1, "[%p] Invoke result: %p, exc: %s, time: %ld ms.\n", (gpointer)GetCurrentThreadId (), res, exc ? exc->vtable->klass->name : NULL, (long)mono_stopwatch_elapsed_ms (&watch));
        if (exc) {
@@ -6682,7 +6633,7 @@ do_invoke_method (DebuggerTlsData *tls, Buffer *buf, InvokeData *invoke, guint8
                if (sig->ret->type == MONO_TYPE_VOID) {
                        if (!strcmp (m->name, ".ctor")) {
                                if (!m->klass->valuetype)
-                                       buffer_add_value (buf, &mono_defaults.object_class->byval_arg, &this, domain);
+                                       buffer_add_value (buf, &mono_defaults.object_class->byval_arg, &this_arg, domain);
                                else
                                        buffer_add_value (buf, &m->klass->byval_arg, this_buf, domain);
                        } else {
@@ -6785,6 +6736,11 @@ invoke_method (void)
                        err = do_invoke_method (tls, &buf, invoke, p, &p);
                }
 
+               if (tls->abort_requested) {
+                       if (CHECK_PROTOCOL_VERSION (2, 42))
+                               err = ERR_INVOKE_ABORTED;
+               }
+
                /* Start suspending before sending the reply */
                if (mindex == invoke->nmethods - 1) {
                        if (!(invoke->flags & INVOKE_FLAG_SINGLE_THREADED)) {
@@ -7101,6 +7057,7 @@ vm_commands (int command, int id, guint8 *p, guint8 *end, Buffer *buf)
                g_assert (tls);
 
                if (tls->abort_requested) {
+                       DEBUG_PRINTF (1, "Abort already requested.\n");
                        mono_loader_unlock ();
                        break;
                }
@@ -8454,7 +8411,7 @@ method_commands_internal (int command, MonoMethod *method, MonoDomain *domain, g
                break;
        }
        case CMD_METHOD_GET_LOCALS_INFO: {
-               int i, j, num_locals;
+               int i, num_locals;
                MonoDebugLocalsInfo *locals;
                int *locals_map = NULL;
 
@@ -8481,40 +8438,25 @@ method_commands_internal (int command, MonoMethod *method, MonoDomain *domain, g
                                buffer_add_int (buf, header->code_size);
                        }
                } else {
-                       /* Maps between the IL locals index and the index in locals->locals */
-                       locals_map = g_new0 (int, header->num_locals);
-                       for (i = 0; i < header->num_locals; ++i)
-                               locals_map [i] = -1;
                        num_locals = locals->num_locals;
-                       for (i = 0; i < num_locals; ++i) {
-                               g_assert (locals->locals [i].index < header->num_locals);
-                               locals_map [locals->locals [i].index] = i;
-                       }
                        buffer_add_int (buf, num_locals);
 
                        /* Types */
-                       for (i = 0; i < header->num_locals; ++i) {
-                               if (locals_map [i] != -1)
-                                       buffer_add_typeid (buf, domain, mono_class_from_mono_type (header->locals [i]));
+                       for (i = 0; i < num_locals; ++i) {
+                               g_assert (locals->locals [i].index < header->num_locals);
+                               buffer_add_typeid (buf, domain, mono_class_from_mono_type (header->locals [locals->locals [i].index]));
                        }
-
                        /* Names */
-                       for (i = 0; i < header->num_locals; ++i) {
-                               if (locals_map [i] != -1)
-                                       buffer_add_string (buf, locals->locals [locals_map [i]].name);
-                       }
-
+                       for (i = 0; i < num_locals; ++i)
+                               buffer_add_string (buf, locals->locals [i].name);
                        /* Scopes */
-                       for (i = 0; i < header->num_locals; ++i) {
-                               if (locals_map [i] != -1) {
-                                       j = locals_map [i];
-                                       if (locals->locals [j].block) {
-                                               buffer_add_int (buf, locals->locals [j].block->start_offset);
-                                               buffer_add_int (buf, locals->locals [j].block->end_offset);
-                                       } else {
-                                               buffer_add_int (buf, 0);
-                                               buffer_add_int (buf, header->code_size);
-                                       }
+                       for (i = 0; i < num_locals; ++i) {
+                               if (locals->locals [i].block) {
+                                       buffer_add_int (buf, locals->locals [i].block->start_offset);
+                                       buffer_add_int (buf, locals->locals [i].block->end_offset);
+                               } else {
+                                       buffer_add_int (buf, 0);
+                                       buffer_add_int (buf, header->code_size);
                                }
                        }
                }
@@ -9171,6 +9113,7 @@ string_commands (int command, guint8 *p, guint8 *end, Buffer *buf)
        char *s;
        int i, index, length;
        gunichar2 *c;
+       gboolean use_utf16 = FALSE;
 
        objid = decode_objid (p, &p, end);
        err = get_object (objid, (MonoObject**)&str);
@@ -9179,9 +9122,20 @@ string_commands (int command, guint8 *p, guint8 *end, Buffer *buf)
 
        switch (command) {
        case CMD_STRING_REF_GET_VALUE:
-               s = mono_string_to_utf8 (str);
-               buffer_add_string (buf, s);
-               g_free (s);
+               if (CHECK_PROTOCOL_VERSION (2, 41)) {
+                       for (i = 0; i < mono_string_length (str); ++i)
+                               if (mono_string_chars (str)[i] == 0)
+                                       use_utf16 = TRUE;
+                       buffer_add_byte (buf, use_utf16 ? 1 : 0);
+               }
+               if (use_utf16) {
+                       buffer_add_int (buf, mono_string_length (str) * 2);
+                       buffer_add_data (buf, (guint8*)mono_string_chars (str), mono_string_length (str) * 2);
+               } else {
+                       s = mono_string_to_utf8 (str);
+                       buffer_add_string (buf, s);
+                       g_free (s);
+               }
                break;
        case CMD_STRING_REF_GET_LENGTH:
                buffer_add_long (buf, mono_string_length (str));
@@ -9579,9 +9533,9 @@ wait_for_attach (void)
        }
 
        /* Block and wait for client connection */
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
        conn_fd = socket_transport_accept (listen_fd);
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
 
        DEBUG_PRINTF (1, "Accepted connection on %d\n", conn_fd);
        if (conn_fd == -1) {
@@ -9640,9 +9594,9 @@ debugger_thread (void *arg)
        }
        
        while (!attach_failed) {
-               MONO_PREPARE_BLOCKING
+               MONO_PREPARE_BLOCKING;
                res = transport_recv (header, HEADER_LENGTH);
-               MONO_FINISH_BLOCKING
+               MONO_FINISH_BLOCKING;
 
                /* This will break if the socket is closed during shutdown too */
                if (res != HEADER_LENGTH) {
@@ -9677,9 +9631,9 @@ debugger_thread (void *arg)
                data = g_malloc (len - HEADER_LENGTH);
                if (len - HEADER_LENGTH > 0)
                {
-                       MONO_PREPARE_BLOCKING
+                       MONO_PREPARE_BLOCKING;
                        res = transport_recv (data, len - HEADER_LENGTH);
-                       MONO_FINISH_BLOCKING
+                       MONO_FINISH_BLOCKING;
                        if (res != len - HEADER_LENGTH) {
                                DEBUG_PRINTF (1, "[dbg] transport_recv () returned %d, expected %d.\n", res, len - HEADER_LENGTH);
                                break;
@@ -9769,12 +9723,12 @@ debugger_thread (void *arg)
 
        mono_set_is_debugger_attached (FALSE);
        
-       MONO_TRY_BLOCKING
+       MONO_TRY_BLOCKING;
        mono_mutex_lock (&debugger_thread_exited_mutex);
        debugger_thread_exited = TRUE;
        mono_cond_signal (&debugger_thread_exited_cond);
        mono_mutex_unlock (&debugger_thread_exited_mutex);
-       MONO_FINISH_TRY_BLOCKING
+       MONO_FINISH_TRY_BLOCKING;
 
        DEBUG_PRINTF (1, "[dbg] Debugger thread exited.\n");
        
index 5a2fdde7d91e0ebf1740c32a3cb8e5fc5b40a398..a9b7e0a68f1cfa9e8818da89606bb35c01894422 100644 (file)
@@ -307,10 +307,7 @@ mono_decompose_opcode (MonoCompile *cfg, MonoInst *ins)
        gboolean emulate = FALSE;
 
        /* FIXME: Instead of = NOP, don't emit the original ins at all */
-
-#ifdef MONO_ARCH_HAVE_DECOMPOSE_OPTS
        mono_arch_decompose_opts (cfg, ins);
-#endif
 
        /*
         * The code below assumes that we are called immediately after emitting 
@@ -446,7 +443,7 @@ mono_decompose_opcode (MonoCompile *cfg, MonoInst *ins)
                cfg->exception_message = g_strdup_printf ("float conv.ovf.un opcodes not supported.");
                break;
 
-#if defined(MONO_ARCH_EMULATE_DIV) && defined(MONO_ARCH_HAVE_OPCODE_NEEDS_EMULATION)
+#if defined(MONO_ARCH_EMULATE_DIV)
        case OP_IDIV:
        case OP_IREM:
        case OP_IDIV_UN:
@@ -639,10 +636,7 @@ mono_decompose_long_opts (MonoCompile *cfg)
                cfg->cbb->code = cfg->cbb->last_ins = NULL;
 
                while (tree) {
-
-#ifdef MONO_ARCH_HAVE_DECOMPOSE_LONG_OPTS
                        mono_arch_decompose_long_opts (cfg, tree);
-#endif
 
                        switch (tree->opcode) {
                        case OP_I8CONST:
index 884d4a82ae9b88e5ab0a4f5fafe79e0f5d58f28b..e3cf5df9fe607db2480b88aa58f8708f1ef434fb 100644 (file)
@@ -1205,6 +1205,9 @@ mini_usage (void)
                "                           Currently the only supported option is 'disable'.\n"
                "    --llvm, --nollvm       Controls whenever the runtime uses LLVM to compile code.\n"
                "    --gc=[sgen,boehm]      Select SGen or Boehm GC (runs mono or mono-sgen)\n"
+#ifdef TARGET_OSX
+               "    --arch=[32,64]         Select architecture (runs mono32 or mono64)\n"
+#endif
 #ifdef HOST_WIN32
                "    --mixed-mode           Enable mixed-mode image support.\n"
 #endif
@@ -1462,6 +1465,36 @@ switch_gc (char* argv[], const char* target_gc)
 #endif
 }
 
+#ifdef TARGET_OSX
+
+static void
+switch_arch (char* argv[], const char* target_arch)
+{
+       GString *path;
+       gsize arch_offset;
+
+       if ((strcmp (target_arch, "32") == 0 && strcmp (ARCHITECTURE, "x86") == 0) ||
+               (strcmp (target_arch, "64") == 0 && strcmp (ARCHITECTURE, "amd64") == 0)) {
+               return; /* matching arch loaded */
+       }
+
+       path = g_string_new (argv [0]);
+       arch_offset = path->len -2; /* last two characters */
+
+       /* Remove arch suffix if present */
+       if (strstr (&path->str[arch_offset], "32") || strstr (&path->str[arch_offset], "64")) {
+               g_string_truncate (path, arch_offset);
+       }
+
+       g_string_append (path, target_arch);
+
+       if (execvp (path->str, argv) < 0) {
+               fprintf (stderr, "Error: --arch=%s Failed to switch to '%s'.\n", target_arch, path->str);
+               exit (1);
+       }
+}
+
+#endif
 /**
  * mono_main:
  * @argc: number of arguments in the argv array
@@ -1587,7 +1620,15 @@ mono_main (int argc, char* argv[])
                        switch_gc (argv, "sgen");
                } else if (strcmp (argv [i], "--gc=boehm") == 0) {
                        switch_gc (argv, "boehm");
-               } else if (strcmp (argv [i], "--config") == 0) {
+               }
+#ifdef TARGET_OSX
+               else if (strcmp (argv [i], "--arch=32") == 0) {
+                       switch_arch (argv, "32");
+               } else if (strcmp (argv [i], "--arch=64") == 0) {
+                       switch_arch (argv, "64");
+               }
+#endif
+               else if (strcmp (argv [i], "--config") == 0) {
                        if (i +1 >= argc){
                                fprintf (stderr, "error: --config requires a filename argument\n");
                                return 1;
index decdd5ec10e092bf8f0eccbdf31d72b5174171d7..090f29fb12e5641b4ef9c7068b3bafbfb8a9b8e0 100644 (file)
@@ -407,7 +407,7 @@ emit_fde (MonoDwarfWriter *w, int fde_index, char *start_symbol, char *end_symbo
        }
 
        /* Convert the list of MonoUnwindOps to the format used by DWARF */     
-       uw_info = mono_unwind_ops_encode (l, &uw_info_len);
+       uw_info = mono_unwind_ops_encode_full (l, &uw_info_len, FALSE);
        emit_bytes (w, uw_info, uw_info_len);
        g_free (uw_info);
 
@@ -1057,7 +1057,7 @@ emit_class_dwarf_info (MonoDwarfWriter *w, MonoClass *klass, gboolean vtype)
                        const char *p;
                        MonoTypeEnum def_type;
 
-                       if (strcmp ("value__", mono_field_get_name (field)) == 0)
+                       if (!(field->type->attrs & FIELD_ATTRIBUTE_STATIC))
                                continue;
                        if (mono_field_is_deleted (field))
                                continue;
index 1a34f6e2f5234cc335c40a7558e315ce8dabb897..4f7e336e6d2ee53f4ef524810ac7d667809d8723 100644 (file)
@@ -540,7 +540,10 @@ mono_arch_unwind_frame (MonoDomain *domain, MonoJitTlsData *jit_tls,
                guint8 *unwind_info;
                guint8 *epilog = NULL;
 
-               frame->type = FRAME_TYPE_MANAGED;
+               if (ji->is_trampoline)
+                       frame->type = FRAME_TYPE_TRAMPOLINE;
+               else
+                       frame->type = FRAME_TYPE_MANAGED;
 
                unwind_info = mono_jinfo_get_unwind_info (ji, &unwind_info_len);
 
@@ -882,7 +885,7 @@ mono_arch_exceptions_init (void)
                        MonoTrampInfo *info = l->data;
 
                        mono_register_jit_icall (info->code, g_strdup (info->name), NULL, TRUE);
-                       mono_tramp_info_register (info);
+                       mono_tramp_info_register (info, NULL);
                }
                g_slist_free (tramps);
        }
index e06e2cb656e99098adb626242839da2136de113b..b478a713bc5e108ea30e7d59ed5e4a2f8c24a9c0 100644 (file)
@@ -376,7 +376,7 @@ mono_arch_exceptions_init (void)
                        MonoTrampInfo *info = l->data;
 
                        mono_register_jit_icall (info->code, g_strdup (info->name), NULL, TRUE);
-                       mono_tramp_info_register (info);
+                       mono_tramp_info_register (info, NULL);
                }
                g_slist_free (tramps);
        }
@@ -408,7 +408,10 @@ mono_arch_unwind_frame (MonoDomain *domain, MonoJitTlsData *jit_tls,
                guint32 unwind_info_len;
                guint8 *unwind_info;
 
-               frame->type = FRAME_TYPE_MANAGED;
+               if (ji->is_trampoline)
+                       frame->type = FRAME_TYPE_TRAMPOLINE;
+               else
+                       frame->type = FRAME_TYPE_MANAGED;
 
                unwind_info = mono_jinfo_get_unwind_info (ji, &unwind_info_len);
 
index 83ff89b174ed2360e8dbbe825f2e98e4e75a072c..b9299cbe4fd3181883a5bf90efa29e896e4f6328 100644 (file)
@@ -545,7 +545,10 @@ mono_arch_unwind_frame (MonoDomain *domain, MonoJitTlsData *jit_tls,
        }
 
        if (ji) {
-               frame->type = FRAME_TYPE_MANAGED;
+               if (ji->is_trampoline)
+                       frame->type = FRAME_TYPE_TRAMPOLINE;
+               else
+                       frame->type = FRAME_TYPE_MANAGED;
                frame->ji = ji;
 
                //print_ctx (new_ctx);
index dcdb320e29fab388f395547133e11ccc5a0efff3..f8d9dedff2ce60e3e223f4189b57c5452a456c4d 100644 (file)
@@ -410,7 +410,10 @@ mono_arch_unwind_frame (MonoDomain *domain, MonoJitTlsData *jit_tls,
                guint32 unwind_info_len;
                guint8 *unwind_info;
 
-               frame->type = FRAME_TYPE_MANAGED;
+               if (ji->is_trampoline)
+                       frame->type = FRAME_TYPE_TRAMPOLINE;
+               else
+                       frame->type = FRAME_TYPE_MANAGED;
 
                unwind_info = mono_jinfo_get_unwind_info (ji, &unwind_info_len);
 
index 922a1c6870bff045cb89dd12c9d612617f1153d2..1088e12ea426ae53272624cb11c3a49de19e8863 100644 (file)
@@ -532,13 +532,16 @@ mono_arch_unwind_frame (MonoDomain *domain, MonoJitTlsData *jit_tls,
                guint32 unwind_info_len;
                guint8 *unwind_info;
 
-               frame->type = FRAME_TYPE_MANAGED;
+               if (ji->is_trampoline)
+                       frame->type = FRAME_TYPE_TRAMPOLINE;
+               else
+                       frame->type = FRAME_TYPE_MANAGED;
 
                unwind_info = mono_jinfo_get_unwind_info (ji, &unwind_info_len);
 
                sframe = (MonoPPCStackFrame*)MONO_CONTEXT_GET_SP (ctx);
                MONO_CONTEXT_SET_BP (new_ctx, sframe->sp);
-               if (jinfo_get_method (ji)->save_lmf) {
+               if (!ji->is_trampoline && jinfo_get_method (ji)->save_lmf) {
                        /* sframe->sp points just past the end of the LMF */
                        guint8 *lmf_addr = (guint8*)sframe->sp - sizeof (MonoLMF);
                        memcpy (&new_ctx->fregs, lmf_addr + G_STRUCT_OFFSET (MonoLMF, fregs), sizeof (double) * MONO_SAVED_FREGS);
@@ -653,7 +656,7 @@ mono_arch_handle_altstack_exception (void *sigctx, MONO_SIG_HANDLER_INFO_TYPE *s
                const char *method;
                /* we don't do much now, but we can warn the user with a useful message */
                fprintf (stderr, "Stack overflow: IP: %p, SP: %p\n", mono_arch_ip_from_context (sigctx), (gpointer)UCONTEXT_REG_Rn(uc, 1));
-               if (ji && jinfo_get_method (ji))
+               if (ji && !ji->is_trampoline && jinfo_get_method (ji))
                        method = mono_method_full_name (jinfo_get_method (ji), TRUE);
                else
                        method = "Unmanaged";
@@ -783,3 +786,16 @@ mono_arch_handle_exception (void *ctx, gpointer obj)
        return result;
 #endif
 }
+
+
+// FIX ME: This is not complete
+void
+mono_arch_setup_async_callback (MonoContext *ctx, void (*async_cb)(void *fun), gpointer user_data)
+{
+       uintptr_t sp = (uintptr_t) MONO_CONTEXT_GET_SP(ctx);
+       sp -= PPC_MINIMAL_STACK_SIZE;
+       *(unsigned long *)sp = MONO_CONTEXT_GET_SP(ctx);
+       MONO_CONTEXT_SET_BP(ctx, sp);
+       MONO_CONTEXT_SET_IP(ctx, (unsigned long) async_cb);
+}
+
index c3714f94ee0d37bc67485bd437ffd9e65ca95e32..83d5f6b1368771d1509397f61ba852a7f51541d7 100644 (file)
@@ -478,7 +478,10 @@ mono_arch_unwind_frame (MonoDomain *domain, MonoJitTlsData *jit_tls,
                guint8 *unwind_info;
                mgreg_t regs[16];
 
-               frame->type = FRAME_TYPE_MANAGED;
+               if (ji->is_trampoline)
+                       frame->type = FRAME_TYPE_TRAMPOLINE;
+               else
+                       frame->type = FRAME_TYPE_MANAGED;
 
                unwind_info = mono_jinfo_get_unwind_info (ji, &unwind_info_len);
 
index a5b197c8c4f5ccfd559410fbd546bf8d8bc5c9de..b3b5633597644d39ff345274d0fc4f2749b21d66 100644 (file)
@@ -350,7 +350,10 @@ mono_arch_unwind_frame (MonoDomain *domain, MonoJitTlsData *jit_tls,
        *new_ctx = *ctx;
 
        if (ji != NULL) {
-               frame->type = FRAME_TYPE_MANAGED;
+               if (ji->is_trampoline)
+                       frame->type = FRAME_TYPE_TRAMPOLINE;
+               else
+                       frame->type = FRAME_TYPE_MANAGED;
 
                /* Restore ip and sp from the saved register window */
                window = MONO_SPARC_WINDOW_ADDR (ctx->sp);
index 3b4b21c1dffd861d6bb9870786fa18283645983a..3db25ca7f810f8ab363fe926b3a75c355c3e10da 100644 (file)
@@ -564,8 +564,7 @@ get_throw_trampoline (const char *name, gboolean rethrow, gboolean llvm, gboolea
         * <return addr> <- esp (unaligned on apple)
         */
 
-       mono_add_unwind_op_def_cfa (unwind_ops, (guint8*)NULL, (guint8*)NULL, X86_ESP, 4);
-       mono_add_unwind_op_offset (unwind_ops, (guint8*)NULL, (guint8*)NULL, X86_NREG, -4);
+       unwind_ops = mono_arch_get_cie_program ();
 
        /* Alloc frame */
        x86_alu_reg_imm (code, X86_SUB, X86_ESP, stack_size);
@@ -717,6 +716,7 @@ void
 mono_arch_exceptions_init (void)
 {
        guint8 *tramp;
+       MonoTrampInfo *tinfo;
 
 /* 
  * If we're running WoW64, we need to set the usermode exception policy 
@@ -745,22 +745,28 @@ mono_arch_exceptions_init (void)
        }
 
        /* LLVM needs different throw trampolines */
-       tramp = get_throw_trampoline ("llvm_throw_exception_trampoline", FALSE, TRUE, FALSE, FALSE, FALSE, NULL, FALSE);
+       tramp = get_throw_trampoline ("llvm_throw_exception_trampoline", FALSE, TRUE, FALSE, FALSE, FALSE, &tinfo, FALSE);
        mono_register_jit_icall (tramp, "llvm_throw_exception_trampoline", NULL, TRUE);
+       mono_tramp_info_register (tinfo, NULL);
 
-       tramp = get_throw_trampoline ("llvm_rethrow_exception_trampoline", TRUE, TRUE, FALSE, FALSE, FALSE, NULL, FALSE);
+       tramp = get_throw_trampoline ("llvm_rethrow_exception_trampoline", TRUE, TRUE, FALSE, FALSE, FALSE, &tinfo, FALSE);
        mono_register_jit_icall (tramp, "llvm_rethrow_exception_trampoline", NULL, TRUE);
+       mono_tramp_info_register (tinfo, NULL);
 
-       tramp = get_throw_trampoline ("llvm_throw_corlib_exception_trampoline", FALSE, TRUE, TRUE, FALSE, FALSE, NULL, FALSE);
+       tramp = get_throw_trampoline ("llvm_throw_corlib_exception_trampoline", FALSE, TRUE, TRUE, FALSE, FALSE, &tinfo, FALSE);
        mono_register_jit_icall (tramp, "llvm_throw_corlib_exception_trampoline", NULL, TRUE);
+       mono_tramp_info_register (tinfo, NULL);
 
-       tramp = get_throw_trampoline ("llvm_throw_corlib_exception_abs_trampoline", FALSE, TRUE, TRUE, TRUE, FALSE, NULL, FALSE);
+       tramp = get_throw_trampoline ("llvm_throw_corlib_exception_abs_trampoline", FALSE, TRUE, TRUE, TRUE, FALSE, &tinfo, FALSE);
        mono_register_jit_icall (tramp, "llvm_throw_corlib_exception_abs_trampoline", NULL, TRUE);
+       mono_tramp_info_register (tinfo, NULL);
 
-       tramp = get_throw_trampoline ("llvm_resume_unwind_trampoline", FALSE, FALSE, FALSE, FALSE, TRUE, NULL, FALSE);
+       tramp = get_throw_trampoline ("llvm_resume_unwind_trampoline", FALSE, FALSE, FALSE, FALSE, TRUE, &tinfo, FALSE);
        mono_register_jit_icall (tramp, "llvm_resume_unwind_trampoline", NULL, TRUE);
+       mono_tramp_info_register (tinfo, NULL);
 
-       signal_exception_trampoline = mono_x86_get_signal_exception_trampoline (NULL, FALSE);
+       signal_exception_trampoline = mono_x86_get_signal_exception_trampoline (&tinfo, FALSE);
+       mono_tramp_info_register (tinfo, NULL);
 }
 
 /*
@@ -788,7 +794,10 @@ mono_arch_unwind_frame (MonoDomain *domain, MonoJitTlsData *jit_tls,
                guint32 unwind_info_len;
                guint8 *unwind_info;
 
-               frame->type = FRAME_TYPE_MANAGED;
+               if (ji->is_trampoline)
+                       frame->type = FRAME_TYPE_TRAMPOLINE;
+               else
+                       frame->type = FRAME_TYPE_MANAGED;
 
                unwind_info = mono_jinfo_get_unwind_info (ji, &unwind_info_len);
 
@@ -931,11 +940,12 @@ mono_x86_get_signal_exception_trampoline (MonoTrampInfo **info, gboolean aot)
 
        start = code = mono_global_codeman_reserve (128);
 
+       /* FIXME no unwind before we push ip */
        /* Caller ip */
        x86_push_reg (code, X86_ECX);
 
-       mono_add_unwind_op_def_cfa (unwind_ops, (guint8*)NULL, (guint8*)NULL, X86_ESP, 4);
-       mono_add_unwind_op_offset (unwind_ops, (guint8*)NULL, (guint8*)NULL, X86_NREG, -4);
+       mono_add_unwind_op_def_cfa (unwind_ops, code, start, X86_ESP, 4);
+       mono_add_unwind_op_offset (unwind_ops, code, start, X86_NREG, -4);
 
        /* Fix the alignment to be what apple expects */
        stack_size = 12;
index 2f60cb70210c758dfbc8e718b972814a4115ed3e..f5ee9bbbf6069effddeddeeed2067809a3058226 100644 (file)
@@ -1300,6 +1300,7 @@ public class Tests
 
        interface IFaceBox {
                object box<T> (T t);
+               bool is_null<T> (T t);
        }
 
        class ClassBox : IFaceBox {
@@ -1307,6 +1308,12 @@ public class Tests
                        object o = t;
                        return o;
                }
+
+               public bool is_null<T> (T t) {
+                       if (!(default(T) == null))
+                               return false;
+                       return true;
+               }
        }
 
        public static int test_0_nullable_box () {
@@ -1329,6 +1336,15 @@ public class Tests
                return 0;
        }
 
+       public static int test_0_nullable_box_brtrue_opt () {
+               IFaceBox c = new ClassBox ();
+
+               if (c.is_null<double?> (null))
+                       return 0;
+               else
+                       return 1;
+       }
+
        interface IFaceUnbox2 {
                T unbox<T> (object o);
        }
index 8510917341b87d747bd61318c19552789f330cf5..bf1153ccae0116cded372ee13f96abf62b059302 100644 (file)
@@ -2781,4 +2781,20 @@ END:
     IL_001d:  ldc.i4.1
     IL_001e:  ret
   } // end of method Tests::test_0_fceq_r4
+
+  .method public static int32 test_0_switch_loop () cil managed
+  {
+       .maxstack 16
+       .locals init (valuetype Tests/TailCallStruct V_0, int32 V_1)
+       ldc.i4.0
+       ldloc.0
+       ldloc.1
+       brtrue L_1
+       L_0:
+       ldc.i4.4
+       switch (L_0)
+       L_1:
+       pop
+       ret
+  }
 }
index 784179c64412c86fa7cdb933f081655e69ec94fc..6dc2dbf249b3230b5e3732e03180b9cf742aeb80 100644 (file)
@@ -93,6 +93,8 @@ mono_main_with_options (int argc, char *argv [])
 
 #ifdef HOST_WIN32
 
+#include <shellapi.h>
+
 int
 main (void)
 {
index 9798cd745f223b7064f8a5df12cddcaf7a6f8d19..785b5f8f21b3b4f5c7b8ffae79ecef128339b330 100644 (file)
@@ -54,7 +54,6 @@
 #include <mono/metadata/security-manager.h>
 #include <mono/metadata/threads-types.h>
 #include <mono/metadata/security-core-clr.h>
-#include <mono/metadata/monitor.h>
 #include <mono/metadata/profiler-private.h>
 #include <mono/metadata/profiler.h>
 #include <mono/metadata/debug-mono-symfile.h>
@@ -149,9 +148,6 @@ static int inline_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSigna
 /* helper methods signatures */
 static MonoMethodSignature *helper_sig_domain_get;
 static MonoMethodSignature *helper_sig_rgctx_lazy_fetch_trampoline;
-static MonoMethodSignature *helper_sig_monitor_enter_exit_trampoline;
-static MonoMethodSignature *helper_sig_monitor_enter_exit_trampoline_llvm;
-static MonoMethodSignature *helper_sig_monitor_enter_v4_trampoline_llvm;
 
 /*
  * Instruction metadata
@@ -356,9 +352,6 @@ mono_create_helper_signatures (void)
 {
        helper_sig_domain_get = mono_create_icall_signature ("ptr");
        helper_sig_rgctx_lazy_fetch_trampoline = mono_create_icall_signature ("ptr ptr");
-       helper_sig_monitor_enter_exit_trampoline = mono_create_icall_signature ("void");
-       helper_sig_monitor_enter_exit_trampoline_llvm = mono_create_icall_signature ("void object");
-       helper_sig_monitor_enter_v4_trampoline_llvm = mono_create_icall_signature ("void object ptr");
 }
 
 static MONO_NEVER_INLINE void
@@ -1158,7 +1151,8 @@ param_table [STACK_MAX] [STACK_MAX] = {
 };
 
 static int
-check_values_to_signature (MonoInst *args, MonoType *this, MonoMethodSignature *sig) {
+check_values_to_signature (MonoInst *args, MonoType *this_ins, MonoMethodSignature *sig)
+{
        int i;
 
        if (sig->hasthis) {
@@ -2726,12 +2720,12 @@ emit_get_rgctx_klass (MonoCompile *cfg, int context_used, MonoClass *klass, Mono
 
 static MonoInst*
 mono_emit_method_call_full (MonoCompile *cfg, MonoMethod *method, MonoMethodSignature *sig, gboolean tail,
-                                                       MonoInst **args, MonoInst *this, MonoInst *imt_arg, MonoInst *rgctx_arg)
+                                                       MonoInst **args, MonoInst *this_ins, MonoInst *imt_arg, MonoInst *rgctx_arg)
 {
 #ifndef DISABLE_REMOTING
        gboolean might_be_remote = FALSE;
 #endif
-       gboolean virtual = this != NULL;
+       gboolean virtual = this_ins != NULL;
        gboolean enable_for_aot = TRUE;
        int context_used;
        MonoCallInst *call;
@@ -2758,9 +2752,9 @@ mono_emit_method_call_full (MonoCompile *cfg, MonoMethod *method, MonoMethodSign
        context_used = mini_method_check_context_used (cfg, method);
 
 #ifndef DISABLE_REMOTING
-       might_be_remote = this && sig->hasthis &&
+       might_be_remote = this_ins && sig->hasthis &&
                (mono_class_is_marshalbyref (method->klass) || method->klass == mono_defaults.object_class) &&
-               !(method->flags & METHOD_ATTRIBUTE_VIRTUAL) && (!MONO_CHECK_THIS (this) || context_used);
+               !(method->flags & METHOD_ATTRIBUTE_VIRTUAL) && (!MONO_CHECK_THIS (this_ins) || context_used);
 
        if (might_be_remote && context_used) {
                MonoInst *addr;
@@ -2784,14 +2778,14 @@ mono_emit_method_call_full (MonoCompile *cfg, MonoMethod *method, MonoMethodSign
 #endif
                call->method = method;
        call->inst.flags |= MONO_INST_HAS_METHOD;
-       call->inst.inst_left = this;
+       call->inst.inst_left = this_ins;
        call->tail_call = tail;
 
        if (virtual) {
                int vtable_reg, slot_reg, this_reg;
                int offset;
 
-               this_reg = this->dreg;
+               this_reg = this_ins->dreg;
 
                if ((method->klass->parent == mono_defaults.multicastdelegate_class) && !strcmp (method->name, "Invoke")) {
                        MonoInst *dummy_use;
@@ -2885,9 +2879,9 @@ mono_emit_method_call_full (MonoCompile *cfg, MonoMethod *method, MonoMethodSign
 }
 
 MonoInst*
-mono_emit_method_call (MonoCompile *cfg, MonoMethod *method, MonoInst **args, MonoInst *this)
+mono_emit_method_call (MonoCompile *cfg, MonoMethod *method, MonoInst **args, MonoInst *this_ins)
 {
-       return mono_emit_method_call_full (cfg, method, mono_method_signature (method), FALSE, args, this, NULL, NULL);
+       return mono_emit_method_call_full (cfg, method, mono_method_signature (method), FALSE, args, this_ins, NULL, NULL);
 }
 
 MonoInst*
@@ -3365,19 +3359,19 @@ mini_emit_initobj (MonoCompile *cfg, MonoInst *dest, const guchar *ip, MonoClass
 static MonoInst*
 emit_get_rgctx (MonoCompile *cfg, MonoMethod *method, int context_used)
 {
-       MonoInst *this = NULL;
+       MonoInst *this_ins = NULL;
 
        g_assert (cfg->gshared);
 
        if (!(method->flags & METHOD_ATTRIBUTE_STATIC) &&
                        !(context_used & MONO_GENERIC_CONTEXT_USED_METHOD) &&
                        !method->klass->valuetype)
-               EMIT_NEW_ARGLOAD (cfg, this, 0);
+               EMIT_NEW_ARGLOAD (cfg, this_ins, 0);
 
        if (context_used & MONO_GENERIC_CONTEXT_USED_METHOD) {
                MonoInst *mrgctx_loc, *mrgctx_var;
 
-               g_assert (!this);
+               g_assert (!this_ins);
                g_assert (method->is_inflated && mono_method_get_context (method)->method_inst);
 
                mrgctx_loc = mono_get_vtable_var (cfg);
@@ -3387,7 +3381,7 @@ emit_get_rgctx (MonoCompile *cfg, MonoMethod *method, int context_used)
        } else if (method->flags & METHOD_ATTRIBUTE_STATIC || method->klass->valuetype) {
                MonoInst *vtable_loc, *vtable_var;
 
-               g_assert (!this);
+               g_assert (!this_ins);
 
                vtable_loc = mono_get_vtable_var (cfg);
                EMIT_NEW_TEMPLOAD (cfg, vtable_var, vtable_loc->inst_c0);
@@ -3407,7 +3401,7 @@ emit_get_rgctx (MonoCompile *cfg, MonoMethod *method, int context_used)
                int vtable_reg;
        
                vtable_reg = alloc_preg (cfg);
-               EMIT_NEW_LOAD_MEMBASE (cfg, ins, OP_LOAD_MEMBASE, vtable_reg, this->dreg, MONO_STRUCT_OFFSET (MonoObject, vtable));
+               EMIT_NEW_LOAD_MEMBASE (cfg, ins, OP_LOAD_MEMBASE, vtable_reg, this_ins->dreg, MONO_STRUCT_OFFSET (MonoObject, vtable));
                return ins;
        }
 }
@@ -4317,6 +4311,7 @@ icall_is_direct_callable (MonoCompile *cfg, MonoMethod *cmethod)
                g_hash_table_insert (h, (char*)"Decimal", GUINT_TO_POINTER (1));
                g_hash_table_insert (h, (char*)"Number", GUINT_TO_POINTER (1));
                g_hash_table_insert (h, (char*)"Buffer", GUINT_TO_POINTER (1));
+               g_hash_table_insert (h, (char*)"Monitor", GUINT_TO_POINTER (1));
                mono_memory_barrier ();
                direct_icall_type_hash = h;
        }
@@ -4980,6 +4975,10 @@ handle_delegate_ctor (MonoCompile *cfg, MonoClass *klass, MonoInst *target, Mono
                MONO_EMIT_NEW_STORE_MEMBASE (cfg, OP_STORE_MEMBASE_REG, obj->dreg, MONO_STRUCT_OFFSET (MonoDelegate, method_ptr), dreg);
        }
 
+       dreg = alloc_preg (cfg);
+       MONO_EMIT_NEW_ICONST (cfg, dreg, virtual ? 1 : 0);
+       MONO_EMIT_NEW_STORE_MEMBASE (cfg, OP_STOREI1_MEMBASE_REG, obj->dreg, MONO_STRUCT_OFFSET (MonoDelegate, method_is_virtual), dreg);
+
        /* All the checks which are in mono_delegate_ctor () are done by the delegate trampoline */
 
        return obj;
@@ -5149,14 +5148,6 @@ mono_method_check_inlining (MonoCompile *cfg, MonoMethod *method)
        if (cfg->inline_depth > 10)
                return FALSE;
 
-#ifdef MONO_ARCH_HAVE_LMF_OPS
-       if (((method->iflags & METHOD_IMPL_ATTRIBUTE_INTERNAL_CALL) ||
-                (method->flags & METHOD_ATTRIBUTE_PINVOKE_IMPL)) &&
-           !MONO_TYPE_ISSTRUCT (signature->ret) && !mini_class_is_system_array (method->klass))
-               return TRUE;
-#endif
-
-
        if (!mono_method_get_header_summary (method, &header))
                return FALSE;
 
@@ -6021,59 +6012,6 @@ mini_emit_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSign
                                return ins;
                        }
                }
-       } else if (cmethod->klass == mono_defaults.monitor_class) {
-#if defined(MONO_ARCH_MONITOR_OBJECT_REG)
-               if (strcmp (cmethod->name, "Enter") == 0 && fsig->param_count == 1) {
-                       MonoCallInst *call;
-
-                       if (COMPILE_LLVM (cfg)) {
-                               /* 
-                                * Pass the argument normally, the LLVM backend will handle the
-                                * calling convention problems.
-                                */
-                               call = (MonoCallInst*)mono_emit_abs_call (cfg, MONO_PATCH_INFO_MONITOR_ENTER, NULL, helper_sig_monitor_enter_exit_trampoline_llvm, args);
-                       } else {
-                               call = (MonoCallInst*)mono_emit_abs_call (cfg, MONO_PATCH_INFO_MONITOR_ENTER,
-                                           NULL, helper_sig_monitor_enter_exit_trampoline, NULL);
-                               mono_call_inst_add_outarg_reg (cfg, call, args [0]->dreg,
-                                                                                          MONO_ARCH_MONITOR_OBJECT_REG, FALSE);
-                       }
-
-                       return (MonoInst*)call;
-#if defined(MONO_ARCH_MONITOR_LOCK_TAKEN_REG)
-               } else if (strcmp (cmethod->name, "Enter") == 0 && fsig->param_count == 2) {
-                       MonoCallInst *call;
-
-                       if (COMPILE_LLVM (cfg)) {
-                               /*
-                                * Pass the argument normally, the LLVM backend will handle the
-                                * calling convention problems.
-                                */
-                               call = (MonoCallInst*)mono_emit_abs_call (cfg, MONO_PATCH_INFO_MONITOR_ENTER_V4, NULL, helper_sig_monitor_enter_v4_trampoline_llvm, args);
-                       } else {
-                               call = (MonoCallInst*)mono_emit_abs_call (cfg, MONO_PATCH_INFO_MONITOR_ENTER_V4,
-                                           NULL, helper_sig_monitor_enter_exit_trampoline, NULL);
-                               mono_call_inst_add_outarg_reg (cfg, call, args [0]->dreg, MONO_ARCH_MONITOR_OBJECT_REG, FALSE);
-                               mono_call_inst_add_outarg_reg (cfg, call, args [1]->dreg, MONO_ARCH_MONITOR_LOCK_TAKEN_REG, FALSE);
-                       }
-
-                       return (MonoInst*)call;
-#endif
-               } else if (strcmp (cmethod->name, "Exit") == 0 && fsig->param_count == 1) {
-                       MonoCallInst *call;
-
-                       if (COMPILE_LLVM (cfg)) {
-                               call = (MonoCallInst*)mono_emit_abs_call (cfg, MONO_PATCH_INFO_MONITOR_EXIT, NULL, helper_sig_monitor_enter_exit_trampoline_llvm, args);
-                       } else {
-                               call = (MonoCallInst*)mono_emit_abs_call (cfg, MONO_PATCH_INFO_MONITOR_EXIT,
-                                           NULL, helper_sig_monitor_enter_exit_trampoline, NULL);
-                               mono_call_inst_add_outarg_reg (cfg, call, args [0]->dreg,
-                                                                                          MONO_ARCH_MONITOR_OBJECT_REG, FALSE);
-                       }
-
-                       return (MonoInst*)call;
-               }
-#endif
        } else if (cmethod->klass->image == mono_defaults.corlib &&
                           (strcmp (cmethod->klass->name_space, "System.Threading") == 0) &&
                           (strcmp (cmethod->klass->name, "Interlocked") == 0)) {
@@ -6650,7 +6588,7 @@ mini_emit_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSign
  */
 inline static MonoInst*
 mini_redirect_call (MonoCompile *cfg, MonoMethod *method,  
-                                       MonoMethodSignature *signature, MonoInst **args, MonoInst *this)
+                                       MonoMethodSignature *signature, MonoInst **args, MonoInst *this_ins)
 {
        if (method->klass == mono_defaults.string_class) {
                /* managed string allocation support */
@@ -6667,7 +6605,7 @@ mini_redirect_call (MonoCompile *cfg, MonoMethod *method,
                                return NULL;
                        EMIT_NEW_VTABLECONST (cfg, iargs [0], vtable);
                        iargs [1] = args [0];
-                       return mono_emit_method_call (cfg, managed_alloc, iargs, this);
+                       return mono_emit_method_call (cfg, managed_alloc, iargs, this_ins);
                }
        }
        return NULL;
@@ -6974,7 +6912,7 @@ inline_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSignature *fsig,
        cfg->disable_inline = prev_disable_inline;
        cfg->inline_depth --;
 
-       if ((costs >= 0 && costs < 60) || inline_always) {
+       if ((costs >= 0 && costs < 60) || inline_always || (costs >= 0 && (cmethod->iflags & METHOD_IMPL_ATTRIBUTE_AGGRESSIVE_INLINING))) {
                if (cfg->verbose_level > 2)
                        printf ("INLINE END %s -> %s\n", mono_method_full_name (cfg->method, TRUE), mono_method_full_name (cmethod, TRUE));
                
@@ -7244,17 +7182,16 @@ mini_get_signature (MonoMethod *method, guint32 token, MonoGenericContext *conte
        MonoMethodSignature *fsig;
 
        if (method->wrapper_type != MONO_WRAPPER_NONE) {
-               MonoError error;
-
                fsig = (MonoMethodSignature *)mono_method_get_wrapper_data (method, token);
-               if (context) {
-                       fsig = mono_inflate_generic_signature (fsig, context, &error);
-                       // FIXME:
-                       g_assert (mono_error_ok (&error));
-               }
        } else {
                fsig = mono_metadata_parse_signature (method->klass->image, token);
        }
+       if (context) {
+               MonoError error;
+               fsig = mono_inflate_generic_signature(fsig, context, &error);
+               // FIXME:
+               g_assert(mono_error_ok(&error));
+       }
        return fsig;
 }
 
@@ -7423,7 +7360,7 @@ static void
 set_exception_object (MonoCompile *cfg, MonoException *exception)
 {
        mono_cfg_set_exception (cfg, MONO_EXCEPTION_OBJECT_SUPPLIED);
-       MONO_GC_REGISTER_ROOT_SINGLE (cfg->exception_ptr);
+       MONO_GC_REGISTER_ROOT_SINGLE (cfg->exception_ptr, MONO_ROOT_SOURCE_JIT, "jit exception");
        cfg->exception_ptr = exception;
 }
 
@@ -7478,12 +7415,12 @@ emit_optimized_ldloca_ir (MonoCompile *cfg, unsigned char *ip, unsigned char *en
 }
 
 static gboolean
-is_exception_class (MonoClass *class)
+is_exception_class (MonoClass *klass)
 {
-       while (class) {
-               if (class == mono_defaults.exception_class)
+       while (klass) {
+               if (klass == mono_defaults.exception_class)
                        return TRUE;
-               class = class->parent;
+               klass = klass->parent;
        }
        return FALSE;
 }
@@ -7589,34 +7526,6 @@ is_supported_tail_call (MonoCompile *cfg, MonoMethod *method, MonoMethod *cmetho
        return supported_tail_call;
 }
 
-/* emits the code needed to access a managed tls var (like ThreadStatic)
- * with the value of the tls offset in offset_reg. thread_ins represents the MonoInternalThread
- * pointer for the current thread.
- * Returns the MonoInst* representing the address of the tls var.
- */
-static MonoInst*
-emit_managed_static_data_access (MonoCompile *cfg, MonoInst *thread_ins, int offset_reg)
-{
-       MonoInst *addr;
-       int static_data_reg, array_reg, dreg;
-       int offset2_reg, idx_reg;
-       // inlined access to the tls data (see threads.c)
-       static_data_reg = alloc_ireg (cfg);
-       MONO_EMIT_NEW_LOAD_MEMBASE (cfg, static_data_reg, thread_ins->dreg, MONO_STRUCT_OFFSET (MonoInternalThread, static_data));
-       idx_reg = alloc_ireg (cfg);
-       MONO_EMIT_NEW_BIALU_IMM (cfg, OP_IAND_IMM, idx_reg, offset_reg, 0x3f);
-       MONO_EMIT_NEW_BIALU_IMM (cfg, OP_ISHL_IMM, idx_reg, idx_reg, sizeof (gpointer) == 8 ? 3 : 2);
-       MONO_EMIT_NEW_BIALU (cfg, OP_PADD, static_data_reg, static_data_reg, idx_reg);
-       array_reg = alloc_ireg (cfg);
-       MONO_EMIT_NEW_LOAD_MEMBASE (cfg, array_reg, static_data_reg, 0);
-       offset2_reg = alloc_ireg (cfg);
-       MONO_EMIT_NEW_BIALU_IMM (cfg, OP_ISHR_UN_IMM, offset2_reg, offset_reg, 6);
-       MONO_EMIT_NEW_BIALU_IMM (cfg, OP_IAND_IMM, offset2_reg, offset2_reg, 0x1ffffff);
-       dreg = alloc_ireg (cfg);
-       EMIT_NEW_BIALU (cfg, addr, OP_PADD, dreg, array_reg, offset2_reg);
-       return addr;
-}
-
 /*
  * handle_ctor_call:
  *
@@ -7917,8 +7826,9 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                MONO_INST_NEW (cfg, ins, OP_START_HANDLER);
                                MONO_ADD_INS (tblock, ins);
 
-                               if (seq_points && clause->flags != MONO_EXCEPTION_CLAUSE_FINALLY) {
+                               if (seq_points && clause->flags != MONO_EXCEPTION_CLAUSE_FINALLY && clause->flags != MONO_EXCEPTION_CLAUSE_FILTER) {
                                        /* finally clauses already have a seq point */
+                                       /* seq points for filter clauses are emitted below */
                                        NEW_SEQ_POINT (cfg, ins, clause->handler_offset, TRUE);
                                        MONO_ADD_INS (tblock, ins);
                                }
@@ -7960,6 +7870,11 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                 */
                                EMIT_NEW_DUMMY_USE (cfg, dummy_use, tblock->in_stack [0]);
 #endif
+
+                               if (seq_points && clause->flags == MONO_EXCEPTION_CLAUSE_FILTER) {
+                                       NEW_SEQ_POINT (cfg, ins, clause->handler_offset, TRUE);
+                                       MONO_ADD_INS (tblock, ins);
+                               }
                                
                                if (clause->flags == MONO_EXCEPTION_CLAUSE_FILTER) {
                                        GET_BBLOCK (cfg, tblock, ip + clause->data.filter_offset);
@@ -8847,6 +8762,20 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                CHECK_CFG_ERROR;
                        }
 
+                       /* See code below */
+                       if (cmethod->klass == mono_defaults.monitor_class && !strcmp (cmethod->name, "Enter") && mono_method_signature (cmethod)->param_count == 1) {
+                               MonoBasicBlock *tbb;
+
+                               GET_BBLOCK (cfg, tbb, ip + 5);
+                               if (tbb->try_start && MONO_REGION_FLAGS(tbb->region) == MONO_EXCEPTION_CLAUSE_FINALLY) {
+                                       /*
+                                        * We want to extend the try block to cover the call, but we can't do it if the
+                                        * call is made directly since its followed by an exception check.
+                                        */
+                                       direct_icall = FALSE;
+                               }
+                       }
+
                        mono_save_token_info (cfg, image, token, cil_method);
 
                        if (!(seq_point_locs && mono_bitset_test_fast (seq_point_locs, ip + 5 - header->code)))
@@ -9822,6 +9751,11 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                handle_stack_args (cfg, stack_start, sp - stack_start);
                                sp = stack_start;
                                CHECK_UNVERIFIABLE (cfg);
+
+                               /* Undo the links */
+                               mono_unlink_bblock (cfg, cfg->cbb, default_bblock);
+                               for (i = 0; i < n; ++i)
+                                       mono_unlink_bblock (cfg, cfg->cbb, targets [i]);
                        }
 
                        MONO_EMIT_NEW_BIALU_IMM (cfg, OP_ICOMPARE_IMM, -1, src1->dreg, n);
@@ -10672,6 +10606,7 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
 
                        // FIXME: LLVM can't handle the inconsistent bb linking
                        if (!mono_class_is_nullable (klass) &&
+                               !mini_is_gsharedvt_klass (klass) &&
                                ip + 5 < end && ip_in_bb (cfg, cfg->cbb, ip + 5) &&
                                (ip [5] == CEE_BRTRUE || 
                                 ip [5] == CEE_BRTRUE_S ||
@@ -10842,11 +10777,13 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                ensure_method_is_allowed_to_access_field (cfg, method, field);
                        */
 
+                       ftype = mono_field_get_type (field);
+
                        /*
                         * LDFLD etc. is usable on static fields as well, so convert those cases to
                         * the static case.
                         */
-                       if (is_instance && field->type->attrs & FIELD_ATTRIBUTE_STATIC) {
+                       if (is_instance && ftype->attrs & FIELD_ATTRIBUTE_STATIC) {
                                switch (op) {
                                case CEE_LDFLD:
                                        op = CEE_LDSFLD;
@@ -11031,8 +10968,6 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                        /* STATIC CASE */
                        context_used = mini_class_check_context_used (cfg, klass);
 
-                       ftype = mono_field_get_type (field);
-
                        if (ftype->attrs & FIELD_ATTRIBUTE_LITERAL)
                                UNVERIFIED;
 
@@ -12208,11 +12143,6 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                        }
                        case CEE_MONO_SAVE_LMF:
                        case CEE_MONO_RESTORE_LMF:
-#ifdef MONO_ARCH_HAVE_LMF_OPS
-                               MONO_INST_NEW (cfg, ins, (ip [1] == CEE_MONO_SAVE_LMF) ? OP_SAVE_LMF : OP_RESTORE_LMF);
-                               MONO_ADD_INS (cfg->cbb, ins);
-                               cfg->need_lmf_area = TRUE;
-#endif
                                ip += 2;
                                break;
                        case CEE_MONO_CLASSCONST:
index 9d39b9e210dbe420c719cd932446d27f5fce1c2c..9e7412b794f0b116a45438ce5532773650a7cc99 100644 (file)
@@ -65,30 +65,12 @@ static gboolean optimize_for_xen = TRUE;
 #define mono_mini_arch_unlock() mono_mutex_unlock (&mini_arch_mutex)
 static mono_mutex_t mini_arch_mutex;
 
-MonoBreakpointInfo
-mono_breakpoint_info [MONO_BREAKPOINT_ARRAY_SIZE];
-
-/*
- * The code generated for sequence points reads from this location, which is
- * made read-only when single stepping is enabled.
- */
-static gpointer ss_trigger_page;
-
-/* Enabled breakpoints read from this trigger page */
-static gpointer bp_trigger_page;
-
-/* The size of the breakpoint sequence */
-static int breakpoint_size;
-
-/* The size of the breakpoint instruction causing the actual fault */
-static int breakpoint_fault_size;
-
-/* The size of the single step instruction causing the actual fault */
-static int single_step_fault_size;
-
 /* The single step trampoline */
 static gpointer ss_trampoline;
 
+/* The breakpoint trampoline */
+static gpointer bp_trampoline;
+
 /* Offset between fp and the first argument in the callee */
 #define ARGS_OFFSET 16
 #define GP_SCRATCH_REG AMD64_R11
@@ -182,6 +164,15 @@ amd64_is_near_call (guint8 *code)
        return code [0] == 0xe8;
 }
 
+static inline gboolean
+amd64_use_imm32 (gint64 val)
+{
+       if (mini_get_debug_options()->single_imm_size)
+               return FALSE;
+
+       return amd64_is_imm32 (val);
+}
+
 #ifdef __native_client_codegen__
 
 /* Keep track of instruction "depth", that is, the level of sub-instruction */
@@ -495,6 +486,9 @@ typedef enum {
        ArgOnStack,
        ArgValuetypeInReg,
        ArgValuetypeAddrInIReg,
+       /* gsharedvt argument passed by addr */
+       ArgGSharedVtInReg,
+       ArgGSharedVtOnStack,
        ArgNone /* only in pair_storage */
 } ArgStorage;
 
@@ -517,7 +511,6 @@ typedef struct {
        guint32 reg_usage;
        guint32 freg_usage;
        gboolean need_stack_align;
-       gboolean vtype_retaddr;
        /* The index of the vret arg in the argument list */
        int vret_arg_index;
        ArgInfo ret;
@@ -795,7 +788,7 @@ add_valuetype (MonoMethodSignature *sig, ArgInfo *ainfo, MonoType *type,
                /* Allways pass in memory */
                ainfo->offset = *stack_size;
                *stack_size += ALIGN_TO (size, 8);
-               ainfo->storage = ArgOnStack;
+               ainfo->storage = is_return ? ArgValuetypeAddrInIReg : ArgOnStack;
 
                g_free (fields);
                return;
@@ -842,7 +835,7 @@ add_valuetype (MonoMethodSignature *sig, ArgInfo *ainfo, MonoType *type,
                if (info->native_size > 16) {
                        ainfo->offset = *stack_size;
                        *stack_size += ALIGN_TO (info->native_size, 8);
-                       ainfo->storage = ArgOnStack;
+                       ainfo->storage = is_return ? ArgValuetypeAddrInIReg : ArgOnStack;
 
                        g_free (fields);
                        return;
@@ -853,7 +846,7 @@ add_valuetype (MonoMethodSignature *sig, ArgInfo *ainfo, MonoType *type,
                        break;
                default:
                        if (is_return) {
-                               ainfo->storage = ArgOnStack;
+                               ainfo->storage = ArgValuetypeAddrInIReg;
                                ainfo->offset = *stack_size;
                                *stack_size += ALIGN_TO (info->native_size, 8);
                        }
@@ -979,7 +972,7 @@ add_valuetype (MonoMethodSignature *sig, ArgInfo *ainfo, MonoType *type,
                                *stack_size += ALIGN_TO (info->native_size, 8);
                        else
                                *stack_size += nquads * sizeof(mgreg_t);
-                       ainfo->storage = ArgOnStack;
+                       ainfo->storage = is_return ? ArgValuetypeAddrInIReg : ArgOnStack;
                }
        }
 }
@@ -1056,6 +1049,10 @@ get_call_info (MonoMemPool *mp, MonoMethodSignature *sig)
                        cinfo->ret.reg = AMD64_RAX;
                        break;
                }
+               if (mini_is_gsharedvt_type (ret_type)) {
+                       cinfo->ret.storage = ArgValuetypeAddrInIReg;
+                       break;
+               }
                /* fall through */
 #if defined( __native_client_codegen__ )
        case MONO_TYPE_TYPEDBYREF:
@@ -1064,18 +1061,20 @@ get_call_info (MonoMemPool *mp, MonoMethodSignature *sig)
                guint32 tmp_gr = 0, tmp_fr = 0, tmp_stacksize = 0;
 
                add_valuetype (sig, &cinfo->ret, ret_type, TRUE, &tmp_gr, &tmp_fr, &tmp_stacksize);
-               if (cinfo->ret.storage == ArgOnStack) {
-                       cinfo->vtype_retaddr = TRUE;
-                       /* The caller passes the address where the value is stored */
-               }
+               g_assert (cinfo->ret.storage != ArgInIReg);
                break;
        }
 #if !defined( __native_client_codegen__ )
        case MONO_TYPE_TYPEDBYREF:
                /* Same as a valuetype with size 24 */
-               cinfo->vtype_retaddr = TRUE;
+               cinfo->ret.storage = ArgValuetypeAddrInIReg;
                break;
 #endif
+       case MONO_TYPE_VAR:
+       case MONO_TYPE_MVAR:
+               g_assert (mini_is_gsharedvt_type (ret_type));
+               cinfo->ret.storage = ArgValuetypeAddrInIReg;
+               break;
        case MONO_TYPE_VOID:
                break;
        default:
@@ -1090,7 +1089,7 @@ get_call_info (MonoMemPool *mp, MonoMethodSignature *sig)
         * are sometimes made using calli without sig->hasthis set, like in the delegate
         * invoke wrappers.
         */
-       if (cinfo->vtype_retaddr && !is_pinvoke && (sig->hasthis || (sig->param_count > 0 && MONO_TYPE_IS_REFERENCE (mini_get_underlying_type (sig->params [0]))))) {
+       if (cinfo->ret.storage == ArgValuetypeAddrInIReg && !is_pinvoke && (sig->hasthis || (sig->param_count > 0 && MONO_TYPE_IS_REFERENCE (mini_get_underlying_type (sig->params [0]))))) {
                if (sig->hasthis) {
                        add_general (&gr, &stack_size, cinfo->args + 0);
                } else {
@@ -1098,14 +1097,17 @@ get_call_info (MonoMemPool *mp, MonoMethodSignature *sig)
                        pstart = 1;
                }
                add_general (&gr, &stack_size, &cinfo->ret);
+               cinfo->ret.storage = ArgValuetypeAddrInIReg;
                cinfo->vret_arg_index = 1;
        } else {
                /* this */
                if (sig->hasthis)
                        add_general (&gr, &stack_size, cinfo->args + 0);
 
-               if (cinfo->vtype_retaddr)
+               if (cinfo->ret.storage == ArgValuetypeAddrInIReg) {
                        add_general (&gr, &stack_size, &cinfo->ret);
+                       cinfo->ret.storage = ArgValuetypeAddrInIReg;
+               }
        }
 
        if (!sig->pinvoke && (sig->call_convention == MONO_CALL_VARARG) && (n == 0)) {
@@ -1171,6 +1173,15 @@ get_call_info (MonoMemPool *mp, MonoMethodSignature *sig)
                                add_general (&gr, &stack_size, ainfo);
                                break;
                        }
+                       if (mini_is_gsharedvt_type (ptype)) {
+                               /* gsharedvt arguments are passed by ref */
+                               add_general (&gr, &stack_size, ainfo);
+                               if (ainfo->storage == ArgInIReg)
+                                       ainfo->storage = ArgGSharedVtInReg;
+                               else
+                                       ainfo->storage = ArgGSharedVtOnStack;
+                               break;
+                       }
                        /* fall through */
                case MONO_TYPE_VALUETYPE:
                case MONO_TYPE_TYPEDBYREF:
@@ -1187,6 +1198,16 @@ get_call_info (MonoMemPool *mp, MonoMethodSignature *sig)
                case MONO_TYPE_R8:
                        add_float (&fr, &stack_size, ainfo, TRUE);
                        break;
+               case MONO_TYPE_VAR:
+               case MONO_TYPE_MVAR:
+                       /* gsharedvt arguments are passed by ref */
+                       g_assert (mini_is_gsharedvt_type (ptype));
+                       add_general (&gr, &stack_size, ainfo);
+                       if (ainfo->storage == ArgInIReg)
+                               ainfo->storage = ArgGSharedVtInReg;
+                       else
+                               ainfo->storage = ArgGSharedVtOnStack;
+                       break;
                default:
                        g_assert_not_reached ();
                }
@@ -1289,8 +1310,6 @@ mono_arch_cpu_init (void)
 void
 mono_arch_init (void)
 {
-       int flags;
-
        mono_mutex_init_recursive (&mini_arch_mutex);
 #if defined(__native_client_codegen__)
        mono_native_tls_alloc (&nacl_instruction_depth, NULL);
@@ -1299,29 +1318,13 @@ mono_arch_init (void)
        mono_native_tls_alloc (&nacl_legacy_prefix_tag, NULL);
 #endif
 
-#ifdef MONO_ARCH_NOMAP32BIT
-       flags = MONO_MMAP_READ;
-       /* amd64_mov_reg_imm () + amd64_mov_reg_membase () */
-       breakpoint_size = 13;
-       breakpoint_fault_size = 3;
-#else
-       flags = MONO_MMAP_READ|MONO_MMAP_32BIT;
-       /* amd64_mov_reg_mem () */
-       breakpoint_size = 8;
-       breakpoint_fault_size = 8;
-#endif
-
-       /* amd64_alu_membase_imm_size (code, X86_CMP, AMD64_R11, 0, 0, 4); */
-       single_step_fault_size = 4;
-
-       ss_trigger_page = mono_valloc (NULL, mono_pagesize (), flags);
-       bp_trigger_page = mono_valloc (NULL, mono_pagesize (), flags);
-       mono_mprotect (bp_trigger_page, mono_pagesize (), 0);
-
        mono_aot_register_jit_icall ("mono_amd64_throw_exception", mono_amd64_throw_exception);
        mono_aot_register_jit_icall ("mono_amd64_throw_corlib_exception", mono_amd64_throw_corlib_exception);
        mono_aot_register_jit_icall ("mono_amd64_resume_unwind", mono_amd64_resume_unwind);
        mono_aot_register_jit_icall ("mono_amd64_get_original_ip", mono_amd64_get_original_ip);
+
+       if (!mono_aot_only)
+               bp_trampoline = mini_get_breakpoint_trampoline ();
 }
 
 /*
@@ -1648,7 +1651,7 @@ mono_arch_fill_argument_info (MonoCompile *cfg)
                case ArgInIReg:
                case ArgInFloatSSEReg:
                case ArgInDoubleSSEReg:
-                       if ((MONO_TYPE_ISSTRUCT (sig_ret) && !mono_class_from_mono_type (sig_ret)->enumtype) || ((sig_ret->type == MONO_TYPE_TYPEDBYREF) && cinfo->vtype_retaddr)) {
+                       if ((MONO_TYPE_ISSTRUCT (sig_ret) && !mono_class_from_mono_type (sig_ret)->enumtype) || ((sig_ret->type == MONO_TYPE_TYPEDBYREF) && cinfo->ret.storage == ArgValuetypeAddrInIReg)) {
                                cfg->vret_addr->opcode = OP_REGVAR;
                                cfg->vret_addr->inst_c0 = cinfo->ret.reg;
                        }
@@ -1758,25 +1761,23 @@ mono_arch_allocate_vars (MonoCompile *cfg)
                case ArgInIReg:
                case ArgInFloatSSEReg:
                case ArgInDoubleSSEReg:
-                       if ((MONO_TYPE_ISSTRUCT (sig_ret) && !mono_class_from_mono_type (sig_ret)->enumtype) || ((sig_ret->type == MONO_TYPE_TYPEDBYREF) && cinfo->vtype_retaddr)) {
-                               /* The register is volatile */
-                               cfg->vret_addr->opcode = OP_REGOFFSET;
-                               cfg->vret_addr->inst_basereg = cfg->frame_reg;
-                               if (cfg->arch.omit_fp) {
-                                       cfg->vret_addr->inst_offset = offset;
-                                       offset += 8;
-                               } else {
-                                       offset += 8;
-                                       cfg->vret_addr->inst_offset = -offset;
-                               }
-                               if (G_UNLIKELY (cfg->verbose_level > 1)) {
-                                       printf ("vret_addr =");
-                                       mono_print_ins (cfg->vret_addr);
-                               }
+                       cfg->ret->opcode = OP_REGVAR;
+                       cfg->ret->inst_c0 = cinfo->ret.reg;
+                       break;
+               case ArgValuetypeAddrInIReg:
+                       /* The register is volatile */
+                       cfg->vret_addr->opcode = OP_REGOFFSET;
+                       cfg->vret_addr->inst_basereg = cfg->frame_reg;
+                       if (cfg->arch.omit_fp) {
+                               cfg->vret_addr->inst_offset = offset;
+                               offset += 8;
+                       } else {
+                               offset += 8;
+                               cfg->vret_addr->inst_offset = -offset;
                        }
-                       else {
-                               cfg->ret->opcode = OP_REGVAR;
-                               cfg->ret->inst_c0 = cinfo->ret.reg;
+                       if (G_UNLIKELY (cfg->verbose_level > 1)) {
+                               printf ("vret_addr =");
+                               mono_print_ins (cfg->vret_addr);
                        }
                        break;
                case ArgValuetypeInReg:
@@ -1854,7 +1855,7 @@ mono_arch_allocate_vars (MonoCompile *cfg)
                         * are volatile across calls.
                         * FIXME: Optimize this.
                         */
-                       if ((ainfo->storage == ArgInIReg) || (ainfo->storage == ArgInFloatSSEReg) || (ainfo->storage == ArgInDoubleSSEReg) || (ainfo->storage == ArgValuetypeInReg))
+                       if ((ainfo->storage == ArgInIReg) || (ainfo->storage == ArgInFloatSSEReg) || (ainfo->storage == ArgInDoubleSSEReg) || (ainfo->storage == ArgValuetypeInReg) || (ainfo->storage == ArgGSharedVtInReg))
                                inreg = FALSE;
 
                        ins->opcode = OP_REGOFFSET;
@@ -1863,12 +1864,14 @@ mono_arch_allocate_vars (MonoCompile *cfg)
                        case ArgInIReg:
                        case ArgInFloatSSEReg:
                        case ArgInDoubleSSEReg:
+                       case ArgGSharedVtInReg:
                                if (inreg) {
                                        ins->opcode = OP_REGVAR;
                                        ins->dreg = ainfo->reg;
                                }
                                break;
                        case ArgOnStack:
+                       case ArgGSharedVtOnStack:
                                g_assert (!cfg->arch.omit_fp);
                                ins->opcode = OP_REGOFFSET;
                                ins->inst_basereg = cfg->frame_reg;
@@ -1941,7 +1944,7 @@ mono_arch_create_vars (MonoCompile *cfg)
                cfg->ret_var_is_local = TRUE;
 
        sig_ret = mini_get_underlying_type (sig->ret);
-       if ((cinfo->ret.storage != ArgValuetypeInReg) && MONO_TYPE_ISSTRUCT (sig_ret)) {
+       if (cinfo->ret.storage == ArgValuetypeAddrInIReg) {
                cfg->vret_addr = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_ARG);
                if (G_UNLIKELY (cfg->verbose_level > 1)) {
                        printf ("vret_addr = ");
@@ -1956,15 +1959,14 @@ mono_arch_create_vars (MonoCompile *cfg)
                        MonoInst *ins = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_LOCAL);
                        ins->flags |= MONO_INST_VOLATILE;
                        cfg->arch.seq_point_info_var = ins;
-
-                       ins = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_LOCAL);
-                       ins->flags |= MONO_INST_VOLATILE;
-                       cfg->arch.ss_tramp_var = ins;
                }
+               ins = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_LOCAL);
+               ins->flags |= MONO_INST_VOLATILE;
+               cfg->arch.ss_tramp_var = ins;
 
-           ins = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_LOCAL);
+               ins = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_LOCAL);
                ins->flags |= MONO_INST_VOLATILE;
-               cfg->arch.ss_trigger_page_var = ins;
+               cfg->arch.bp_tramp_var = ins;
        }
 
        if (cfg->method->save_lmf)
@@ -2072,6 +2074,9 @@ arg_storage_to_llvm_arg_storage (MonoCompile *cfg, ArgStorage storage)
                return LLVMArgInIReg;
        case ArgNone:
                return LLVMArgNone;
+       case ArgGSharedVtInReg:
+       case ArgGSharedVtOnStack:
+               return LLVMArgGSharedVt;
        default:
                g_assert_not_reached ();
                return LLVMArgNone;
@@ -2113,7 +2118,7 @@ mono_arch_get_llvm_call_info (MonoCompile *cfg, MonoMethodSignature *sig)
                        linfo->ret.pair_storage [j] = arg_storage_to_llvm_arg_storage (cfg, cinfo->ret.pair_storage [j]);
        }
 
-       if (MONO_TYPE_ISSTRUCT (sig_ret) && cinfo->ret.storage == ArgInIReg) {
+       if (cinfo->ret.storage == ArgValuetypeAddrInIReg) {
                /* Vtype returned using a hidden argument */
                linfo->ret.storage = LLVMArgVtypeRetAddr;
                linfo->vret_arg_index = cinfo->vret_arg_index;
@@ -2161,6 +2166,10 @@ mono_arch_get_llvm_call_info (MonoCompile *cfg, MonoMethodSignature *sig)
                        for (j = 0; j < 2; ++j)
                                linfo->args [i].pair_storage [j] = arg_storage_to_llvm_arg_storage (cfg, ainfo->pair_storage [j]);
                        break;
+               case ArgGSharedVtInReg:
+               case ArgGSharedVtOnStack:
+                       linfo->args [i].storage = LLVMArgGSharedVt;
+                       break;
                default:
                        cfg->exception_message = g_strdup ("ainfo->storage");
                        cfg->disable_llvm = TRUE;
@@ -2267,53 +2276,59 @@ mono_arch_emit_call (MonoCompile *cfg, MonoCallInst *call)
                case ArgOnStack:
                case ArgValuetypeInReg:
                case ArgValuetypeAddrInIReg:
+               case ArgGSharedVtInReg:
+               case ArgGSharedVtOnStack: {
+                       if (ainfo->storage == ArgOnStack && !MONO_TYPE_ISSTRUCT (t) && !call->tail_call)
+                               /* Already emitted above */
+                               break;
                        if (ainfo->storage == ArgOnStack && call->tail_call) {
                                MonoInst *call_inst = (MonoInst*)call;
                                cfg->args [i]->flags |= MONO_INST_VOLATILE;
                                EMIT_NEW_ARGSTORE (cfg, call_inst, i, in);
-                       } else if ((i >= sig->hasthis) && (MONO_TYPE_ISSTRUCT(t))) {
-                               guint32 align;
-                               guint32 size;
+                               break;
+                       }
 
-                               if (t->type == MONO_TYPE_TYPEDBYREF) {
-                                       size = sizeof (MonoTypedRef);
-                                       align = sizeof (gpointer);
-                               }
+                       guint32 align;
+                       guint32 size;
+
+                       if (t->type == MONO_TYPE_TYPEDBYREF) {
+                               size = sizeof (MonoTypedRef);
+                               align = sizeof (gpointer);
+                       }
+                       else {
+                               if (sig->pinvoke)
+                                       size = mono_type_native_stack_size (t, &align);
                                else {
-                                       if (sig->pinvoke)
-                                               size = mono_type_native_stack_size (t, &align);
-                                       else {
-                                               /* 
-                                                * Other backends use mono_type_stack_size (), but that
-                                                * aligns the size to 8, which is larger than the size of
-                                                * the source, leading to reads of invalid memory if the
-                                                * source is at the end of address space.
-                                                */
-                                               size = mono_class_value_size (mono_class_from_mono_type (t), &align);
-                                       }
+                                       /*
+                                        * Other backends use mono_type_stack_size (), but that
+                                        * aligns the size to 8, which is larger than the size of
+                                        * the source, leading to reads of invalid memory if the
+                                        * source is at the end of address space.
+                                        */
+                                       size = mono_class_value_size (mono_class_from_mono_type (t), &align);
                                }
-                               g_assert (in->klass);
+                       }
 
-                               if (ainfo->storage == ArgOnStack && size >= 10000) {
-                                       /* Avoid asserts in emit_memcpy () */
-                                       cfg->exception_type = MONO_EXCEPTION_INVALID_PROGRAM;
-                                       cfg->exception_message = g_strdup_printf ("Passing an argument of size '%d'.", size);
-                                       /* Continue normally */
-                               }
+                       if (size >= 10000) {
+                               /* Avoid asserts in emit_memcpy () */
+                               cfg->exception_type = MONO_EXCEPTION_INVALID_PROGRAM;
+                               cfg->exception_message = g_strdup_printf ("Passing an argument of size '%d'.", size);
+                               /* Continue normally */
+                       }
 
-                               if (size > 0) {
-                                       MONO_INST_NEW (cfg, arg, OP_OUTARG_VT);
-                                       arg->sreg1 = in->dreg;
-                                       arg->klass = mono_class_from_mono_type (t);
-                                       arg->backend.size = size;
-                                       arg->inst_p0 = call;
-                                       arg->inst_p1 = mono_mempool_alloc (cfg->mempool, sizeof (ArgInfo));
-                                       memcpy (arg->inst_p1, ainfo, sizeof (ArgInfo));
+                       if (size > 0) {
+                               MONO_INST_NEW (cfg, arg, OP_OUTARG_VT);
+                               arg->sreg1 = in->dreg;
+                               arg->klass = mono_class_from_mono_type (t);
+                               arg->backend.size = size;
+                               arg->inst_p0 = call;
+                               arg->inst_p1 = mono_mempool_alloc (cfg->mempool, sizeof (ArgInfo));
+                               memcpy (arg->inst_p1, ainfo, sizeof (ArgInfo));
 
-                                       MONO_ADD_INS (cfg->cbb, arg);
-                               }
+                               MONO_ADD_INS (cfg->cbb, arg);
                        }
                        break;
+               }
                default:
                        g_assert_not_reached ();
                }
@@ -2327,49 +2342,50 @@ mono_arch_emit_call (MonoCompile *cfg, MonoCallInst *call)
        if (!sig->pinvoke && (sig->call_convention == MONO_CALL_VARARG) && (n == sig->sentinelpos))
                emit_sig_cookie (cfg, call, cinfo);
 
-       sig_ret = mini_get_underlying_type (sig->ret);
-       if (sig_ret && MONO_TYPE_ISSTRUCT (sig_ret)) {
-               MonoInst *vtarg;
-
-               if (cinfo->ret.storage == ArgValuetypeInReg) {
-                       if (cinfo->ret.pair_storage [0] == ArgInIReg && cinfo->ret.pair_storage [1] == ArgNone) {
-                               /*
-                                * Tell the JIT to use a more efficient calling convention: call using
-                                * OP_CALL, compute the result location after the call, and save the 
-                                * result there.
-                                */
-                               call->vret_in_reg = TRUE;
-                               /* 
-                                * Nullify the instruction computing the vret addr to enable 
-                                * future optimizations.
-                                */
-                               if (call->vret_var)
-                                       NULLIFY_INS (call->vret_var);
-                       } else {
-                               if (call->tail_call)
-                                       NOT_IMPLEMENTED;
-                               /*
-                                * The valuetype is in RAX:RDX after the call, need to be copied to
-                                * the stack. Push the address here, so the call instruction can
-                                * access it.
-                                */
-                               if (!cfg->arch.vret_addr_loc) {
-                                       cfg->arch.vret_addr_loc = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_LOCAL);
-                                       /* Prevent it from being register allocated or optimized away */
-                                       ((MonoInst*)cfg->arch.vret_addr_loc)->flags |= MONO_INST_VOLATILE;
-                               }
-
-                               MONO_EMIT_NEW_UNALU (cfg, OP_MOVE, ((MonoInst*)cfg->arch.vret_addr_loc)->dreg, call->vret_var->dreg);
+       switch (cinfo->ret.storage) {
+       case ArgValuetypeInReg:
+               if (cinfo->ret.pair_storage [0] == ArgInIReg && cinfo->ret.pair_storage [1] == ArgNone) {
+                       /*
+                        * Tell the JIT to use a more efficient calling convention: call using
+                        * OP_CALL, compute the result location after the call, and save the
+                        * result there.
+                        */
+                       call->vret_in_reg = TRUE;
+                       /*
+                        * Nullify the instruction computing the vret addr to enable
+                        * future optimizations.
+                        */
+                       if (call->vret_var)
+                               NULLIFY_INS (call->vret_var);
+               } else {
+                       if (call->tail_call)
+                               NOT_IMPLEMENTED;
+                       /*
+                        * The valuetype is in RAX:RDX after the call, need to be copied to
+                        * the stack. Push the address here, so the call instruction can
+                        * access it.
+                        */
+                       if (!cfg->arch.vret_addr_loc) {
+                               cfg->arch.vret_addr_loc = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_LOCAL);
+                               /* Prevent it from being register allocated or optimized away */
+                               ((MonoInst*)cfg->arch.vret_addr_loc)->flags |= MONO_INST_VOLATILE;
                        }
-               }
-               else {
-                       MONO_INST_NEW (cfg, vtarg, OP_MOVE);
-                       vtarg->sreg1 = call->vret_var->dreg;
-                       vtarg->dreg = mono_alloc_preg (cfg);
-                       MONO_ADD_INS (cfg->cbb, vtarg);
 
-                       mono_call_inst_add_outarg_reg (cfg, call, vtarg->dreg, cinfo->ret.reg, FALSE);
+                       MONO_EMIT_NEW_UNALU (cfg, OP_MOVE, ((MonoInst*)cfg->arch.vret_addr_loc)->dreg, call->vret_var->dreg);
                }
+               break;
+       case ArgValuetypeAddrInIReg: {
+               MonoInst *vtarg;
+               MONO_INST_NEW (cfg, vtarg, OP_MOVE);
+               vtarg->sreg1 = call->vret_var->dreg;
+               vtarg->dreg = mono_alloc_preg (cfg);
+               MONO_ADD_INS (cfg->cbb, vtarg);
+
+               mono_call_inst_add_outarg_reg (cfg, call, vtarg->dreg, cinfo->ret.reg, FALSE);
+               break;
+       }
+       default:
+               break;
        }
 
        if (cfg->method->save_lmf) {
@@ -2388,7 +2404,8 @@ mono_arch_emit_outarg_vt (MonoCompile *cfg, MonoInst *ins, MonoInst *src)
        ArgInfo *ainfo = (ArgInfo*)ins->inst_p1;
        int size = ins->backend.size;
 
-       if (ainfo->storage == ArgValuetypeInReg) {
+       switch (ainfo->storage) {
+       case ArgValuetypeInReg: {
                MonoInst *load;
                int part;
 
@@ -2415,7 +2432,9 @@ mono_arch_emit_outarg_vt (MonoCompile *cfg, MonoInst *ins, MonoInst *src)
 
                        add_outarg_reg (cfg, call, ainfo->pair_storage [part], ainfo->pair_regs [part], load);
                }
-       } else if (ainfo->storage == ArgValuetypeAddrInIReg) {
+               break;
+       }
+       case ArgValuetypeAddrInIReg: {
                MonoInst *vtaddr, *load;
                vtaddr = mono_compile_create_var (cfg, &ins->klass->byval_arg, OP_LOCAL);
                
@@ -2439,7 +2458,16 @@ mono_arch_emit_outarg_vt (MonoCompile *cfg, MonoInst *ins, MonoInst *src)
                } else {
                        MONO_EMIT_NEW_STORE_MEMBASE (cfg, OP_STORE_MEMBASE_REG, AMD64_RSP, ainfo->offset, load->dreg);
                }
-       } else {
+               break;
+       }
+       case ArgGSharedVtInReg:
+               /* Pass by addr */
+               mono_call_inst_add_outarg_reg (cfg, call, src->dreg, ainfo->reg, FALSE);
+               break;
+       case ArgGSharedVtOnStack:
+               g_assert_not_reached ();
+               break;
+       default:
                if (size == 8) {
                        int dreg = mono_alloc_ireg (cfg);
 
@@ -2631,7 +2659,7 @@ mono_arch_start_dyn_call (MonoDynCallInfo *info, gpointer **args, guint8 *ret, g
                        pindex = 1;
        }
 
-       if (dinfo->cinfo->vtype_retaddr)
+       if (dinfo->cinfo->ret.storage == ArgValuetypeAddrInIReg)
                p->regs [greg ++] = PTR_TO_GREG(ret);
 
        for (i = pindex; i < sig->param_count; i++) {
@@ -2777,7 +2805,7 @@ mono_arch_finish_dyn_call (MonoDynCallInfo *info, guint8 *buf)
                        /* Fall through */
                }
        case MONO_TYPE_VALUETYPE:
-               if (dinfo->cinfo->vtype_retaddr) {
+               if (dinfo->cinfo->ret.storage == ArgValuetypeAddrInIReg) {
                        /* Nothing to do */
                } else {
                        ArgInfo *ainfo = &dinfo->cinfo->ret;
@@ -3185,7 +3213,7 @@ mono_arch_lowering_pass (MonoCompile *cfg, MonoBasicBlock *bb)
                        break;
                case OP_COMPARE_IMM:
                case OP_LCOMPARE_IMM:
-                       if (!amd64_is_imm32 (ins->inst_imm)) {
+                       if (!amd64_use_imm32 (ins->inst_imm)) {
                                NEW_INS (cfg, ins, temp, OP_I8CONST);
                                temp->inst_c0 = ins->inst_imm;
                                temp->dreg = mono_alloc_ireg (cfg);
@@ -3200,7 +3228,7 @@ mono_arch_lowering_pass (MonoCompile *cfg, MonoBasicBlock *bb)
 #ifndef __native_client_codegen__
                /*  Don't generate memindex opcodes (to simplify */
                /*  read sandboxing) */
-                       if (!amd64_is_imm32 (ins->inst_offset)) {
+                       if (!amd64_use_imm32 (ins->inst_offset)) {
                                NEW_INS (cfg, ins, temp, OP_I8CONST);
                                temp->inst_c0 = ins->inst_offset;
                                temp->dreg = mono_alloc_ireg (cfg);
@@ -3213,7 +3241,7 @@ mono_arch_lowering_pass (MonoCompile *cfg, MonoBasicBlock *bb)
                case OP_STORE_MEMBASE_IMM:
 #endif
                case OP_STOREI8_MEMBASE_IMM:
-                       if (!amd64_is_imm32 (ins->inst_imm)) {
+                       if (!amd64_use_imm32 (ins->inst_imm)) {
                                NEW_INS (cfg, ins, temp, OP_I8CONST);
                                temp->inst_c0 = ins->inst_imm;
                                temp->dreg = mono_alloc_ireg (cfg);
@@ -3846,10 +3874,10 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
 #endif
                case OP_LOADI8_MEM:
                        // FIXME: Decompose this earlier
-                       if (amd64_is_imm32 (ins->inst_imm))
+                       if (amd64_use_imm32 (ins->inst_imm))
                                amd64_mov_reg_mem (code, ins->dreg, ins->inst_imm, 8);
                        else {
-                               amd64_mov_reg_imm (code, ins->dreg, ins->inst_imm);
+                               amd64_mov_reg_imm_size (code, ins->dreg, ins->inst_imm, sizeof(gpointer));
                                amd64_mov_reg_membase (code, ins->dreg, ins->dreg, 0, 8);
                        }
                        break;
@@ -3859,10 +3887,10 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        break;
                case OP_LOADU4_MEM:
                        // FIXME: Decompose this earlier
-                       if (amd64_is_imm32 (ins->inst_imm))
+                       if (amd64_use_imm32 (ins->inst_imm))
                                amd64_mov_reg_mem (code, ins->dreg, ins->inst_imm, 4);
                        else {
-                               amd64_mov_reg_imm (code, ins->dreg, ins->inst_imm);
+                               amd64_mov_reg_imm_size (code, ins->dreg, ins->inst_imm, sizeof(gpointer));
                                amd64_mov_reg_membase (code, ins->dreg, ins->dreg, 0, 4);
                        }
                        break;
@@ -4124,35 +4152,21 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        mono_add_seq_point (cfg, bb, ins, code - cfg->native_code);
                        break;
                case OP_SEQ_POINT: {
-                       int i;
-
                        if (ins->flags & MONO_INST_SINGLE_STEP_LOC) {
-                               if (cfg->compile_aot) {
-                                       MonoInst *var = cfg->arch.ss_tramp_var;
-                                       guint8 *label;
-
-                                       /* Load ss_tramp_var */
-                                       amd64_mov_reg_membase (code, AMD64_R11, var->inst_basereg, var->inst_offset, 8);
-                                       /* Load the trampoline address */
-                                       amd64_mov_reg_membase (code, AMD64_R11, AMD64_R11, 0, 8);
-                                       /* Call it if it is non-null */
-                                       amd64_test_reg_reg (code, AMD64_R11, AMD64_R11);
-                                       label = code;
-                                       amd64_branch8 (code, X86_CC_Z, 0, FALSE);
-                                       amd64_call_reg (code, AMD64_R11);
-                                       amd64_patch (label, code);
-                               } else {
-                                       /* 
-                                        * Read from the single stepping trigger page. This will cause a
-                                        * SIGSEGV when single stepping is enabled.
-                                        * We do this _before_ the breakpoint, so single stepping after
-                                        * a breakpoint is hit will step to the next IL offset.
-                                        */
-                                       MonoInst *var = cfg->arch.ss_trigger_page_var;
+                               MonoInst *var = cfg->arch.ss_tramp_var;
+                               guint8 *label;
 
-                                       amd64_mov_reg_membase (code, AMD64_R11, var->inst_basereg, var->inst_offset, 8);
-                                       amd64_alu_membase_imm_size (code, X86_CMP, AMD64_R11, 0, 0, 4);
-                               }
+                               /* Load ss_tramp_var */
+                               /* This is equal to &ss_trampoline */
+                               amd64_mov_reg_membase (code, AMD64_R11, var->inst_basereg, var->inst_offset, 8);
+                               /* Load the trampoline address */
+                               amd64_mov_reg_membase (code, AMD64_R11, AMD64_R11, 0, 8);
+                               /* Call it if it is non-null */
+                               amd64_test_reg_reg (code, AMD64_R11, AMD64_R11);
+                               label = code;
+                               amd64_branch8 (code, X86_CC_Z, 0, FALSE);
+                               amd64_call_reg (code, AMD64_R11);
+                               amd64_patch (label, code);
                        }
 
                        /* 
@@ -4178,12 +4192,26 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                                amd64_call_reg (code, AMD64_R11);
                                amd64_patch (label, code);
                        } else {
-                               /* 
-                                * A placeholder for a possible breakpoint inserted by
-                                * mono_arch_set_breakpoint ().
+                               MonoInst *var = cfg->arch.bp_tramp_var;
+                               guint8 *label;
+
+                               /*
+                                * Emit a test+branch against a constant, the constant will be overwritten
+                                * by mono_arch_set_breakpoint () to cause the test to fail.
                                 */
-                               for (i = 0; i < breakpoint_size; ++i)
-                                       x86_nop (code);
+                               amd64_mov_reg_imm (code, AMD64_R11, 0);
+                               amd64_test_reg_reg (code, AMD64_R11, AMD64_R11);
+                               label = code;
+                               amd64_branch8 (code, X86_CC_Z, 0, FALSE);
+
+                               g_assert (var);
+                               g_assert (var->opcode == OP_REGOFFSET);
+                               /* Load bp_tramp_var */
+                               /* This is equal to &bp_trampoline */
+                               amd64_mov_reg_membase (code, AMD64_R11, var->inst_basereg, var->inst_offset, 8);
+                               /* Call the trampoline */
+                               amd64_call_membase (code, AMD64_R11, 0);
+                               amd64_patch (label, code);
                        }
                        /*
                         * Add an additional nop so skipping the bp doesn't cause the ip to point
@@ -4593,7 +4621,7 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
 
                case OP_ICONST:
                case OP_I8CONST:
-                       if ((((guint64)ins->inst_c0) >> 32) == 0)
+                       if ((((guint64)ins->inst_c0) >> 32) == 0 && !mini_get_debug_options()->single_imm_size)
                                amd64_mov_reg_imm_size (code, ins->dreg, ins->inst_c0, 4);
                        else
                                amd64_mov_reg_imm_size (code, ins->dreg, ins->inst_c0, 8);
@@ -7151,12 +7179,18 @@ mono_arch_emit_prolog (MonoCompile *cfg)
                        amd64_mov_reg_membase (code, AMD64_R11, AMD64_R11, MONO_STRUCT_OFFSET (SeqPointInfo, ss_tramp_addr), 8);
                        amd64_mov_membase_reg (code, ins->inst_basereg, ins->inst_offset, AMD64_R11, 8);
                } else {
-                       /* Initialize ss_trigger_page_var */
-                       ins = cfg->arch.ss_trigger_page_var;
+                       /* Initialize ss_tramp_var */
+                       ins = cfg->arch.ss_tramp_var;
+                       g_assert (ins->opcode == OP_REGOFFSET);
+
+                       amd64_mov_reg_imm (code, AMD64_R11, (guint64)&ss_trampoline);
+                       amd64_mov_membase_reg (code, ins->inst_basereg, ins->inst_offset, AMD64_R11, 8);
 
+                       /* Initialize bp_tramp_var */
+                       ins = cfg->arch.bp_tramp_var;
                        g_assert (ins->opcode == OP_REGOFFSET);
 
-                       amd64_mov_reg_imm (code, AMD64_R11, (guint64)ss_trigger_page);
+                       amd64_mov_reg_imm (code, AMD64_R11, (guint64)&bp_trampoline);
                        amd64_mov_membase_reg (code, ins->inst_basereg, ins->inst_offset, AMD64_R11, 8);
                }
        }
@@ -7679,7 +7713,7 @@ mono_arch_flush_register_windows (void)
 gboolean 
 mono_arch_is_inst_imm (gint64 imm)
 {
-       return amd64_is_imm32 (imm);
+       return amd64_use_imm32 (imm);
 }
 
 /*
@@ -7806,11 +7840,14 @@ mono_arch_get_this_arg_from_call (mgreg_t *regs, guint8 *code)
 #define MAX_ARCH_DELEGATE_PARAMS 10
 
 static gpointer
-get_delegate_invoke_impl (gboolean has_target, guint32 param_count, guint32 *code_len)
+get_delegate_invoke_impl (MonoTrampInfo **info, gboolean has_target, guint32 param_count)
 {
        guint8 *code, *start;
+       GSList *unwind_ops = NULL;
        int i;
 
+       unwind_ops = mono_arch_get_cie_program ();
+
        if (has_target) {
                start = code = mono_global_codeman_reserve (64);
 
@@ -7847,8 +7884,13 @@ get_delegate_invoke_impl (gboolean has_target, guint32 param_count, guint32 *cod
        nacl_global_codeman_validate (&start, 64, &code);
        mono_arch_flush_icache (start, code - start);
 
-       if (code_len)
-               *code_len = code - start;
+       if (has_target) {
+               *info = mono_tramp_info_create ("delegate_invoke_impl_has_target", start, code - start, NULL, unwind_ops);
+       } else {
+               char *name = g_strdup_printf ("delegate_invoke_impl_target_%d", param_count);
+               *info = mono_tramp_info_create (name, start, code - start, NULL, unwind_ops);
+               g_free (name);
+       }
 
        if (mono_jit_map_is_enabled ()) {
                char *buff;
@@ -7868,16 +7910,20 @@ get_delegate_invoke_impl (gboolean has_target, guint32 param_count, guint32 *cod
 #define MAX_VIRTUAL_DELEGATE_OFFSET 32
 
 static gpointer
-get_delegate_virtual_invoke_impl (gboolean load_imt_reg, int offset, guint32 *code_len)
+get_delegate_virtual_invoke_impl (MonoTrampInfo **info, gboolean load_imt_reg, int offset)
 {
        guint8 *code, *start;
        int size = 20;
+       char *tramp_name;
+       GSList *unwind_ops;
 
-       if (offset / sizeof (gpointer) > MAX_VIRTUAL_DELEGATE_OFFSET)
+       if (offset / (int)sizeof (gpointer) > MAX_VIRTUAL_DELEGATE_OFFSET)
                return NULL;
 
        start = code = mono_global_codeman_reserve (size);
 
+       unwind_ops = mono_arch_get_cie_program ();
+
        /* Replace the this argument with the target */
        amd64_mov_reg_reg (code, AMD64_RAX, AMD64_ARG_REG1, 8);
        amd64_mov_reg_membase (code, AMD64_ARG_REG1, AMD64_RAX, MONO_STRUCT_OFFSET (MonoDelegate, target), 8);
@@ -7892,8 +7938,12 @@ get_delegate_virtual_invoke_impl (gboolean load_imt_reg, int offset, guint32 *co
        amd64_jump_membase (code, AMD64_RAX, offset);
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_DELEGATE_INVOKE, NULL);
 
-       if (code_len)
-               *code_len = code - start;
+       if (load_imt_reg)
+               tramp_name = g_strdup_printf ("delegate_virtual_invoke_imt_%d", - offset / sizeof (gpointer));
+       else
+               tramp_name = g_strdup_printf ("delegate_virtual_invoke_%d", offset / sizeof (gpointer));
+       *info = mono_tramp_info_create (tramp_name, start, code - start, NULL, unwind_ops);
+       g_free (tramp_name);
 
        return start;
 }
@@ -7908,31 +7958,23 @@ GSList*
 mono_arch_get_delegate_invoke_impls (void)
 {
        GSList *res = NULL;
-       guint8 *code;
-       guint32 code_len;
+       MonoTrampInfo *info;
        int i;
-       char *tramp_name;
 
-       code = get_delegate_invoke_impl (TRUE, 0, &code_len);
-       res = g_slist_prepend (res, mono_tramp_info_create ("delegate_invoke_impl_has_target", code, code_len, NULL, NULL));
+       get_delegate_invoke_impl (&info, TRUE, 0);
+       res = g_slist_prepend (res, info);
 
-       for (i = 0; i < MAX_ARCH_DELEGATE_PARAMS; ++i) {
-               code = get_delegate_invoke_impl (FALSE, i, &code_len);
-               tramp_name = g_strdup_printf ("delegate_invoke_impl_target_%d", i);
-               res = g_slist_prepend (res, mono_tramp_info_create (tramp_name, code, code_len, NULL, NULL));
-               g_free (tramp_name);
+       for (i = 0; i <= MAX_ARCH_DELEGATE_PARAMS; ++i) {
+               get_delegate_invoke_impl (&info, FALSE, i);
+               res = g_slist_prepend (res, info);
        }
 
-       for (i = 0; i < MAX_VIRTUAL_DELEGATE_OFFSET; ++i) {
-               code = get_delegate_virtual_invoke_impl (TRUE, i * SIZEOF_VOID_P, &code_len);
-               tramp_name = g_strdup_printf ("delegate_virtual_invoke_imt_%d", i);
-               res = g_slist_prepend (res, mono_tramp_info_create (tramp_name, code, code_len, NULL, NULL));
-               g_free (tramp_name);
+       for (i = 0; i <= MAX_VIRTUAL_DELEGATE_OFFSET; ++i) {
+               get_delegate_virtual_invoke_impl (&info, TRUE, - i * SIZEOF_VOID_P);
+               res = g_slist_prepend (res, info);
 
-               code = get_delegate_virtual_invoke_impl (FALSE, i * SIZEOF_VOID_P, &code_len);
-               tramp_name = g_strdup_printf ("delegate_virtual_invoke_%d", i);
-               res = g_slist_prepend (res, mono_tramp_info_create (tramp_name, code, code_len, NULL, NULL));
-               g_free (tramp_name);
+               get_delegate_virtual_invoke_impl (&info, FALSE, i * SIZEOF_VOID_P);
+               res = g_slist_prepend (res, info);
        }
 
        return res;
@@ -7957,10 +7999,13 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe
                if (cached)
                        return cached;
 
-               if (mono_aot_only)
+               if (mono_aot_only) {
                        start = mono_aot_get_trampoline ("delegate_invoke_impl_has_target");
-               else
-                       start = get_delegate_invoke_impl (TRUE, 0, NULL);
+               } else {
+                       MonoTrampInfo *info;
+                       start = get_delegate_invoke_impl (&info, TRUE, 0);
+                       mono_tramp_info_register (info, NULL);
+               }
 
                mono_memory_barrier ();
 
@@ -7982,7 +8027,9 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe
                        start = mono_aot_get_trampoline (name);
                        g_free (name);
                } else {
-                       start = get_delegate_invoke_impl (FALSE, sig->param_count, NULL);
+                       MonoTrampInfo *info;
+                       start = get_delegate_invoke_impl (&info, FALSE, sig->param_count);
+                       mono_tramp_info_register (info, NULL);
                }
 
                mono_memory_barrier ();
@@ -7996,7 +8043,13 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe
 gpointer
 mono_arch_get_delegate_virtual_invoke_impl (MonoMethodSignature *sig, MonoMethod *method, int offset, gboolean load_imt_reg)
 {
-       return get_delegate_virtual_invoke_impl (load_imt_reg, offset, NULL);
+       MonoTrampInfo *info;
+       gpointer code;
+
+       code = get_delegate_virtual_invoke_impl (&info, load_imt_reg, offset);
+       if (code)
+               mono_tramp_info_register (info, NULL);
+       return code;
 }
 
 void
@@ -8055,13 +8108,14 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
        int size = 0;
        guint8 *code, *start;
        gboolean vtable_is_32bit = ((gsize)(vtable) == (gsize)(int)(gsize)(vtable));
+       GSList *unwind_ops;
 
        for (i = 0; i < count; ++i) {
                MonoIMTCheckItem *item = imt_entries [i];
                if (item->is_equals) {
                        if (item->check_target_idx) {
                                if (!item->compare_done) {
-                                       if (amd64_is_imm32 (item->key))
+                                       if (amd64_use_imm32 ((gint64)item->key))
                                                item->chunk_size += CMP_SIZE;
                                        else
                                                item->chunk_size += MOV_REG_IMM_SIZE + CMP_REG_REG_SIZE;
@@ -8097,7 +8151,7 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
                                }
                        }
                } else {
-                       if (amd64_is_imm32 (item->key))
+                       if (amd64_use_imm32 ((gint64)item->key))
                                item->chunk_size += CMP_SIZE;
                        else
                                item->chunk_size += MOV_REG_IMM_SIZE + CMP_REG_REG_SIZE;
@@ -8117,6 +8171,9 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
                code = mono_domain_code_reserve (domain, size);
 #endif
        start = code;
+
+       unwind_ops = mono_arch_get_cie_program ();
+
        for (i = 0; i < count; ++i) {
                MonoIMTCheckItem *item = imt_entries [i];
                item->code_target = code;
@@ -8125,10 +8182,10 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
 
                        if (item->check_target_idx || fail_case) {
                                if (!item->compare_done || fail_case) {
-                                       if (amd64_is_imm32 (item->key))
+                                       if (amd64_use_imm32 ((gint64)item->key))
                                                amd64_alu_reg_imm_size (code, X86_CMP, MONO_ARCH_IMT_REG, (guint32)(gssize)item->key, sizeof(gpointer));
                                        else {
-                                               amd64_mov_reg_imm (code, MONO_ARCH_IMT_SCRATCH_REG, item->key);
+                                               amd64_mov_reg_imm_size (code, MONO_ARCH_IMT_SCRATCH_REG, item->key, sizeof(gpointer));
                                                amd64_alu_reg_reg (code, X86_CMP, MONO_ARCH_IMT_REG, MONO_ARCH_IMT_SCRATCH_REG);
                                        }
                                }
@@ -8176,10 +8233,10 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
 #endif
                        }
                } else {
-                       if (amd64_is_imm32 (item->key))
+                       if (amd64_use_imm32 ((gint64)item->key))
                                amd64_alu_reg_imm_size (code, X86_CMP, MONO_ARCH_IMT_REG, (guint32)(gssize)item->key, sizeof (gpointer));
                        else {
-                               amd64_mov_reg_imm (code, MONO_ARCH_IMT_SCRATCH_REG, item->key);
+                               amd64_mov_reg_imm_size (code, MONO_ARCH_IMT_SCRATCH_REG, item->key, sizeof (gpointer));
                                amd64_alu_reg_reg (code, X86_CMP, MONO_ARCH_IMT_REG, MONO_ARCH_IMT_SCRATCH_REG);
                        }
                        item->jmp_code = code;
@@ -8207,6 +8264,8 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
        nacl_domain_code_validate(domain, &start, size, &code);
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_IMT_TRAMPOLINE, NULL);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, unwind_ops), domain);
+
        return start;
 }
 
@@ -8384,7 +8443,6 @@ void
 mono_arch_set_breakpoint (MonoJitInfo *ji, guint8 *ip)
 {
        guint8 *code = ip;
-       guint8 *orig_code = code;
 
        if (ji->from_aot) {
                guint32 native_offset = ip - (guint8*)ji->code_start;
@@ -8393,20 +8451,10 @@ mono_arch_set_breakpoint (MonoJitInfo *ji, guint8 *ip)
                g_assert (info->bp_addrs [native_offset] == 0);
                info->bp_addrs [native_offset] = mini_get_breakpoint_trampoline ();
        } else {
-               /* 
-                * In production, we will use int3 (has to fix the size in the md 
-                * file). But that could confuse gdb, so during development, we emit a SIGSEGV
-                * instead.
-                */
-               g_assert (code [0] == 0x90);
-               if (breakpoint_size == 8) {
-                       amd64_mov_reg_mem (code, AMD64_R11, (guint64)bp_trigger_page, 4);
-               } else {
-                       amd64_mov_reg_imm_size (code, AMD64_R11, (guint64)bp_trigger_page, 8);
-                       amd64_mov_reg_membase (code, AMD64_R11, AMD64_R11, 0, 4);
-               }
-
-               g_assert (code - orig_code == breakpoint_size);
+               /* ip points to a mov r11, 0 */
+               g_assert (code [0] == 0x41);
+               g_assert (code [1] == 0xbb);
+               amd64_mov_reg_imm (code, AMD64_R11, 1);
        }
 }
 
@@ -8419,7 +8467,6 @@ void
 mono_arch_clear_breakpoint (MonoJitInfo *ji, guint8 *ip)
 {
        guint8 *code = ip;
-       int i;
 
        if (ji->from_aot) {
                guint32 native_offset = ip - (guint8*)ji->code_start;
@@ -8427,28 +8474,15 @@ mono_arch_clear_breakpoint (MonoJitInfo *ji, guint8 *ip)
 
                info->bp_addrs [native_offset] = NULL;
        } else {
-               for (i = 0; i < breakpoint_size; ++i)
-                       x86_nop (code);
+               amd64_mov_reg_imm (code, AMD64_R11, 0);
        }
 }
 
 gboolean
 mono_arch_is_breakpoint_event (void *info, void *sigctx)
 {
-#ifdef HOST_WIN32
-       EXCEPTION_RECORD* einfo = ((EXCEPTION_POINTERS*)info)->ExceptionRecord;
-       if (einfo->ExceptionCode == EXCEPTION_ACCESS_VIOLATION && (gpointer)einfo->ExceptionInformation [1] == bp_trigger_page)
-               return TRUE;
-       else
-               return FALSE;
-#else
-       siginfo_t* sinfo = (siginfo_t*) info;
-       /* Sometimes the address is off by 4 */
-       if (sinfo->si_addr >= bp_trigger_page && (guint8*)sinfo->si_addr <= (guint8*)bp_trigger_page + 128)
-               return TRUE;
-       else
-               return FALSE;
-#endif
+       /* We use soft breakpoints on amd64 */
+       return FALSE;
 }
 
 /*
@@ -8460,11 +8494,7 @@ mono_arch_is_breakpoint_event (void *info, void *sigctx)
 void
 mono_arch_skip_breakpoint (MonoContext *ctx, MonoJitInfo *ji)
 {
-       if (ji->from_aot) {
-               /* The breakpoint instruction is a call */
-       } else {
-               MONO_CONTEXT_SET_IP (ctx, (guint8*)MONO_CONTEXT_GET_IP (ctx) + breakpoint_fault_size);
-       }
+       g_assert_not_reached ();
 }
        
 /*
@@ -8475,7 +8505,6 @@ mono_arch_skip_breakpoint (MonoContext *ctx, MonoJitInfo *ji)
 void
 mono_arch_start_single_stepping (void)
 {
-       mono_mprotect (ss_trigger_page, mono_pagesize (), 0);
        ss_trampoline = mini_get_single_step_trampoline ();
 }
        
@@ -8487,7 +8516,6 @@ mono_arch_start_single_stepping (void)
 void
 mono_arch_stop_single_stepping (void)
 {
-       mono_mprotect (ss_trigger_page, mono_pagesize (), MONO_MMAP_READ);
        ss_trampoline = NULL;
 }
 
@@ -8500,20 +8528,8 @@ mono_arch_stop_single_stepping (void)
 gboolean
 mono_arch_is_single_step_event (void *info, void *sigctx)
 {
-#ifdef HOST_WIN32
-       EXCEPTION_RECORD* einfo = ((EXCEPTION_POINTERS*)info)->ExceptionRecord;
-       if (einfo->ExceptionCode == EXCEPTION_ACCESS_VIOLATION && (gpointer)einfo->ExceptionInformation [1] == ss_trigger_page)
-               return TRUE;
-       else
-               return FALSE;
-#else
-       siginfo_t* sinfo = (siginfo_t*) info;
-       /* Sometimes the address is off by 4 */
-       if (sinfo->si_addr >= ss_trigger_page && (guint8*)sinfo->si_addr <= (guint8*)ss_trigger_page + 128)
-               return TRUE;
-       else
-               return FALSE;
-#endif
+       /* We use soft breakpoints on amd64 */
+       return FALSE;
 }
 
 /*
@@ -8525,7 +8541,7 @@ mono_arch_is_single_step_event (void *info, void *sigctx)
 void
 mono_arch_skip_single_step (MonoContext *ctx)
 {
-       MONO_CONTEXT_SET_IP (ctx, (guint8*)MONO_CONTEXT_GET_IP (ctx) + single_step_fault_size);
+       g_assert_not_reached ();
 }
 
 /*
@@ -8611,3 +8627,9 @@ mono_arch_opcode_supported (int opcode)
                return FALSE;
        }
 }
+
+#if defined(ENABLE_GSHAREDVT)
+
+#include "../../../mono-extensions/mono/mini/mini-amd64-gsharedvt.c"
+
+#endif /* !MONOTOUCH */
index 6f70402b8c8decddcebe0217b765ccfccd6d4683..2b1f88dcb348d296c2309ab6095a83447e39d5f3 100644 (file)
@@ -209,17 +209,20 @@ typedef struct MonoCompileArch {
        gpointer seq_point_info_var;
        gpointer ss_trigger_page_var;
        gpointer ss_tramp_var;
+       gpointer bp_tramp_var;
        gpointer lmf_var;
 } MonoCompileArch;
 
-
-
 #ifdef TARGET_WIN32
 #define PARAM_REGS 4
 #else
 #define PARAM_REGS 6
 #endif
 
+typedef struct {
+       int dummy;
+} GSharedVtCallInfo;
+
 /* Structure used by the sequence points in AOTed code */
 typedef struct {
        gpointer ss_tramp_addr;
@@ -325,8 +328,6 @@ typedef struct {
 #define MONO_ARCH_HAVE_GENERALIZED_IMT_THUNK 1
 #define MONO_ARCH_HAVE_LIVERANGE_OPS 1
 #define MONO_ARCH_HAVE_SIGCTX_TO_MONOCTX 1
-#define MONO_ARCH_MONITOR_OBJECT_REG MONO_AMD64_ARG_REG1
-#define MONO_ARCH_MONITOR_LOCK_TAKEN_REG MONO_AMD64_ARG_REG2
 #define MONO_ARCH_HAVE_GET_TRAMPOLINES 1
 
 #define MONO_ARCH_AOT_SUPPORTED 1
@@ -406,13 +407,6 @@ mono_amd64_get_exception_trampolines (gboolean aot);
 int
 mono_amd64_get_tls_gs_offset (void) MONO_LLVM_INTERNAL;
 
-typedef struct {
-       guint8 *address;
-       guint8 saved_byte;
-} MonoBreakpointInfo;
-
-extern MonoBreakpointInfo mono_breakpoint_info [MONO_BREAKPOINT_ARRAY_SIZE];
-
 #ifdef TARGET_WIN32
 
 void mono_arch_unwindinfo_add_push_nonvol (gpointer* monoui, gpointer codebegin, gpointer nextip, guchar reg );
index f4e8db7feec28a3e4fe0cb2f4286f6651082d5fe..1f7204a884b0d09aae0f4319b5fc8721ab2d1b98 100644 (file)
         * within can be tracked. The tls value is returned in R0.
         */
 
+.macro DECLARE_GLOBAL_SYMBOL name
+#ifdef TARGET_MACH
+       .global _\name
+_\name:
+#else
+       .global \name
+\name:
+#endif
+.endm
+
        .text
 /* no .arch on clang. it only supports armv6+ anyway */
 #ifndef TARGET_MACH
 #endif
        .arm
        .align 4
-#ifdef TARGET_MACH
-       .global _mono_fast_get_tls_key
-_mono_fast_get_tls_key :
-#else
-       .global mono_fast_get_tls_key
-mono_fast_get_tls_key :
-#endif
+
+DECLARE_GLOBAL_SYMBOL mono_fast_get_tls_key
 #if defined(__linux__)
        mrc     p15, 0, r1, c13, c0, 3
 #if defined(HAVE_KW_THREAD)
@@ -42,6 +47,7 @@ mono_fast_get_tls_key :
        ldr     r0, [r1, r0, lsl #2]
        bx      lr
 #endif
+DECLARE_GLOBAL_SYMBOL mono_fast_get_tls_key_end
 
        /*
         * The following thunks fetch the value corresponding to the key/offset
@@ -50,13 +56,7 @@ mono_fast_get_tls_key :
         */
 
        .align 4
-#ifdef TARGET_MACH
-       .global _mono_fallback_get_tls_key
-_mono_fallback_get_tls_key :
-#else
-       .global mono_fallback_get_tls_key
-mono_fallback_get_tls_key :
-#endif
+DECLARE_GLOBAL_SYMBOL mono_fallback_get_tls_key
 #if defined(__linux__)
        mov     r1, r0
        mvn     r0, #0xf000
@@ -82,13 +82,7 @@ mono_fallback_get_tls_key :
         */
 
        .align 4
-#ifdef TARGET_MACH
-       .global _mono_fast_set_tls_key
-_mono_fast_set_tls_key :
-#else
-       .global mono_fast_set_tls_key
-mono_fast_set_tls_key :
-#endif
+DECLARE_GLOBAL_SYMBOL mono_fast_set_tls_key
 #if defined(__linux__)
        mrc     p15, 0, r2, c13, c0, 3
 #if defined(HAVE_KW_THREAD)
@@ -103,6 +97,7 @@ mono_fast_set_tls_key :
        str     r1, [r2, r0, lsl #2]
        bx      lr
 #endif
+DECLARE_GLOBAL_SYMBOL mono_fast_set_tls_key_end
 
        /*
         * The following thunks set the value corresponding to the key/offset
@@ -111,13 +106,7 @@ mono_fast_set_tls_key :
         */
 
        .align 4
-#ifdef TARGET_MACH
-       .global _mono_fallback_set_tls_key
-_mono_fallback_set_tls_key :
-#else
-       .global mono_fallback_set_tls_key
-mono_fallback_set_tls_key :
-#endif
+DECLARE_GLOBAL_SYMBOL mono_fallback_set_tls_key
 #if defined(__linux__)
        mov     r2, r0
        mvn     r0, #0xf000
index e0aa41bc630c56d2bab32d388804f309afd60ec7..30b2494dfc70c21ad396339e5e8cec5f8c86af6f 100644 (file)
@@ -11,4 +11,9 @@ void mono_fast_set_tls_key (int, int);
 int mono_fallback_get_tls_key (int);
 void mono_fallback_set_tls_key (int, int);
 
+/* End of thunks */
+
+void mono_fast_get_tls_key_end (void);
+void mono_fast_set_tls_key_end (void);
+
 #endif
index bf0ecc6eebcf42e6eb85e3eacccb9940eef0b54d..bb146818986e679aea290a4ed3019b395778cf84 100644 (file)
@@ -31,7 +31,7 @@
 
 #if defined(HAVE_KW_THREAD) && defined(__linux__) \
        || defined(TARGET_ANDROID) \
-       || defined(TARGET_IOS)
+       || (defined(TARGET_IOS) && !defined(TARGET_WATCHOS))
 #define HAVE_FAST_TLS
 #endif
 
@@ -103,6 +103,7 @@ static gboolean v5_supported = FALSE;
 static gboolean v6_supported = FALSE;
 static gboolean v7_supported = FALSE;
 static gboolean v7s_supported = FALSE;
+static gboolean v7k_supported = FALSE;
 static gboolean thumb_supported = FALSE;
 static gboolean thumb2_supported = FALSE;
 /*
@@ -746,9 +747,10 @@ mono_arch_get_argument_info (MonoMethodSignature *csig, int param_count, MonoJit
 #define MAX_ARCH_DELEGATE_PARAMS 3
 
 static gpointer
-get_delegate_invoke_impl (gboolean has_target, gboolean param_count, guint32 *code_size)
+get_delegate_invoke_impl (MonoTrampInfo **info, gboolean has_target, gboolean param_count)
 {
        guint8 *code, *start;
+       GSList *unwind_ops = mono_arch_get_cie_program ();
 
        if (has_target) {
                start = code = mono_global_codeman_reserve (12);
@@ -779,9 +781,15 @@ get_delegate_invoke_impl (gboolean has_target, gboolean param_count, guint32 *co
                mono_arch_flush_icache (start, size);
        }
 
+       if (has_target) {
+                *info = mono_tramp_info_create ("delegate_invoke_impl_has_target", start, code - start, NULL, unwind_ops);
+       } else {
+                char *name = g_strdup_printf ("delegate_invoke_impl_target_%d", param_count);
+                *info = mono_tramp_info_create (name, start, code - start, NULL, unwind_ops);
+                g_free (name);
+       }
+
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_DELEGATE_INVOKE, NULL);
-       if (code_size)
-               *code_size = code - start;
 
        return start;
 }
@@ -796,19 +804,15 @@ GSList*
 mono_arch_get_delegate_invoke_impls (void)
 {
        GSList *res = NULL;
-       guint8 *code;
-       guint32 code_len;
+       MonoTrampInfo *info;
        int i;
-       char *tramp_name;
 
-       code = get_delegate_invoke_impl (TRUE, 0, &code_len);
-       res = g_slist_prepend (res, mono_tramp_info_create ("delegate_invoke_impl_has_target", code, code_len, NULL, NULL));
+       get_delegate_invoke_impl (&info, TRUE, 0);
+       res = g_slist_prepend (res, info);
 
        for (i = 0; i <= MAX_ARCH_DELEGATE_PARAMS; ++i) {
-               code = get_delegate_invoke_impl (FALSE, i, &code_len);
-               tramp_name = g_strdup_printf ("delegate_invoke_impl_target_%d", i);
-               res = g_slist_prepend (res, mono_tramp_info_create (tramp_name, code, code_len, NULL, NULL));
-               g_free (tramp_name);
+               get_delegate_invoke_impl (&info, FALSE, i);
+               res = g_slist_prepend (res, info);
        }
 
        return res;
@@ -833,10 +837,13 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe
                        return cached;
                }
 
-               if (mono_aot_only)
+               if (mono_aot_only) {
                        start = mono_aot_get_trampoline ("delegate_invoke_impl_has_target");
-               else
-                       start = get_delegate_invoke_impl (TRUE, 0, NULL);
+               } else {
+                       MonoTrampInfo *info;
+                       start = get_delegate_invoke_impl (&info, TRUE, 0);
+                       mono_tramp_info_register (info, NULL);
+               }
                cached = start;
                mono_mini_arch_unlock ();
                return cached;
@@ -862,7 +869,9 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe
                        start = mono_aot_get_trampoline (name);
                        g_free (name);
                } else {
-                       start = get_delegate_invoke_impl (FALSE, sig->param_count, NULL);
+                       MonoTrampInfo *info;
+                       start = get_delegate_invoke_impl (&info, FALSE, sig->param_count);
+                       mono_tramp_info_register (info, NULL);
                }
                cache [sig->param_count] = start;
                mono_mini_arch_unlock ();
@@ -924,6 +933,7 @@ mono_arch_init (void)
 #if defined(ENABLE_GSHAREDVT)
        mono_aot_register_jit_icall ("mono_arm_start_gsharedvt_call", mono_arm_start_gsharedvt_call);
 #endif
+       mono_aot_register_jit_icall ("mono_arm_unaligned_stack", mono_arm_unaligned_stack);
 
 #if defined(__ARM_EABI__)
        eabi_supported = TRUE;
@@ -960,7 +970,6 @@ mono_arch_init (void)
        v5_supported = mono_hwcap_arm_is_v5;
        v6_supported = mono_hwcap_arm_is_v6;
        v7_supported = mono_hwcap_arm_is_v7;
-       v7s_supported = mono_hwcap_arm_is_v7s;
 
 #if defined(__APPLE__)
        /* iOS is special-cased here because we don't yet
@@ -982,6 +991,7 @@ mono_arch_init (void)
                        v6_supported = cpu_arch [4] >= '6';
                        v7_supported = cpu_arch [4] >= '7';
                        v7s_supported = strncmp (cpu_arch, "armv7s", 6) == 0;
+                       v7k_supported = strncmp (cpu_arch, "armv7k", 6) == 0;
                }
 
                thumb_supported = strstr (cpu_arch, "thumb") != NULL;
@@ -1027,7 +1037,7 @@ mono_arch_cpu_enumerate_simd_versions (void)
 gboolean
 mono_arch_opcode_needs_emulation (MonoCompile *cfg, int opcode)
 {
-       if (v7s_supported) {
+       if (v7s_supported || v7k_supported) {
                switch (opcode) {
                case OP_IDIV:
                case OP_IREM:
@@ -1508,8 +1518,7 @@ get_call_info (MonoMemPool *mp, MonoMethodSignature *sig)
                        cinfo->ret.reg = ARMREG_R0;
                        break;
                }
-               // FIXME: Only for variable types
-               if (mini_is_gsharedvt_type (t)) {
+               if (mini_is_gsharedvt_variable_type (t)) {
                        cinfo->ret.storage = RegTypeStructByAddr;
                        break;
                }
@@ -1627,7 +1636,7 @@ get_call_info (MonoMemPool *mp, MonoMethodSignature *sig)
                                add_general (&gr, &stack_size, ainfo, TRUE);
                                break;
                        }
-                       if (mini_is_gsharedvt_type (t)) {
+                       if (mini_is_gsharedvt_variable_type (t)) {
                                /* gsharedvt arguments are passed by ref */
                                g_assert (mini_is_gsharedvt_type (t));
                                add_general (&gr, &stack_size, ainfo, TRUE);
@@ -2802,8 +2811,8 @@ dyn_call_supported (CallInfo *cinfo, MonoMethodSignature *sig)
 
                switch (ainfo->storage) {
                case RegTypeGeneral:
-                       break;
                case RegTypeIRegPair:
+               case RegTypeBaseGen:
                        break;
                case RegTypeBase:
                        if (ainfo->offset >= (DYN_CALL_STACK_ARGS * sizeof (gpointer)))
@@ -2918,12 +2927,16 @@ mono_arch_start_dyn_call (MonoDynCallInfo *info, gpointer **args, guint8 *ret, g
                ArgInfo *ainfo = &dinfo->cinfo->args [i + sig->hasthis];
                int slot = -1;
 
-               if (ainfo->storage == RegTypeGeneral || ainfo->storage == RegTypeIRegPair || ainfo->storage == RegTypeStructByVal)
+               if (ainfo->storage == RegTypeGeneral || ainfo->storage == RegTypeIRegPair || ainfo->storage == RegTypeStructByVal) {
                        slot = ainfo->reg;
-               else if (ainfo->storage == RegTypeBase)
+               } else if (ainfo->storage == RegTypeBase) {
                        slot = PARAM_REGS + (ainfo->offset / 4);
-               else
+               } else if (ainfo->storage == RegTypeBaseGen) {
+                       /* slot + 1 is the first stack slot, so the code below will work */
+                       slot = 3;
+               } else {
                        g_assert_not_reached ();
+               }
 
                if (t->byref) {
                        p->regs [slot] = (mgreg_t)*arg;
@@ -3892,6 +3905,10 @@ handle_thunk (MonoCompile *cfg, MonoDomain *domain, guchar *code, const guchar *
                                        /* Free entry */
                                        target_thunk = p;
                                        break;
+                               } else if (((guint32*)p) [2] == (guint32)target) {
+                                       /* Thunk already points to target */
+                                       target_thunk = p;
+                                       break;
                                }
                        }
                }
@@ -4868,20 +4885,20 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        ARM_AND_REG_IMM (code, ins->dreg, ins->sreg1, imm8, rot_amount);
                        break;
                case OP_IDIV:
-                       g_assert (v7s_supported);
+                       g_assert (v7s_supported || v7k_supported);
                        ARM_SDIV (code, ins->dreg, ins->sreg1, ins->sreg2);
                        break;
                case OP_IDIV_UN:
-                       g_assert (v7s_supported);
+                       g_assert (v7s_supported || v7k_supported);
                        ARM_UDIV (code, ins->dreg, ins->sreg1, ins->sreg2);
                        break;
                case OP_IREM:
-                       g_assert (v7s_supported);
+                       g_assert (v7s_supported || v7k_supported);
                        ARM_SDIV (code, ARMREG_LR, ins->sreg1, ins->sreg2);
                        ARM_MLS (code, ins->dreg, ARMREG_LR, ins->sreg2, ins->sreg1);
                        break;
                case OP_IREM_UN:
-                       g_assert (v7s_supported);
+                       g_assert (v7s_supported || v7k_supported);
                        ARM_UDIV (code, ARMREG_LR, ins->sreg1, ins->sreg2);
                        ARM_MLS (code, ins->dreg, ARMREG_LR, ins->sreg2, ins->sreg1);
                        break;
@@ -5198,8 +5215,8 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                }
                case OP_LOCALLOC: {
                        /* round the size to 8 bytes */
-                       ARM_ADD_REG_IMM8 (code, ins->dreg, ins->sreg1, 7);
-                       ARM_BIC_REG_IMM8 (code, ins->dreg, ins->dreg, 7);
+                       ARM_ADD_REG_IMM8 (code, ins->dreg, ins->sreg1, (MONO_ARCH_FRAME_ALIGNMENT - 1));
+                       ARM_BIC_REG_IMM8 (code, ins->dreg, ins->dreg, (MONO_ARCH_FRAME_ALIGNMENT - 1));
                        ARM_SUB_REG_REG (code, ARMREG_SP, ARMREG_SP, ins->dreg);
                        /* memzero the area: dreg holds the size, sp is the pointer */
                        if (ins->flags & MONO_INST_INIT) {
@@ -5274,14 +5291,15 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                }
                case OP_START_HANDLER: {
                        MonoInst *spvar = mono_find_spvar_for_region (cfg, bb->region);
+                       int param_area = ALIGN_TO (cfg->param_area, MONO_ARCH_FRAME_ALIGNMENT);
                        int i, rot_amount;
 
                        /* Reserve a param area, see filter-stack.exe */
-                       if (cfg->param_area) {
-                               if ((i = mono_arm_is_rotated_imm8 (cfg->param_area, &rot_amount)) >= 0) {
+                       if (param_area) {
+                               if ((i = mono_arm_is_rotated_imm8 (param_area, &rot_amount)) >= 0) {
                                        ARM_SUB_REG_IMM (code, ARMREG_SP, ARMREG_SP, i, rot_amount);
                                } else {
-                                       code = mono_arm_emit_load_imm (code, ARMREG_IP, cfg->param_area);
+                                       code = mono_arm_emit_load_imm (code, ARMREG_IP, param_area);
                                        ARM_SUB_REG_REG (code, ARMREG_SP, ARMREG_SP, ARMREG_IP);
                                }
                        }
@@ -5296,14 +5314,15 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                }
                case OP_ENDFILTER: {
                        MonoInst *spvar = mono_find_spvar_for_region (cfg, bb->region);
+                       int param_area = ALIGN_TO (cfg->param_area, MONO_ARCH_FRAME_ALIGNMENT);
                        int i, rot_amount;
 
                        /* Free the param area */
-                       if (cfg->param_area) {
-                               if ((i = mono_arm_is_rotated_imm8 (cfg->param_area, &rot_amount)) >= 0) {
+                       if (param_area) {
+                               if ((i = mono_arm_is_rotated_imm8 (param_area, &rot_amount)) >= 0) {
                                        ARM_ADD_REG_IMM (code, ARMREG_SP, ARMREG_SP, i, rot_amount);
                                } else {
-                                       code = mono_arm_emit_load_imm (code, ARMREG_IP, cfg->param_area);
+                                       code = mono_arm_emit_load_imm (code, ARMREG_IP, param_area);
                                        ARM_ADD_REG_REG (code, ARMREG_SP, ARMREG_SP, ARMREG_IP);
                                }
                        }
@@ -5322,14 +5341,15 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                }
                case OP_ENDFINALLY: {
                        MonoInst *spvar = mono_find_spvar_for_region (cfg, bb->region);
+                       int param_area = ALIGN_TO (cfg->param_area, MONO_ARCH_FRAME_ALIGNMENT);
                        int i, rot_amount;
 
                        /* Free the param area */
-                       if (cfg->param_area) {
-                               if ((i = mono_arm_is_rotated_imm8 (cfg->param_area, &rot_amount)) >= 0) {
+                       if (param_area) {
+                               if ((i = mono_arm_is_rotated_imm8 (param_area, &rot_amount)) >= 0) {
                                        ARM_ADD_REG_IMM (code, ARMREG_SP, ARMREG_SP, i, rot_amount);
                                } else {
-                                       code = mono_arm_emit_load_imm (code, ARMREG_IP, cfg->param_area);
+                                       code = mono_arm_emit_load_imm (code, ARMREG_IP, param_area);
                                        ARM_ADD_REG_REG (code, ARMREG_SP, ARMREG_SP, ARMREG_IP);
                                }
                        }
@@ -5968,6 +5988,22 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        ins->backend.pc_offset = code - cfg->native_code;
                        bb->spill_slot_defs = g_slist_prepend_mempool (cfg->mempool, bb->spill_slot_defs, ins);
                        break;
+               case OP_GC_SAFE_POINT: {
+#if defined (USE_COOP_GC)
+                       const char *polling_func = NULL;
+                       guint8 *buf [1];
+
+                       polling_func = "mono_threads_state_poll";
+                       ARM_LDR_IMM (code, ARMREG_IP, ins->sreg1, 0);
+                       ARM_CMP_REG_IMM (code, ARMREG_IP, 0, 0);
+                       buf [0] = code;
+                       ARM_B_COND (code, ARMCOND_EQ, 0);
+                       mono_add_patch_info (cfg, code - cfg->native_code, MONO_PATCH_INFO_INTERNAL_METHOD, polling_func);
+                       code = emit_call_seq (cfg, code);
+                       arm_patch (buf [0], code);
+#endif
+                       break;
+               }
 
                default:
                        g_warning ("unknown opcode %s in %s()\n", mono_inst_name (ins->opcode), __FUNCTION__);
@@ -5997,12 +6033,34 @@ mono_arch_register_lowlevel_calls (void)
        /* The signature doesn't matter */
        mono_register_jit_icall (mono_arm_throw_exception, "mono_arm_throw_exception", mono_create_icall_signature ("void"), TRUE);
        mono_register_jit_icall (mono_arm_throw_exception_by_token, "mono_arm_throw_exception_by_token", mono_create_icall_signature ("void"), TRUE);
+       mono_register_jit_icall (mono_arm_unaligned_stack, "mono_arm_unaligned_stack", mono_create_icall_signature ("void"), TRUE);
 
 #ifndef MONO_CROSS_COMPILE
        if (mono_arm_have_tls_get ()) {
                if (mono_arm_have_fast_tls ()) {
                        mono_register_jit_icall (mono_fast_get_tls_key, "mono_get_tls_key", mono_create_icall_signature ("ptr ptr"), TRUE);
                        mono_register_jit_icall (mono_fast_set_tls_key, "mono_set_tls_key", mono_create_icall_signature ("void ptr ptr"), TRUE);
+
+                       mono_tramp_info_register (
+                               mono_tramp_info_create (
+                                       "mono_get_tls_key",
+                                       (guint8*)mono_fast_get_tls_key,
+                                       (guint8*)mono_fast_get_tls_key_end - (guint8*)mono_fast_get_tls_key,
+                                       NULL,
+                                       mono_arch_get_cie_program ()
+                                       ),
+                               NULL
+                               );
+                       mono_tramp_info_register (
+                               mono_tramp_info_create (
+                                       "mono_set_tls_key",
+                                       (guint8*)mono_fast_set_tls_key,
+                                       (guint8*)mono_fast_set_tls_key_end - (guint8*)mono_fast_set_tls_key,
+                                       NULL,
+                                       mono_arch_get_cie_program ()
+                                       ),
+                               NULL
+                               );
                } else {
                        g_warning ("No fast tls on device. Using fallbacks.");
                        mono_register_jit_icall (mono_fallback_get_tls_key, "mono_get_tls_key", mono_create_icall_signature ("ptr ptr"), TRUE);
@@ -6084,6 +6142,12 @@ mono_arch_patch_code_new (MonoCompile *cfg, MonoDomain *domain, guint8 *code, Mo
        }
 }
 
+void
+mono_arm_unaligned_stack (MonoMethod *method)
+{
+       g_assert_not_reached ();
+}
+
 #ifndef DISABLE_JIT
 
 /*
@@ -6140,10 +6204,10 @@ mono_arch_emit_prolog (MonoCompile *cfg)
                 * FIXME: Optimize this.
                 */
                ARM_PUSH (code, (1 << ARMREG_R7) | (1 << ARMREG_LR));
-               ARM_MOV_REG_REG (code, ARMREG_R7, ARMREG_SP);
                prev_sp_offset += 8; /* r7 and lr */
                mono_emit_unwind_op_def_cfa_offset (cfg, code, prev_sp_offset);
                mono_emit_unwind_op_offset (cfg, code, ARMREG_R7, (- prev_sp_offset) + 0);
+               ARM_MOV_REG_REG (code, ARMREG_R7, ARMREG_SP);
        }
 
        if (!method->save_lmf) {
@@ -6202,8 +6266,7 @@ mono_arch_emit_prolog (MonoCompile *cfg)
        }
 
        /* the stack used in the pushed regs */
-       if (prev_sp_offset & 4)
-               alloc_size += 4;
+       alloc_size += ALIGN_TO (prev_sp_offset, MONO_ARCH_FRAME_ALIGNMENT) - prev_sp_offset;
        cfg->stack_usage = alloc_size;
        if (alloc_size) {
                if ((i = mono_arm_is_rotated_imm8 (alloc_size, &rot_amount)) >= 0) {
@@ -6240,6 +6303,26 @@ mono_arch_emit_prolog (MonoCompile *cfg)
                        max_offset += ((guint8 *)ins_get_spec (ins->opcode))[MONO_INST_LEN];
        }
 
+       /* stack alignment check */
+       /*
+       {
+               guint8 *buf [16];
+               ARM_MOV_REG_REG (code, ARMREG_LR, ARMREG_SP);
+               code = mono_arm_emit_load_imm (code, ARMREG_IP, MONO_ARCH_FRAME_ALIGNMENT -1);
+               ARM_AND_REG_REG (code, ARMREG_LR, ARMREG_LR, ARMREG_IP);
+               ARM_CMP_REG_IMM (code, ARMREG_LR, 0, 0);
+               buf [0] = code;
+               ARM_B_COND (code, ARMCOND_EQ, 0);
+               if (cfg->compile_aot)
+                       ARM_MOV_REG_IMM8 (code, ARMREG_R0, 0);
+               else
+                       code = mono_arm_emit_load_imm (code, ARMREG_R0, (guint32)cfg->method);
+               mono_add_patch_info (cfg, code - cfg->native_code, MONO_PATCH_INFO_INTERNAL_METHOD, "mono_arm_unaligned_stack");
+               code = emit_call_seq (cfg, code);
+               arm_patch (buf [0], code);
+       }
+       */
+
        /* store runtime generic context */
        if (cfg->rgctx_var) {
                MonoInst *ins = cfg->rgctx_var;
@@ -6607,6 +6690,9 @@ mono_arch_emit_epilog (MonoCompile *cfg)
         */
        code = cfg->native_code + cfg->code_len;
 
+       /* Save the uwind state which is needed by the out-of-line code */
+       mono_emit_unwind_op_remember_state (cfg, code);
+
        if (mono_jit_trace_calls != NULL && mono_trace_eval (method)) {
                code = mono_arch_instrument_epilog (cfg, mono_trace_leave_method, code, TRUE);
        }
@@ -6642,7 +6728,7 @@ mono_arch_emit_epilog (MonoCompile *cfg)
        }
 
        if (method->save_lmf) {
-               int lmf_offset, reg, sp_adj, regmask;
+               int lmf_offset, reg, sp_adj, regmask, nused_int_regs = 0;
                /* all but r0-r3, sp and pc */
                pos += sizeof (MonoLMF) - (MONO_ARM_NUM_SAVED_REGS * sizeof (mgreg_t));
                lmf_offset = pos;
@@ -6664,15 +6750,33 @@ mono_arch_emit_epilog (MonoCompile *cfg)
                        regmask &= ~(1 << ARMREG_PC);
                /* point sp at the registers to restore: 10 is 14 -4, because we skip r0-r3 */
                code = emit_big_add (code, ARMREG_SP, cfg->frame_reg, cfg->stack_usage - lmf_offset + sp_adj);
+               for (i = 0; i < 16; i++) {
+                       if (regmask & (1 << i))
+                               nused_int_regs ++;
+               }
+               mono_emit_unwind_op_def_cfa (cfg, code, ARMREG_SP, ((iphone_abi ? 3 : 0) + nused_int_regs) * 4);
                /* restore iregs */
                ARM_POP (code, regmask); 
                if (iphone_abi) {
+                       for (i = 0; i < 16; i++) {
+                               if (regmask & (1 << i))
+                                       mono_emit_unwind_op_same_value (cfg, code, i);
+                       }
                        /* Restore saved r7, restore LR to PC */
                        /* Skip lr from the lmf */
+                       mono_emit_unwind_op_def_cfa_offset (cfg, code, 3 * 4);
                        ARM_ADD_REG_IMM (code, ARMREG_SP, ARMREG_SP, sizeof (gpointer), 0);
+                       mono_emit_unwind_op_def_cfa_offset (cfg, code, 2 * 4);
                        ARM_POP (code, (1 << ARMREG_R7) | (1 << ARMREG_PC));
                }
        } else {
+               int i, nused_int_regs = 0;
+
+               for (i = 0; i < 16; i++) {
+                       if (cfg->used_int_regs & (1 << i))
+                               nused_int_regs ++;
+               }
+
                if ((i = mono_arm_is_rotated_imm8 (cfg->stack_usage, &rot_amount)) >= 0) {
                        ARM_ADD_REG_IMM (code, ARMREG_SP, cfg->frame_reg, i, rot_amount);
                } else {
@@ -6680,17 +6784,32 @@ mono_arch_emit_epilog (MonoCompile *cfg)
                        ARM_ADD_REG_REG (code, ARMREG_SP, cfg->frame_reg, ARMREG_IP);
                }
 
+               if (cfg->frame_reg != ARMREG_SP) {
+                       mono_emit_unwind_op_def_cfa_reg (cfg, code, ARMREG_SP);
+               }
+
                if (iphone_abi) {
                        /* Restore saved gregs */
-                       if (cfg->used_int_regs)
+                       if (cfg->used_int_regs) {
+                               mono_emit_unwind_op_def_cfa_offset (cfg, code, (2 + nused_int_regs) * 4);
                                ARM_POP (code, cfg->used_int_regs);
+                               for (i = 0; i < 16; i++) {
+                                       if (cfg->used_int_regs & (1 << i))
+                                               mono_emit_unwind_op_same_value (cfg, code, i);
+                               }
+                       }
+                       mono_emit_unwind_op_def_cfa_offset (cfg, code, 2 * 4);
                        /* Restore saved r7, restore LR to PC */
                        ARM_POP (code, (1 << ARMREG_R7) | (1 << ARMREG_PC));
                } else {
+                       mono_emit_unwind_op_def_cfa_offset (cfg, code, (nused_int_regs + 1) * 4);
                        ARM_POP (code, cfg->used_int_regs | (1 << ARMREG_PC));
                }
        }
 
+       /* Restore the unwind state to be the same as before the epilog */
+       mono_emit_unwind_op_restore_state (cfg, code);
+
        cfg->code_len = code - cfg->native_code;
 
        g_assert (cfg->code_len < cfg->code_size);
@@ -6845,6 +6964,16 @@ mono_arch_find_static_call_vtable (mgreg_t *regs, guint8 *code)
        return (MonoVTable*) regs [MONO_ARCH_RGCTX_REG];
 }
 
+GSList*
+mono_arch_get_cie_program (void)
+{
+       GSList *l = NULL;
+
+       mono_add_unwind_op_def_cfa (l, (guint8*)NULL, (guint8*)NULL, ARMREG_SP, 0);
+
+       return l;
+}
+
 /* #define ENABLE_WRONG_METHOD_CHECK 1 */
 #define BASE_SIZE (6 * 4)
 #define BSEARCH_ENTRY_SIZE (4 * 4)
@@ -6913,6 +7042,7 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
 #ifdef ENABLE_WRONG_METHOD_CHECK
        char * cond;
 #endif
+       GSList *unwind_ops;
 
        size = BASE_SIZE;
 #ifdef USE_JUMP_TABLES
@@ -6967,6 +7097,8 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
                code = mono_domain_code_reserve (domain, size);
        start = code;
 
+       unwind_ops = mono_arch_get_cie_program ();
+
 #ifdef DEBUG_IMT
        g_print ("Building IMT thunk for class %s %s entries %d code size %d code at %p end %p vtable %p fail_tramp %p\n", vtable->klass->name_space, vtable->klass->name, count, size, start, ((guint8*)start) + size, vtable, fail_tramp);
        for (i = 0; i < count; ++i) {
@@ -6977,6 +7109,7 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
 
 #ifdef USE_JUMP_TABLES
        ARM_PUSH3 (code, ARMREG_R0, ARMREG_R1, ARMREG_R2);
+       mono_add_unwind_op_def_cfa_offset (unwind_ops, code, start, 3 * sizeof (mgreg_t));
 #define VTABLE_JTI 0
 #define IMT_METHOD_OFFSET 0
 #define TARGET_CODE_OFFSET 1
@@ -6991,10 +7124,13 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
        ARM_LDR_IMM (code, ARMREG_IP, ARMREG_R2, VTABLE_JTI);
        set_jumptable_element (jte, VTABLE_JTI, vtable);
 #else
-       if (large_offsets)
+       if (large_offsets) {
                ARM_PUSH4 (code, ARMREG_R0, ARMREG_R1, ARMREG_IP, ARMREG_PC);
-       else
+               mono_add_unwind_op_def_cfa_offset (unwind_ops, code, start, 4 * sizeof (mgreg_t));
+       } else {
                ARM_PUSH2 (code, ARMREG_R0, ARMREG_R1);
+               mono_add_unwind_op_def_cfa_offset (unwind_ops, code, start, 2 * sizeof (mgreg_t));
+       }
        ARM_LDR_IMM (code, ARMREG_R0, ARMREG_LR, -4);
        vtable_target = code;
        ARM_LDR_IMM (code, ARMREG_IP, ARMREG_PC, 0);
@@ -7067,6 +7203,7 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
                                code = load_element_with_regbase_cond (code, ARMREG_R1, ARMREG_R2, target_code_jti, ARMCOND_AL);
                                /* Restore registers */
                                ARM_POP3 (code, ARMREG_R0, ARMREG_R1, ARMREG_R2);
+                               mono_add_unwind_op_def_cfa_offset (unwind_ops, code, start, 0);
                                /*  And branch */
                                ARM_BX (code, ARMREG_R1);
                                set_jumptable_element (jte, target_code_jti, item->value.target_code);
@@ -7098,6 +7235,7 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
                                        ARM_LDR_REG_REG (code, ARMREG_IP, ARMREG_IP, ARMREG_R1);
                                        /* Restore registers and branch */
                                        ARM_POP3 (code, ARMREG_R0, ARMREG_R1, ARMREG_R2);
+                                       mono_add_unwind_op_def_cfa_offset (unwind_ops, code, start, 0);
                                        ARM_BX (code, ARMREG_IP);
 #else
                                        vtable_offset_ins = code;
@@ -7114,11 +7252,15 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
 #ifdef USE_JUMP_TABLES
                                        ARM_LDR_IMM (code, ARMREG_IP, ARMREG_IP, vtable_offset);
                                        ARM_POP3 (code, ARMREG_R0, ARMREG_R1, ARMREG_R2);
+                                       mono_add_unwind_op_def_cfa_offset (unwind_ops, code, start, 0);
                                        ARM_BX (code, ARMREG_IP);
 #else
                                        ARM_POP2 (code, ARMREG_R0, ARMREG_R1);
-                                       if (large_offsets)
+                                       if (large_offsets) {
+                                               mono_add_unwind_op_def_cfa_offset (unwind_ops, code, start, 2 * sizeof (mgreg_t));
                                                ARM_ADD_REG_IMM8 (code, ARMREG_SP, ARMREG_SP, 2 * sizeof (gpointer));
+                                       }
+                                       mono_add_unwind_op_def_cfa_offset (unwind_ops, code, start, 0);
                                        ARM_LDR_IMM (code, ARMREG_PC, ARMREG_IP, vtable_offset);
 #endif
                                }
@@ -7132,6 +7274,7 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
                                code = load_element_with_regbase_cond (code, ARMREG_R1, ARMREG_R2, target_code_jti, ARMCOND_AL);
                                /* Restore registers */
                                ARM_POP3 (code, ARMREG_R0, ARMREG_R1, ARMREG_R2);
+                               mono_add_unwind_op_def_cfa_offset (unwind_ops, code, start, 0);
                                /* And branch */
                                ARM_BX (code, ARMREG_R1);
                                set_jumptable_element (jte, target_code_jti, fail_tramp);
@@ -7231,6 +7374,9 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
        mono_stats.imt_thunks_size += code - start;
 
        g_assert (DISTANCE (start, code) <= size);
+
+       mono_tramp_info_register (mono_tramp_info_create (NULL, (guint8*)start, DISTANCE (start, code), NULL, unwind_ops), domain);
+
        return start;
 }
 
@@ -7534,6 +7680,9 @@ mono_arch_set_target (char *mtriple)
        if (strstr (mtriple, "armv7s")) {
                v7s_supported = TRUE;
        }
+       if (strstr (mtriple, "armv7k")) {
+               v7k_supported = TRUE;
+       }
        if (strstr (mtriple, "thumbv7s")) {
                v5_supported = TRUE;
                v6_supported = TRUE;
index 5135fcbb94808cdea4d403716a883cdd7b2326fd..f6b2e2eac93f70e3d6869f061a6630f3db6fe98c 100644 (file)
 
 #define MONO_ARCH_INST_REGPAIR_REG2(desc,hreg1) ((desc) == 'l' || (desc) == 'f' || (desc) == 'g' ? ARM_MSW_REG : -1)
 
+#ifdef TARGET_WATCHOS
+#define MONO_ARCH_FRAME_ALIGNMENT 16
+#else
 #define MONO_ARCH_FRAME_ALIGNMENT 8
+#endif
 
 /* fixme: align to 16byte instead of 32byte (we align to 32byte to get 
  * reproduceable results for benchmarks */
@@ -359,4 +363,7 @@ mono_arm_is_hard_float (void);
 gboolean
 mono_arm_have_tls_get (void);
 
+void
+mono_arm_unaligned_stack (MonoMethod *method);
+
 #endif /* __MONO_MINI_ARM_H__ */
index f1599c0fb4e9526d5c81720c17ae9c4180148fd7..c6efc5b78f864f67a42613376e6462921b8c9a02 100644 (file)
@@ -2754,9 +2754,6 @@ mini_type_is_hfa (MonoType *t, int *out_nfields, int *out_esize)
                                return FALSE;
                        prev_ftype = ftype;
                        nfields += nested_nfields;
-                       // FIXME: Nested float structs are aligned to 8 bytes
-                       if (ftype->type == MONO_TYPE_R4)
-                               return FALSE;
                } else {
                        if (!(!ftype->byref && (ftype->type == MONO_TYPE_R4 || ftype->type == MONO_TYPE_R8)))
                                return FALSE;
@@ -2766,7 +2763,7 @@ mini_type_is_hfa (MonoType *t, int *out_nfields, int *out_esize)
                        nfields ++;
                }
        }
-       if (nfields == 0 || nfields > 4)
+       if (nfields == 0)
                return FALSE;
        *out_nfields = nfields;
        *out_esize = prev_ftype->type == MONO_TYPE_R4 ? 4 : 8;
index cb7a975f9d1d36bbc8876f9f33e83b32f019e062..309ebd82531bf937c0f302cc1955da251b7f8435 100644 (file)
@@ -239,23 +239,30 @@ mono_runtime_install_handlers (void)
 pid_t
 mono_runtime_syscall_fork ()
 {
+#ifdef HAVE_FORK
        return (pid_t) fork ();
+#else
+       g_assert_not_reached ();
+#endif
 }
 
 void
 mono_gdb_render_native_backtraces (pid_t crashed_pid)
 {
+#ifdef HAVE_EXECV
        const char *argv [5];
        char template [] = "/tmp/mono-gdb-commands.XXXXXX";
        FILE *commands;
        gboolean using_lldb = FALSE;
 
+       using_lldb = TRUE;
+
        argv [0] = g_find_program_in_path ("gdb");
-       if (!argv [0]) {
-               // FIXME: LLDB doesn't quit when given the 'quit' command
-               //argv [0] = g_find_program_in_path ("lldb");
-               //using_lldb = TRUE;
-       }
+       if (argv [0])
+               using_lldb = FALSE;
+
+       if (using_lldb)
+               argv [0] = g_find_program_in_path ("lldb");
 
        if (argv [0] == NULL)
                return;
@@ -277,6 +284,7 @@ mono_gdb_render_native_backtraces (pid_t crashed_pid)
        } else {
                fprintf (commands, "attach %ld\n", (long) crashed_pid);
                fprintf (commands, "info threads\n");
+               fprintf (commands, " t a a info thread\n");
                fprintf (commands, "thread apply all bt\n");
                argv [1] = "-batch";
                argv [2] = "-x";
@@ -286,8 +294,13 @@ mono_gdb_render_native_backtraces (pid_t crashed_pid)
        fflush (commands);
        fclose (commands);
 
+       fclose (stdin);
+
        execv (argv [0], (char**)argv);
        unlink (template);
+#else
+       fprintf (stderr, "mono_gdb_render_native_backtraces not supported on this platform\n");
+#endif // HAVE_EXECV
 }
 
 gboolean
index d5323d2a3bae65565e1b0dba00affd7927980fc9..bc865e0d97f3aa4d7c263ccd546e0bf37a81dfa9 100644 (file)
@@ -53,6 +53,7 @@
 #include <mono/metadata/profiler.h>
 #include <mono/metadata/mono-endian.h>
 #include <mono/metadata/environment.h>
+#include <mono/metadata/mono-mlist.h>
 #include <mono/utils/mono-mmap.h>
 #include <mono/utils/mono-logger-internal.h>
 
@@ -98,13 +99,13 @@ mono_exceptions_init (void)
                MonoTrampInfo *info;
 
                restore_context_func = mono_arch_get_restore_context (&info, FALSE);
-               mono_tramp_info_register (info);
+               mono_tramp_info_register (info, NULL);
                call_filter_func = mono_arch_get_call_filter (&info, FALSE);
-               mono_tramp_info_register (info);
+               mono_tramp_info_register (info, NULL);
                throw_exception_func = mono_arch_get_throw_exception (&info, FALSE);
-               mono_tramp_info_register (info);
+               mono_tramp_info_register (info, NULL);
                rethrow_exception_func = mono_arch_get_rethrow_exception (&info, FALSE);
-               mono_tramp_info_register (info);
+               mono_tramp_info_register (info, NULL);
        }
 #ifdef MONO_ARCH_HAVE_RESTORE_STACK_SUPPORT
        try_more_restore_tramp = mono_create_specific_trampoline (try_more_restore, MONO_TRAMPOLINE_RESTORE_STACK_PROT, mono_domain_get (), NULL);
@@ -165,7 +166,7 @@ mono_get_throw_corlib_exception (void)
                code = mono_aot_get_trampoline ("throw_corlib_exception");
        else {
                code = mono_arch_get_throw_corlib_exception (&info, FALSE);
-               mono_tramp_info_register (info);
+               mono_tramp_info_register (info, NULL);
        }
 
        mono_memory_barrier ();
@@ -243,6 +244,8 @@ find_jit_info (MonoDomain *domain, MonoJitTlsData *jit_tls, MonoJitInfo *res, Mo
                if (managed)
                        *managed = TRUE;
                return frame.ji;
+       case FRAME_TYPE_TRAMPOLINE:
+               return frame.ji;
        case FRAME_TYPE_MANAGED_TO_NATIVE:
                if (frame.ji)
                        return frame.ji;
@@ -301,10 +304,10 @@ mono_find_jit_info (MonoDomain *domain, MonoJitTlsData *jit_tls, MonoJitInfo *re
        if (ji == (gpointer)-1)
                return ji;
 
-       if (ji)
+       if (ji && !ji->is_trampoline)
                method = jinfo_get_method (ji);
 
-       if (managed2 || (ji && method->wrapper_type)) {
+       if (managed2 || (method && method->wrapper_type)) {
                const char *real_ip, *start;
                gint32 offset;
 
@@ -397,7 +400,7 @@ mono_find_jit_info_ext (MonoDomain *domain, MonoJitTlsData *jit_tls,
                *lmf = (gpointer)(((gsize)(*lmf)->previous_lmf) & ~(SIZEOF_VOID_P -1));
        }
 
-       if (frame->ji && !frame->ji->async)
+       if (frame->ji && !frame->ji->is_trampoline && !frame->ji->async)
                method = jinfo_get_method (frame->ji);
 
        if (frame->type == FRAME_TYPE_MANAGED && method) {
@@ -451,6 +454,9 @@ mono_find_jit_info_ext (MonoDomain *domain, MonoJitTlsData *jit_tls,
        return TRUE;
 }
 
+/*
+ * This function is async-safe.
+ */
 static gpointer
 get_generic_info_from_stack_frame (MonoJitInfo *ji, MonoContext *ctx)
 {
@@ -511,7 +517,7 @@ static MonoGenericContext
 get_generic_context_from_stack_frame (MonoJitInfo *ji, gpointer generic_info)
 {
        MonoGenericContext context = { NULL, NULL };
-       MonoClass *class, *method_container_class;
+       MonoClass *klass, *method_container_class;
        MonoMethod *method;
 
        g_assert (generic_info);
@@ -521,15 +527,15 @@ get_generic_context_from_stack_frame (MonoJitInfo *ji, gpointer generic_info)
        if (mono_method_get_context (method)->method_inst) {
                MonoMethodRuntimeGenericContext *mrgctx = generic_info;
 
-               class = mrgctx->class_vtable->klass;
+               klass = mrgctx->class_vtable->klass;
                context.method_inst = mrgctx->method_inst;
                g_assert (context.method_inst);
        } else if ((method->flags & METHOD_ATTRIBUTE_STATIC) || method->klass->valuetype) {
                MonoVTable *vtable = generic_info;
 
-               class = vtable->klass;
+               klass = vtable->klass;
        } else {
-               class = generic_info;
+               klass = generic_info;
        }
 
        //g_assert (!method->klass->generic_container);
@@ -539,18 +545,18 @@ get_generic_context_from_stack_frame (MonoJitInfo *ji, gpointer generic_info)
                method_container_class = method->klass;
 
        /* class might refer to a subclass of method's class */
-       while (!(class == method->klass || (class->generic_class && class->generic_class->container_class == method_container_class))) {
-               class = class->parent;
-               g_assert (class);
+       while (!(klass == method->klass || (klass->generic_class && klass->generic_class->container_class == method_container_class))) {
+               klass = klass->parent;
+               g_assert (klass);
        }
 
-       if (class->generic_class || class->generic_container)
-               context.class_inst = mini_class_get_context (class)->class_inst;
+       if (klass->generic_class || klass->generic_container)
+               context.class_inst = mini_class_get_context (klass)->class_inst;
 
-       if (class->generic_class)
-               g_assert (mono_class_has_parent_and_ignore_generics (class->generic_class->container_class, method_container_class));
+       if (klass->generic_class)
+               g_assert (mono_class_has_parent_and_ignore_generics (klass->generic_class->container_class, method_container_class));
        else
-               g_assert (mono_class_has_parent_and_ignore_generics (class, method_container_class));
+               g_assert (mono_class_has_parent_and_ignore_generics (klass, method_container_class));
 
        return context;
 }
@@ -615,50 +621,6 @@ mono_exception_walk_trace (MonoException *ex, MonoExceptionFrameWalk func, gpoin
        return len > 0;
 }
 
-MonoString *
-ves_icall_System_Exception_get_trace (MonoException *ex)
-{
-       MonoDomain *domain = mono_domain_get ();
-       MonoString *res;
-       MonoArray *ta = ex->trace_ips;
-       int i, len;
-       GString *trace_str;
-
-       if (ta == NULL)
-               /* Exception is not thrown yet */
-               return NULL;
-
-       len = mono_array_length (ta) >> 1;
-       trace_str = g_string_new ("");
-       for (i = 0; i < len; i++) {
-               MonoJitInfo *ji;
-               gpointer ip = mono_array_get (ta, gpointer, i * 2 + 0);
-               gpointer generic_info = mono_array_get (ta, gpointer, i * 2 + 1);
-
-               ji = mono_jit_info_table_find (domain, ip);
-               if (ji == NULL) {
-                       /* Unmanaged frame */
-                       g_string_append_printf (trace_str, "in (unmanaged) %p\n", ip);
-               } else {
-                       gchar *location;
-                       gint32 address;
-                       MonoMethod *method = get_method_from_stack_frame (ji, generic_info);
-
-                       address = (char *)ip - (char *)ji->code_start;
-                       location = mono_debug_print_stack_frame (
-                               method, address, ex->object.vtable->domain);
-
-                       g_string_append_printf (trace_str, "%s\n", location);
-                       g_free (location);
-               }
-       }
-
-       res = mono_string_new (ex->object.vtable->domain, trace_str->str);
-       g_string_free (trace_str, TRUE);
-
-       return res;
-}
-
 MonoArray *
 ves_icall_get_trace (MonoException *exc, gint32 skip, MonoBoolean need_file_info)
 {
@@ -808,6 +770,10 @@ mono_walk_stack_with_state (MonoJitStackWalk func, MonoThreadUnwindState *state,
 
        g_assert (state->valid);
 
+       if (!state->unwind_data [MONO_UNWIND_DATA_DOMAIN])
+               /* Not attached */
+               return;
+
        mono_walk_stack_full (func,
                &state->ctx, 
                state->unwind_data [MONO_UNWIND_DATA_DOMAIN],
@@ -870,7 +836,7 @@ mono_walk_stack_full (MonoJitStackWalk func, MonoContext *start_ctx, MonoDomain
                if (!res)
                        return;
 
-               if ((unwind_options & MONO_UNWIND_LOOKUP_IL_OFFSET) && frame.ji) {
+               if ((unwind_options & MONO_UNWIND_LOOKUP_IL_OFFSET) && frame.ji && !frame.ji->is_trampoline) {
                        MonoDebugSourceLocation *source;
 
                        source = mono_debug_lookup_source_location (jinfo_get_method (frame.ji), frame.native_offset, domain);
@@ -889,7 +855,7 @@ mono_walk_stack_full (MonoJitStackWalk func, MonoContext *start_ctx, MonoDomain
 
                frame.il_offset = il_offset;
 
-               if ((unwind_options & MONO_UNWIND_LOOKUP_ACTUAL_METHOD) && frame.ji) {
+               if ((unwind_options & MONO_UNWIND_LOOKUP_ACTUAL_METHOD) && frame.ji && !frame.ji->is_trampoline) {
                        frame.actual_method = get_method_from_stack_frame (frame.ji, get_generic_info_from_stack_frame (frame.ji, &ctx));
                } else {
                        frame.actual_method = frame.method;
@@ -944,7 +910,9 @@ ves_icall_get_frame_info (gint32 skip, MonoBoolean need_file_info,
                if (!res)
                        return FALSE;
 
-               if (frame.type == FRAME_TYPE_MANAGED_TO_NATIVE || frame.type == FRAME_TYPE_DEBUGGER_INVOKE)
+               if (frame.type == FRAME_TYPE_MANAGED_TO_NATIVE ||
+                               frame.type == FRAME_TYPE_DEBUGGER_INVOKE ||
+                               frame.type == FRAME_TYPE_TRAMPOLINE)
                        continue;
 
                ji = frame.ji;
@@ -1085,7 +1053,7 @@ mini_jit_info_table_find_ext (MonoDomain *domain, char *addr, gboolean allow_tra
 MonoJitInfo*
 mini_jit_info_table_find (MonoDomain *domain, char *addr, MonoDomain **out_domain)
 {
-       return mini_jit_info_table_find_ext (domain, addr, FALSE, out_domain);
+       return mini_jit_info_table_find_ext (domain, addr, TRUE, out_domain);
 }
 
 /*
@@ -1183,18 +1151,42 @@ build_native_trace (void)
 #endif
 }
 
-#define setup_managed_stacktrace_information() do {    \
-       if (mono_ex && !initial_trace_ips) {    \
-               trace_ips = g_list_reverse (trace_ips); \
-               MONO_OBJECT_SETREF (mono_ex, trace_ips, glist_to_array (trace_ips, mono_defaults.int_class));   \
-               MONO_OBJECT_SETREF (mono_ex, native_trace_ips, build_native_trace ());  \
-               if (has_dynamic_methods)        \
-                       /* These methods could go away anytime, so compute the stack trace now */       \
-                       MONO_OBJECT_SETREF (mono_ex, stack_trace, ves_icall_System_Exception_get_trace (mono_ex));      \
-       }       \
-       g_list_free (trace_ips);        \
-       trace_ips = NULL;       \
-} while (0)
+static void
+setup_stack_trace (MonoException *mono_ex, GSList *dynamic_methods, MonoArray *initial_trace_ips, GList **trace_ips)
+{
+       if (mono_ex && !initial_trace_ips) {
+               *trace_ips = g_list_reverse (*trace_ips);
+               MONO_OBJECT_SETREF (mono_ex, trace_ips, glist_to_array (*trace_ips, mono_defaults.int_class));
+               MONO_OBJECT_SETREF (mono_ex, native_trace_ips, build_native_trace ());
+               if (dynamic_methods) {
+                       /* These methods could go away anytime, so save a reference to them in the exception object */
+                       GSList *l;
+                       MonoMList *list = NULL;
+
+                       for (l = dynamic_methods; l; l = l->next) {
+                               guint32 dis_link;
+                               MonoDomain *domain = mono_domain_get ();
+
+                               if (domain->method_to_dyn_method) {
+                                       mono_domain_lock (domain);
+                                       dis_link = (guint32)(size_t)g_hash_table_lookup (domain->method_to_dyn_method, l->data);
+                                       mono_domain_unlock (domain);
+                                       if (dis_link) {
+                                               MonoObject *o = mono_gchandle_get_target (dis_link);
+                                               if (o) {
+                                                       list = mono_mlist_prepend (list, o);
+                                               }
+                                       }
+                               }
+                       }
+
+                       MONO_OBJECT_SETREF (mono_ex, dynamic_methods, list);
+               }
+       }
+       g_list_free (*trace_ips);
+       *trace_ips = NULL;
+}
+
 /*
  * mono_handle_exception_internal_first_pass:
  *
@@ -1212,12 +1204,12 @@ mono_handle_exception_internal_first_pass (MonoContext *ctx, gpointer obj, gint3
        MonoLMF *lmf = mono_get_lmf ();
        MonoArray *initial_trace_ips = NULL;
        GList *trace_ips = NULL;
+       GSList *dynamic_methods = NULL;
        MonoException *mono_ex;
        gboolean stack_overflow = FALSE;
        MonoContext initial_ctx;
        MonoMethod *method;
        int frame_count = 0;
-       gboolean has_dynamic_methods = FALSE;
        gint32 filter_idx;
        int i;
        MonoObject *ex_obj;
@@ -1265,7 +1257,9 @@ mono_handle_exception_internal_first_pass (MonoContext *ctx, gpointer obj, gint3
 
                unwind_res = mono_find_jit_info_ext (domain, jit_tls, NULL, ctx, &new_ctx, NULL, &lmf, NULL, &frame);
                if (unwind_res) {
-                       if (frame.type == FRAME_TYPE_DEBUGGER_INVOKE || frame.type == FRAME_TYPE_MANAGED_TO_NATIVE) {
+                       if (frame.type == FRAME_TYPE_DEBUGGER_INVOKE ||
+                                       frame.type == FRAME_TYPE_MANAGED_TO_NATIVE ||
+                                       frame.type == FRAME_TYPE_TRAMPOLINE) {
                                *ctx = new_ctx;
                                continue;
                        }
@@ -1274,7 +1268,8 @@ mono_handle_exception_internal_first_pass (MonoContext *ctx, gpointer obj, gint3
                }
 
                if (!unwind_res) {
-                       setup_managed_stacktrace_information ();
+                       setup_stack_trace (mono_ex, dynamic_methods, initial_trace_ips, &trace_ips);
+                       g_slist_free (dynamic_methods);
                        return FALSE;
                }
 
@@ -1302,7 +1297,7 @@ mono_handle_exception_internal_first_pass (MonoContext *ctx, gpointer obj, gint3
                }
 
                if (method->dynamic)
-                       has_dynamic_methods = TRUE;
+                       dynamic_methods = g_slist_prepend (dynamic_methods, method);
 
                if (stack_overflow) {
                        if (DOES_STACK_GROWS_UP)
@@ -1349,7 +1344,7 @@ mono_handle_exception_internal_first_pass (MonoContext *ctx, gpointer obj, gint3
                                        FIXME Not 100% sure if it's a good idea even with user clauses.
                                        */
                                        if (is_user_frame)
-                                               setup_managed_stacktrace_information ();
+                                               setup_stack_trace (mono_ex, dynamic_methods, initial_trace_ips, &trace_ips);
 
 #ifdef MONO_CONTEXT_SET_LLVM_EXC_REG
                                        if (ji->from_llvm)
@@ -1385,7 +1380,8 @@ mono_handle_exception_internal_first_pass (MonoContext *ctx, gpointer obj, gint3
 
                                        if (filtered) {
                                                if (!is_user_frame)
-                                                       setup_managed_stacktrace_information ();
+                                                       setup_stack_trace (mono_ex, dynamic_methods, initial_trace_ips, &trace_ips);
+                                               g_slist_free (dynamic_methods);
                                                /* mono_debugger_agent_handle_exception () needs this */
                                                MONO_CONTEXT_SET_IP (ctx, ei->handler_start);
                                                return TRUE;
@@ -1393,7 +1389,8 @@ mono_handle_exception_internal_first_pass (MonoContext *ctx, gpointer obj, gint3
                                }
 
                                if (ei->flags == MONO_EXCEPTION_CLAUSE_NONE && mono_object_isinst (ex_obj, catch_class)) {
-                                       setup_managed_stacktrace_information ();
+                                       setup_stack_trace (mono_ex, dynamic_methods, initial_trace_ips, &trace_ips);
+                                       g_slist_free (dynamic_methods);
 
                                        if (out_ji)
                                                *out_ji = ji;
@@ -1602,7 +1599,9 @@ mono_handle_exception_internal (MonoContext *ctx, gpointer obj, gboolean resume,
 
                        unwind_res = mono_find_jit_info_ext (domain, jit_tls, NULL, ctx, &new_ctx, NULL, &lmf, NULL, &frame);
                        if (unwind_res) {
-                               if (frame.type == FRAME_TYPE_DEBUGGER_INVOKE || frame.type == FRAME_TYPE_MANAGED_TO_NATIVE) {
+                               if (frame.type == FRAME_TYPE_DEBUGGER_INVOKE ||
+                                               frame.type == FRAME_TYPE_MANAGED_TO_NATIVE ||
+                                               frame.type == FRAME_TYPE_TRAMPOLINE) {
                                        *ctx = new_ctx;
                                        continue;
                                }
@@ -1731,8 +1730,7 @@ mono_handle_exception_internal (MonoContext *ctx, gpointer obj, gboolean resume,
 
                                        return 0;
                                }
-                               if (is_address_protected (ji, ei, MONO_CONTEXT_GET_IP (ctx)) &&
-                                       (ei->flags == MONO_EXCEPTION_CLAUSE_FAULT)) {
+                               if (ei->flags == MONO_EXCEPTION_CLAUSE_FAULT) {
                                        if (mono_trace_is_enabled () && mono_trace_eval (method))
                                                g_print ("EXCEPTION: fault clause %d of %s\n", i, mono_method_full_name (method, TRUE));
                                        jit_tls->orig_ex_ctx_set = TRUE;
@@ -1740,8 +1738,7 @@ mono_handle_exception_internal (MonoContext *ctx, gpointer obj, gboolean resume,
                                        jit_tls->orig_ex_ctx_set = FALSE;
                                        call_filter (ctx, ei->handler_start);
                                }
-                               if (is_address_protected (ji, ei, MONO_CONTEXT_GET_IP (ctx)) &&
-                                       (ei->flags == MONO_EXCEPTION_CLAUSE_FINALLY)) {
+                               if (ei->flags == MONO_EXCEPTION_CLAUSE_FINALLY) {
                                        if (mono_trace_is_enabled () && mono_trace_eval (method))
                                                g_print ("EXCEPTION: finally clause %d of %s\n", i, mono_method_full_name (method, TRUE));
                                        jit_tls->orig_ex_ctx_set = TRUE;
@@ -2044,7 +2041,7 @@ print_overflow_stack_frame (StackFrameInfo *frame, MonoContext *ctx, gpointer da
        PrintOverflowUserData *user_data = data;
        gchar *location;
 
-       if (frame->ji)
+       if (frame->ji && frame->type != FRAME_TYPE_TRAMPOLINE)
                method = jinfo_get_method (frame->ji);
 
        if (method) {
@@ -2097,7 +2094,7 @@ mono_handle_hard_stack_ovf (MonoJitTlsData *jit_tls, MonoJitInfo *ji, void *ctx,
 
        mono_walk_stack_with_ctx (print_overflow_stack_frame, &mctx, MONO_UNWIND_LOOKUP_ACTUAL_METHOD, &ud);
 #else
-       if (ji && jinfo_get_method (ji))
+       if (ji && !ji->is_trampoline && jinfo_get_method (ji))
                mono_runtime_printf_err ("At %s", mono_method_full_name (jinfo_get_method (ji), TRUE));
        else
                mono_runtime_printf_err ("At <unmanaged>.");
@@ -2111,7 +2108,7 @@ print_stack_frame_to_stderr (StackFrameInfo *frame, MonoContext *ctx, gpointer d
 {
        MonoMethod *method = NULL;
 
-       if (frame->ji)
+       if (frame->ji && frame->type != FRAME_TYPE_TRAMPOLINE)
                method = jinfo_get_method (frame->ji);
 
        if (method) {
@@ -2130,7 +2127,7 @@ print_stack_frame_to_string (StackFrameInfo *frame, MonoContext *ctx, gpointer d
        GString *p = (GString*)data;
        MonoMethod *method = NULL;
 
-       if (frame->ji)
+       if (frame->ji && frame->type != FRAME_TYPE_TRAMPOLINE)
                method = jinfo_get_method (frame->ji);
 
        if (method && frame->domain) {
@@ -2526,20 +2523,16 @@ mono_thread_state_init_from_sigctx (MonoThreadUnwindState *ctx, void *sigctx)
                return FALSE;
        }
 
-       if (sigctx)
+       if (sigctx) {
                mono_sigctx_to_monoctx (sigctx, &ctx->ctx);
-       else
-#if defined(MONO_CROSS_COMPILE)
-               ctx->valid = FALSE; //A cross compiler doesn't need to suspend.
-#elif MONO_ARCH_HAS_MONO_CONTEXT
-               MONO_CONTEXT_GET_CURRENT (ctx->ctx);
-#else
-               g_error ("Use a null sigctx requires a working mono-context");
-#endif
 
-       ctx->unwind_data [MONO_UNWIND_DATA_DOMAIN] = mono_domain_get ();
-       ctx->unwind_data [MONO_UNWIND_DATA_LMF] = mono_get_lmf ();
-       ctx->unwind_data [MONO_UNWIND_DATA_JIT_TLS] = thread->jit_data;
+               ctx->unwind_data [MONO_UNWIND_DATA_DOMAIN] = mono_domain_get ();
+               ctx->unwind_data [MONO_UNWIND_DATA_LMF] = mono_get_lmf ();
+               ctx->unwind_data [MONO_UNWIND_DATA_JIT_TLS] = thread->jit_data;
+       }
+       else {
+               mono_thread_state_init (ctx);
+       }
 
        if (!ctx->unwind_data [MONO_UNWIND_DATA_DOMAIN] || !ctx->unwind_data [MONO_UNWIND_DATA_LMF])
                return FALSE;
@@ -2552,6 +2545,26 @@ mono_thread_state_init_from_sigctx (MonoThreadUnwindState *ctx, void *sigctx)
 #endif
 }
 
+void
+mono_thread_state_init (MonoThreadUnwindState *ctx)
+{
+       MonoThreadInfo *thread = mono_thread_info_current_unchecked ();
+
+#if defined(MONO_CROSS_COMPILE)
+       ctx->valid = FALSE; //A cross compiler doesn't need to suspend.
+#elif MONO_ARCH_HAS_MONO_CONTEXT
+       MONO_CONTEXT_GET_CURRENT (ctx->ctx);
+#else
+       g_error ("Use a null sigctx requires a working mono-context");
+#endif
+
+       ctx->unwind_data [MONO_UNWIND_DATA_DOMAIN] = mono_domain_get ();
+       ctx->unwind_data [MONO_UNWIND_DATA_LMF] = mono_get_lmf ();
+       ctx->unwind_data [MONO_UNWIND_DATA_JIT_TLS] = thread ? thread->jit_data : NULL;
+       ctx->valid = TRUE;
+}
+
+
 gboolean
 mono_thread_state_init_from_monoctx (MonoThreadUnwindState *ctx, MonoContext *mctx)
 {
index 3d24b46d082e9d3b49bc0b4293b660efb11b20f4..27a36204ca0c354e2448695293162924744d88c8 100644 (file)
@@ -821,6 +821,7 @@ conservative_pass (TlsData *tls, guint8 *stack_start, guint8 *stack_end)
                ji = frame.ji;
 
                // FIXME: For skipped frames, scan the param area of the parent frame conservatively ?
+               // FIXME: trampolines
 
                if (frame.type == FRAME_TYPE_MANAGED_TO_NATIVE) {
                        /*
index ef1f02a7f030319217e11e19fb67b37cb197fc30..ada106c61ad763a9ce425c1272dcb4e1096da0d5 100644 (file)
@@ -117,17 +117,17 @@ mono_generic_context_check_used (MonoGenericContext *context)
  * variables.
  */
 int
-mono_class_check_context_used (MonoClass *class)
+mono_class_check_context_used (MonoClass *klass)
 {
        int context_used = 0;
 
-       context_used |= type_check_context_used (&class->this_arg, FALSE);
-       context_used |= type_check_context_used (&class->byval_arg, FALSE);
+       context_used |= type_check_context_used (&klass->this_arg, FALSE);
+       context_used |= type_check_context_used (&klass->byval_arg, FALSE);
 
-       if (class->generic_class)
-               context_used |= mono_generic_context_check_used (&class->generic_class->context);
-       else if (class->generic_container)
-               context_used |= mono_generic_context_check_used (&class->generic_container->context);
+       if (klass->generic_class)
+               context_used |= mono_generic_context_check_used (&klass->generic_class->context);
+       else if (klass->generic_container)
+               context_used |= mono_generic_context_check_used (&klass->generic_container->context);
 
        return context_used;
 }
@@ -225,26 +225,26 @@ static GHashTable *generic_subclass_hash;
  * LOCKING: templates lock
  */
 static void
-class_set_rgctx_template (MonoClass *class, MonoRuntimeGenericContextTemplate *rgctx_template)
+class_set_rgctx_template (MonoClass *klass, MonoRuntimeGenericContextTemplate *rgctx_template)
 {
-       if (!class->image->rgctx_template_hash)
-               class->image->rgctx_template_hash = g_hash_table_new (mono_aligned_addr_hash, NULL);
+       if (!klass->image->rgctx_template_hash)
+               klass->image->rgctx_template_hash = g_hash_table_new (mono_aligned_addr_hash, NULL);
 
-       g_hash_table_insert (class->image->rgctx_template_hash, class, rgctx_template);
+       g_hash_table_insert (klass->image->rgctx_template_hash, klass, rgctx_template);
 }
 
 /*
  * LOCKING: loader lock
  */
 static MonoRuntimeGenericContextTemplate*
-class_lookup_rgctx_template (MonoClass *class)
+class_lookup_rgctx_template (MonoClass *klass)
 {
        MonoRuntimeGenericContextTemplate *template;
 
-       if (!class->image->rgctx_template_hash)
+       if (!klass->image->rgctx_template_hash)
                return NULL;
 
-       template = g_hash_table_lookup (class->image->rgctx_template_hash, class);
+       template = g_hash_table_lookup (klass->image->rgctx_template_hash, klass);
 
        return template;
 }
@@ -253,11 +253,11 @@ class_lookup_rgctx_template (MonoClass *class)
  * LOCKING: loader lock
  */
 static void
-register_generic_subclass (MonoClass *class)
+register_generic_subclass (MonoClass *klass)
 {
-       MonoClass *parent = class->parent;
+       MonoClass *parent = klass->parent;
        MonoClass *subclass;
-       MonoRuntimeGenericContextTemplate *rgctx_template = class_lookup_rgctx_template (class);
+       MonoRuntimeGenericContextTemplate *rgctx_template = class_lookup_rgctx_template (klass);
 
        g_assert (rgctx_template);
 
@@ -269,15 +269,15 @@ register_generic_subclass (MonoClass *class)
 
        subclass = g_hash_table_lookup (generic_subclass_hash, parent);
        rgctx_template->next_subclass = subclass;
-       g_hash_table_insert (generic_subclass_hash, parent, class);
+       g_hash_table_insert (generic_subclass_hash, parent, klass);
 }
 
 static void
-move_subclasses_not_in_image_foreach_func (MonoClass *class, MonoClass *subclass, MonoImage *image)
+move_subclasses_not_in_image_foreach_func (MonoClass *klass, MonoClass *subclass, MonoImage *image)
 {
        MonoClass *new_list;
 
-       if (class->image == image) {
+       if (klass->image == image) {
                /* The parent class itself is in the image, so all the
                   subclasses must be in the image, too.  If not,
                   we're removing an image containing a class which
@@ -305,7 +305,7 @@ move_subclasses_not_in_image_foreach_func (MonoClass *class, MonoClass *subclass
        }
 
        if (new_list)
-               g_hash_table_insert (generic_subclass_hash, class, new_list);
+               g_hash_table_insert (generic_subclass_hash, klass, new_list);
 }
 
 /*
@@ -338,7 +338,7 @@ mono_class_unregister_image_generic_subclasses (MonoImage *image, gpointer user_
 }
 
 static MonoRuntimeGenericContextTemplate*
-alloc_template (MonoClass *class)
+alloc_template (MonoClass *klass)
 {
        static gboolean inited = FALSE;
        static int num_allocted = 0;
@@ -355,7 +355,7 @@ alloc_template (MonoClass *class)
        num_allocted++;
        num_bytes += size;
 
-       return mono_image_alloc0 (class->image, size);
+       return mono_image_alloc0 (klass->image, size);
 }
 
 static MonoRuntimeGenericContextInfoTemplate*
@@ -514,7 +514,7 @@ mono_class_get_method_generic (MonoClass *klass, MonoMethod *method)
 }
 
 static gpointer
-inflate_info (MonoRuntimeGenericContextInfoTemplate *oti, MonoGenericContext *context, MonoClass *class, gboolean temporary)
+inflate_info (MonoRuntimeGenericContextInfoTemplate *oti, MonoGenericContext *context, MonoClass *klass, gboolean temporary)
 {
        gpointer data = oti->data;
        MonoRgctxInfoType info_type = oti->info_type;
@@ -542,7 +542,7 @@ inflate_info (MonoRuntimeGenericContextInfoTemplate *oti, MonoGenericContext *co
        case MONO_RGCTX_INFO_LOCAL_OFFSET:
        case MONO_RGCTX_INFO_NULLABLE_CLASS_BOX:
        case MONO_RGCTX_INFO_NULLABLE_CLASS_UNBOX: {
-               gpointer result = mono_class_inflate_generic_type_with_mempool (temporary ? NULL : class->image,
+               gpointer result = mono_class_inflate_generic_type_with_mempool (temporary ? NULL : klass->image,
                        data, context, &error);
                g_assert (mono_error_ok (&error)); /*FIXME proper error handling*/
                return result;
@@ -598,7 +598,7 @@ inflate_info (MonoRuntimeGenericContextInfoTemplate *oti, MonoGenericContext *co
                        MonoRuntimeGenericContextInfoTemplate *template = &res->entries [i];
 
                        memcpy (template, otemplate, sizeof (MonoRuntimeGenericContextInfoTemplate));
-                       template->data = inflate_info (template, context, class, FALSE);
+                       template->data = inflate_info (template, context, klass, FALSE);
                }
                return res;
        }
@@ -710,14 +710,14 @@ free_inflated_info (MonoRgctxInfoType info_type, gpointer info)
 }
 
 static MonoRuntimeGenericContextInfoTemplate
-class_get_rgctx_template_oti (MonoClass *class, int type_argc, guint32 slot, gboolean temporary, gboolean shared, gboolean *do_free);
+class_get_rgctx_template_oti (MonoClass *klass, int type_argc, guint32 slot, gboolean temporary, gboolean shared, gboolean *do_free);
  
 static MonoClass*
-class_uninstantiated (MonoClass *class)
+class_uninstantiated (MonoClass *klass)
 {
-       if (class->generic_class)
-               return class->generic_class->container_class;
-       return class;
+       if (klass->generic_class)
+               return klass->generic_class->container_class;
+       return klass;
 }
 
 /*
@@ -726,9 +726,9 @@ class_uninstantiated (MonoClass *class)
  *   Return the class used to store information when using generic sharing.
  */
 static MonoClass*
-get_shared_class (MonoClass *class)
+get_shared_class (MonoClass *klass)
 {
-       return class_uninstantiated (class);
+       return class_uninstantiated (klass);
 }
 
 /*
@@ -739,15 +739,15 @@ get_shared_class (MonoClass *class)
  * The template is the same for all instantiations of a class.
  */
 static MonoRuntimeGenericContextTemplate*
-mono_class_get_runtime_generic_context_template (MonoClass *class)
+mono_class_get_runtime_generic_context_template (MonoClass *klass)
 {
        MonoRuntimeGenericContextTemplate *parent_template, *template;
        guint32 i;
 
-       class = get_shared_class (class);
+       klass = get_shared_class (klass);
 
        mono_loader_lock ();
-       template = class_lookup_rgctx_template (class);
+       template = class_lookup_rgctx_template (klass);
        mono_loader_unlock ();
 
        if (template)
@@ -755,15 +755,15 @@ mono_class_get_runtime_generic_context_template (MonoClass *class)
 
        //g_assert (get_shared_class (class) == class);
 
-       template = alloc_template (class);
+       template = alloc_template (klass);
 
        mono_loader_lock ();
 
-       if (class->parent) {
+       if (klass->parent) {
                guint32 num_entries;
                int max_argc, type_argc;
 
-               parent_template = mono_class_get_runtime_generic_context_template (class->parent);
+               parent_template = mono_class_get_runtime_generic_context_template (klass->parent);
                max_argc = template_get_max_argc (parent_template);
 
                for (type_argc = 0; type_argc <= max_argc; ++type_argc) {
@@ -773,23 +773,23 @@ mono_class_get_runtime_generic_context_template (MonoClass *class)
                        for (i = 0; i < num_entries; ++i) {
                                MonoRuntimeGenericContextInfoTemplate oti;
 
-                               oti = class_get_rgctx_template_oti (class->parent, type_argc, i, FALSE, FALSE, NULL);
+                               oti = class_get_rgctx_template_oti (klass->parent, type_argc, i, FALSE, FALSE, NULL);
                                if (oti.data && oti.data != MONO_RGCTX_SLOT_USED_MARKER) {
-                                       rgctx_template_set_slot (class->image, template, type_argc, i,
+                                       rgctx_template_set_slot (klass->image, template, type_argc, i,
                                                                                         oti.data, oti.info_type);
                                }
                        }
                }
        }
 
-       if (class_lookup_rgctx_template (class)) {
+       if (class_lookup_rgctx_template (klass)) {
                /* some other thread already set the template */
-               template = class_lookup_rgctx_template (class);
+               template = class_lookup_rgctx_template (klass);
        } else {
-               class_set_rgctx_template (class, template);
+               class_set_rgctx_template (klass, template);
 
-               if (class->parent)
-                       register_generic_subclass (class);
+               if (klass->parent)
+                       register_generic_subclass (klass);
        }
 
        mono_loader_unlock ();
@@ -810,21 +810,21 @@ mono_class_get_runtime_generic_context_template (MonoClass *class)
  * LOCKING: loader lock
  */
 static MonoRuntimeGenericContextInfoTemplate
-class_get_rgctx_template_oti (MonoClass *class, int type_argc, guint32 slot, gboolean temporary, gboolean shared, gboolean *do_free)
+class_get_rgctx_template_oti (MonoClass *klass, int type_argc, guint32 slot, gboolean temporary, gboolean shared, gboolean *do_free)
 {
        g_assert ((temporary && do_free) || (!temporary && !do_free));
 
        DEBUG (printf ("get slot: %s %d\n", mono_type_full_name (&class->byval_arg), slot));
 
-       if (class->generic_class && !shared) {
+       if (klass->generic_class && !shared) {
                MonoRuntimeGenericContextInfoTemplate oti;
                gboolean tmp_do_free;
 
-               oti = class_get_rgctx_template_oti (class->generic_class->container_class,
+               oti = class_get_rgctx_template_oti (klass->generic_class->container_class,
                                                                                        type_argc, slot, TRUE, FALSE, &tmp_do_free);
                if (oti.data) {
                        gpointer info = oti.data;
-                       oti.data = inflate_info (&oti, &class->generic_class->context, class, temporary);
+                       oti.data = inflate_info (&oti, &klass->generic_class->context, klass, temporary);
                        if (tmp_do_free)
                                free_inflated_info (oti.info_type, info);
                }
@@ -836,7 +836,7 @@ class_get_rgctx_template_oti (MonoClass *class, int type_argc, guint32 slot, gbo
                MonoRuntimeGenericContextTemplate *template;
                MonoRuntimeGenericContextInfoTemplate *oti;
 
-               template = mono_class_get_runtime_generic_context_template (class);
+               template = mono_class_get_runtime_generic_context_template (klass);
                oti = rgctx_template_get_other_slot (template, type_argc, slot);
                g_assert (oti);
 
@@ -848,42 +848,42 @@ class_get_rgctx_template_oti (MonoClass *class, int type_argc, guint32 slot, gbo
 }
 
 static gpointer
-class_type_info (MonoDomain *domain, MonoClass *class, MonoRgctxInfoType info_type)
+class_type_info (MonoDomain *domain, MonoClass *klass, MonoRgctxInfoType info_type)
 {
        switch (info_type) {
        case MONO_RGCTX_INFO_STATIC_DATA: {
-               MonoVTable *vtable = mono_class_vtable (domain, class);
+               MonoVTable *vtable = mono_class_vtable (domain, klass);
                if (!vtable)
-                       mono_raise_exception (mono_class_get_exception_for_failure (class));
+                       mono_raise_exception (mono_class_get_exception_for_failure (klass));
                return mono_vtable_get_static_field_data (vtable);
        }
        case MONO_RGCTX_INFO_KLASS:
-               return class;
+               return klass;
        case MONO_RGCTX_INFO_ELEMENT_KLASS:
-               return class->element_class;
+               return klass->element_class;
        case MONO_RGCTX_INFO_VTABLE: {
-               MonoVTable *vtable = mono_class_vtable (domain, class);
+               MonoVTable *vtable = mono_class_vtable (domain, klass);
                if (!vtable)
-                       mono_raise_exception (mono_class_get_exception_for_failure (class));
+                       mono_raise_exception (mono_class_get_exception_for_failure (klass));
                return vtable;
        }
        case MONO_RGCTX_INFO_CAST_CACHE: {
                /*First slot is the cache itself, the second the vtable.*/
                gpointer **cache_data = mono_domain_alloc0 (domain, sizeof (gpointer) * 2);
-               cache_data [1] = (gpointer)class;
+               cache_data [1] = (gpointer)klass;
                return cache_data;
        }
        case MONO_RGCTX_INFO_ARRAY_ELEMENT_SIZE:
-               return GUINT_TO_POINTER (mono_class_array_element_size (class));
+               return GUINT_TO_POINTER (mono_class_array_element_size (klass));
        case MONO_RGCTX_INFO_VALUE_SIZE:
-               if (MONO_TYPE_IS_REFERENCE (&class->byval_arg))
+               if (MONO_TYPE_IS_REFERENCE (&klass->byval_arg))
                        return GUINT_TO_POINTER (sizeof (gpointer));
                else
-                       return GUINT_TO_POINTER (mono_class_value_size (class, NULL));
+                       return GUINT_TO_POINTER (mono_class_value_size (klass, NULL));
        case MONO_RGCTX_INFO_CLASS_BOX_TYPE:
-               if (MONO_TYPE_IS_REFERENCE (&class->byval_arg))
+               if (MONO_TYPE_IS_REFERENCE (&klass->byval_arg))
                        return GUINT_TO_POINTER (1);
-               else if (mono_class_is_nullable (class))
+               else if (mono_class_is_nullable (klass))
                        return GUINT_TO_POINTER (2);
                else
                        return GUINT_TO_POINTER (0);
@@ -897,11 +897,11 @@ class_type_info (MonoDomain *domain, MonoClass *class, MonoRgctxInfoType info_ty
 
                domain_info = domain_jit_info (domain);
 
-               if (MONO_TYPE_IS_REFERENCE (&class->byval_arg)) {
+               if (MONO_TYPE_IS_REFERENCE (&klass->byval_arg)) {
                        size = sizeof (gpointer);
                        align = sizeof (gpointer);
                } else {
-                       size = mono_class_value_size (class, &align);
+                       size = mono_class_value_size (klass, &align);
                }
 
                if (size != 1 && size != 2 && size != 4 && size != 8)
@@ -957,14 +957,14 @@ class_type_info (MonoDomain *domain, MonoClass *class, MonoRgctxInfoType info_ty
                gpointer addr;
                MonoJitInfo *ji;
 
-               if (!mono_class_is_nullable (class))
+               if (!mono_class_is_nullable (klass))
                        /* This can happen since all the entries in MonoGSharedVtMethodInfo are inflated, even those which are not used */
                        return NULL;
 
                if (info_type == MONO_RGCTX_INFO_NULLABLE_CLASS_BOX)
-                       method = mono_class_get_method_from_name (class, "Box", 1);
+                       method = mono_class_get_method_from_name (klass, "Box", 1);
                else
-                       method = mono_class_get_method_from_name (class, "Unbox", 1);
+                       method = mono_class_get_method_from_name (klass, "Unbox", 1);
 
                addr = mono_compile_method (method);
                // The caller uses the gsharedvt call signature
@@ -1123,7 +1123,7 @@ mini_get_gsharedvt_wrapper (gboolean gsharedvt_in, gpointer addr, MonoMethodSign
 
 static gpointer
 instantiate_info (MonoDomain *domain, MonoRuntimeGenericContextInfoTemplate *oti,
-                                 MonoGenericContext *context, MonoClass *class)
+                                 MonoGenericContext *context, MonoClass *klass)
 {
        gpointer data;
        gboolean temporary;
@@ -1143,7 +1143,7 @@ instantiate_info (MonoDomain *domain, MonoRuntimeGenericContextInfoTemplate *oti
                temporary = FALSE;
        }
 
-       data = inflate_info (oti, context, class, temporary);
+       data = inflate_info (oti, context, klass, temporary);
 
        switch (oti->info_type) {
        case MONO_RGCTX_INFO_STATIC_DATA:
@@ -1421,7 +1421,7 @@ instantiate_info (MonoDomain *domain, MonoRuntimeGenericContextInfoTemplate *oti
                                offset += size;
                                break;
                        default:
-                               res->entries [i] = instantiate_info (domain, template, context, class);
+                               res->entries [i] = instantiate_info (domain, template, context, klass);
                                break;
                        }
                }
@@ -1440,16 +1440,16 @@ instantiate_info (MonoDomain *domain, MonoRuntimeGenericContextInfoTemplate *oti
  * LOCKING: loader lock
  */
 static void
-fill_in_rgctx_template_slot (MonoClass *class, int type_argc, int index, gpointer data, MonoRgctxInfoType info_type)
+fill_in_rgctx_template_slot (MonoClass *klass, int type_argc, int index, gpointer data, MonoRgctxInfoType info_type)
 {
-       MonoRuntimeGenericContextTemplate *template = mono_class_get_runtime_generic_context_template (class);
+       MonoRuntimeGenericContextTemplate *template = mono_class_get_runtime_generic_context_template (klass);
        MonoClass *subclass;
 
-       rgctx_template_set_slot (class->image, template, type_argc, index, data, info_type);
+       rgctx_template_set_slot (klass->image, template, type_argc, index, data, info_type);
 
        /* Recurse for all subclasses */
        if (generic_subclass_hash)
-               subclass = g_hash_table_lookup (generic_subclass_hash, class);
+               subclass = g_hash_table_lookup (generic_subclass_hash, klass);
        else
                subclass = NULL;
 
@@ -1520,10 +1520,10 @@ rgctx_info_to_str (MonoRgctxInfoType info_type, gpointer data)
  * LOCKING: loader lock
  */
 static int
-register_info (MonoClass *class, int type_argc, gpointer data, MonoRgctxInfoType info_type)
+register_info (MonoClass *klass, int type_argc, gpointer data, MonoRgctxInfoType info_type)
 {
        int i;
-       MonoRuntimeGenericContextTemplate *template = mono_class_get_runtime_generic_context_template (class);
+       MonoRuntimeGenericContextTemplate *template = mono_class_get_runtime_generic_context_template (klass);
        MonoClass *parent;
        MonoRuntimeGenericContextInfoTemplate *oti;
 
@@ -1536,7 +1536,7 @@ register_info (MonoClass *class, int type_argc, gpointer data, MonoRgctxInfoType
 
        /* Mark the slot as used in all parent classes (until we find
           a parent class which already has it marked used). */
-       parent = class->parent;
+       parent = klass->parent;
        while (parent != NULL) {
                MonoRuntimeGenericContextTemplate *parent_template;
                MonoRuntimeGenericContextInfoTemplate *oti;
@@ -1558,7 +1558,7 @@ register_info (MonoClass *class, int type_argc, gpointer data, MonoRgctxInfoType
 
        /* Fill in the slot in this class and in all subclasses
           recursively. */
-       fill_in_rgctx_template_slot (class, type_argc, i, data, info_type);
+       fill_in_rgctx_template_slot (klass, type_argc, i, data, info_type);
 
        return i;
 }
@@ -1643,18 +1643,18 @@ mini_rgctx_info_type_to_patch_info_type (MonoRgctxInfoType info_type)
 }
 
 static int
-lookup_or_register_info (MonoClass *class, int type_argc, gpointer data, MonoRgctxInfoType info_type,
+lookup_or_register_info (MonoClass *klass, int type_argc, gpointer data, MonoRgctxInfoType info_type,
        MonoGenericContext *generic_context)
 {
        static gboolean inited = FALSE;
        static int max_slot = 0;
 
        MonoRuntimeGenericContextTemplate *rgctx_template =
-               mono_class_get_runtime_generic_context_template (class);
+               mono_class_get_runtime_generic_context_template (klass);
        MonoRuntimeGenericContextInfoTemplate *oti_list, *oti;
        int i;
 
-       class = get_shared_class (class);
+       klass = get_shared_class (klass);
 
        mono_loader_lock ();
 
@@ -1667,7 +1667,7 @@ lookup_or_register_info (MonoClass *class, int type_argc, gpointer data, MonoRgc
                        if (oti->info_type != info_type || !oti->data)
                                continue;
 
-                       inflated_data = inflate_info (oti, generic_context, class, TRUE);
+                       inflated_data = inflate_info (oti, generic_context, klass, TRUE);
 
                        if (info_equal (data, inflated_data, info_type)) {
                                free_inflated_info (info_type, inflated_data);
@@ -1679,7 +1679,7 @@ lookup_or_register_info (MonoClass *class, int type_argc, gpointer data, MonoRgc
        }
 
        /* We haven't found the info */
-       i = register_info (class, type_argc, data, info_type);
+       i = register_info (klass, type_argc, data, info_type);
 
        mono_loader_unlock ();
 
@@ -1709,7 +1709,7 @@ guint32
 mono_method_lookup_or_register_info (MonoMethod *method, gboolean in_mrgctx, gpointer data,
        MonoRgctxInfoType info_type, MonoGenericContext *generic_context)
 {
-       MonoClass *class = method->klass;
+       MonoClass *klass = method->klass;
        int type_argc, index;
 
        if (in_mrgctx) {
@@ -1722,7 +1722,7 @@ mono_method_lookup_or_register_info (MonoMethod *method, gboolean in_mrgctx, gpo
                type_argc = 0;
        }
 
-       index = lookup_or_register_info (class, type_argc, data, info_type, generic_context);
+       index = lookup_or_register_info (klass, type_argc, data, info_type, generic_context);
 
        //g_print ("rgctx item at index %d argc %d\n", index, type_argc);
 
@@ -1793,8 +1793,8 @@ fill_runtime_generic_context (MonoVTable *class_vtable, MonoRuntimeGenericContex
        gpointer info;
        int i, first_slot, size;
        MonoDomain *domain = class_vtable->domain;
-       MonoClass *class = class_vtable->klass;
-       MonoGenericContext *class_context = class->generic_class ? &class->generic_class->context : NULL;
+       MonoClass *klass = class_vtable->klass;
+       MonoGenericContext *class_context = klass->generic_class ? &klass->generic_class->context : NULL;
        MonoRuntimeGenericContextInfoTemplate oti;
        MonoGenericContext context = { class_context ? class_context->class_inst : NULL, method_inst };
        int rgctx_index;
@@ -1839,10 +1839,10 @@ fill_runtime_generic_context (MonoVTable *class_vtable, MonoRuntimeGenericContex
 
        mono_domain_unlock (domain);
 
-       oti = class_get_rgctx_template_oti (get_shared_class (class),
+       oti = class_get_rgctx_template_oti (get_shared_class (klass),
                                                                                method_inst ? method_inst->type_argc : 0, slot, TRUE, TRUE, &do_free);
        /* This might take the loader lock */
-       info = instantiate_info (domain, &oti, &context, class);
+       info = instantiate_info (domain, &oti, &context, klass);
 
        /*
        if (method_inst)
@@ -2397,7 +2397,7 @@ mono_set_partial_sharing_supported (gboolean supported)
  * function will disappear and generic sharing will always be enabled.
  */
 gboolean
-mono_class_generic_sharing_enabled (MonoClass *class)
+mono_class_generic_sharing_enabled (MonoClass *klass)
 {
        if (gshared_supported)
                return TRUE;
@@ -2483,13 +2483,13 @@ mono_generic_context_equal_deep (MonoGenericContext *context1, MonoGenericContex
  * it doesn't have generic_class set.
  */
 MonoClass*
-mini_class_get_container_class (MonoClass *class)
+mini_class_get_container_class (MonoClass *klass)
 {
-       if (class->generic_class)
-               return class->generic_class->container_class;
+       if (klass->generic_class)
+               return klass->generic_class->container_class;
 
-       g_assert (class->generic_container);
-       return class;
+       g_assert (klass->generic_container);
+       return klass;
 }
 
 /*
@@ -2499,13 +2499,13 @@ mini_class_get_container_class (MonoClass *class)
  * Returns the class's generic context.
  */
 MonoGenericContext*
-mini_class_get_context (MonoClass *class)
+mini_class_get_context (MonoClass *klass)
 {
-       if (class->generic_class)
-               return &class->generic_class->context;
+       if (klass->generic_class)
+               return &klass->generic_class->context;
 
-       g_assert (class->generic_container);
-       return &class->generic_container->context;
+       g_assert (klass->generic_container);
+       return &klass->generic_container->context;
 }
 
 /*
@@ -2800,7 +2800,7 @@ get_shared_gparam (MonoType *t, MonoType *constraint)
        }
        copy->owner = NULL;
        // FIXME:
-       copy->image = mono_defaults.corlib;
+       copy->image = image ? image : mono_defaults.corlib;
 
        copy->gshared_constraint = constraint;
        res = mono_metadata_type_dup (NULL, t);
index d3e3f9338cc50e871d5b50a967790b7e5286016e..e1ca51ba9806b76ac01465f7ad6d8b5f0638ea26 100644 (file)
@@ -4618,6 +4618,8 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
 
        mono_stats.imt_thunks_size += size;
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, size, NULL, NULL), domain);
+
        return start;
 }
 
index 7e3522613f4daf6333429daf2bf7558e6f02972b..f894a7721648c58e1f40e1f0556a192aec0923c6 100644 (file)
@@ -648,11 +648,7 @@ mono_llvm_create_ee (LLVMModuleProviderRef MP, AllocCodeMemoryCb *alloc_cb, Func
   // EngineBuilder no longer has a copy assignment operator (?)
   std::unique_ptr<Module> Owner(unwrap(MP));
   EngineBuilder b (std::move(Owner));
-#ifdef TARGET_AMD64
-  ExecutionEngine *EE = b.setJITMemoryManager (mono_mm).setTargetOptions (opts).setAllocateGVsWithCode (true).setMCPU (cpu_name).setCodeModel (CodeModel::Large).create ();
-#else
   ExecutionEngine *EE = b.setJITMemoryManager (mono_mm).setTargetOptions (opts).setAllocateGVsWithCode (true).setMCPU (cpu_name).create ();
-#endif
 
   g_assert (EE);
   mono_ee->EE = EE;
index b716191f3f62c380e3d95f45583b178a487bba60..af0c5a7de221c1bce80457e11794abd1bfda2c35 100644 (file)
@@ -45,7 +45,7 @@ void bzero (void *to, size_t count) { memset (to, 0, count); }
   */
 typedef struct {
        LLVMModuleRef module;
-       LLVMValueRef throw, rethrow, throw_corlib_exception;
+       LLVMValueRef throw, rethrow, throw_corlib_exception, state_poll;
        GHashTable *llvm_types;
        LLVMValueRef got_var;
        const char *got_symbol;
@@ -357,7 +357,7 @@ create_llvm_type_for_type (MonoClass *klass)
 
        t = &klass->byval_arg;
 
-       if (mini_type_is_hfa (t, &nfields, &esize)) {
+       if (mini_type_is_hfa (t, &nfields, &esize) && nfields <= 4) {
                /*
                 * This is needed on arm64 where HFAs are returned in
                 * registers.
@@ -1186,6 +1186,9 @@ sig_to_llvm_sig_full (EmitContext *ctx, MonoMethodSignature *sig, LLVMCallInfo *
 
                                members [0] = IntPtrType ();
                                ret_type = LLVMStructType (members, 1, FALSE);
+                       } else if (cinfo->ret.pair_storage [0] == LLVMArgNone && cinfo->ret.pair_storage [1] == LLVMArgNone) {
+                               /* Empty struct */
+                               ret_type = LLVMVoidType ();
                        } else {
                                g_assert_not_reached ();
                        }
@@ -2252,14 +2255,6 @@ emit_entry_bb (EmitContext *ctx, LLVMBuilderRef builder)
        ;
 }
 
-/* Have to export this for AOT */
-void
-mono_personality (void)
-{
-       /* Not used */
-       g_assert_not_reached ();
-}
-
 static void
 process_call (EmitContext *ctx, MonoBasicBlock *bb, LLVMBuilderRef *builder_ref, MonoInst *ins)
 {
@@ -2546,6 +2541,10 @@ process_call (EmitContext *ctx, MonoBasicBlock *bb, LLVMBuilderRef *builder_ref,
                case LLVMArgVtypeInReg: {
                        LLVMValueRef regs [2];
 
+                       if (LLVMTypeOf (lcall) == LLVMVoidType ())
+                               /* Empty struct */
+                               break;
+
                        if (!addresses [ins->dreg])
                                addresses [ins->dreg] = build_alloca (ctx, sig->ret);
 
@@ -2622,7 +2621,7 @@ emit_handler_start (EmitContext *ctx, MonoBasicBlock *bb, LLVMBuilderRef builder
 
        if (cfg->compile_aot) {
                /* Use a dummy personality function */
-               personality = LLVMGetNamedFunction (module, "mono_aot_personality");
+               personality = LLVMGetNamedFunction (module, "mono_personality");
                g_assert (personality);
        } else {
                personality = LLVMGetNamedFunction (module, "mono_personality");
@@ -2759,7 +2758,7 @@ process_bb (EmitContext *ctx, MonoBasicBlock *bb)
 
        if (bb->flags & BB_EXCEPTION_HANDLER) {
                if (!bblocks [bb->block_num].invoke_target) {
-                       //LLVM_FAILURE (ctx, "handler without invokes");
+                       LLVM_FAILURE (ctx, "handler without invokes");
                }
 
                emit_handler_start (ctx, bb, builder);
@@ -4726,6 +4725,50 @@ process_bb (EmitContext *ctx, MonoBasicBlock *bb)
 
                case OP_DUMMY_USE:
                        break;
+               case OP_GC_SAFE_POINT: {
+                       LLVMValueRef callee, cmp, val;
+                       LLVMTypeRef llvm_sig;
+                       const char *icall_name;
+                       LLVMBasicBlockRef poll_bb, cont_bb;
+
+                       poll_bb = gen_bb (ctx, "POLL_BB");
+                       cont_bb = gen_bb (ctx, "NOPOLL_BB");
+
+                       val = LLVMBuildLoad (ctx->builder, convert (ctx, lhs, LLVMPointerType (LLVMInt8Type (), 0)), "");
+                       cmp = LLVMBuildICmp (builder, LLVMIntEQ, val, LLVMConstInt (LLVMTypeOf (val), 0, FALSE), "");
+                       LLVMBuildCondBr (ctx->builder, cmp, cont_bb, poll_bb);
+
+                       builder = ctx->builder = create_builder (ctx);
+                       LLVMPositionBuilderAtEnd (builder, poll_bb);
+
+                       callee = ctx->lmodule->state_poll;
+                       if (!callee) {
+                               MonoMethodSignature *sig = mono_metadata_signature_alloc (mono_get_corlib (), 0);
+                               sig->ret = &mono_get_void_class ()->byval_arg;
+                               llvm_sig = sig_to_llvm_sig (ctx, sig);
+                               icall_name = "mono_threads_state_poll";
+
+                               if (ctx->cfg->compile_aot) {
+                                       callee = get_plt_entry (ctx, llvm_sig, MONO_PATCH_INFO_INTERNAL_METHOD, icall_name);
+                               } else {
+                                       callee = LLVMAddFunction (ctx->module, icall_name, llvm_sig);
+                                       LLVMAddGlobalMapping (ctx->lmodule->ee, callee, resolve_patch (ctx->cfg, MONO_PATCH_INFO_INTERNAL_METHOD, icall_name));
+                               }
+                               ctx->lmodule->state_poll = callee;
+                       }
+                       //
+                       // FIXME: This can use the PreserveAll cconv to avoid clobbering registers.
+                       // It requires the wrapper to also use that calling convention.
+                       //
+                       val = emit_call (ctx, bb, &builder, callee, NULL, 0);
+                       LLVMBuildBr (builder, cont_bb);
+
+                       builder = ctx->builder = create_builder (ctx);
+                       LLVMPositionBuilderAtEnd (builder, cont_bb);
+
+                       bblocks [bb->block_num].end_bblock = cont_bb;
+                       break;
+               }
 
                        /*
                         * EXCEPTION HANDLING
@@ -6015,21 +6058,6 @@ mono_llvm_create_aot_module (MonoAssembly *assembly, const char *global_prefix,
                LLVMSetInitializer (lmodule->got_var, LLVMConstNull (got_type));
        }
 
-       /* Add a dummy personality function */
-       {
-               LLVMBasicBlockRef lbb;
-               LLVMBuilderRef lbuilder;
-               LLVMValueRef personality;
-
-               personality = LLVMAddFunction (lmodule->module, "mono_aot_personality", LLVMFunctionType (LLVMVoidType (), NULL, 0, FALSE));
-               LLVMSetLinkage (personality, LLVMInternalLinkage);
-               lbb = LLVMAppendBasicBlock (personality, "BB0");
-               lbuilder = LLVMCreateBuilder ();
-               LLVMPositionBuilderAtEnd (lbuilder, lbb);
-               LLVMBuildRetVoid (lbuilder);
-               mark_as_used (lmodule, personality);
-       }
-
        lmodule->llvm_types = g_hash_table_new (NULL, NULL);
        lmodule->plt_entries = g_hash_table_new (g_str_hash, g_str_equal);
        lmodule->plt_entries_ji = g_hash_table_new (NULL, NULL);
@@ -6094,7 +6122,7 @@ AddJitGlobal (MonoLLVMModule *lmodule, LLVMTypeRef type, const char *name)
        LLVMValueRef v;
 
        s = g_strdup_printf ("%s%s", lmodule->global_prefix, name);
-       v = LLVMAddGlobal (lmodule->module, type, s);
+       v = LLVMAddGlobal (lmodule->module, LLVMInt8Type (), s);
        g_free (s);
        return v;
 }
@@ -6205,6 +6233,9 @@ emit_aot_file_info (MonoLLVMModule *lmodule)
                fields [tindex ++] = LLVMConstNull (eltype);
        }
 
+       for (i = 0; i < MONO_AOT_FILE_INFO_NUM_SYMBOLS; ++i)
+               fields [2 + i] = LLVMConstBitCast (fields [2 + i], eltype);
+
        /* Scalars */
        fields [tindex ++] = LLVMConstInt (LLVMInt32Type (), info->plt_got_offset_base, FALSE);
        fields [tindex ++] = LLVMConstInt (LLVMInt32Type (), info->got_size, FALSE);
index 25fc8541880598d12311a1ca285ea09400987cf3..362fa3a14bac36bfaf82a57b24611e83821e706b 100644 (file)
@@ -544,7 +544,7 @@ mono_arch_get_argument_info (MonoMethodSignature *csig, int param_count, MonoJit
 #define MAX_ARCH_DELEGATE_PARAMS (4 - 1)
 
 static gpointer
-get_delegate_invoke_impl (gboolean has_target, gboolean param_count, guint32 *code_size)
+get_delegate_invoke_impl (MonoTrampInfo **info, gboolean has_target, gboolean param_count)
 {
        guint8 *code, *start;
 
@@ -579,8 +579,13 @@ get_delegate_invoke_impl (gboolean has_target, gboolean param_count, guint32 *co
                mono_arch_flush_icache (start, size);
        }
 
-       if (code_size)
-               *code_size = code - start;
+       if (has_target) {
+               *info = mono_tramp_info_create ("delegate_invoke_impl_has_target", start, code - start, NULL, NULL);
+       } else {
+               char *name = g_strdup_printf ("delegate_invoke_impl_target_%d", param_count);
+               *info = mono_tramp_info_create (name, start, code - start, NULL, NULL);
+               g_free (name);
+       }
 
        return start;
 }
@@ -595,19 +600,15 @@ GSList*
 mono_arch_get_delegate_invoke_impls (void)
 {
        GSList *res = NULL;
-       guint8 *code;
-       guint32 code_len;
+       MonoTrampInfo *info;
        int i;
-       char *tramp_name;
 
-       code = get_delegate_invoke_impl (TRUE, 0, &code_len);
-       res = g_slist_prepend (res, mono_tramp_info_create ("delegate_invoke_impl_has_target", code, code_len, NULL, NULL));
+       get_delegate_invoke_impl (&info, TRUE, 0);
+       res = g_slist_prepend (res, info);
 
        for (i = 0; i <= MAX_ARCH_DELEGATE_PARAMS; ++i) {
-               code = get_delegate_invoke_impl (FALSE, i, &code_len);
-               tramp_name = g_strdup_printf ("delegate_invoke_impl_target_%d", i);
-               res = g_slist_prepend (res, mono_tramp_info_create (tramp_name, code, code_len, NULL, NULL));
-               g_free (tramp_name);
+               get_delegate_invoke_impl (&info, FALSE, i);
+               res = g_slist_prepend (res, info);
        }
 
        return res;
@@ -630,10 +631,13 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe
                        return cached;
                }
 
-               if (mono_aot_only)
+               if (mono_aot_only) {
                        start = mono_aot_get_trampoline ("delegate_invoke_impl_has_target");
-               else
-                       start = get_delegate_invoke_impl (TRUE, 0, NULL);
+               } else {
+                       MonoTrampInfo *info;
+                       start = get_delegate_invoke_impl (&info, TRUE, 0);
+                       mono_tramp_info_register (info, NULL);
+               }
                cached = start;
                mono_mini_arch_unlock ();
                return cached;
@@ -659,7 +663,9 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe
                        start = mono_aot_get_trampoline (name);
                        g_free (name);
                } else {
-                       start = get_delegate_invoke_impl (FALSE, sig->param_count, NULL);
+                       MonoTrampInfo *info;
+                       start = get_delegate_invoke_impl (&info, FALSE, sig->param_count);
+                       mono_tramp_info_register (info, NULL);
                }
                cache [sig->param_count] = start;
                mono_mini_arch_unlock ();
@@ -5813,13 +5819,13 @@ mono_arch_emit_this_vret_args (MonoCompile *cfg, MonoCallInst *inst, int this_re
 
        /* add the this argument */
        if (this_reg != -1) {
-               MonoInst *this;
-               MONO_INST_NEW (cfg, this, OP_MOVE);
-               this->type = this_type;
-               this->sreg1 = this_reg;
-               this->dreg = mono_alloc_ireg (cfg);
-               mono_bblock_add_inst (cfg->cbb, this);
-               mono_call_inst_add_outarg_reg (cfg, inst, this->dreg, this_dreg, FALSE);
+               MonoInst *this_ins;
+               MONO_INST_NEW (cfg, this_ins, OP_MOVE);
+               this_ins->type = this_type;
+               this_ins->sreg1 = this_reg;
+               this_ins->dreg = mono_alloc_ireg (cfg);
+               mono_bblock_add_inst (cfg->cbb, this_ins);
+               mono_call_inst_add_outarg_reg (cfg, inst, this_ins->dreg, this_dreg, FALSE);
        }
 
        if (vt_reg != -1) {
@@ -6004,6 +6010,9 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
                mono_stats.imt_thunks_size += code - start;
        g_assert (code - start <= size);
        mono_arch_flush_icache (start, size);
+
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL), domain);
+
        return start;
 }
 
index b2a08666096f48f91f8b6b5fa65898484be9caaa..4ff795aeb6cb9fb6d7bb3731a1238b0e698b2cec 100644 (file)
@@ -1076,10 +1076,7 @@ MINI_OP(OP_GC_PARAM_SLOT_LIVENESS_DEF, "gc_param_slot_liveness_def", NONE, NONE,
 MINI_OP(OP_GENERIC_CLASS_INIT, "generic_class_init", NONE, IREG, NONE)
 
 /* Arch specific opcodes */
-/* #if defined(__native_client_codegen__) || defined(__native_client__) */
-/* We have to define these in terms of the TARGET defines, not NaCl defines */
-/* because genmdesc.pl doesn't have multiple defines per platform.          */
-#if defined(TARGET_AMD64) || defined(TARGET_X86)
+#if defined(TARGET_AMD64) || defined(TARGET_X86) || defined(TARGET_ARM) || defined(TARGET_ARM64)
 MINI_OP(OP_GC_SAFE_POINT,     "gc_safe_point", NONE, IREG, NONE)
 #endif
 
index 5bc983ae8cd6582787768fb692e4682291758291..fe5cc782f833f26e4d965be3e4667654fc703f5d 100644 (file)
@@ -96,6 +96,12 @@ mono_runtime_install_handlers (void)
 }
 #endif
 
+void
+mono_runtime_posix_install_handlers(void)
+{
+
+}
+
 void
 mono_runtime_shutdown_handlers (void)
 {
@@ -205,7 +211,7 @@ MONO_SIG_HANDLER_FUNC (static, sigabrt_signal_handler)
        MONO_SIG_HANDLER_GET_CONTEXT;
 
        if (mono_thread_internal_current ())
-               ji = mono_jit_info_table_find (mono_domain_get (), mono_arch_ip_from_context (ctx));
+               ji = mono_jit_info_table_find_internal (mono_domain_get (), mono_arch_ip_from_context (ctx), TRUE, TRUE);
        if (!ji) {
         if (mono_chain_signal (MONO_SIG_HANDLER_PARAMS))
                        return;
index 976a7f2a518c25e2e6a5db63c7b049f6c216f24b..70c4d8cd5d0a8cf8e6fca67fee73f04e01e7fc64 100644 (file)
@@ -206,7 +206,7 @@ emit_memcpy (guint8 *code, int size, int dreg, int doffset, int sreg, int soffse
        }
 #ifdef __mono_ppc64__
        /* the hardware has multiple load/store units and the move is long
-          enough to use more then one regiester, then use load/load/store/store
+          enough to use more then one register, then use load/load/store/store
           to execute 2 instructions per cycle. */
        if ((cpu_hw_caps & PPC_MULTIPLE_LS_UNITS) && (dreg != ppc_r11) && (sreg != ppc_r11)) { 
                while (size >= 16) {
@@ -380,7 +380,7 @@ mono_ppc_is_direct_call_sequence (guint32 *code)
 #define MAX_ARCH_DELEGATE_PARAMS 7
 
 static gpointer
-get_delegate_invoke_impl (gboolean has_target, guint32 param_count, guint32 *code_len, gboolean aot)
+get_delegate_invoke_impl (MonoTrampInfo **info, gboolean has_target, guint32 param_count, gboolean aot)
 {
        guint8 *code, *start;
 
@@ -430,8 +430,13 @@ get_delegate_invoke_impl (gboolean has_target, guint32 param_count, guint32 *cod
                mono_arch_flush_icache (start, size);
        }
 
-       if (code_len)
-               *code_len = code - start;
+       if (has_target) {
+               *info = mono_tramp_info_create ("delegate_invoke_impl_has_target", start, code - start, NULL, NULL);
+       } else {
+               char *name = g_strdup_printf ("delegate_invoke_impl_target_%d", param_count);
+               *info = mono_tramp_info_create (name, start, code - start, NULL, NULL);
+               g_free (name);
+       }
 
        return start;
 }
@@ -440,19 +445,15 @@ GSList*
 mono_arch_get_delegate_invoke_impls (void)
 {
        GSList *res = NULL;
-       guint8 *code;
-       guint32 code_len;
+       MonoTrampInfo *info;
        int i;
-       char *tramp_name;
 
-       code = get_delegate_invoke_impl (TRUE, 0, &code_len, TRUE);
-       res = g_slist_prepend (res, mono_tramp_info_create ("delegate_invoke_impl_has_target", code, code_len, NULL, NULL));
+       get_delegate_invoke_impl (&info, TRUE, 0, TRUE);
+       res = g_slist_prepend (res, info);
 
-       for (i = 0; i < MAX_ARCH_DELEGATE_PARAMS; ++i) {
-               code = get_delegate_invoke_impl (FALSE, i, &code_len, TRUE);
-               tramp_name = g_strdup_printf ("delegate_invoke_impl_target_%d", i);
-               res = g_slist_prepend (res, mono_tramp_info_create (tramp_name, code, code_len, NULL, NULL));
-               g_free (tramp_name);
+       for (i = 0; i <= MAX_ARCH_DELEGATE_PARAMS; ++i) {
+               get_delegate_invoke_impl (&info, FALSE, i, TRUE);
+               res = g_slist_prepend (res, info);
        }
 
        return res;
@@ -473,11 +474,13 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe
                if (cached)
                        return cached;
 
-               if (mono_aot_only)
+               if (mono_aot_only) {
                        start = mono_aot_get_trampoline ("delegate_invoke_impl_has_target");
-               else
-                       start = get_delegate_invoke_impl (TRUE, 0, NULL, FALSE);
-
+               } else {
+                       MonoTrampInfo *info;
+                       start = get_delegate_invoke_impl (&info, TRUE, 0, FALSE);
+                       mono_tramp_info_register (info, NULL);
+               }
                mono_memory_barrier ();
 
                cached = start;
@@ -501,7 +504,9 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe
                        start = mono_aot_get_trampoline (name);
                        g_free (name);
                } else {
-                       start = get_delegate_invoke_impl (FALSE, sig->param_count, NULL, FALSE);
+                       MonoTrampInfo *info;
+                       start = get_delegate_invoke_impl (&info, FALSE, sig->param_count, FALSE);
+                       mono_tramp_info_register (info, NULL);
                }
 
                mono_memory_barrier ();
@@ -867,18 +872,19 @@ enum {
        RegTypeBase,
        RegTypeFP,
        RegTypeStructByVal,
-       RegTypeStructByAddr
+       RegTypeStructByAddr,
+       RegTypeFPStructByVal,  // For the v2 ABI, floats should be passed in FRs instead of GRs.  Only valid for ABI v2!
 };
 
 typedef struct {
        gint32  offset;
        guint32 vtsize; /* in param area */
        guint8  reg;
-       guint8  vtregs; /* number of registers used to pass a RegTypeStructByVal */
+       guint8  vtregs; /* number of registers used to pass a RegTypeStructByVal/RegTypeFPStructByVal */
        guint8  regtype : 4; /* 0 general, 1 basereg, 2 floating point register, see RegType* */
-       guint8  size    : 4; /* 1, 2, 4, 8, or regs used by RegTypeStructByVal */
+       guint8  size    : 4; /* 1, 2, 4, 8, or regs used by RegTypeStructByVal/RegTypeFPStructByVal */
        guint8  bytes   : 4; /* size in bytes - only valid for
-                               RegTypeStructByVal if the struct fits
+                               RegTypeStructByVal/RegTypeFPStructByVal if the struct fits
                                in one word, otherwise it's 0*/
 } ArgInfo;
 
@@ -934,7 +940,7 @@ add_general (guint *gr, guint *stack_size, ArgInfo *ainfo, gboolean simple)
        (*gr) ++;
 }
 
-#if defined(__APPLE__) || defined(__mono_ppc64__)
+#if defined(__APPLE__) || (defined(__mono_ppc64__) && !PPC_PASS_SMALL_FLOAT_STRUCTS_IN_FR_REGS)
 static gboolean
 has_only_a_r48_field (MonoClass *klass)
 {
@@ -1071,9 +1077,7 @@ get_call_info (MonoMethodSignature *sig)
                case MONO_TYPE_VALUETYPE:
                case MONO_TYPE_TYPEDBYREF: {
                        gint size;
-                       MonoClass *klass;
-
-                       klass = mono_class_from_mono_type (sig->params [i]);
+                       MonoClass *klass = mono_class_from_mono_type (sig->params [i]);
                        if (simpletype->type == MONO_TYPE_TYPEDBYREF)
                                size = sizeof (MonoTypedRef);
                        else if (is_pinvoke)
@@ -1081,7 +1085,7 @@ get_call_info (MonoMethodSignature *sig)
                        else
                            size = mono_class_value_size (klass, NULL);
 
-#if defined(__APPLE__) || defined(__mono_ppc64__)
+#if defined(__APPLE__) || (defined(__mono_ppc64__) && !PPC_PASS_SMALL_FLOAT_STRUCTS_IN_FR_REGS)
                        if ((size == 4 || size == 8) && has_only_a_r48_field (klass)) {
                                cinfo->args [n].size = size;
 
@@ -1091,8 +1095,10 @@ get_call_info (MonoMethodSignature *sig)
                                        cinfo->args [n].reg = fr;
                                        fr ++;
                                        FP_ALSO_IN_REG (gr ++);
+#if !defined(__mono_ppc64__)
                                        if (size == 8)
                                                FP_ALSO_IN_REG (gr ++);
+#endif
                                        ALWAYS_ON_STACK (stack_size += size);
                                } else {
                                        cinfo->args [n].offset = PPC_STACK_PARAM_OFFSET + stack_size;
@@ -1112,24 +1118,57 @@ get_call_info (MonoMethodSignature *sig)
                                int align_size = size;
                                int nregs = 0;
                                int rest = PPC_LAST_ARG_REG - gr + 1;
-                               int n_in_regs;
-
-                               align_size += (sizeof (gpointer) - 1);
-                               align_size &= ~(sizeof (gpointer) - 1);
-                               nregs = (align_size + sizeof (gpointer) -1 ) / sizeof (gpointer);
-                               n_in_regs = MIN (rest, nregs);
-                               if (n_in_regs < 0)
-                                       n_in_regs = 0;
+                               int n_in_regs = 0;
+
+#if PPC_PASS_SMALL_FLOAT_STRUCTS_IN_FR_REGS
+                               int mbr_cnt = 0;
+                               int mbr_size = 0;
+                               gboolean is_all_floats = mini_type_is_hfa (sig->params [i], &mbr_cnt, &mbr_size);
+
+                               if (is_all_floats && (mbr_cnt <= 8)) {
+                                       rest = PPC_LAST_FPARG_REG - fr + 1;
+                               }
+                               // Pass small (<= 8 member) structures entirely made up of either float or double members
+                               // in FR registers.  There have to be at least mbr_cnt registers left.
+                               if (is_all_floats &&
+                                        (rest >= mbr_cnt) &&
+                                        (mbr_cnt <= 8)) {
+                                       nregs = mbr_cnt;
+                                       n_in_regs = MIN (rest, nregs);
+                                       cinfo->args [n].regtype = RegTypeFPStructByVal;
+                                       cinfo->args [n].vtregs = n_in_regs;
+                                       cinfo->args [n].size = mbr_size;
+                                       cinfo->args [n].vtsize = nregs - n_in_regs;
+                                       cinfo->args [n].reg = fr;
+                                       fr += n_in_regs;
+                                       if (mbr_size == 4) {
+                                               // floats
+                                               FP_ALSO_IN_REG (gr += (n_in_regs+1)/2);
+                                       } else {
+                                               // doubles
+                                               FP_ALSO_IN_REG (gr += (n_in_regs));
+                                       }
+                               } else
+#endif
+                               {
+                                       align_size += (sizeof (gpointer) - 1);
+                                       align_size &= ~(sizeof (gpointer) - 1);
+                                       nregs = (align_size + sizeof (gpointer) -1 ) / sizeof (gpointer);
+                                       n_in_regs = MIN (rest, nregs);
+                                       if (n_in_regs < 0)
+                                               n_in_regs = 0;
 #ifdef __APPLE__
-                               /* FIXME: check this */
-                               if (size >= 3 && size % 4 != 0)
-                                       n_in_regs = 0;
+                                       /* FIXME: check this */
+                                       if (size >= 3 && size % 4 != 0)
+                                               n_in_regs = 0;
 #endif
-                               cinfo->args [n].regtype = RegTypeStructByVal;
-                               cinfo->args [n].vtregs = n_in_regs;
-                               cinfo->args [n].size = n_in_regs;
-                               cinfo->args [n].vtsize = nregs - n_in_regs;
-                               cinfo->args [n].reg = gr;
+                                       cinfo->args [n].regtype = RegTypeStructByVal;
+                                       cinfo->args [n].vtregs = n_in_regs;
+                                       cinfo->args [n].size = n_in_regs;
+                                       cinfo->args [n].vtsize = nregs - n_in_regs;
+                                       cinfo->args [n].reg = gr;
+                                       gr += n_in_regs;
+                               }
 
 #ifdef __mono_ppc64__
                                if (nregs == 1 && is_pinvoke)
@@ -1137,7 +1176,6 @@ get_call_info (MonoMethodSignature *sig)
                                else
 #endif
                                        cinfo->args [n].bytes = 0;
-                               gr += n_in_regs;
                                cinfo->args [n].offset = PPC_STACK_PARAM_OFFSET + stack_size;
                                /*g_print ("offset for arg %d at %d\n", n, PPC_STACK_PARAM_OFFSET + stack_size);*/
                                stack_size += nregs * sizeof (gpointer);
@@ -1160,7 +1198,10 @@ get_call_info (MonoMethodSignature *sig)
                        cinfo->args [n].size = 4;
 
                        /* It was 7, now it is 8 in LinuxPPC */
-                       if (fr <= PPC_LAST_FPARG_REG) {
+                       if (fr <= PPC_LAST_FPARG_REG
+                       // For non-native vararg calls the parms must go in storage
+                                && !(!sig->pinvoke && (sig->call_convention == MONO_CALL_VARARG))
+                               ) {
                                cinfo->args [n].regtype = RegTypeFP;
                                cinfo->args [n].reg = fr;
                                fr ++;
@@ -1177,7 +1218,10 @@ get_call_info (MonoMethodSignature *sig)
                case MONO_TYPE_R8:
                        cinfo->args [n].size = 8;
                        /* It was 7, now it is 8 in LinuxPPC */
-                       if (fr <= PPC_LAST_FPARG_REG) {
+                       if (fr <= PPC_LAST_FPARG_REG
+                       // For non-native vararg calls the parms must go in storage
+                                && !(!sig->pinvoke && (sig->call_convention == MONO_CALL_VARARG))
+                                ) {
                                cinfo->args [n].regtype = RegTypeFP;
                                cinfo->args [n].reg = fr;
                                fr ++;
@@ -1349,7 +1393,7 @@ mono_arch_allocate_vars (MonoCompile *m)
                m->ret->inst_c0 = m->ret->dreg = ppc_r3;
        } else {
                /* FIXME: handle long values? */
-               switch (mini_get_underlying_type (m, sig->ret)->type) {
+               switch (mini_get_underlying_type (sig->ret)->type) {
                case MONO_TYPE_VOID:
                        break;
                case MONO_TYPE_R4:
@@ -1592,6 +1636,17 @@ mono_arch_emit_call (MonoCompile *cfg, MonoCallInst *call)
                        ins->inst_p1 = mono_mempool_alloc (cfg->mempool, sizeof (ArgInfo));
                        memcpy (ins->inst_p1, ainfo, sizeof (ArgInfo));
                        MONO_ADD_INS (cfg->cbb, ins);
+               } else if (ainfo->regtype == RegTypeFPStructByVal) {
+                       /* this is further handled in mono_arch_emit_outarg_vt () */
+                       MONO_INST_NEW (cfg, ins, OP_OUTARG_VT);
+                       ins->opcode = OP_OUTARG_VT;
+                       ins->sreg1 = in->dreg;
+                       ins->klass = in->klass;
+                       ins->inst_p0 = call;
+                       ins->inst_p1 = mono_mempool_alloc (cfg->mempool, sizeof (ArgInfo));
+                       memcpy (ins->inst_p1, ainfo, sizeof (ArgInfo));
+                       MONO_ADD_INS (cfg->cbb, ins);
+                       cfg->flags |= MONO_CFG_HAS_FPOUT;
                } else if (ainfo->regtype == RegTypeBase) {
                        if (!t->byref && ((t->type == MONO_TYPE_I8) || (t->type == MONO_TYPE_U8))) {
                                MONO_EMIT_NEW_STORE_MEMBASE (cfg, OP_STOREI8_MEMBASE_REG, ppc_r1, ainfo->offset, in->dreg);
@@ -1695,20 +1750,39 @@ mono_arch_emit_outarg_vt (MonoCompile *cfg, MonoInst *ins, MonoInst *src)
                } else
 #endif
                        for (i = 0; i < ainfo->vtregs; ++i) {
+                               dreg = mono_alloc_ireg (cfg);
+#if G_BYTE_ORDER == G_BIG_ENDIAN
                                int antipadding = 0;
                                if (ainfo->bytes) {
                                        g_assert (i == 0);
                                        antipadding = sizeof (gpointer) - ainfo->bytes;
                                }
-                               dreg = mono_alloc_ireg (cfg);
                                MONO_EMIT_NEW_LOAD_MEMBASE (cfg, dreg, src->dreg, soffset);
                                if (antipadding)
                                        MONO_EMIT_NEW_BIALU_IMM (cfg, OP_SHR_UN_IMM, dreg, dreg, antipadding * 8);
+#else
+                               MONO_EMIT_NEW_LOAD_MEMBASE (cfg, dreg, src->dreg, soffset);
+#endif
                                mono_call_inst_add_outarg_reg (cfg, call, dreg, ainfo->reg + i, FALSE);
                                soffset += sizeof (gpointer);
                        }
                if (ovf_size != 0)
                        mini_emit_memcpy (cfg, ppc_r1, doffset + soffset, src->dreg, soffset, ovf_size * sizeof (gpointer), 0);
+       } else if (ainfo->regtype == RegTypeFPStructByVal) {
+               soffset = 0;
+               for (i = 0; i < ainfo->vtregs; ++i) {
+                       int tmpr = mono_alloc_freg (cfg);
+                       if (ainfo->size == 4)
+                               MONO_EMIT_NEW_LOAD_MEMBASE_OP (cfg, OP_LOADR4_MEMBASE, tmpr, src->dreg, soffset);
+                       else // ==8
+                               MONO_EMIT_NEW_LOAD_MEMBASE_OP (cfg, OP_LOADR8_MEMBASE, tmpr, src->dreg, soffset);
+                       dreg = mono_alloc_freg (cfg);
+                       MONO_EMIT_NEW_UNALU (cfg, OP_FMOVE, dreg, tmpr);
+                       mono_call_inst_add_outarg_reg (cfg, call, dreg, ainfo->reg+i, TRUE);
+                       soffset += ainfo->size;
+                       }
+               if (ovf_size != 0)
+                       mini_emit_memcpy (cfg, ppc_r1, doffset + soffset, src->dreg, soffset, ovf_size * sizeof (gpointer), 0);
        } else if (ainfo->regtype == RegTypeFP) {
                int tmpr = mono_alloc_freg (cfg);
                if (ainfo->size == 4)
@@ -1877,6 +1951,7 @@ mono_arch_instrument_epilog_full (MonoCompile *cfg, void *func, void *p, gboolea
                if (enable_arguments) {
                        /* FIXME: get the actual address  */
                        ppc_mr (code, ppc_r4, ppc_r3);
+                       // FIXME: Support the new v2 ABI!
                }
                break;
        case SAVE_NONE:
@@ -3733,6 +3808,14 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        if (ins->dreg != ins->sreg1)
                                ppc_fmr (code, ins->dreg, ins->sreg1);
                        break;
+               case OP_MOVE_F_TO_I4:
+                       ppc_stfs (code, ins->sreg1, -4, ppc_r1);
+                       ppc_ldptr (code, ins->dreg, -4, ppc_r1);
+                       break;
+               case OP_MOVE_I4_TO_F:
+                       ppc_stw (code, ins->sreg1, -4, ppc_r1);
+                       ppc_lfs (code, ins->dreg, -4, ppc_r1);
+                       break;
                case OP_FCONV_TO_R4:
                        ppc_frsp (code, ins->dreg, ins->sreg1);
                        break;
@@ -3861,6 +3944,16 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        ppc_ldptr (code, ppc_r2, 8, ins->sreg1);
                        ppc_mtlr (code, ppc_r0);
 #else
+#if (_CALL_ELF == 2)
+                       if (ins->flags & MONO_INST_HAS_METHOD) {
+                         // Not a global entry point
+                       } else {
+                                // Need to set up r12 with function entry address for global entry point
+                                if (ppc_r12 != ins->sreg1) {
+                                        ppc_mr(code,ppc_r12,ins->sreg1);
+                                }
+                       }
+#endif
                        ppc_mtlr (code, ins->sreg1);
 #endif
                        ppc_blrl (code);
@@ -4415,6 +4508,22 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        else
                                ppc_mr (code, ins->dreg, ins->sreg1);
                        break;
+#else
+               case OP_ICONV_TO_R4:
+               case OP_ICONV_TO_R8: {
+                       if (cpu_hw_caps & PPC_ISA_64) {
+                               ppc_srawi(code, ppc_r0, ins->sreg1, 31);
+                               ppc_stw (code, ppc_r0, -8, ppc_r1);
+                               ppc_stw (code, ins->sreg1, -4, ppc_r1);
+                               ppc_lfd (code, ins->dreg, -8, ppc_r1);
+                               ppc_fcfid (code, ins->dreg, ins->dreg);
+                               if (ins->opcode == OP_ICONV_TO_R4)
+                                       ppc_frsp (code, ins->dreg, ins->dreg);
+                               }
+                       break;
+               }
+#endif
+
                case OP_ATOMIC_ADD_I4:
                CASE_PPC64 (OP_ATOMIC_ADD_I8) {
                        int location = ins->inst_basereg;
@@ -4448,21 +4557,6 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        ppc_mr (code, ins->dreg, ppc_r0);
                        break;
                }
-#else
-               case OP_ICONV_TO_R4:
-               case OP_ICONV_TO_R8: {
-                       if (cpu_hw_caps & PPC_ISA_64) {
-                               ppc_srawi(code, ppc_r0, ins->sreg1, 31);
-                               ppc_stw (code, ppc_r0, -8, ppc_r1);
-                               ppc_stw (code, ins->sreg1, -4, ppc_r1);
-                               ppc_lfd (code, ins->dreg, -8, ppc_r1);
-                               ppc_fcfid (code, ins->dreg, ins->dreg);
-                               if (ins->opcode == OP_ICONV_TO_R4)
-                                       ppc_frsp (code, ins->dreg, ins->dreg);
-                               }
-                       break;
-               }
-#endif
                case OP_ATOMIC_CAS_I4:
                CASE_PPC64 (OP_ATOMIC_CAS_I8) {
                        int location = ins->sreg1;
@@ -5008,6 +5102,25 @@ mono_arch_emit_prolog (MonoCompile *cfg)
                                        ppc_stfs (code, ainfo->reg, inst->inst_offset, inst->inst_basereg);
                                else
                                        g_assert_not_reached ();
+                        } else if (ainfo->regtype == RegTypeFPStructByVal) {
+                               int doffset = inst->inst_offset;
+                               int soffset = 0;
+                               int cur_reg;
+                               int size = 0;
+                               g_assert (ppc_is_imm16 (inst->inst_offset));
+                               g_assert (ppc_is_imm16 (inst->inst_offset + ainfo->vtregs * sizeof (gpointer)));
+                               /* FIXME: what if there is no class? */
+                               if (sig->pinvoke && mono_class_from_mono_type (inst->inst_vtype))
+                                       size = mono_class_native_size (mono_class_from_mono_type (inst->inst_vtype), NULL);
+                               for (cur_reg = 0; cur_reg < ainfo->vtregs; ++cur_reg) {
+                                       if (ainfo->size == 4) {
+                                               ppc_stfs (code, ainfo->reg + cur_reg, doffset, inst->inst_basereg);
+                                       } else {
+                                               ppc_stfd (code, ainfo->reg + cur_reg, doffset, inst->inst_basereg);
+                                       }
+                                       soffset += ainfo->size;
+                                       doffset += ainfo->size;
+                               }
                        } else if (ainfo->regtype == RegTypeStructByVal) {
                                int doffset = inst->inst_offset;
                                int soffset = 0;
@@ -5037,9 +5150,21 @@ mono_arch_emit_prolog (MonoCompile *cfg)
 #ifdef __mono_ppc64__
                                                if (ainfo->bytes) {
                                                        g_assert (cur_reg == 0);
+#if G_BYTE_ORDER == G_BIG_ENDIAN
                                                        ppc_sldi (code, ppc_r0, ainfo->reg,
-                                                                       (sizeof (gpointer) - ainfo->bytes) * 8);
+                                                                        (sizeof (gpointer) - ainfo->bytes) * 8);
                                                        ppc_stptr (code, ppc_r0, doffset, inst->inst_basereg);
+#else
+                                                       if (mono_class_native_size (inst->klass, NULL) == 1) {
+                                                         ppc_stb (code, ainfo->reg + cur_reg, doffset, inst->inst_basereg);
+                                                       } else if (mono_class_native_size (inst->klass, NULL) == 2) {
+                                                               ppc_sth (code, ainfo->reg + cur_reg, doffset, inst->inst_basereg);
+                                                       } else if (mono_class_native_size (inst->klass, NULL) == 4) {  // WDS -- maybe <=4?
+                                                               ppc_stw (code, ainfo->reg + cur_reg, doffset, inst->inst_basereg);
+                                                       } else {
+                                                               ppc_stptr (code, ainfo->reg + cur_reg, doffset, inst->inst_basereg);  // WDS -- Better way?
+                                                       }
+#endif
                                                } else
 #endif
                                                {
@@ -5742,6 +5867,9 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
                mono_stats.imt_thunks_size += code - start;
        g_assert (code - start <= size);
        mono_arch_flush_icache (start, size);
+
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL), domain);
+
        return start;
 }
 
@@ -6014,3 +6142,16 @@ mono_arch_opcode_supported (int opcode)
                return FALSE;
        }
 }
+
+
+#if 0
+// FIXME: To get the test case  finally_block_ending_in_dead_bb  to work properly we need to define the following
+// (in mini-ppc.h) and then implement the fuction mono_arch_create_handler_block_trampoline.
+//  #define MONO_ARCH_HAVE_HANDLER_BLOCK_GUARD 1
+
+gpointer
+mono_arch_create_handler_block_trampoline (void)
+{
+       . . .
+}
+#endif
index 0c611f251a54f7e70eb00d4d4671301c648dfb55..0c0c21084d39d8c464bc28c5eef7dd64f930fbe6 100644 (file)
@@ -135,12 +135,31 @@ typedef struct MonoCompileArch {
 #define PPC_FIRST_FPARG_REG ppc_f1
 #define PPC_LAST_FPARG_REG ppc_f13
 #define PPC_PASS_STRUCTS_BY_VALUE 1
+#define PPC_PASS_SMALL_FLOAT_STRUCTS_IN_FR_REGS 0
+#define MONO_ARCH_HAVE_DECOMPOSE_VTYPE_OPTS 0
 #else
 /* Linux */
 #ifdef __mono_ppc64__
 #define PPC_RET_ADDR_OFFSET 16
-#define PPC_STACK_PARAM_OFFSET 48
-#define PPC_MINIMAL_STACK_SIZE 48
+ // Power LE abvi2
+ #if (_CALL_ELF == 2)
+  #define PPC_STACK_PARAM_OFFSET 32
+  #define PPC_MINIMAL_STACK_SIZE 32
+  #define PPC_PASS_SMALL_FLOAT_STRUCTS_IN_FR_REGS 1
+  #define MONO_ARCH_HAVE_DECOMPOSE_VTYPE_OPTS 1
+// FIXME: To get the test case  finally_block_ending_in_dead_bb  to work properly we need to define the following
+// and then implement the fuction mono_arch_create_handler_block_trampoline.
+//  #define MONO_ARCH_HAVE_HANDLER_BLOCK_GUARD 1
+
+//  #define DEBUG_ELFABIV2
+
+ #else
+  #define PPC_STACK_PARAM_OFFSET 48
+  #define PPC_MINIMAL_STACK_SIZE 48
+  #define PPC_PASS_SMALL_FLOAT_STRUCTS_IN_FR_REGS 0
+  #define MONO_ARCH_HAVE_DECOMPOSE_VTYPE_OPTS 0
+ #endif
+#define MONO_ARCH_HAVE_SETUP_ASYNC_CALLBACK 1
 #define PPC_MINIMAL_PARAM_AREA_SIZE 64
 #define PPC_LAST_FPARG_REG ppc_f13
 #define PPC_PASS_STRUCTS_BY_VALUE 1
@@ -153,6 +172,13 @@ typedef struct MonoCompileArch {
 #define PPC_MINIMAL_PARAM_AREA_SIZE 0
 #define PPC_LAST_FPARG_REG ppc_f8
 #define PPC_PASS_STRUCTS_BY_VALUE 0
+#define PPC_LARGEST_STRUCT_SIZE_TO_RETURN_VIA_REGISTERS 0
+#define PPC_MOST_FLOAT_STRUCT_MEMBERS_TO_RETURN_VIA_REGISTERS 0
+#define PPC_PASS_SMALL_FLOAT_STRUCTS_IN_FR_REGS 0
+#define PPC_RETURN_SMALL_FLOAT_STRUCTS_IN_FR_REGS 0
+#define PPC_RETURN_SMALL_STRUCTS_IN_REGS 0
+#define MONO_ARCH_HAVE_DECOMPOSE_VTYPE_OPTS 0
+#define MONO_ARCH_RETURN_CAN_USE_MULTIPLE_REGISTERS 0
 #define PPC_THREAD_PTR_REG ppc_r2
 #endif
 #define PPC_FIRST_ARG_REG ppc_r3
@@ -191,6 +217,7 @@ typedef struct MonoCompileArch {
 #define MONO_ARCH_HAVE_OP_TAIL_CALL 1
 
 #define PPC_NUM_REG_ARGS (PPC_LAST_ARG_REG-PPC_FIRST_ARG_REG+1)
+#define PPC_NUM_REG_FPARGS (PPC_LAST_FPARG_REG-PPC_FIRST_FPARG_REG+1)
 
 #ifdef MONO_CROSS_COMPILE
 
@@ -316,4 +343,31 @@ void mono_ppc_patch_plt_entry (guint8 *code, gpointer *got, mgreg_t *regs, guint
 
 void mono_ppc_set_func_into_sigctx (void *sigctx, void *func);
 
+
+// Debugging macros for ELF ABI v2
+#ifdef DEBUG_ELFABIV2
+
+#define DEBUG_ELFABIV2_printf(a, ...) \
+{if (getenv("DEBUG_ELFABIV2")) { printf(a, ##__VA_ARGS__); fflush(stdout); } }
+
+#define DEBUG_ELFABIV2_mono_print_ins(a) \
+{if (getenv("DEBUG_ELFABIV2")) { if (!a) {printf("null\n");} else {mono_print_ins(a);} fflush(stdout); } }
+
+extern char* mono_type_full_name (MonoType *type);
+
+#define DEBUG_ELFABIV2_mono_print_type(a) \
+{if (getenv("DEBUG_ELFABIV2")) { printf("%s, size: %d\n", mono_type_get_name(&a->klass->byval_arg), mini_type_stack_size (NULL, a, 0)); fflush(stdout); } }
+
+#define DEBUG_ELFABIV2_mono_print_class(a) \
+{if (getenv("DEBUG_ELFABIV2")) { printf("%s\n", mono_type_get_name(&a->byval_arg)); fflush(stdout); } }
+
+#else
+
+#define DEBUG_ELFABIV2_printf(a, ...)
+#define DEBUG_ELFABIV2_mono_print_ins(a)
+#define DEBUG_ELFABIV2_mono_print_type(a)
+#define DEBUG_ELFABIV2_mono_print_class(a)
+
+#endif
+
 #endif /* __MONO_MINI_PPC_H__ */
index 65bf87fe51e5f2b13501578ee941e2801db89526..e4487615926f3dfe215310f0bd9ad2bb6c62dbfb 100644 (file)
@@ -59,6 +59,7 @@
 #include <mono/utils/dtrace.h>
 #include <mono/utils/mono-signal-handler.h>
 #include <mono/utils/mono-threads.h>
+#include <mono/utils/checked-build.h>
 #include <mono/io-layer/io-layer.h>
 
 #include "mini.h"
@@ -118,12 +119,14 @@ static void register_icalls (void);
 gboolean
 mono_running_on_valgrind (void)
 {
+#ifndef HOST_WIN32
        if (RUNNING_ON_VALGRIND){
 #ifdef VALGRIND_JIT_REGISTER_MAP
                valgrind_register = TRUE;
 #endif
                return TRUE;
        } else
+#endif
                return FALSE;
 }
 
@@ -155,7 +158,7 @@ get_method_from_ip (void *ip)
        if (!domain)
                domain = mono_get_root_domain ();
 
-       ji = mono_jit_info_table_find (domain, ip);
+       ji = mono_jit_info_table_find_internal (domain, ip, TRUE, TRUE);
        if (!ji) {
                user_data.ip = ip;
                user_data.method = NULL;
@@ -170,7 +173,11 @@ get_method_from_ip (void *ip)
                }
                else
                        return NULL;
+       } else if (ji->is_trampoline) {
+               res = g_strdup_printf ("<%p - %s trampoline>", ip, ((MonoTrampInfo*)ji->d.tramp_info)->name);
+               return res;
        }
+
        method = mono_method_full_name (jinfo_get_method (ji), TRUE);
        /* FIXME: unused ? */
        location = mono_debug_lookup_source_location (jinfo_get_method (ji), (guint32)((guint8*)ip - (guint8*)ji->code_start), domain);
@@ -286,7 +293,7 @@ gboolean mono_method_same_domain (MonoJitInfo *caller, MonoJitInfo *callee)
 {
        MonoMethod *cmethod;
 
-       if (!caller || !callee)
+       if (!caller || caller->is_trampoline || !callee || callee->is_trampoline)
                return FALSE;
 
        /*
@@ -460,14 +467,10 @@ mono_tramp_info_create (const char *name, guint8 *code, guint32 code_size, MonoJ
 void
 mono_tramp_info_free (MonoTrampInfo *info)
 {
-       GSList *l;
-
        g_free (info->name);
 
        // FIXME: ji
-       for (l = info->unwind_ops; l; l = l->next)
-               g_free (l->data);
-       g_slist_free (info->unwind_ops);
+       mono_free_unwind_info (info->unwind_ops);
        g_free (info);
 }
 
@@ -480,7 +483,8 @@ register_trampoline_jit_info (MonoDomain *domain, MonoTrampInfo *info)
        mono_jit_info_init (ji, NULL, info->code, info->code_size, 0, 0, 0);
        ji->d.tramp_info = info;
        ji->is_trampoline = TRUE;
-       // FIXME: Unwind info
+
+       ji->unwind_info = mono_cache_unwind_info (info->uw_info, info->uw_info_len);
 
        mono_jit_info_table_add (domain, ji);
 }
@@ -493,26 +497,38 @@ register_trampoline_jit_info (MonoDomain *domain, MonoTrampInfo *info)
  * Frees INFO.
  */
 void
-mono_tramp_info_register (MonoTrampInfo *info)
+mono_tramp_info_register (MonoTrampInfo *info, MonoDomain *domain)
 {
        MonoTrampInfo *copy;
 
        if (!info)
                return;
 
+       if (!domain)
+               domain = mono_get_root_domain ();
+
        copy = g_new0 (MonoTrampInfo, 1);
        copy->code = info->code;
        copy->code_size = info->code_size;
        copy->name = g_strdup (info->name);
 
+       if (info->unwind_ops) {
+               copy->uw_info = mono_unwind_ops_encode (info->unwind_ops, &copy->uw_info_len);
+       } else {
+               /* Trampolines from aot have the unwind ops already encoded */
+               copy->uw_info = info->uw_info;
+               copy->uw_info_len = info->uw_info_len;
+       }
+
        mono_jit_lock ();
        tramp_infos = g_slist_prepend (tramp_infos, copy);
        mono_jit_unlock ();
 
        mono_save_trampoline_xdebug_info (info);
 
-       if (mono_get_root_domain ())
-               register_trampoline_jit_info (mono_get_root_domain (), copy);
+       /* Only register trampolines that have unwind infos */
+       if (mono_get_root_domain () && copy->uw_info)
+               register_trampoline_jit_info (domain, copy);
 
        if (mono_jit_map_is_enabled ())
                mono_emit_jit_tramp (info->code, info->code_size, info->name);
@@ -590,26 +606,12 @@ mono_icall_get_wrapper_full (MonoJitICallInfo* callinfo, gboolean do_compile)
        MonoDomain *domain = mono_get_root_domain ();
        gboolean check_exc = TRUE;
 
-       if (callinfo->wrapper) {
+       if (callinfo->wrapper)
                return callinfo->wrapper;
-       }
 
        if (callinfo->trampoline)
                return callinfo->trampoline;
 
-       /*
-        * We use the lock on the root domain instead of the JIT lock to protect
-        * callinfo->trampoline, since we do a lot of stuff inside the critical section.
-        */
-       mono_loader_lock (); /*FIXME mono_compile_method requires the loader lock, by large.*/
-       mono_domain_lock (domain);
-
-       if (callinfo->trampoline) {
-               mono_domain_unlock (domain);
-               mono_loader_unlock ();
-               return callinfo->trampoline;
-       }
-
        if (!strcmp (callinfo->name, "mono_thread_interruption_checkpoint"))
                /* This icall is used to check for exceptions, so don't check in the wrapper */
                check_exc = FALSE;
@@ -622,11 +624,12 @@ mono_icall_get_wrapper_full (MonoJitICallInfo* callinfo, gboolean do_compile)
                trampoline = mono_compile_method (wrapper);
        else
                trampoline = mono_create_ftnptr (domain, mono_create_jit_trampoline_in_domain (domain, wrapper));
-       mono_register_jit_icall_wrapper (callinfo, trampoline);
-
-       callinfo->trampoline = trampoline;
 
-       mono_domain_unlock (domain);
+       mono_loader_lock ();
+       if (!callinfo->trampoline) {
+               mono_register_jit_icall_wrapper (callinfo, trampoline);
+               callinfo->trampoline = trampoline;
+       }
        mono_loader_unlock ();
 
        return callinfo->trampoline;
@@ -653,7 +656,17 @@ mono_dynamic_code_hash_lookup (MonoDomain *domain, MonoMethod *method)
 static void
 register_opcode_emulation (int opcode, const char *name, const char *sigstr, gpointer func, const char *symbol, gboolean no_throw)
 {
-       return mini_register_opcode_emulation (opcode, name, sigstr, func, symbol, no_throw);
+#ifndef DISABLE_JIT
+       mini_register_opcode_emulation (opcode, name, sigstr, func, symbol, no_throw);
+#else
+       MonoMethodSignature *sig = mono_create_icall_signature (sigstr);
+
+       g_assert (!sig->hasthis);
+       g_assert (sig->param_count < 3);
+
+       /* Opcode emulation functions are assumed to don't call mono_raise_exception () */
+       mono_register_jit_icall_full (func, name, sig, no_throw, TRUE, symbol);
+#endif
 }
 
 /*
@@ -1199,9 +1212,6 @@ mono_patch_info_hash (gconstpointer data)
        case MONO_PATCH_INFO_GC_CARD_TABLE_ADDR:
        case MONO_PATCH_INFO_GC_NURSERY_START:
        case MONO_PATCH_INFO_JIT_TLS_ID:
-       case MONO_PATCH_INFO_MONITOR_ENTER:
-       case MONO_PATCH_INFO_MONITOR_ENTER_V4:
-       case MONO_PATCH_INFO_MONITOR_EXIT:
        case MONO_PATCH_INFO_GOT_OFFSET:
        case MONO_PATCH_INFO_GC_SAFE_POINT_FLAG:
                return (ji->type << 8);
@@ -1589,15 +1599,6 @@ mono_resolve_patch_target (MonoMethod *method, MonoDomain *domain, guint8 *code,
                target = mono_create_rgctx_lazy_fetch_trampoline (slot);
                break;
        }
-       case MONO_PATCH_INFO_MONITOR_ENTER:
-               target = mono_create_monitor_enter_trampoline ();
-               break;
-       case MONO_PATCH_INFO_MONITOR_ENTER_V4:
-               target = mono_create_monitor_enter_v4_trampoline ();
-               break;
-       case MONO_PATCH_INFO_MONITOR_EXIT:
-               target = mono_create_monitor_exit_trampoline ();
-               break;
 #ifdef MONO_ARCH_SOFT_DEBUG_SUPPORTED
        case MONO_PATCH_INFO_SEQ_POINT_INFO:
                if (!run_cctors)
@@ -1969,6 +1970,8 @@ mono_jit_free_method (MonoDomain *domain, MonoMethod *method)
        mono_internal_hash_table_remove (&domain->jit_code_hash, method);
        mono_domain_jit_code_hash_unlock (domain);
        g_hash_table_remove (domain_jit_info (domain)->jump_trampoline_hash, method);
+
+       /* requires the domain lock - took above */
        mono_conc_hashtable_remove (domain_jit_info (domain)->runtime_invoke_hash, method);
 
        /* Remove jump targets in this method */
@@ -2252,7 +2255,9 @@ mono_jit_runtime_invoke (MonoMethod *method, void *obj, void **params, MonoObjec
                if (!info->dyn_call_info)
                        info->runtime_invoke = mono_jit_compile_method (invoke);
 
+               mono_domain_lock (domain);
                info2 = mono_conc_hashtable_insert (domain_info->runtime_invoke_hash, method, info);
+               mono_domain_unlock (domain);
                if (info2) {
                        g_free (info);
                        info = info2;
@@ -2333,7 +2338,7 @@ MONO_SIG_HANDLER_FUNC (, mono_sigfpe_signal_handler)
        MONO_SIG_HANDLER_INFO_TYPE *info = MONO_SIG_HANDLER_GET_INFO ();
        MONO_SIG_HANDLER_GET_CONTEXT;
 
-       ji = mono_jit_info_table_find (mono_domain_get (), mono_arch_ip_from_context (ctx));
+       ji = mono_jit_info_table_find_internal (mono_domain_get (), mono_arch_ip_from_context (ctx), TRUE, TRUE);
 
 #if defined(MONO_ARCH_HAVE_IS_INT_OVERFLOW)
        if (mono_arch_is_int_overflow (ctx, info))
@@ -2419,7 +2424,7 @@ MONO_SIG_HANDLER_FUNC (, mono_sigsegv_signal_handler)
        }
 #endif
 
-       ji = mono_jit_info_table_find (mono_domain_get (), mono_arch_ip_from_context (ctx));
+       ji = mono_jit_info_table_find_internal (mono_domain_get (), mono_arch_ip_from_context (ctx), TRUE, TRUE);
 
 #ifdef MONO_ARCH_SIGSEGV_ON_ALTSTACK
        if (mono_handle_soft_stack_ovf (jit_tls, ji, ctx, info, (guint8*)info->si_addr))
@@ -2599,8 +2604,10 @@ mono_get_delegate_virtual_invoke_impl (MonoMethodSignature *sig, MonoMethod *met
        /* FIXME Support more cases */
        if (mono_aot_only) {
                char tramp_name [256];
+               const char *imt = load_imt_reg ? "_imt" : "";
+               int ind = (load_imt_reg ? (-offset) : offset) / SIZEOF_VOID_P;
 
-               sprintf (tramp_name, "delegate_virtual_invoke%s_%d", load_imt_reg ? "_imt" : "", offset / SIZEOF_VOID_P);
+               sprintf (tramp_name, "delegate_virtual_invoke%s_%d", imt, ind);
                cache [idx] = mono_aot_get_trampoline (tramp_name);
                g_assert (cache [idx]);
        } else {
@@ -2659,6 +2666,8 @@ mini_parse_debug_options (void)
                        debug_options.gen_sdb_seq_points = TRUE;
                else if (!strcmp (arg, "gen-compact-seq-points"))
                        debug_options.gen_seq_points_compact_data = TRUE;
+               else if (!strcmp (arg, "single-imm-size"))
+                       debug_options.single_imm_size = TRUE;
                else if (!strcmp (arg, "init-stacks"))
                        debug_options.init_stacks = TRUE;
                else if (!strcmp (arg, "casts"))
@@ -2675,9 +2684,11 @@ mini_parse_debug_options (void)
                        mono_set_partial_sharing_supported (TRUE);
                else if (!strcmp (arg, "align-small-structs"))
                        mono_align_small_structs = TRUE;
+               else if (!strcmp (arg, "native-debugger-break"))
+                       debug_options.native_debugger_break = TRUE;
                else {
                        fprintf (stderr, "Invalid option for the MONO_DEBUG env variable: %s\n", arg);
-                       fprintf (stderr, "Available options: 'handle-sigint', 'keep-delegates', 'reverse-pinvoke-exceptions', 'collect-pagefault-stats', 'break-on-unverified', 'no-gdb-backtrace', 'dont-free-domains', 'suspend-on-sigsegv', 'suspend-on-exception', 'suspend-on-unhandled', 'dyn-runtime-invoke', 'gdb', 'explicit-null-checks', 'init-stacks', 'check-pinvoke-callconv', 'arm-use-fallback-tls', 'debug-domain-unload', 'partial-sharing', 'align-small-structs'\n");
+                       fprintf (stderr, "Available options: 'handle-sigint', 'keep-delegates', 'reverse-pinvoke-exceptions', 'collect-pagefault-stats', 'break-on-unverified', 'no-gdb-backtrace', 'suspend-on-sigsegv', 'suspend-on-exception', 'suspend-on-unhandled', 'dont-free-domains', 'dyn-runtime-invoke', 'gdb', 'explicit-null-checks', 'gen-seq-points', 'gen-compact-seq-points', 'single-imm-size', 'init-stacks', 'casts', 'soft-breakpoints', 'check-pinvoke-callconv', 'arm-use-fallback-tls', 'debug-domain-unload', 'partial-sharing', 'align-small-structs', 'native-debugger-break'\n");
                        exit (1);
                }
        }
@@ -2784,7 +2795,7 @@ mini_create_jit_domain_info (MonoDomain *domain)
        info->jit_trampoline_hash = g_hash_table_new (mono_aligned_addr_hash, NULL);
        info->delegate_trampoline_hash = g_hash_table_new (class_method_pair_hash, class_method_pair_equal);
        info->llvm_vcall_trampoline_hash = g_hash_table_new (mono_aligned_addr_hash, NULL);
-       info->runtime_invoke_hash = mono_conc_hashtable_new_full (&domain->lock, mono_aligned_addr_hash, NULL, NULL, runtime_invoke_info_free);
+       info->runtime_invoke_hash = mono_conc_hashtable_new_full (mono_aligned_addr_hash, NULL, NULL, runtime_invoke_info_free);
        info->seq_points = g_hash_table_new_full (mono_aligned_addr_hash, NULL, NULL, mono_seq_point_info_free);
        info->arch_seq_points = g_hash_table_new (mono_aligned_addr_hash, NULL);
        info->jump_target_hash = g_hash_table_new (NULL, NULL);
@@ -2910,6 +2921,8 @@ mini_init (const char *filename, const char *runtime_version)
 
        MONO_VES_INIT_BEGIN ();
 
+       CHECKED_MONO_INIT ();
+
 #if defined(__linux__) && !defined(__native_client__)
        if (access ("/proc/self/maps", F_OK) != 0) {
                g_print ("Mono requires /proc to be mounted.\n");
@@ -2963,6 +2976,7 @@ mini_init (const char *filename, const char *runtime_version)
        ticallbacks.setup_async_callback = mono_setup_async_callback;
        ticallbacks.thread_state_init_from_sigctx = mono_thread_state_init_from_sigctx;
        ticallbacks.thread_state_init_from_handle = mono_thread_state_init_from_handle;
+       ticallbacks.thread_state_init = mono_thread_state_init;
 
        mono_counters_init ();
 
@@ -3131,8 +3145,6 @@ register_icalls (void)
                                ves_icall_get_frame_info);
        mono_add_internal_call ("System.Diagnostics.StackTrace::get_trace",
                                ves_icall_get_trace);
-       mono_add_internal_call ("System.Exception::get_trace",
-                               ves_icall_System_Exception_get_trace);
        mono_add_internal_call ("Mono.Runtime::mono_runtime_install_handlers",
                                mono_runtime_install_handlers);
 
@@ -3441,7 +3453,6 @@ mini_cleanup (MonoDomain *domain)
 
 #ifndef MONO_CROSS_COMPILE
        mono_domain_free (domain, TRUE);
-       mono_gc_mutex_cleanup ();
 #endif
 
 #ifdef ENABLE_LLVM
@@ -3479,8 +3490,6 @@ mini_cleanup (MonoDomain *domain)
 
        mono_mutex_destroy (&jit_mutex);
 
-       mono_mutex_destroy (&mono_delegate_section);
-
        mono_code_manager_cleanup ();
 
 #ifdef USE_JUMP_TABLES
@@ -3592,6 +3601,17 @@ void mono_precompile_assemblies ()
        g_hash_table_destroy (assemblies);
 }
 
+/*
+ * Used by LLVM.
+ * Have to export this for AOT.
+ */
+void
+mono_personality (void)
+{
+       /* Not used */
+       g_assert_not_reached ();
+}
+
 #ifdef USE_JUMP_TABLES
 #define DEFAULT_JUMPTABLE_CHUNK_ELEMENTS 128
 
index 82b17636886587c3f48aa6a798e22b774bc85939..0805dd3aeda8e7ec822785c814265d09cf16a333 100644 (file)
@@ -791,20 +791,20 @@ enum_parmtype:
                        case MONO_TYPE_CLASS :
                        case MONO_TYPE_OBJECT : {
                                MonoObject *obj = *((MonoObject **) curParm);
-                               MonoClass *class;
+                               MonoClass *klass;
                                if ((obj) && (obj->vtable)) {
                                        printf("[CLASS/OBJ:");
-                                       class = obj->vtable->klass;
+                                       klass = obj->vtable->klass;
                                        printf("%p [%p] ",obj,curParm);
-                                       if (class == mono_defaults.string_class) {
+                                       if (klass == mono_defaults.string_class) {
                                                printf("[STRING:%p:%s]", 
                                                       obj, mono_string_to_utf8 ((MonoString *) obj));
-                                       } else if (class == mono_defaults.int32_class) { 
+                                       } else if (klass == mono_defaults.int32_class) { 
                                                printf("[INT32:%p:%d]", 
                                                        obj, *(gint32 *)((char *)obj + sizeof (MonoObject)));
                                        } else
                                                printf("[%s.%s:%p]", 
-                                                      class->name_space, class->name, obj);
+                                                      klass->name_space, klass->name, obj);
                                        printf("], ");
                                } else {
                                        printf("[OBJECT:null], ");
@@ -893,7 +893,7 @@ static void
 enter_method (MonoMethod *method, RegParm *rParm, char *sp)
 {
        int i, oParm = 0, iParm = 0;
-       MonoClass *class;
+       MonoClass *klass;
        MonoObject *obj;
        MonoMethodSignature *sig;
        char *fname;
@@ -923,26 +923,26 @@ enter_method (MonoMethod *method, RegParm *rParm, char *sp)
        }
 
        if (sig->hasthis) {
-               gpointer *this = (gpointer *) rParm->gr[iParm];
-               obj = (MonoObject *) this;
+               gpointer *this_arg = (gpointer *) rParm->gr[iParm];
+               obj = (MonoObject *) this_arg;
                switch(method->klass->this_arg.type) {
                case MONO_TYPE_VALUETYPE:
                        if (obj) {
-                               guint64 *value = (guint64 *) ((uintptr_t)this + sizeof(MonoObject));
-                               printf("this:[value:%p:%016lx], ", this, *value);
+                               guint64 *value = (guint64 *) ((uintptr_t)this_arg + sizeof(MonoObject));
+                               printf("this:[value:%p:%016lx], ", this_arg, *value);
                        } else 
                                printf ("this:[NULL], ");
                        break;
                case MONO_TYPE_STRING:
                        if (obj) {
                                if (obj->vtable) {
-                                       class = obj->vtable->klass;
-                                       if (class == mono_defaults.string_class) {
+                                       klass = obj->vtable->klass;
+                                       if (klass == mono_defaults.string_class) {
                                                printf ("this:[STRING:%p:%s], ", 
                                                        obj, mono_string_to_utf8 ((MonoString *)obj));
                                        } else {
                                                printf ("this:%p[%s.%s], ", 
-                                                       obj, class->name_space, class->name);
+                                                       obj, klass->name_space, klass->name);
                                        }
                                } else 
                                        printf("vtable:[NULL], ");
@@ -950,7 +950,7 @@ enter_method (MonoMethod *method, RegParm *rParm, char *sp)
                                printf ("this:[NULL], ");
                        break;
                default :
-                       printf("this[%s]: %p, ",cvtMonoType(method->klass->this_arg.type),this);
+                       printf("this[%s]: %p, ",cvtMonoType(method->klass->this_arg.type),this_arg);
                }
                oParm++;
        }
@@ -4935,8 +4935,9 @@ mono_arch_emit_prolog (MonoCompile *cfg)
        guint8 *code;
        guint32 size;
        CallInfo *cinfo;
-       int tracing = 0;
-       int lmfOffset;
+       int tracing = 0,
+            argsClobbered = 0,
+           lmfOffset;
 
        cfg->code_size   = 512;
 
@@ -5212,8 +5213,87 @@ mono_arch_emit_prolog (MonoCompile *cfg)
                            G_STRUCT_OFFSET(MonoLMF, pregs[0]));                        
        }
 
-       if (tracing)
-               code = mono_arch_instrument_prolog(cfg, enter_method, code, TRUE);
+       if (cfg->method->save_lmf)
+               argsClobbered = TRUE;
+
+       if (tracing) {
+               argsClobbered = TRUE;
+               code = mono_arch_instrument_prolog (cfg, enter_method, code, TRUE);
+       }
+
+       if (cfg->prof_options & MONO_PROFILE_ENTER_LEAVE)
+               argsClobbered = TRUE;
+
+       /*
+        * Optimize the common case of the first bblock making a call with the same
+        * arguments as the method. This works because the arguments are still in their
+        * original argument registers.
+        */
+       if (!argsClobbered) {
+               MonoBasicBlock *first_bb = cfg->bb_entry;
+               MonoInst *next;
+               int filter = FILTER_IL_SEQ_POINT;
+
+               next = mono_bb_first_inst (first_bb, filter);
+               if (!next && first_bb->next_bb) {
+                       first_bb = first_bb->next_bb;
+                       next = mono_bb_first_inst (first_bb, filter);
+               }
+
+               if (first_bb->in_count > 1)
+                       next = NULL;
+
+               for (i = 0; next && i < sig->param_count + sig->hasthis; ++i) {
+                       ArgInfo *ainfo = cinfo->args + i;
+                       gboolean match = FALSE;
+
+                       inst = cfg->args [i];
+                       if (inst->opcode != OP_REGVAR) {
+                               switch (ainfo->regtype) {
+                               case RegTypeGeneral: {
+                                       if (((next->opcode == OP_LOAD_MEMBASE) || 
+                                            (next->opcode == OP_LOADI4_MEMBASE)) && 
+                                            next->inst_basereg == inst->inst_basereg && 
+                                            next->inst_offset == inst->inst_offset) {
+                                               if (next->dreg == ainfo->reg) {
+                                                       NULLIFY_INS (next);
+                                                       match = TRUE;
+                                               } else {
+                                                       next->opcode = OP_MOVE;
+                                                       next->sreg1 = ainfo->reg;
+                                                       /* Only continue if the instruction doesn't change argument regs */
+                                                       if (next->dreg == ainfo->reg)
+                                                               match = TRUE;
+                                               }
+                                       }
+                                       break;
+                               }
+                               default:
+                                       break;
+                               }
+                       } else {
+                               /* Argument allocated to (non-volatile) register */
+                               switch (ainfo->regtype) {
+                               case RegTypeGeneral:
+                                       if (next->opcode == OP_MOVE && 
+                                           next->sreg1 == inst->dreg && 
+                                           next->dreg == ainfo->reg) {
+                                               NULLIFY_INS (next);
+                                               match = TRUE;
+                                       }
+                                       break;
+                               default:
+                                       break;
+                               }
+                       }
+
+                       if (match) {
+                               next = mono_inst_next (next, filter);
+                               if (!next)
+                                       break;
+                       }
+               }
+       }
 
        cfg->code_len = code - cfg->native_code;
        g_assert (cfg->code_len < cfg->code_size);
@@ -5708,7 +5788,7 @@ mono_arch_install_handler_block_guard (MonoJitInfo *ji, MonoJitExceptionInfo *cl
 /*------------------------------------------------------------------*/
 
 static gpointer
-get_delegate_invoke_impl (gboolean has_target, guint32 param_count, guint32 *code_len, gboolean aot)
+get_delegate_invoke_impl (MonoTrampInfo **info, gboolean has_target, guint32 param_count, gboolean aot)
 {
        guint8 *code, *start;
 
@@ -5744,8 +5824,13 @@ get_delegate_invoke_impl (gboolean has_target, guint32 param_count, guint32 *cod
 
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_DELEGATE_INVOKE, NULL);
 
-       if (code_len)
-               *code_len = code - start;
+       if (has_target) {
+               *info = mono_tramp_info_create ("delegate_invoke_impl_has_target", start, code - start, NULL, NULL);
+       } else {
+               char *name = g_strdup_printf ("delegate_invoke_impl_target_%d", param_count);
+               *info = mono_tramp_info_create (name, start, code - start, NULL, NULL);
+               g_free (name);
+       }
 
        return start;
 }
@@ -5764,19 +5849,15 @@ GSList*
 mono_arch_get_delegate_invoke_impls (void)
 {
        GSList *res = NULL;
-       guint8 *code;
-       guint32 code_len;
+       MonoTrampInfo *info;
        int i;
-       char *tramp_name;
 
-       code = get_delegate_invoke_impl (TRUE, 0, &code_len, TRUE);
-       res = g_slist_prepend (res, mono_tramp_info_create ("delegate_invoke_impl_has_target", code, code_len, NULL, NULL));
+       get_delegate_invoke_impl (&info, TRUE, 0, TRUE);
+       res = g_slist_prepend (res, info);
 
-       for (i = 0; i < MAX_ARCH_DELEGATE_PARAMS; ++i) {
-               code = get_delegate_invoke_impl (FALSE, i, &code_len, TRUE);
-               tramp_name = g_strdup_printf ("delegate_invoke_impl_target_%d", i);
-               res = g_slist_prepend (res, mono_tramp_info_create (tramp_name, code, code_len, NULL, NULL));
-               g_free (tramp_name);
+       for (i = 0; i <= MAX_ARCH_DELEGATE_PARAMS; ++i) {
+               get_delegate_invoke_impl (&info, FALSE, i, TRUE);
+               res = g_slist_prepend (res, info);
        }
 
        return res;
@@ -5807,10 +5888,13 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe
                if (cached)
                        return cached;
 
-               if (mono_aot_only)
+               if (mono_aot_only) {
                        start = mono_aot_get_trampoline ("delegate_invoke_impl_has_target");
-               else
-                       start = get_delegate_invoke_impl (TRUE, 0, NULL, FALSE);
+               } else {
+                       MonoTrampInfo *info;
+                       start = get_delegate_invoke_impl (&info, TRUE, 0, FALSE);
+                       mono_tramp_info_register (info, NULL);
+               }
 
                mono_memory_barrier ();
 
@@ -5835,7 +5919,9 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe
                        start = mono_aot_get_trampoline (name);
                        g_free (name);
                } else {
-                       start = get_delegate_invoke_impl (FALSE, sig->param_count, NULL, FALSE);
+                       MonoTrampInfo *info;
+                       start = get_delegate_invoke_impl (&info, FALSE, sig->param_count, FALSE);
+                       mono_tramp_info_register (info, NULL);
                }
 
                mono_memory_barrier ();
@@ -5908,6 +5994,7 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain,
        int i;
        int size = 0;
        guchar *code, *start;
+       char trampName[64];
 
        for (i = 0; i < count; ++i) {
                MonoIMTCheckItem *item = imt_entries [i];
@@ -6028,6 +6115,9 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain,
 
        g_assert (code - start <= size);
 
+       snprintf(trampName, sizeof(trampName), "%d_imt_thunk_trampoline", domain->domain_id);
+       mono_tramp_info_register (mono_tramp_info_create (trampName, start, code - start, NULL, NULL), domain);
+
        return (start);
 }
 
index 740ae80e1e35b25acd425a024e54e1ff0dca1199..1de03e2fd2af0df5e8b3b4cc2ac0665ab7b6c622 100644 (file)
@@ -63,8 +63,6 @@ typedef struct
 #define MONO_ARCH_HAVE_INVALIDATE_METHOD               1
 #define MONO_ARCH_HAVE_OP_GENERIC_CLASS_INIT           1
 #define MONO_ARCH_HAVE_SETUP_ASYNC_CALLBACK            1
-#define MONO_ARCH_MONITOR_OBJECT_REG                   s390_r2
-#define MONO_ARCH_LOCK_TAKEN_REG                       s390_r1
 
 #define S390_STACK_ALIGNMENT            8
 #define S390_FIRST_ARG_REG             s390_r2
index f5c0f5e89d10e3863b6f3a1112f117460673d036..5aa8d082007347d3e00681ef66511cd42582b899 100644 (file)
@@ -2352,6 +2352,9 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
 
        mono_stats.imt_thunks_size += (code - start) * 4;
        g_assert (code - start <= size);
+
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL), domain);
+
        return start;
 }
 
index 9f7d946db4a7100fb99fcfc15202794c2f9f07c3..d4af8df57a08e4065f746f834cfc369e426a6a9c 100644 (file)
@@ -340,7 +340,7 @@ mini_add_method_trampoline (MonoMethod *m, gpointer compiled_method, gboolean ad
                }
        }
 
-       if (ji)
+       if (ji && !ji->is_trampoline)
                jmethod = jinfo_get_method (ji);
        if (callee_gsharedvt && mini_is_gsharedvt_variable_signature (mono_method_signature (jmethod))) {
                MonoMethodSignature *sig, *gsig;
@@ -703,7 +703,7 @@ mono_magic_trampoline (mgreg_t *regs, guint8 *code, gpointer arg, guint8* tramp)
 static gpointer
 mono_vcall_trampoline (mgreg_t *regs, guint8 *code, int slot, guint8 *tramp)
 {
-       MonoObject *this;
+       MonoObject *this_arg;
        MonoVTable *vt;
        gpointer *vtable_slot;
        MonoMethod *m;
@@ -722,10 +722,10 @@ mono_vcall_trampoline (mgreg_t *regs, guint8 *code, int slot, guint8 *tramp)
        /*
         * Obtain the vtable from the 'this' arg.
         */
-       this = mono_arch_get_this_arg_from_call (regs, code);
-       g_assert (this);
+       this_arg = mono_arch_get_this_arg_from_call (regs, code);
+       g_assert (this_arg);
 
-       vt = this->vtable;
+       vt = this_arg->vtable;
 
        if (slot >= 0) {
                /* Normal virtual call */
@@ -896,29 +896,6 @@ mono_rgctx_lazy_fetch_trampoline (mgreg_t *regs, guint8 *code, gpointer data, gu
                return mono_class_fill_runtime_generic_context (arg, index);
 }
 
-void
-mono_monitor_enter_trampoline (mgreg_t *regs, guint8 *code, MonoObject *obj, guint8 *tramp)
-{
-       mono_monitor_enter (obj);
-}
-
-void
-mono_monitor_enter_v4_trampoline (mgreg_t *regs, guint8 *code, MonoObject *obj, guint8 *tramp)
-{
-#ifdef MONO_ARCH_MONITOR_LOCK_TAKEN_REG
-       char *lock_taken = (char*)regs [MONO_ARCH_MONITOR_LOCK_TAKEN_REG];
-       mono_monitor_enter_v4 (obj, lock_taken);
-#else
-       g_assert_not_reached ();
-#endif
-}
-
-void
-mono_monitor_exit_trampoline (mgreg_t *regs, guint8 *code, MonoObject *obj, guint8 *tramp)
-{
-       mono_monitor_exit (obj);
-}
-
 /*
  * Precompute data to speed up mono_delegate_trampoline ().
  * METHOD might be NULL.
@@ -1025,7 +1002,10 @@ mono_delegate_trampoline (mgreg_t *regs, guint8 *code, gpointer *arg, guint8* tr
                                }
                        }
                }
-       } else {
+       // If "delegate->method_ptr" is null mono_get_addr_from_ftnptr will fail if
+       // ftnptrs are being used.  "method" would end up null on archtitectures without
+       // ftnptrs so we can just skip this.
+       } else if (delegate->method_ptr) {
                ji = mono_jit_info_table_find (domain, mono_get_addr_from_ftnptr (delegate->method_ptr));
                if (ji)
                        method = jinfo_get_method (ji);
@@ -1171,7 +1151,7 @@ mono_create_handler_block_trampoline (void)
                gpointer tmp;
 
                tmp = mono_arch_create_handler_block_trampoline (&info, FALSE);
-               mono_tramp_info_register (info);
+               mono_tramp_info_register (info, NULL);
                mono_memory_barrier ();
                code = tmp;
        }
@@ -1210,12 +1190,6 @@ mono_get_trampoline_func (MonoTrampolineType tramp_type)
        case MONO_TRAMPOLINE_GENERIC_VIRTUAL_REMOTING:
                return mono_generic_virtual_remoting_trampoline;
 #endif
-       case MONO_TRAMPOLINE_MONITOR_ENTER:
-               return mono_monitor_enter_trampoline;
-       case MONO_TRAMPOLINE_MONITOR_ENTER_V4:
-               return mono_monitor_enter_v4_trampoline;
-       case MONO_TRAMPOLINE_MONITOR_EXIT:
-               return mono_monitor_exit_trampoline;
        case MONO_TRAMPOLINE_VCALL:
                return mono_vcall_trampoline;
 #ifdef MONO_ARCH_HAVE_HANDLER_BLOCK_GUARD
@@ -1235,7 +1209,7 @@ create_trampoline_code (MonoTrampolineType tramp_type)
        guchar *code;
 
        code = mono_arch_create_generic_trampoline (tramp_type, &info, FALSE);
-       mono_tramp_info_register (info);
+       mono_tramp_info_register (info, NULL);
 
        return code;
 }
@@ -1260,9 +1234,6 @@ mono_trampolines_init (void)
 #ifndef DISABLE_REMOTING
        mono_trampoline_code [MONO_TRAMPOLINE_GENERIC_VIRTUAL_REMOTING] = create_trampoline_code (MONO_TRAMPOLINE_GENERIC_VIRTUAL_REMOTING);
 #endif
-       mono_trampoline_code [MONO_TRAMPOLINE_MONITOR_ENTER] = create_trampoline_code (MONO_TRAMPOLINE_MONITOR_ENTER);
-       mono_trampoline_code [MONO_TRAMPOLINE_MONITOR_ENTER_V4] = create_trampoline_code (MONO_TRAMPOLINE_MONITOR_ENTER_V4);
-       mono_trampoline_code [MONO_TRAMPOLINE_MONITOR_EXIT] = create_trampoline_code (MONO_TRAMPOLINE_MONITOR_EXIT);
        mono_trampoline_code [MONO_TRAMPOLINE_VCALL] = create_trampoline_code (MONO_TRAMPOLINE_VCALL);
 #ifdef MONO_ARCH_HAVE_HANDLER_BLOCK_GUARD
        mono_trampoline_code [MONO_TRAMPOLINE_HANDLER_BLOCK_GUARD] = create_trampoline_code (MONO_TRAMPOLINE_HANDLER_BLOCK_GUARD);
@@ -1479,7 +1450,7 @@ mono_create_rgctx_lazy_fetch_trampoline (guint32 offset)
                ptr = mono_aot_get_lazy_fetch_trampoline (offset);
        } else {
                tramp = mono_arch_create_rgctx_lazy_fetch_trampoline (offset, &info, FALSE);
-               mono_tramp_info_register (info);
+               mono_tramp_info_register (info, NULL);
                ptr = mono_create_ftnptr (mono_get_root_domain (), tramp);
        }
 
@@ -1502,95 +1473,6 @@ mono_create_rgctx_lazy_fetch_trampoline (guint32 offset)
 
        return ptr;
 }
-
-gpointer
-mono_create_monitor_enter_trampoline (void)
-{
-       static gpointer code;
-
-       if (mono_aot_only) {
-               if (!code)
-                       code = mono_aot_get_trampoline ("monitor_enter_trampoline");
-               return code;
-       }
-
-#ifdef MONO_ARCH_MONITOR_OBJECT_REG
-       mono_trampolines_lock ();
-
-       if (!code) {
-               MonoTrampInfo *info;
-
-               code = mono_arch_create_monitor_enter_trampoline (&info, FALSE, FALSE);
-               mono_tramp_info_register (info);
-       }
-
-       mono_trampolines_unlock ();
-#else
-       code = NULL;
-       g_assert_not_reached ();
-#endif
-
-       return code;
-}
-
-gpointer
-mono_create_monitor_enter_v4_trampoline (void)
-{
-       static gpointer code;
-
-       if (mono_aot_only) {
-               if (!code)
-                       code = mono_aot_get_trampoline ("monitor_enter_v4_trampoline");
-               return code;
-       }
-
-#if defined(MONO_ARCH_MONITOR_OBJECT_REG) && defined(MONO_ARCH_MONITOR_LOCK_TAKEN_REG)
-       mono_trampolines_lock ();
-
-       if (!code) {
-               MonoTrampInfo *info;
-
-               code = mono_arch_create_monitor_enter_trampoline (&info, TRUE, FALSE);
-               mono_tramp_info_register (info);
-       }
-
-       mono_trampolines_unlock ();
-#else
-       code = NULL;
-       g_assert_not_reached ();
-#endif
-
-       return code;
-}
-
-gpointer
-mono_create_monitor_exit_trampoline (void)
-{
-       static gpointer code;
-
-       if (mono_aot_only) {
-               if (!code)
-                       code = mono_aot_get_trampoline ("monitor_exit_trampoline");
-               return code;
-       }
-
-#ifdef MONO_ARCH_MONITOR_OBJECT_REG
-       mono_trampolines_lock ();
-
-       if (!code) {
-               MonoTrampInfo *info;
-
-               code = mono_arch_create_monitor_exit_trampoline (&info, FALSE);
-               mono_tramp_info_register (info);
-       }
-
-       mono_trampolines_unlock ();
-#else
-       code = NULL;
-       g_assert_not_reached ();
-#endif
-       return code;
-}
  
 #ifdef MONO_ARCH_LLVM_SUPPORTED
 /*
@@ -1641,9 +1523,6 @@ static const char*tramp_names [MONO_TRAMPOLINE_NUM] = {
        "delegate",
        "restore_stack_prot",
        "generic_virtual_remoting",
-       "monitor_enter",
-       "monitor_enter_v4",
-       "monitor_exit",
        "vcall",
        "handler_block_guard"
 };
@@ -1705,7 +1584,7 @@ mini_get_single_step_trampoline (void)
 #ifdef MONO_ARCH_HAVE_SDB_TRAMPOLINES
                        MonoTrampInfo *info;
                        tramp = mono_arch_create_sdb_trampoline (TRUE, &info, FALSE);
-                       mono_tramp_info_register (info);
+                       mono_tramp_info_register (info, NULL);
 #else
                        tramp = NULL;
                        g_assert_not_reached ();
@@ -1737,7 +1616,7 @@ mini_get_breakpoint_trampoline (void)
 #ifdef MONO_ARCH_HAVE_SDB_TRAMPOLINES
                        MonoTrampInfo *info;
                        tramp = mono_arch_create_sdb_trampoline (FALSE, &info, FALSE);
-                       mono_tramp_info_register (info);
+                       mono_tramp_info_register (info, NULL);
 #else
                        tramp = NULL;
                        g_assert_not_reached ();
index 657cc7708733634fb42208d8378dda25d6af5e53..ab690bf480797779f46c823999285c9b438a520c 100644 (file)
@@ -114,6 +114,8 @@ typedef struct {
 #define mono_add_unwind_op_same_value(op_list,code,buf,reg) do { (op_list) = g_slist_append ((op_list), mono_create_unwind_op ((code) - (buf), DW_CFA_same_value, (reg), 0)); } while (0)
 #define mono_add_unwind_op_offset(op_list,code,buf,reg,offset) do { (op_list) = g_slist_append ((op_list), mono_create_unwind_op ((code) - (buf), DW_CFA_offset, (reg), (offset))); } while (0)
 
+#define mono_free_unwind_info(op_list) do { GSList *l; for (l = op_list; l; l = l->next) g_free (l->data); g_slist_free (op_list); op_list = NULL; } while (0)
+
 /* Pointer Encoding in the .eh_frame */
 enum {
        DW_EH_PE_absptr = 0x00,
@@ -144,6 +146,9 @@ mono_unwind_get_dwarf_data_align (void);
 int
 mono_unwind_get_dwarf_pc_reg (void);
 
+guint8*
+mono_unwind_ops_encode_full (GSList *unwind_ops, guint32 *out_len, gboolean enable_extensions);
+
 guint8*
 mono_unwind_ops_encode (GSList *unwind_ops, guint32 *out_len);
 
index 9488ac895d991570879327ed2b2db009742fc89b..b2c80c78f9e42f064a8fe1ab6ead3f35174b4e46 100644 (file)
 
 #include "jit-icalls.h"
 
+#ifdef _WIN32
+#include <mmsystem.h>
+#endif
+
 void
 mono_runtime_install_handlers (void)
 {
index 4242c2b83e3a11eb4882ee94629da983c5233efa..9d314f7436c22fe1ba3a2d192a7996d3928da419 100644 (file)
@@ -45,6 +45,12 @@ static gboolean optimize_for_xen = TRUE;
 #endif
 #endif
 
+/* The single step trampoline */
+static gpointer ss_trampoline;
+
+/* The breakpoint trampoline */
+static gpointer bp_trampoline;
+
 /* This mutex protects architecture specific caches */
 #define mono_mini_arch_lock() mono_mutex_lock (&mini_arch_mutex)
 #define mono_mini_arch_unlock() mono_mutex_unlock (&mini_arch_mutex)
@@ -63,8 +69,7 @@ static mono_mutex_t mini_arch_mutex;
 
 #define X86_IS_CALLEE_SAVED_REG(reg) (((reg) == X86_EBX) || ((reg) == X86_EDI) || ((reg) == X86_ESI))
 
-MonoBreakpointInfo
-mono_breakpoint_info [MONO_BREAKPOINT_ARRAY_SIZE];
+#define OP_SEQ_POINT_BP_OFFSET 7
 
 static guint8*
 emit_load_aotconst (guint8 *start, guint8 *code, MonoCompile *cfg, MonoJumpInfo **ji, int dreg, int tramp_type, gconstpointer target);
@@ -102,15 +107,6 @@ mono_arch_nacl_skip_nops (guint8 *code)
 
 #endif /* __native_client_codegen__ */
 
-/*
- * The code generated for sequence points reads from this location, which is
- * made read-only when single stepping is enabled.
- */
-static gpointer ss_trigger_page;
-
-/* Enabled breakpoints read from this trigger page */
-static gpointer bp_trigger_page;
-
 const char*
 mono_arch_regname (int reg)
 {
@@ -760,9 +756,8 @@ mono_arch_init (void)
 {
        mono_mutex_init_recursive (&mini_arch_mutex);
 
-       ss_trigger_page = mono_valloc (NULL, mono_pagesize (), MONO_MMAP_READ);
-       bp_trigger_page = mono_valloc (NULL, mono_pagesize (), MONO_MMAP_READ|MONO_MMAP_32BIT);
-       mono_mprotect (bp_trigger_page, mono_pagesize (), 0);
+       if (!mono_aot_only)
+               bp_trampoline = mini_get_breakpoint_trampoline ();
 
        mono_aot_register_jit_icall ("mono_x86_throw_exception", mono_x86_throw_exception);
        mono_aot_register_jit_icall ("mono_x86_throw_corlib_exception", mono_x86_throw_corlib_exception);
@@ -777,10 +772,6 @@ mono_arch_init (void)
 void
 mono_arch_cleanup (void)
 {
-       if (ss_trigger_page)
-               mono_vfree (ss_trigger_page, mono_pagesize ());
-       if (bp_trigger_page)
-               mono_vfree (bp_trigger_page, mono_pagesize ());
        mono_mutex_destroy (&mini_arch_mutex);
 }
 
@@ -1217,6 +1208,18 @@ mono_arch_create_vars (MonoCompile *cfg)
                cfg->vret_addr = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_ARG);
        }
 
+       if (cfg->gen_sdb_seq_points) {
+               MonoInst *ins;
+
+               ins = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_LOCAL);
+               ins->flags |= MONO_INST_VOLATILE;
+               cfg->arch.ss_tramp_var = ins;
+
+               ins = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_LOCAL);
+               ins->flags |= MONO_INST_VOLATILE;
+               cfg->arch.bp_tramp_var = ins;
+       }
+
        if (cfg->method->save_lmf) {
                cfg->create_lmf_var = TRUE;
                cfg->lmf_ir = TRUE;
@@ -2773,22 +2776,53 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        if (cfg->compile_aot)
                                NOT_IMPLEMENTED;
 
+                       /* Have to use ecx as a temp reg since this can occur after OP_SETRET */
+
                        /* 
                         * Read from the single stepping trigger page. This will cause a
                         * SIGSEGV when single stepping is enabled.
                         * We do this _before_ the breakpoint, so single stepping after
                         * a breakpoint is hit will step to the next IL offset.
                         */
-                       if (ins->flags & MONO_INST_SINGLE_STEP_LOC)
-                               x86_alu_reg_mem (code, X86_CMP, X86_EAX, (guint32)ss_trigger_page);
+                       if (ins->flags & MONO_INST_SINGLE_STEP_LOC) {
+                               MonoInst *var = cfg->arch.ss_tramp_var;
+                               guint8 *br [1];
+
+                               g_assert (var);
+                               g_assert (var->opcode == OP_REGOFFSET);
+                               /* Load ss_tramp_var */
+                               /* This is equal to &ss_trampoline */
+                               x86_mov_reg_membase (code, X86_ECX, var->inst_basereg, var->inst_offset, sizeof (mgreg_t));
+                               x86_alu_membase_imm (code, X86_CMP, X86_ECX, 0, 0);
+                               br[0] = code; x86_branch8 (code, X86_CC_EQ, 0, FALSE);
+                               x86_call_membase (code, X86_ECX, 0);
+                               x86_patch (br [0], code);
+                       }
+
+                       /*
+                        * Many parts of sdb depend on the ip after the single step trampoline call to be equal to the seq point offset.
+                        * This means we have to put the loading of bp_tramp_var after the offset.
+                        */
 
                        mono_add_seq_point (cfg, bb, ins, code - cfg->native_code);
 
+                       MonoInst *var = cfg->arch.bp_tramp_var;
+
+                       g_assert (var);
+                       g_assert (var->opcode == OP_REGOFFSET);
+                       /* Load the address of the bp trampoline */
+                       /* This needs to be constant size */
+                       guint8 *start = code;
+                       x86_mov_reg_membase (code, X86_ECX, var->inst_basereg, var->inst_offset, 4);
+                       if (code < start + OP_SEQ_POINT_BP_OFFSET) {
+                               int size = start + OP_SEQ_POINT_BP_OFFSET - code;
+                               x86_padding (code, size);
+                       }
                        /* 
                         * A placeholder for a possible breakpoint inserted by
                         * mono_arch_set_breakpoint ().
                         */
-                       for (i = 0; i < 6; ++i)
+                       for (i = 0; i < 2; ++i)
                                x86_nop (code);
                        /*
                         * Add an additional nop so skipping the bp doesn't cause the ip to point
@@ -5402,6 +5436,28 @@ mono_arch_emit_prolog (MonoCompile *cfg)
        if (mono_jit_trace_calls != NULL && mono_trace_eval (method))
                code = mono_arch_instrument_prolog (cfg, mono_trace_enter_method, code, TRUE);
 
+       {
+               MonoInst *ins;
+
+               if (cfg->arch.ss_tramp_var) {
+                       /* Initialize ss_tramp_var */
+                       ins = cfg->arch.ss_tramp_var;
+                       g_assert (ins->opcode == OP_REGOFFSET);
+
+                       g_assert (!cfg->compile_aot);
+                       x86_mov_membase_imm (code, ins->inst_basereg, ins->inst_offset, (guint32)&ss_trampoline, 4);
+               }
+
+               if (cfg->arch.bp_tramp_var) {
+                       /* Initialize bp_tramp_var */
+                       ins = cfg->arch.bp_tramp_var;
+                       g_assert (ins->opcode == OP_REGOFFSET);
+
+                       g_assert (!cfg->compile_aot);
+                       x86_mov_membase_imm (code, ins->inst_basereg, ins->inst_offset, (guint32)&bp_trampoline, 4);
+               }
+       }
+
        /* load arguments allocated to register from the stack */
        sig = mono_method_signature (method);
        pos = 0;
@@ -5762,6 +5818,7 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
        int i;
        int size = 0;
        guint8 *code, *start;
+       GSList *unwind_ops;
 
        for (i = 0; i < count; ++i) {
                MonoIMTCheckItem *item = imt_entries [i];
@@ -5798,6 +5855,9 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
                code = mono_domain_code_reserve (domain, size);
 #endif
        start = code;
+
+       unwind_ops = mono_arch_get_cie_program ();
+
        for (i = 0; i < count; ++i) {
                MonoIMTCheckItem *item = imt_entries [i];
                item->code_target = code;
@@ -5884,6 +5944,8 @@ mono_arch_build_imt_thunk (MonoVTable *vtable, MonoDomain *domain, MonoIMTCheckI
        nacl_domain_code_validate (domain, &start, size, &code);
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_IMT_TRAMPOLINE, NULL);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, unwind_ops), domain);
+
        return start;
 }
 
@@ -6075,10 +6137,13 @@ mono_arch_get_this_arg_from_call (mgreg_t *regs, guint8 *code)
 #define MAX_ARCH_DELEGATE_PARAMS 10
 
 static gpointer
-get_delegate_invoke_impl (gboolean has_target, guint32 param_count, guint32 *code_len)
+get_delegate_invoke_impl (MonoTrampInfo **info, gboolean has_target, guint32 param_count)
 {
        guint8 *code, *start;
        int code_reserve = 64;
+       GSList *unwind_ops;
+
+       unwind_ops = mono_arch_get_cie_program ();
 
        /*
         * The stack contains:
@@ -6139,8 +6204,13 @@ get_delegate_invoke_impl (gboolean has_target, guint32 param_count, guint32 *cod
 
        nacl_global_codeman_validate (&start, code_reserve, &code);
 
-       if (code_len)
-               *code_len = code - start;
+       if (has_target) {
+               *info = mono_tramp_info_create ("delegate_invoke_impl_has_target", start, code - start, NULL, unwind_ops);
+       } else {
+               char *name = g_strdup_printf ("delegate_invoke_impl_target_%d", param_count);
+               *info = mono_tramp_info_create (name, start, code - start, NULL, unwind_ops);
+               g_free (name);
+       }
 
        if (mono_jit_map_is_enabled ()) {
                char *buff;
@@ -6160,10 +6230,15 @@ get_delegate_invoke_impl (gboolean has_target, guint32 param_count, guint32 *cod
 #define MAX_VIRTUAL_DELEGATE_OFFSET 32
 
 static gpointer
-get_delegate_virtual_invoke_impl (gboolean load_imt_reg, int offset, guint32 *code_size)
+get_delegate_virtual_invoke_impl (MonoTrampInfo **info, gboolean load_imt_reg, int offset)
 {
        guint8 *code, *start;
        int size = 24;
+       char *tramp_name;
+       GSList *unwind_ops;
+
+       if (offset / (int)sizeof (gpointer) > MAX_VIRTUAL_DELEGATE_OFFSET)
+               return NULL;
 
        /*
         * The stack contains:
@@ -6172,6 +6247,8 @@ get_delegate_virtual_invoke_impl (gboolean load_imt_reg, int offset, guint32 *co
         */
        start = code = mono_global_codeman_reserve (size);
 
+       unwind_ops = mono_arch_get_cie_program ();
+
        /* Replace the this argument with the target */
        x86_mov_reg_membase (code, X86_EAX, X86_ESP, 4, 4);
        x86_mov_reg_membase (code, X86_ECX, X86_EAX, MONO_STRUCT_OFFSET (MonoDelegate, target), 4);
@@ -6187,8 +6264,13 @@ get_delegate_virtual_invoke_impl (gboolean load_imt_reg, int offset, guint32 *co
        x86_jump_membase (code, X86_EAX, offset);
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_DELEGATE_INVOKE, NULL);
 
-       if (code_size)
-               *code_size = code - start;
+       if (load_imt_reg)
+               tramp_name = g_strdup_printf ("delegate_virtual_invoke_imt_%d", - offset / sizeof (gpointer));
+       else
+               tramp_name = g_strdup_printf ("delegate_virtual_invoke_%d", offset / sizeof (gpointer));
+       *info = mono_tramp_info_create (tramp_name, start, code - start, NULL, unwind_ops);
+       g_free (tramp_name);
+
 
        return start;
 }
@@ -6197,31 +6279,23 @@ GSList*
 mono_arch_get_delegate_invoke_impls (void)
 {
        GSList *res = NULL;
-       guint8 *code;
-       guint32 code_len;
+       MonoTrampInfo *info;
        int i;
-       char *tramp_name;
 
-       code = get_delegate_invoke_impl (TRUE, 0, &code_len);
-       res = g_slist_prepend (res, mono_tramp_info_create ("delegate_invoke_impl_has_target", code, code_len, NULL, NULL));
+       get_delegate_invoke_impl (&info, TRUE, 0);
+       res = g_slist_prepend (res, info);
 
-       for (i = 0; i < MAX_ARCH_DELEGATE_PARAMS; ++i) {
-               code = get_delegate_invoke_impl (FALSE, i, &code_len);
-               tramp_name = g_strdup_printf ("delegate_invoke_impl_target_%d", i);
-               res = g_slist_prepend (res, mono_tramp_info_create (tramp_name, code, code_len, NULL, NULL));
-               g_free (tramp_name);
+       for (i = 0; i <= MAX_ARCH_DELEGATE_PARAMS; ++i) {
+               get_delegate_invoke_impl (&info, FALSE, i);
+               res = g_slist_prepend (res, info);
        }
 
-       for (i = 0; i < MAX_VIRTUAL_DELEGATE_OFFSET; ++i) {
-               code = get_delegate_virtual_invoke_impl (TRUE, i * SIZEOF_VOID_P, &code_len);
-               tramp_name = g_strdup_printf ("delegate_virtual_invoke_imt_%d", i);
-               res = g_slist_prepend (res, mono_tramp_info_create (tramp_name, code, code_len, NULL, NULL));
-               g_free (tramp_name);
+       for (i = 0; i <= MAX_VIRTUAL_DELEGATE_OFFSET; ++i) {
+               get_delegate_virtual_invoke_impl (&info, TRUE, - i * SIZEOF_VOID_P);
+               res = g_slist_prepend (res, info);
 
-               code = get_delegate_virtual_invoke_impl (FALSE, i * SIZEOF_VOID_P, &code_len);
-               tramp_name = g_strdup_printf ("delegate_virtual_invoke_%d", i);
-               res = g_slist_prepend (res, mono_tramp_info_create (tramp_name, code, code_len, NULL, NULL));
-               g_free (tramp_name);
+               get_delegate_virtual_invoke_impl (&info, FALSE, i * SIZEOF_VOID_P);
+               res = g_slist_prepend (res, info);
        }
 
        return res;
@@ -6250,10 +6324,13 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe
                if (cached)
                        return cached;
 
-               if (mono_aot_only)
+               if (mono_aot_only) {
                        start = mono_aot_get_trampoline ("delegate_invoke_impl_has_target");
-               else
-                       start = get_delegate_invoke_impl (TRUE, 0, NULL);
+               } else {
+                       MonoTrampInfo *info;
+                       start = get_delegate_invoke_impl (&info, TRUE, 0);
+                       mono_tramp_info_register (info, NULL);
+               }
 
                mono_memory_barrier ();
 
@@ -6275,7 +6352,9 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe
                        start = mono_aot_get_trampoline (name);
                        g_free (name);
                } else {
-                       start = get_delegate_invoke_impl (FALSE, sig->param_count, NULL);
+                       MonoTrampInfo *info;
+                       start = get_delegate_invoke_impl (&info, FALSE, sig->param_count);
+                       mono_tramp_info_register (info, NULL);
                }
 
                mono_memory_barrier ();
@@ -6289,7 +6368,13 @@ mono_arch_get_delegate_invoke_impl (MonoMethodSignature *sig, gboolean has_targe
 gpointer
 mono_arch_get_delegate_virtual_invoke_impl (MonoMethodSignature *sig, MonoMethod *method, int offset, gboolean load_imt_reg)
 {
-       return get_delegate_virtual_invoke_impl (load_imt_reg, offset, NULL);
+       MonoTrampInfo *info;
+       gpointer code;
+
+       code = get_delegate_virtual_invoke_impl (&info, load_imt_reg, offset);
+       if (code)
+               mono_tramp_info_register (info, NULL);
+       return code;
 }
 
 mgreg_t
@@ -6604,13 +6689,6 @@ mono_arch_get_trampolines (gboolean aot)
        return tramps;
 }
 
-
-#if __APPLE__
-#define DBG_SIGNAL SIGBUS
-#else
-#define DBG_SIGNAL SIGSEGV
-#endif
-
 /* Soft Debug support */
 #ifdef MONO_ARCH_SOFT_DEBUG_SUPPORTED
 
@@ -6623,15 +6701,10 @@ mono_arch_get_trampolines (gboolean aot)
 void
 mono_arch_set_breakpoint (MonoJitInfo *ji, guint8 *ip)
 {
-       guint8 *code = ip;
+       guint8 *code = ip + OP_SEQ_POINT_BP_OFFSET;
 
-       /* 
-        * In production, we will use int3 (has to fix the size in the md 
-        * file). But that could confuse gdb, so during development, we emit a SIGSEGV
-        * instead.
-        */
        g_assert (code [0] == 0x90);
-       x86_alu_reg_mem (code, X86_CMP, X86_EAX, (guint32)bp_trigger_page);
+       x86_call_membase (code, X86_ECX, 0);
 }
 
 /*
@@ -6642,10 +6715,10 @@ mono_arch_set_breakpoint (MonoJitInfo *ji, guint8 *ip)
 void
 mono_arch_clear_breakpoint (MonoJitInfo *ji, guint8 *ip)
 {
-       guint8 *code = ip;
+       guint8 *code = ip + OP_SEQ_POINT_BP_OFFSET;
        int i;
 
-       for (i = 0; i < 6; ++i)
+       for (i = 0; i < 2; ++i)
                x86_nop (code);
 }
        
@@ -6657,7 +6730,7 @@ mono_arch_clear_breakpoint (MonoJitInfo *ji, guint8 *ip)
 void
 mono_arch_start_single_stepping (void)
 {
-       mono_mprotect (ss_trigger_page, mono_pagesize (), 0);
+       ss_trampoline = mini_get_single_step_trampoline ();
 }
        
 /*
@@ -6668,7 +6741,7 @@ mono_arch_start_single_stepping (void)
 void
 mono_arch_stop_single_stepping (void)
 {
-       mono_mprotect (ss_trigger_page, mono_pagesize (), MONO_MMAP_READ);
+       ss_trampoline = NULL;
 }
 
 /*
@@ -6680,43 +6753,18 @@ mono_arch_stop_single_stepping (void)
 gboolean
 mono_arch_is_single_step_event (void *info, void *sigctx)
 {
-#ifdef TARGET_WIN32
-       EXCEPTION_RECORD* einfo = ((EXCEPTION_POINTERS*)info)->ExceptionRecord; /* Sometimes the address is off by 4 */
-
-       if (((gpointer)einfo->ExceptionInformation[1] >= ss_trigger_page && (guint8*)einfo->ExceptionInformation[1] <= (guint8*)ss_trigger_page + 128))
-               return TRUE;
-       else
-               return FALSE;
-#else
-       siginfo_t* sinfo = (siginfo_t*) info;
-       /* Sometimes the address is off by 4 */
-       if (sinfo->si_signo == DBG_SIGNAL && (sinfo->si_addr >= ss_trigger_page && (guint8*)sinfo->si_addr <= (guint8*)ss_trigger_page + 128))
-               return TRUE;
-       else
-               return FALSE;
-#endif
+       /* We use soft breakpoints */
+       return FALSE;
 }
 
 gboolean
 mono_arch_is_breakpoint_event (void *info, void *sigctx)
 {
-#ifdef TARGET_WIN32
-       EXCEPTION_RECORD* einfo = ((EXCEPTION_POINTERS*)info)->ExceptionRecord; /* Sometimes the address is off by 4 */
-       if (((gpointer)einfo->ExceptionInformation[1] >= bp_trigger_page && (guint8*)einfo->ExceptionInformation[1] <= (guint8*)bp_trigger_page + 128))
-               return TRUE;
-       else
-               return FALSE;
-#else
-       siginfo_t* sinfo = (siginfo_t*)info;
-       /* Sometimes the address is off by 4 */
-       if (sinfo->si_signo == DBG_SIGNAL && (sinfo->si_addr >= bp_trigger_page && (guint8*)sinfo->si_addr <= (guint8*)bp_trigger_page + 128))
-               return TRUE;
-       else
-               return FALSE;
-#endif
+       /* We use soft breakpoints */
+       return FALSE;
 }
 
-#define BREAKPOINT_SIZE 6
+#define BREAKPOINT_SIZE 2
 
 /*
  * mono_arch_skip_breakpoint:
@@ -6726,7 +6774,7 @@ mono_arch_is_breakpoint_event (void *info, void *sigctx)
 void
 mono_arch_skip_breakpoint (MonoContext *ctx, MonoJitInfo *ji)
 {
-       MONO_CONTEXT_SET_IP (ctx, (guint8*)MONO_CONTEXT_GET_IP (ctx) + BREAKPOINT_SIZE);
+       g_assert_not_reached ();
 }
 
 /*
@@ -6737,7 +6785,7 @@ mono_arch_skip_breakpoint (MonoContext *ctx, MonoJitInfo *ji)
 void
 mono_arch_skip_single_step (MonoContext *ctx)
 {
-       MONO_CONTEXT_SET_IP (ctx, (guint8*)MONO_CONTEXT_GET_IP (ctx) + 6);
+       g_assert_not_reached ();
 }
 
 /*
index 149cbd1198f99408ec2ba91b878e367fdccd3783..0547b2c807eaf15c14fb52004f094f87c1073965 100644 (file)
@@ -165,6 +165,8 @@ typedef struct {
        gboolean need_stack_frame_inited;
        gboolean need_stack_frame;
        int sp_fp_offset, param_area_size;
+       gpointer ss_tramp_var;
+       gpointer bp_tramp_var;
 } MonoCompileArch;
 
 #define MONO_CONTEXT_SET_LLVM_EXC_REG(ctx, exc) do { (ctx)->eax = (gsize)exc; } while (0)
@@ -214,10 +216,6 @@ typedef struct {
 #define MONO_ARCH_HAVE_GENERALIZED_IMT_THUNK 1
 #define MONO_ARCH_HAVE_LIVERANGE_OPS 1
 #define MONO_ARCH_HAVE_SIGCTX_TO_MONOCTX 1
-#if defined(__linux__) || defined (__APPLE__)
-#define MONO_ARCH_MONITOR_OBJECT_REG X86_EAX
-#define MONO_ARCH_MONITOR_LOCK_TAKEN_REG X86_EDX
-#endif
 #if !defined(__native_client_codegen__)
 #define MONO_ARCH_HAVE_FULL_AOT_TRAMPOLINES 1
 #endif
@@ -239,9 +237,7 @@ typedef struct {
 #define MONO_ARCH_HAVE_LLVM_IMT_TRAMPOLINE 1
 #define MONO_ARCH_LLVM_SUPPORTED 1
 
-#if defined(MONO_ARCH_USE_SIGACTION) || defined(TARGET_WIN32)
 #define MONO_ARCH_SOFT_DEBUG_SUPPORTED 1
-#endif
 
 #define MONO_ARCH_HAVE_EXCEPTIONS_INIT 1
 #define MONO_ARCH_HAVE_HANDLER_BLOCK_GUARD 1
@@ -256,6 +252,7 @@ typedef struct {
 #define MONO_ARCH_HAVE_TRANSLATE_TLS_OFFSET 1
 #define MONO_ARCH_HAVE_TLS_GET_REG 1
 #define MONO_ARCH_HAVE_DUMMY_INIT 1
+#define MONO_ARCH_HAVE_SDB_TRAMPOLINES 1
 #define MONO_ARCH_HAVE_PATCH_CODE_NEW 1
 
 /* Used for optimization, not complete */
@@ -271,13 +268,6 @@ typedef struct {
                        MONO_EMIT_NEW_COND_EXC (cfg, LE_UN, "IndexOutOfRangeException"); \
        } while (0)
 
-typedef struct {
-       guint8 *address;
-       guint8 saved_byte;
-} MonoBreakpointInfo;
-
-extern MonoBreakpointInfo mono_breakpoint_info [MONO_BREAKPOINT_ARRAY_SIZE];
-
 /* Return value marshalling for calls between gsharedvt and normal code */
 typedef enum {
        GSHAREDVT_RET_NONE = 0,
index fd7d7c852be4a7545a5c22dfbe9c002f65a03939..62217d0674f5f5900cc4122e4f2eb53245c70ddc 100644 (file)
@@ -85,6 +85,8 @@ gboolean mono_using_xdebug;
 #define mono_jit_unlock() mono_mutex_unlock (&jit_mutex)
 static mono_mutex_t jit_mutex;
 
+#ifndef DISABLE_JIT
+
 gpointer
 mono_realloc_native_code (MonoCompile *cfg)
 {
@@ -196,6 +198,103 @@ void mono_nacl_fix_patches(const guint8 *code, MonoJumpInfo *ji)
 }
 #endif  /* __native_client_codegen__ */
 
+#ifdef USE_JUMP_TABLES
+
+#define DEFAULT_JUMPTABLE_CHUNK_ELEMENTS 128
+
+typedef struct MonoJumpTableChunk {
+       guint32 total;
+       guint32 active;
+       struct MonoJumpTableChunk *previous;
+       /* gpointer entries[total]; */
+} MonoJumpTableChunk;
+
+static MonoJumpTableChunk* g_jumptable;
+#define mono_jumptable_lock() mono_mutex_lock (&jumptable_mutex)
+#define mono_jumptable_unlock() mono_mutex_unlock (&jumptable_mutex)
+static mono_mutex_t jumptable_mutex;
+
+static  MonoJumpTableChunk*
+mono_create_jumptable_chunk (guint32 max_entries)
+{
+       guint32 size = sizeof (MonoJumpTableChunk) + max_entries * sizeof(gpointer);
+       MonoJumpTableChunk *chunk = (MonoJumpTableChunk*) g_new0 (guchar, size);
+       chunk->total = max_entries;
+       return chunk;
+}
+
+void
+mono_jumptable_init (void)
+{
+       if (g_jumptable == NULL) {
+               mono_mutex_init_recursive (&jumptable_mutex);
+               g_jumptable = mono_create_jumptable_chunk (DEFAULT_JUMPTABLE_CHUNK_ELEMENTS);
+       }
+}
+
+gpointer*
+mono_jumptable_add_entry (void)
+{
+       return mono_jumptable_add_entries (1);
+}
+
+gpointer*
+mono_jumptable_add_entries (guint32 entries)
+{
+       guint32 index;
+       gpointer *result;
+
+       mono_jumptable_init ();
+       mono_jumptable_lock ();
+       index = g_jumptable->active;
+       if (index + entries >= g_jumptable->total) {
+               /*
+                * Grow jumptable, by adding one more chunk.
+                * We cannot realloc jumptable, as there could be pointers
+                * to existing jump table entries in the code, so instead
+                * we just add one more chunk.
+                */
+               guint32 max_entries = entries;
+               MonoJumpTableChunk *new_chunk;
+
+               if (max_entries < DEFAULT_JUMPTABLE_CHUNK_ELEMENTS)
+                       max_entries = DEFAULT_JUMPTABLE_CHUNK_ELEMENTS;
+               new_chunk = mono_create_jumptable_chunk (max_entries);
+               /* Link old jumptable, so that we could free it up later. */
+               new_chunk->previous = g_jumptable;
+               g_jumptable = new_chunk;
+               index = 0;
+       }
+       g_jumptable->active = index + entries;
+       result = (gpointer*)((guchar*)g_jumptable + sizeof(MonoJumpTableChunk)) + index;
+       mono_jumptable_unlock();
+
+       return result;
+}
+
+void
+mono_jumptable_cleanup (void)
+{
+       if (g_jumptable) {
+               MonoJumpTableChunk *current = g_jumptable, *prev;
+               while (current != NULL) {
+                       prev = current->previous;
+                       g_free (current);
+                       current = prev;
+               }
+               g_jumptable = NULL;
+               mono_mutex_destroy (&jumptable_mutex);
+       }
+}
+
+gpointer*
+mono_jumptable_get_entry (guint8 *code_ptr)
+{
+       return mono_arch_jumptable_entry_from_code (code_ptr);
+}
+
+#endif /* USE_JUMP_TABLES */
+
 typedef struct {
        MonoExceptionClause *clause;
        MonoBasicBlock *basic_block;
@@ -532,19 +631,6 @@ mono_type_to_load_membase (MonoCompile *cfg, MonoType *type)
        return -1;
 }
 
-static guint
-mini_type_to_ldind (MonoCompile* cfg, MonoType *type)
-{
-       type = mini_get_underlying_type (type);
-       if (cfg->gshared && !type->byref && (type->type == MONO_TYPE_VAR || type->type == MONO_TYPE_MVAR)) {
-               g_assert (mini_type_var_is_vt (type));
-               return CEE_LDOBJ;
-       }
-       return mono_type_to_ldind (type);
-}
-
-#ifndef DISABLE_JIT
-
 guint
 mini_type_to_stind (MonoCompile* cfg, MonoType *type)
 {
@@ -688,8 +774,6 @@ mono_decompose_op_imm (MonoCompile *cfg, MonoBasicBlock *bb, MonoInst *ins)
        bb->max_vreg = MAX (bb->max_vreg, cfg->next_vreg);
 }
 
-#endif
-
 static void
 set_vreg_to_inst (MonoCompile *cfg, int vreg, MonoInst *inst)
 {
@@ -709,16 +793,6 @@ set_vreg_to_inst (MonoCompile *cfg, int vreg, MonoInst *inst)
 #define mono_type_is_long(type) (!(type)->byref && ((mono_type_get_underlying_type (type)->type == MONO_TYPE_I8) || (mono_type_get_underlying_type (type)->type == MONO_TYPE_U8)))
 #define mono_type_is_float(type) (!(type)->byref && (((type)->type == MONO_TYPE_R8) || ((type)->type == MONO_TYPE_R4)))
 
-#ifdef DISABLE_JIT
-
-MonoInst*
-mono_compile_create_var (MonoCompile *cfg, MonoType *type, int opcode)
-{
-       return NULL;
-}
-
-#else
-
 MonoInst*
 mono_compile_create_var_for_vreg (MonoCompile *cfg, MonoType *type, int opcode, int vreg)
 {
@@ -848,19 +922,6 @@ mono_compile_create_var (MonoCompile *cfg, MonoType *type, int opcode)
        return mono_compile_create_var_for_vreg (cfg, type, opcode, dreg);
 }
 
-/*
- * Transform a MonoInst into a load from the variable of index var_index.
- */
-void
-mono_compile_make_var_load (MonoCompile *cfg, MonoInst *dest, gssize var_index)
-{
-       memset (dest, 0, sizeof (MonoInst));
-       dest->inst_i0 = cfg->varinfo [var_index];
-       dest->opcode = mini_type_to_ldind (cfg, dest->inst_i0->inst_vtype);
-       type_to_eval_stack_type (cfg, dest->inst_i0->inst_vtype, dest);
-       dest->klass = dest->inst_i0->klass;
-}
-
 MonoInst*
 mini_get_int_to_float_spill_area (MonoCompile *cfg)
 {
@@ -875,8 +936,6 @@ mini_get_int_to_float_spill_area (MonoCompile *cfg)
 #endif
 }
 
-#endif
-
 void
 mono_mark_vreg_as_ref (MonoCompile *cfg, int vreg)
 {
@@ -910,7 +969,8 @@ mono_mark_vreg_as_mp (MonoCompile *cfg, int vreg)
 }      
 
 static MonoType*
-type_from_stack_type (MonoInst *ins) {
+type_from_stack_type (MonoInst *ins)
+{
        switch (ins->type) {
        case STACK_I4: return &mono_defaults.int32_class->byval_arg;
        case STACK_I8: return &mono_defaults.int64_class->byval_arg;
@@ -941,7 +1001,8 @@ type_from_stack_type (MonoInst *ins) {
 }
 
 MonoType*
-mono_type_from_stack_type (MonoInst *ins) {
+mono_type_from_stack_type (MonoInst *ins)
+{
        return type_from_stack_type (ins);
 }
 
@@ -1232,8 +1293,6 @@ compare_by_interval_start_pos_func (gconstpointer a, gconstpointer b)
                return 1;
 }
 
-#ifndef DISABLE_JIT
-
 #if 0
 #define LSCAN_DEBUG(a) do { a; } while (0)
 #else
@@ -1792,17 +1851,6 @@ mono_allocate_stack_slots (MonoCompile *cfg, gboolean backward, guint32 *stack_s
        return offsets;
 }
 
-#else
-
-gint32*
-mono_allocate_stack_slots (MonoCompile *cfg, gboolean backward, guint32 *stack_size, guint32 *stack_align)
-{
-       g_assert_not_reached ();
-       return NULL;
-}
-
-#endif /* DISABLE_JIT */
-
 #define EMUL_HIT_SHIFT 3
 #define EMUL_HIT_MASK ((1 << EMUL_HIT_SHIFT) - 1)
 /* small hit bitmap cache */
@@ -1851,7 +1899,8 @@ mini_register_opcode_emulation (int opcode, const char *name, const char *sigstr
 }
 
 static void
-print_dfn (MonoCompile *cfg) {
+print_dfn (MonoCompile *cfg)
+{
        int i, j;
        char *code;
        MonoBasicBlock *bb;
@@ -2004,7 +2053,6 @@ mono_verify_cfg (MonoCompile *cfg)
 void
 mono_destroy_compile (MonoCompile *cfg)
 {
-#ifndef DISABLE_JIT
        GSList *l;
 
        if (cfg->header)
@@ -2031,11 +2079,8 @@ mono_destroy_compile (MonoCompile *cfg)
        g_free (cfg->vars);
        g_free (cfg->exception_message);
        g_free (cfg);
-#endif
 }
 
-#ifndef DISABLE_JIT
-
 static MonoInst*
 mono_create_tls_get_offset (MonoCompile *cfg, int offset)
 {
@@ -2122,9 +2167,6 @@ mono_get_lmf_addr_intrinsic (MonoCompile* cfg)
        return mono_create_tls_get (cfg, TLS_KEY_LMF_ADDR);
 }
 
-#endif /* !DISABLE_JIT */
-
-
 void
 mono_add_patch_info (MonoCompile *cfg, int ip, MonoJumpInfoType type, gconstpointer target)
 {
@@ -2196,8 +2238,6 @@ mono_add_var_location (MonoCompile *cfg, MonoInst *var, gboolean is_reg, int reg
                cfg->rgctx_loclist = g_slist_append_mempool (cfg->mempool, cfg->rgctx_loclist, entry);
 }
 
-#ifndef DISABLE_JIT
-
 static void
 mono_compile_create_vars (MonoCompile *cfg)
 {
@@ -2627,37 +2667,6 @@ mono_handle_out_of_line_bblock (MonoCompile *cfg)
        }
 }
 
-#endif /* #ifndef DISABLE_JIT */
-
-static MonoJitInfo*
-create_jit_info_for_trampoline (MonoMethod *wrapper, MonoTrampInfo *info)
-{
-       MonoDomain *domain = mono_get_root_domain ();
-       MonoJitInfo *jinfo;
-       guint8 *uw_info;
-       guint32 info_len;
-
-       if (info->uw_info) {
-               uw_info = info->uw_info;
-               info_len = info->uw_info_len;
-       } else {
-               uw_info = mono_unwind_ops_encode (info->unwind_ops, &info_len);
-       }
-
-       jinfo = mono_domain_alloc0 (domain, MONO_SIZEOF_JIT_INFO);
-       jinfo->d.method = wrapper;
-       jinfo->code_start = info->code;
-       jinfo->code_size = info->code_size;
-       jinfo->unwind_info = mono_cache_unwind_info (uw_info, info_len);
-
-       if (!info->uw_info)
-               g_free (uw_info);
-
-       return jinfo;
-}
-
-#ifndef DISABLE_JIT
-
 static MonoJitInfo*
 create_jit_info (MonoCompile *cfg, MonoMethod *method_to_compile)
 {
@@ -2996,7 +3005,6 @@ create_jit_info (MonoCompile *cfg, MonoMethod *method_to_compile)
 
        return jinfo;
 }
-#endif
 
 /* Return whenever METHOD is a gsharedvt method */
 static gboolean
@@ -3039,8 +3047,6 @@ is_open_method (MonoMethod *method)
        return FALSE;
 }
 
-#ifndef DISABLE_JIT
-
 #if defined(__native_client_codegen__) || USE_COOP_GC
 
 static void
@@ -3098,6 +3104,42 @@ static void
 mono_insert_safepoints (MonoCompile *cfg)
 {
        MonoBasicBlock *bb;
+       if (cfg->method->wrapper_type == MONO_WRAPPER_MANAGED_TO_NATIVE) {
+               WrapperInfo *info = mono_marshal_get_wrapper_info (cfg->method);
+#if defined(__native_client__) || defined(__native_client_codegen__)
+               gpointer poll_func = &mono_nacl_gc;
+#elif defined(USE_COOP_GC)
+               gpointer poll_func = &mono_threads_state_poll;
+#else
+               gpointer poll_func = NULL;
+#endif
+
+               if (info && info->subtype == WRAPPER_SUBTYPE_ICALL_WRAPPER && info->d.icall.func == poll_func) {
+                       if (cfg->verbose_level > 1)
+                               printf ("SKIPPING SAFEPOINTS for the polling function icall\n");
+                       return;
+               }
+       }
+
+       if (cfg->method->wrapper_type == MONO_WRAPPER_NATIVE_TO_MANAGED) {
+               if (cfg->verbose_level > 1)
+                       printf ("SKIPPING SAFEPOINTS for native-to-managed wrappers.\n");
+               return;
+       }
+
+       if (cfg->method->wrapper_type == MONO_WRAPPER_MANAGED_TO_NATIVE) {
+               WrapperInfo *info = mono_marshal_get_wrapper_info (cfg->method);
+
+               if (info && info->subtype == WRAPPER_SUBTYPE_ICALL_WRAPPER &&
+                       (info->d.icall.func == mono_thread_interruption_checkpoint ||
+                       info->d.icall.func == mono_threads_finish_blocking ||
+                       info->d.icall.func == mono_threads_reset_blocking_start)) {
+                       /* These wrappers are called from the wrapper for the polling function, leading to potential stack overflow */
+                       if (cfg->verbose_level > 1)
+                               printf ("SKIPPING SAFEPOINTS for wrapper %s\n", cfg->method->name);
+                       return;
+               }
+       }
 
        if (cfg->verbose_level > 1)
                printf ("INSERTING SAFEPOINTS\n");
@@ -3569,6 +3611,8 @@ mini_method_compile (MonoMethod *method, guint32 opts, MonoDomain *domain, JitFl
        if (!COMPILE_LLVM (cfg))
                mono_if_conversion (cfg);
 
+       MONO_SUSPEND_CHECK ();
+
        /* Depth-first ordering on basic blocks */
        cfg->bblocks = mono_mempool_alloc (cfg->mempool, sizeof (MonoBasicBlock*) * (cfg->num_bblocks + 1));
 
@@ -3945,17 +3989,63 @@ mini_method_compile (MonoMethod *method, guint32 opts, MonoDomain *domain, JitFl
        return cfg;
 }
 
-#else
+void*
+mono_arch_instrument_epilog (MonoCompile *cfg, void *func, void *p, gboolean enable_arguments)
+{
+       return mono_arch_instrument_epilog_full (cfg, func, p, enable_arguments, FALSE);
+}
 
-MonoCompile*
-mini_method_compile (MonoMethod *method, guint32 opts, MonoDomain *domain, JitFlags flags, int parts, int aot_method_index)
+void
+mono_cfg_add_try_hole (MonoCompile *cfg, MonoExceptionClause *clause, guint8 *start, MonoBasicBlock *bb)
 {
-       g_assert_not_reached ();
-       return NULL;
+       TryBlockHole *hole = mono_mempool_alloc (cfg->mempool, sizeof (TryBlockHole));
+       hole->clause = clause;
+       hole->start_offset = start - cfg->native_code;
+       hole->basic_block = bb;
+
+       cfg->try_block_holes = g_slist_append_mempool (cfg->mempool, cfg->try_block_holes, hole);
+}
+
+void
+mono_cfg_set_exception (MonoCompile *cfg, int type)
+{
+       cfg->exception_type = type;
 }
 
 #endif /* DISABLE_JIT */
 
+static MonoJitInfo*
+create_jit_info_for_trampoline (MonoMethod *wrapper, MonoTrampInfo *info)
+{
+       MonoDomain *domain = mono_get_root_domain ();
+       MonoJitInfo *jinfo;
+       guint8 *uw_info;
+       guint32 info_len;
+
+       if (info->uw_info) {
+               uw_info = info->uw_info;
+               info_len = info->uw_info_len;
+       } else {
+               uw_info = mono_unwind_ops_encode (info->unwind_ops, &info_len);
+       }
+
+       jinfo = mono_domain_alloc0 (domain, MONO_SIZEOF_JIT_INFO);
+       jinfo->d.method = wrapper;
+       jinfo->code_start = info->code;
+       jinfo->code_size = info->code_size;
+       jinfo->unwind_info = mono_cache_unwind_info (uw_info, info_len);
+
+       if (!info->uw_info)
+               g_free (uw_info);
+
+       return jinfo;
+}
+
+/*
+ * mono_jit_compile_method_inner:
+ *
+ *   Main entry point for the JIT.
+ */
 gpointer
 mono_jit_compile_method_inner (MonoMethod *method, MonoDomain *target_domain, int opt, MonoException **jit_ex)
 {
@@ -4276,82 +4366,34 @@ mono_jit_compile_method_inner (MonoMethod *method, MonoDomain *target_domain, in
        return code;
 }
 
-#ifndef DISABLE_JIT
-
-void*
-mono_arch_instrument_epilog (MonoCompile *cfg, void *func, void *p, gboolean enable_arguments) {
-       return mono_arch_instrument_epilog_full (cfg, func, p, enable_arguments, FALSE);
-}
-
-void
-mono_cfg_add_try_hole (MonoCompile *cfg, MonoExceptionClause *clause, guint8 *start, MonoBasicBlock *bb)
+/*
+ * mini_get_underlying_type:
+ *
+ *   Return the type the JIT will use during compilation.
+ * Handles: byref, enums, native types, generic sharing.
+ * For gsharedvt types, it will return the original VAR/MVAR.
+ */
+MonoType*
+mini_get_underlying_type (MonoType *type)
 {
-       TryBlockHole *hole = mono_mempool_alloc (cfg->mempool, sizeof (TryBlockHole));
-       hole->clause = clause;
-       hole->start_offset = start - cfg->native_code;
-       hole->basic_block = bb;
-
-       cfg->try_block_holes = g_slist_append_mempool (cfg->mempool, cfg->try_block_holes, hole);
+       return mini_type_get_underlying_type (type);
 }
 
 void
-mono_cfg_set_exception (MonoCompile *cfg, int type)
-{
-       cfg->exception_type = type;
-}
-
-#endif
-
-/* Dummy versions of some arch specific functions to avoid ifdefs at call sites */
-
-#ifndef MONO_ARCH_GSHAREDVT_SUPPORTED
-
-gboolean
-mono_arch_gsharedvt_sig_supported (MonoMethodSignature *sig)
-{
-       return FALSE;
-}
-
-gpointer
-mono_arch_get_gsharedvt_call_info (gpointer addr, MonoMethodSignature *normal_sig, MonoMethodSignature *gsharedvt_sig, gboolean gsharedvt_in, gint32 vcall_offset, gboolean calli)
-{
-       g_assert_not_reached ();
-       return NULL;
-}
-
-gpointer
-mono_arch_get_gsharedvt_arg_trampoline (MonoDomain *domain, gpointer arg, gpointer addr)
+mini_jit_init (void)
 {
-       g_assert_not_reached ();
-       return NULL;
+       mono_mutex_init_recursive (&jit_mutex);
 }
 
-gpointer
-mono_arch_get_gsharedvt_trampoline (MonoTrampInfo **info, gboolean aot)
+void
+mini_jit_cleanup (void)
 {
-       g_assert_not_reached ();
-       return NULL;
-}
-
+#ifndef DISABLE_JIT
+       g_free (emul_opcode_map);
+       g_free (emul_opcode_opcodes);
 #endif
-
-#if defined(MONO_ARCH_GSHAREDVT_SUPPORTED) && !defined(ENABLE_GSHAREDVT)
-
-gboolean
-mono_arch_gsharedvt_sig_supported (MonoMethodSignature *sig)
-{
-       return FALSE;
 }
 
-gpointer
-mono_arch_get_gsharedvt_call_info (gpointer addr, MonoMethodSignature *normal_sig, MonoMethodSignature *gsharedvt_sig, gboolean gsharedvt_in, gint32 vcall_offset, gboolean calli)
-{
-       NOT_IMPLEMENTED;
-       return NULL;
-}
-
-#endif
-
 #ifndef ENABLE_LLVM
 void
 mono_llvm_emit_aot_file_info (MonoAotFileInfo *info, gboolean has_jitted_code)
@@ -4365,123 +4407,25 @@ void mono_llvm_emit_aot_data (const char *symbol, guint8 *data, int data_len)
 }
 #endif
 
-#ifdef USE_JUMP_TABLES
-#define DEFAULT_JUMPTABLE_CHUNK_ELEMENTS 128
-
-typedef struct MonoJumpTableChunk {
-       guint32 total;
-       guint32 active;
-       struct MonoJumpTableChunk *previous;
-       /* gpointer entries[total]; */
-} MonoJumpTableChunk;
-
-static MonoJumpTableChunk* g_jumptable;
-#define mono_jumptable_lock() mono_mutex_lock (&jumptable_mutex)
-#define mono_jumptable_unlock() mono_mutex_unlock (&jumptable_mutex)
-static mono_mutex_t jumptable_mutex;
-
-static  MonoJumpTableChunk*
-mono_create_jumptable_chunk (guint32 max_entries)
-{
-       guint32 size = sizeof (MonoJumpTableChunk) + max_entries * sizeof(gpointer);
-       MonoJumpTableChunk *chunk = (MonoJumpTableChunk*) g_new0 (guchar, size);
-       chunk->total = max_entries;
-       return chunk;
-}
-
-void
-mono_jumptable_init (void)
-{
-       if (g_jumptable == NULL) {
-               mono_mutex_init_recursive (&jumptable_mutex);
-               g_jumptable = mono_create_jumptable_chunk (DEFAULT_JUMPTABLE_CHUNK_ELEMENTS);
-       }
-}
-
-gpointer*
-mono_jumptable_add_entry (void)
-{
-       return mono_jumptable_add_entries (1);
-}
+#ifdef DISABLE_JIT
 
-gpointer*
-mono_jumptable_add_entries (guint32 entries)
+MonoCompile*
+mini_method_compile (MonoMethod *method, guint32 opts, MonoDomain *domain, JitFlags flags, int parts, int aot_method_index)
 {
-       guint32 index;
-       gpointer *result;
-
-       mono_jumptable_init ();
-       mono_jumptable_lock ();
-       index = g_jumptable->active;
-       if (index + entries >= g_jumptable->total) {
-               /*
-                * Grow jumptable, by adding one more chunk.
-                * We cannot realloc jumptable, as there could be pointers
-                * to existing jump table entries in the code, so instead
-                * we just add one more chunk.
-                */
-               guint32 max_entries = entries;
-               MonoJumpTableChunk *new_chunk;
-
-               if (max_entries < DEFAULT_JUMPTABLE_CHUNK_ELEMENTS)
-                       max_entries = DEFAULT_JUMPTABLE_CHUNK_ELEMENTS;
-               new_chunk = mono_create_jumptable_chunk (max_entries);
-               /* Link old jumptable, so that we could free it up later. */
-               new_chunk->previous = g_jumptable;
-               g_jumptable = new_chunk;
-               index = 0;
-       }
-       g_jumptable->active = index + entries;
-       result = (gpointer*)((guchar*)g_jumptable + sizeof(MonoJumpTableChunk)) + index;
-       mono_jumptable_unlock();
-
-       return result;
+       g_assert_not_reached ();
+       return NULL;
 }
 
 void
-mono_jumptable_cleanup (void)
-{
-       if (g_jumptable) {
-               MonoJumpTableChunk *current = g_jumptable, *prev;
-               while (current != NULL) {
-                       prev = current->previous;
-                       g_free (current);
-                       current = prev;
-               }
-               g_jumptable = NULL;
-               mono_mutex_destroy (&jumptable_mutex);
-       }
-}
-
-gpointer*
-mono_jumptable_get_entry (guint8 *code_ptr)
-{
-       return mono_arch_jumptable_entry_from_code (code_ptr);
-}
-#endif
-
-/*
- * mini_get_underlying_type:
- *
- *   Return the type the JIT will use during compilation.
- * Handles: byref, enums, native types, generic sharing.
- * For gsharedvt types, it will return the original VAR/MVAR.
- */
-MonoType*
-mini_get_underlying_type (MonoType *type)
+mono_destroy_compile (MonoCompile *cfg)
 {
-       return mini_type_get_underlying_type (type);
+       g_assert_not_reached ();
 }
 
 void
-mini_jit_init (void)
+mono_add_patch_info (MonoCompile *cfg, int ip, MonoJumpInfoType type, gconstpointer target)
 {
-       mono_mutex_init_recursive (&jit_mutex);
+       g_assert_not_reached ();
 }
 
-void
-mini_jit_cleanup (void)
-{
-       g_free (emul_opcode_map);
-       g_free (emul_opcode_opcodes);
-}
+#endif /* DISABLE_JIT */
index 386f80c7e1ac5ce5fdd44f32cf8021b0c0b53644..cf8929516eef1eb8a2a51dfe72bc66518fc20343 100644 (file)
 #endif
 
 /* Version number of the AOT file format */
-#define MONO_AOT_FILE_VERSION 120
+#define MONO_AOT_FILE_VERSION 121
 
 //TODO: This is x86/amd64 specific.
 #define mono_simd_shuffle_mask(a,b,c,d) ((a) | ((b) << 2) | ((c) << 4) | ((d) << 6))
@@ -307,9 +307,10 @@ typedef struct
        /* maps MonoMethod -> MonoJitDynamicMethodInfo */
        GHashTable *dynamic_code_hash;
        GHashTable *method_code_hash;
-       /* Maps methods to a RuntimeInvokeInfo structure */
+       /* Maps methods to a RuntimeInvokeInfo structure, protected by the associated MonoDomain lock */
        MonoConcurrentHashTable *runtime_invoke_hash;
        /* Maps MonoMethod to a GPtrArray containing sequence point locations */
+       /* Protected by the domain lock */
        GHashTable *seq_points;
        /* Debugger agent data */
        gpointer agent_info;
@@ -1326,9 +1327,6 @@ typedef enum {
        MONO_TRAMPOLINE_DELEGATE,
        MONO_TRAMPOLINE_RESTORE_STACK_PROT,
        MONO_TRAMPOLINE_GENERIC_VIRTUAL_REMOTING,
-       MONO_TRAMPOLINE_MONITOR_ENTER,
-       MONO_TRAMPOLINE_MONITOR_ENTER_V4,
-       MONO_TRAMPOLINE_MONITOR_EXIT,
        MONO_TRAMPOLINE_VCALL,
        MONO_TRAMPOLINE_HANDLER_BLOCK_GUARD,
        MONO_TRAMPOLINE_NUM
@@ -1337,17 +1335,11 @@ typedef enum {
 /* These trampolines return normally to their caller */
 #define MONO_TRAMPOLINE_TYPE_MUST_RETURN(t)            \
        ((t) == MONO_TRAMPOLINE_RESTORE_STACK_PROT ||   \
-        (t) == MONO_TRAMPOLINE_RGCTX_LAZY_FETCH ||     \
-        (t) == MONO_TRAMPOLINE_MONITOR_ENTER ||        \
-        (t) == MONO_TRAMPOLINE_MONITOR_ENTER_V4 ||     \
-        (t) == MONO_TRAMPOLINE_MONITOR_EXIT)
+        (t) == MONO_TRAMPOLINE_RGCTX_LAZY_FETCH)
 
 /* These trampolines receive an argument directly in a register */
 #define MONO_TRAMPOLINE_TYPE_HAS_ARG(t)                \
-       ((t) == MONO_TRAMPOLINE_MONITOR_ENTER ||                \
-        (t) == MONO_TRAMPOLINE_MONITOR_ENTER_V4 ||             \
-        (t) == MONO_TRAMPOLINE_MONITOR_EXIT ||                 \
-        (t) == MONO_TRAMPOLINE_HANDLER_BLOCK_GUARD)
+       ((t) == MONO_TRAMPOLINE_HANDLER_BLOCK_GUARD)
 
 /* optimization flags */
 #define OPTFLAG(id,shift,name,descr) MONO_OPT_ ## id = 1 << shift,
@@ -1924,6 +1916,11 @@ typedef struct {
         */
        gboolean gen_sdb_seq_points;
        gboolean gen_seq_points_compact_data;
+       /*
+        * Setting single_imm_size should guarantee that each time managed code is compiled
+        * the same instructions and registers are used, regardless of the size of used values.
+        */
+       gboolean single_imm_size;
        gboolean explicit_null_checks;
        /*
         * Fill stack frames with 0x2a in method prologs. This helps with the
@@ -1950,6 +1947,10 @@ typedef struct {
         * Check for pinvoke calling convention mismatches.
         */
        gboolean check_pinvoke_callconv;
+       /*
+        * Translate Debugger.Break () into a native breakpoint signal
+        */
+       gboolean native_debugger_break;
 } MonoDebugOptions;
 
 enum {
@@ -2124,8 +2125,6 @@ void      mono_cprop_local                  (MonoCompile *cfg, MonoBasicBlock *b
 MonoInst* mono_compile_create_var           (MonoCompile *cfg, MonoType *type, int opcode);
 MonoInst* mono_compile_create_var_for_vreg  (MonoCompile *cfg, MonoType *type, int opcode, int vreg);
 void      mono_compile_make_var_load        (MonoCompile *cfg, MonoInst *dest, gssize var_index);
-MonoInst* mono_compile_create_var_load      (MonoCompile *cfg, gssize var_index);
-MonoInst* mono_compile_create_var_store     (MonoCompile *cfg, gssize var_index, MonoInst *value);
 MonoInst* mini_get_int_to_float_spill_area  (MonoCompile *cfg);
 MonoType* mono_type_from_stack_type         (MonoInst *ins);
 guint32   mono_alloc_ireg                   (MonoCompile *cfg) MONO_LLVM_INTERNAL;
@@ -2438,7 +2437,7 @@ void              mono_emit_unwind_op (MonoCompile *cfg, int when,
                                                                           int val);
 MonoTrampInfo*    mono_tramp_info_create (const char *name, guint8 *code, guint32 code_size, MonoJumpInfo *ji, GSList *unwind_ops);
 void              mono_tramp_info_free (MonoTrampInfo *info);
-void              mono_tramp_info_register (MonoTrampInfo *info);
+void              mono_tramp_info_register (MonoTrampInfo *info, MonoDomain *domain);
 int               mini_exception_id_by_name (const char *name);
 gboolean          mini_type_is_hfa (MonoType *t, int *out_nfields, int *out_esize) MONO_LLVM_INTERNAL;
 
@@ -2647,6 +2646,7 @@ void     mono_walk_stack_with_ctx               (MonoJitStackWalk func, MonoCont
 void     mono_walk_stack_with_state             (MonoJitStackWalk func, MonoThreadUnwindState *state, MonoUnwindOptions unwind_options, void *user_data);
 void     mono_walk_stack                        (MonoJitStackWalk func, MonoUnwindOptions options, void *user_data);
 gboolean mono_thread_state_init_from_sigctx     (MonoThreadUnwindState *ctx, void *sigctx);
+void     mono_thread_state_init                 (MonoThreadUnwindState *ctx);
 gboolean mono_thread_state_init_from_current    (MonoThreadUnwindState *ctx);
 gboolean mono_thread_state_init_from_monoctx    (MonoThreadUnwindState *ctx, MonoContext *mctx);
 
@@ -2684,7 +2684,6 @@ MonoBoolean ves_icall_get_frame_info            (gint32 skip, MonoBoolean need_f
                                                 MonoReflectionMethod **method, 
                                                 gint32 *iloffset, gint32 *native_offset,
                                                 MonoString **file, gint32 *line, gint32 *column);
-MonoString *ves_icall_System_Exception_get_trace (MonoException *exc);
 void mono_set_cast_details                      (MonoClass *from, MonoClass *to);
 
 /* Installs a function which is called when the runtime encounters an unhandled exception.
index 357a30d42ceb14b249f7a7c0ee1e2509cef178b7..c9f74b8e170b68359225bbc6e8a1fba44da6598c 100644 (file)
@@ -197,7 +197,7 @@ mono_get_seq_points (MonoDomain *domain, MonoMethod *method)
                shared_method = mini_get_shared_method (method);
        }
 
-       mono_domain_lock (domain);
+       mono_loader_lock ();
        seq_points = g_hash_table_lookup (domain_jit_info (domain)->seq_points, method);
        if (!seq_points && method->is_inflated) {
                /* generic sharing + aot */
@@ -205,7 +205,7 @@ mono_get_seq_points (MonoDomain *domain, MonoMethod *method)
                if (!seq_points)
                        seq_points = g_hash_table_lookup (domain_jit_info (domain)->seq_points, shared_method);
        }
-       mono_domain_unlock (domain);
+       mono_loader_unlock ();
 
        return seq_points;
 }
index 28e7644d29cf3ab2f77cb4d1acd16e612f454dc2..9abca97a1b9fd3b11e34748588cd4188cc2d85f9 100644 (file)
@@ -7,8 +7,6 @@
 
 #if defined(MONO_SUPPORT_TASKLETS)
 
-/* keepalive_stacks could be a per-stack var to avoid locking overhead */
-static MonoGHashTable *keepalive_stacks;
 static mono_mutex_t tasklets_mutex;
 #define tasklets_lock() mono_mutex_lock(&tasklets_mutex)
 #define tasklets_unlock() mono_mutex_unlock(&tasklets_mutex)
@@ -17,10 +15,9 @@ static mono_mutex_t tasklets_mutex;
 static void
 internal_init (void)
 {
-       if (keepalive_stacks)
-               return;
-       MONO_GC_REGISTER_ROOT_PINNING (keepalive_stacks);
-       keepalive_stacks = mono_g_hash_table_new (NULL, NULL);
+       if (!mono_gc_is_moving ())
+               /* Boehm requires the keepalive stacks to be kept in a hash since mono_gc_alloc_fixed () returns GC memory */
+               g_assert_not_reached ();
 }
 
 static void*
@@ -33,12 +30,8 @@ continuation_alloc (void)
 static void
 continuation_free (MonoContinuation *cont)
 {
-       if (cont->saved_stack) {
-               tasklets_lock ();
-               mono_g_hash_table_remove (keepalive_stacks, cont->saved_stack);
-               tasklets_unlock ();
+       if (cont->saved_stack)
                mono_gc_free_fixed (cont->saved_stack);
-       }
        g_free (cont);
 }
 
@@ -69,7 +62,7 @@ continuation_mark_frame (MonoContinuation *cont)
                ctx = new_ctx;
                if (endloop)
                        break;
-               if (strcmp (jinfo_get_method (ji)->name, "Mark") == 0)
+               if (!ji->is_trampoline && strcmp (jinfo_get_method (ji)->name, "Mark") == 0)
                        endloop = TRUE;
        } while (1);
 
@@ -111,14 +104,11 @@ continuation_store (MonoContinuation *cont, int state, MonoException **e)
        } else {
                tasklets_lock ();
                internal_init ();
-               if (cont->saved_stack) {
-                       mono_g_hash_table_remove (keepalive_stacks, cont->saved_stack);
+               if (cont->saved_stack)
                        mono_gc_free_fixed (cont->saved_stack);
-               }
                cont->stack_used_size = num_bytes;
                cont->stack_alloc_size = num_bytes * 1.1;
-               cont->saved_stack = mono_gc_alloc_fixed (cont->stack_alloc_size, NULL);
-               mono_g_hash_table_insert (keepalive_stacks, cont->saved_stack, cont->saved_stack);
+               cont->saved_stack = mono_gc_alloc_fixed (cont->stack_alloc_size, NULL, MONO_ROOT_SOURCE_THREADING, "saved tasklet stack");
                tasklets_unlock ();
        }
        memcpy (cont->saved_stack, cont->return_sp, num_bytes);
index a5c7a3fb36c43dc41a577634648e153f33fefc89..5df176e4755c968607feee268744df3ab860bb28 100755 (executable)
@@ -19,6 +19,10 @@ clean_aot () {
        rm -rf *.exe..so *.exe.dylib *.exe.dylib.dSYM
 }
 
+# The test compares the generated native code size between a compilation with and without seq points.
+# In some architectures ie:amd64 when possible 32bit instructions and registers are used instead of 64bit ones.
+# Using MONO_DEBUG=single-imm-size avoids 32bit optimizations thus mantaining the native code size between compilations.
+
 get_methods () {
        if [ -z $4 ]; then
                MONO_PATH=$1 $2 -v --compile-all=1 $3 | grep '^Method .*code length' | sed 's/emitted[^()]*//' | sort
@@ -39,14 +43,14 @@ get_method () {
 
 diff_methods () {
        TMP_FILE=$(tmp_file)
-       echo "$(get_methods $1 $2 $3 $4)" >$TMP_FILE
-       diff <(cat $TMP_FILE) <(echo "$(MONO_DEBUG=gen-compact-seq-points get_methods $1 $2 $3 $4)")
+       echo "$(MONO_DEBUG=single-imm-size get_methods $1 $2 $3 $4)" >$TMP_FILE
+       diff <(cat $TMP_FILE) <(echo "$(MONO_DEBUG=gen-compact-seq-points,single-imm-size get_methods $1 $2 $3 $4)")
 }
 
 diff_method () {
        TMP_FILE=$(tmp_file)
-       echo "$(get_method $1 $2 $3 $4 $5)" >$TMP_FILE
-       sdiff -w 150 <(cat $TMP_FILE) <(echo "$(MONO_DEBUG=gen-compact-seq-points get_method $1 $2 $3 $4 $5 | grep -Ev il_seq_point)")
+       echo "$(MONO_DEBUG=single-imm-size get_method $1 $2 $3 $4 $5)" >$TMP_FILE
+       sdiff -w 150 <(cat $TMP_FILE) <(echo "$(MONO_DEBUG=gen-compact-seq-points,single-imm-size get_method $1 $2 $3 $4 $5 | grep -Ev il_seq_point)")
 }
 
 get_method_name () {
index cb768b9551e03bd942038c5fcff3a6bf6b610dbd..abd79479169cf069619ed65c68f3b33858550e4b 100644 (file)
@@ -403,7 +403,7 @@ void
 mono_trace_enter_method (MonoMethod *method, char *ebp)
 {
        int i, j;
-       MonoClass *class;
+       MonoClass *klass;
        MonoObject *o;
        MonoJitArgumentInfo *arg_info;
        MonoMethodSignature *sig;
@@ -456,16 +456,16 @@ mono_trace_enter_method (MonoMethod *method, char *ebp)
                        o = *arg_in_stack_slot(this, MonoObject *);
 
                        if (o) {
-                               class = o->vtable->klass;
+                               klass = o->vtable->klass;
 
-                               if (class == mono_defaults.string_class) {
+                               if (klass == mono_defaults.string_class) {
                                        MonoString *s = (MonoString*)o;
                                        char *as = string_to_utf8 (s);
 
                                        printf ("this:[STRING:%p:%s], ", o, as);
                                        g_free (as);
                                } else {
-                                       printf ("this:%p[%s.%s %s], ", o, class->name_space, class->name, o->vtable->domain->friendly_name);
+                                       printf ("this:%p[%s.%s %s], ", o, klass->name_space, klass->name, o->vtable->domain->friendly_name);
                                }
                        } else 
                                printf ("this:NULL, ");
@@ -518,19 +518,19 @@ mono_trace_enter_method (MonoMethod *method, char *ebp)
                case MONO_TYPE_OBJECT: {
                        o = *arg_in_stack_slot(cpos, MonoObject *);
                        if (o) {
-                               class = o->vtable->klass;
+                               klass = o->vtable->klass;
                    
-                               if (class == mono_defaults.string_class) {
+                               if (klass == mono_defaults.string_class) {
                                        char *as = string_to_utf8 ((MonoString*)o);
 
                                        printf ("[STRING:%p:%s], ", o, as);
                                        g_free (as);
-                               } else if (class == mono_defaults.int32_class) {
+                               } else if (klass == mono_defaults.int32_class) {
                                        printf ("[INT32:%p:%d], ", o, *(gint32 *)((char *)o + sizeof (MonoObject)));
-                               } else if (class == mono_defaults.monotype_class) {
+                               } else if (klass == mono_defaults.monotype_class) {
                                        printf ("[TYPE:%s], ", mono_type_full_name (((MonoReflectionType*)o)->type));
                                } else
-                                       printf ("[%s.%s:%p], ", class->name_space, class->name, o);
+                                       printf ("[%s.%s:%p], ", klass->name_space, klass->name, o);
                        } else {
                                printf ("%p, ", *arg_in_stack_slot(cpos, gpointer));
                        }
index 7ffe518178e090e2bc6e730a5594299f5d808f8d..a5f94d31ece7ae77efcf8ba522e020a8a9107258 100644 (file)
@@ -18,7 +18,6 @@
 #include <mono/metadata/marshal.h>
 #include <mono/metadata/tabledefs.h>
 #include <mono/metadata/mono-debug-debugger.h>
-#include <mono/metadata/monitor.h>
 #include <mono/metadata/profiler-private.h>
 #include <mono/metadata/gc-internal.h>
 #include <mono/arch/amd64/amd64-codegen.h>
@@ -51,6 +50,7 @@ gpointer
 mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
 {
        guint8 *code, *start;
+       GSList *unwind_ops;
        int this_reg, size = NACL_SIZE (20, 32);
 
        MonoDomain *domain = mono_domain_get ();
@@ -59,6 +59,8 @@ mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
 
        start = code = mono_domain_code_reserve (domain, size);
 
+       unwind_ops = mono_arch_get_cie_program ();
+
        amd64_alu_reg_imm (code, X86_ADD, this_reg, sizeof (MonoObject));
        /* FIXME: Optimize this */
        amd64_mov_reg_imm (code, AMD64_RAX, addr);
@@ -70,6 +72,8 @@ mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
        mono_arch_flush_icache (start, code - start);
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_UNBOX_TRAMPOLINE, m);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, unwind_ops), domain);
+
        return start;
 }
 
@@ -82,6 +86,7 @@ gpointer
 mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericContext *mrgctx, gpointer addr)
 {
        guint8 *code, *start;
+       GSList *unwind_ops;
        int buf_len;
 
        MonoDomain *domain = mono_domain_get ();
@@ -98,6 +103,8 @@ mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericCo
 
        start = code = mono_domain_code_reserve (domain, buf_len);
 
+       unwind_ops = mono_arch_get_cie_program ();
+
        amd64_mov_reg_imm (code, MONO_ARCH_RGCTX_REG, mrgctx);
        amd64_jump_code (code, addr);
        g_assert ((code - start) < buf_len);
@@ -106,6 +113,8 @@ mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericCo
        mono_arch_flush_icache (start, code - start);
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_GENERICS_TRAMPOLINE, NULL);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, unwind_ops), domain);
+
        return start;
 }
 
@@ -139,6 +148,11 @@ mono_arch_get_llvm_imt_trampoline (MonoDomain *domain, MonoMethod *m, int vt_off
        return start;
 }
 
+#ifdef _WIN64
+// Workaround lack of Valgrind support for 64-bit Windows
+#define VALGRIND_DISCARD_TRANSLATIONS(...)
+#endif
+
 /*
  * mono_arch_patch_callsite:
  *
@@ -279,52 +293,9 @@ mono_arch_patch_plt_entry (guint8 *code, gpointer *got, mgreg_t *regs, guint8 *a
 
 #endif /* __native_client_codegen__ */
 
-
        InterlockedExchangePointer (plt_jump_table_entry, addr);
 }
 
-static gpointer
-get_vcall_slot (guint8 *code, mgreg_t *regs, int *displacement)
-{
-       guint8 buf [10];
-       gint32 disp;
-       MonoJitInfo *ji = NULL;
-
-#ifdef ENABLE_LLVM
-       /* code - 9 might be before the start of the method */
-       /* FIXME: Avoid this expensive call somehow */
-       ji = mono_jit_info_table_find (mono_domain_get (), (char*)code);
-#endif
-
-       mono_breakpoint_clean_code (ji ? ji->code_start : NULL, code, 9, buf, sizeof (buf));
-       code = buf + 9;
-
-       *displacement = 0;
-
-       code -= 7;
-
-       if ((code [0] == 0x41) && (code [1] == 0xff) && (code [2] == 0x15)) {
-               /* call OFFSET(%rip) */
-               g_assert_not_reached ();
-               *displacement = *(guint32*)(code + 3);
-               return (gpointer*)(code + disp + 7);
-       } else {
-               g_assert_not_reached ();
-               return NULL;
-       }
-}
-
-static gpointer*
-get_vcall_slot_addr (guint8* code, mgreg_t *regs)
-{
-       gpointer vt;
-       int displacement;
-       vt = get_vcall_slot (code, regs, &displacement);
-       if (!vt)
-               return NULL;
-       return (gpointer*)((char*)vt + displacement);
-}
-
 static void
 stack_unaligned (MonoTrampolineType tramp_type)
 {
@@ -338,7 +309,7 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
        char *tramp_name;
        guint8 *buf, *code, *tramp, *br [2], *r11_save_code, *after_r11_save_code;
        int i, lmf_offset, offset, res_offset, arg_offset, rax_offset, tramp_offset, ctx_offset, saved_regs_offset;
-       int saved_fpregs_offset, rbp_offset, framesize, orig_rsp_to_rbp_offset, cfa_offset;
+       int r11_save_offset, saved_fpregs_offset, rbp_offset, framesize, orig_rsp_to_rbp_offset, cfa_offset;
        gboolean has_caller;
        GSList *unwind_ops = NULL;
        MonoJumpInfo *ji = NULL;
@@ -362,6 +333,9 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
        offset += sizeof(mgreg_t);
        rax_offset = -offset;
 
+       offset += sizeof(mgreg_t);
+       r11_save_offset = -offset;
+
        offset += sizeof(mgreg_t);
        tramp_offset = -offset;
 
@@ -379,13 +353,12 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
        offset += sizeof (MonoLMFTramp);
        lmf_offset = -offset;
 
-       framesize = ALIGN_TO (offset, MONO_ARCH_FRAME_ALIGNMENT);
+#ifdef TARGET_WIN32
+       /* Reserve space where the callee can save the argument registers */
+       offset += 4 * sizeof (mgreg_t);
+#endif
 
-       orig_rsp_to_rbp_offset = 0;
-       r11_save_code = code;
-       /* Reserve space for the mov_membase_reg to save R11 */
-       code += 8;
-       after_r11_save_code = code;
+       framesize = ALIGN_TO (offset, MONO_ARCH_FRAME_ALIGNMENT);
 
        // CFA = sp + 16 (the trampoline address is on the stack)
        cfa_offset = 16;
@@ -393,6 +366,12 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
        // IP saved at CFA - 8
        mono_add_unwind_op_offset (unwind_ops, code, buf, AMD64_RIP, -8);
 
+       orig_rsp_to_rbp_offset = 0;
+       r11_save_code = code;
+       /* Reserve space for the mov_membase_reg to save R11 */
+       code += 5;
+       after_r11_save_code = code;
+
        /* Pop the return address off the stack */
        amd64_pop_reg (code, AMD64_R11);
        orig_rsp_to_rbp_offset += sizeof(mgreg_t);
@@ -449,8 +428,13 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
                        /* We have to save R11 right at the start of
                           the trampoline code because it's used as a
                           scratch register */
-                       amd64_mov_membase_reg (r11_save_code, AMD64_RSP, saved_regs_offset + orig_rsp_to_rbp_offset + (i * sizeof(mgreg_t)), i, sizeof(mgreg_t));
+                       /* This happens before the frame is set up, so it goes into the redzone */
+                       amd64_mov_membase_reg (r11_save_code, AMD64_RSP, r11_save_offset + orig_rsp_to_rbp_offset, i, sizeof(mgreg_t));
                        g_assert (r11_save_code == after_r11_save_code);
+
+                       /* Copy from the save slot into the register array slot */
+                       amd64_mov_reg_membase (code, i, AMD64_RSP, r11_save_offset + orig_rsp_to_rbp_offset, sizeof(mgreg_t));
+                       amd64_mov_membase_reg (code, AMD64_RBP, saved_regs_offset + (i * sizeof(mgreg_t)), i, sizeof(mgreg_t));
                }
        }
        for (i = 0; i < 8; ++i)
@@ -475,10 +459,7 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
        //amd64_breakpoint (code);
 #endif
 
-       if (tramp_type != MONO_TRAMPOLINE_MONITOR_ENTER &&
-               tramp_type != MONO_TRAMPOLINE_MONITOR_ENTER_V4 &&
-               tramp_type != MONO_TRAMPOLINE_MONITOR_EXIT &&
-               tramp_type != MONO_TRAMPOLINE_HANDLER_BLOCK_GUARD) {
+       if (tramp_type != MONO_TRAMPOLINE_HANDLER_BLOCK_GUARD) {
                /* Obtain the trampoline argument which is encoded in the instruction stream */
                if (aot) {
                        /* Load the GOT offset */
@@ -625,6 +606,9 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
 
        /* Restore stack */
        amd64_leave (code);
+       cfa_offset -= sizeof (mgreg_t);
+       mono_add_unwind_op_def_cfa (unwind_ops, code, buf, AMD64_RSP, cfa_offset);
+
 
        if (MONO_TRAMPOLINE_TYPE_MUST_RETURN (tramp_type)) {
                /* Load result */
@@ -732,7 +716,7 @@ mono_arch_create_rgctx_lazy_fetch_trampoline (guint32 slot, MonoTrampInfo **info
        int i;
        gboolean mrgctx;
        MonoJumpInfo *ji = NULL;
-       GSList *unwind_ops = NULL;
+       GSList *unwind_ops;
 
        mrgctx = MONO_RGCTX_SLOT_IS_MRGCTX (slot);
        index = MONO_RGCTX_SLOT_INDEX (slot);
@@ -821,317 +805,6 @@ mono_arch_create_rgctx_lazy_fetch_trampoline (guint32 slot, MonoTrampInfo **info
        return buf;
 }
 
-#ifdef MONO_ARCH_MONITOR_OBJECT_REG
-
-gpointer
-mono_arch_create_monitor_enter_trampoline (MonoTrampInfo **info, gboolean is_v4, gboolean aot)
-{
-       guint8 *tramp;
-       guint8 *code, *buf;
-       guint8 *jump_obj_null, *jump_sync_null, *jump_cmpxchg_failed, *jump_other_owner, *jump_tid, *jump_sync_thin_hash = NULL;
-       guint8 *jump_lock_taken_true = NULL;
-       int tramp_size;
-       int status_offset, nest_offset;
-       MonoJumpInfo *ji = NULL;
-       GSList *unwind_ops = NULL;
-       int obj_reg = MONO_AMD64_ARG_REG1;
-       int lock_taken_reg = MONO_AMD64_ARG_REG2;
-       int sync_reg = MONO_AMD64_ARG_REG3;
-       int tid_reg = MONO_AMD64_ARG_REG4;
-       int status_reg = AMD64_RAX;
-
-       g_assert (MONO_ARCH_MONITOR_OBJECT_REG == obj_reg);
-#ifdef MONO_ARCH_MONITOR_LOCK_TAKEN_REG
-       g_assert (MONO_ARCH_MONITOR_LOCK_TAKEN_REG == lock_taken_reg);
-#else
-       g_assert (!is_v4);
-#endif
-
-       mono_monitor_threads_sync_members_offset (&status_offset, &nest_offset);
-       g_assert (MONO_THREADS_SYNC_MEMBER_SIZE (status_offset) == sizeof (guint32));
-       g_assert (MONO_THREADS_SYNC_MEMBER_SIZE (nest_offset) == sizeof (guint32));
-       status_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (status_offset);
-       nest_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (nest_offset);
-
-       tramp_size = 128;
-
-       code = buf = mono_global_codeman_reserve (tramp_size);
-
-       unwind_ops = mono_arch_get_cie_program ();
-
-       if (!aot && mono_thread_get_tls_offset () != -1) {
-               /* MonoObject* obj is in obj_reg */
-               /* is obj null? */
-               amd64_test_reg_reg (code, obj_reg, obj_reg);
-               /* if yes, jump to actual trampoline */
-               jump_obj_null = code;
-               amd64_branch8 (code, X86_CC_Z, -1, 1);
-
-               if (is_v4) {
-                       amd64_test_membase_imm (code, lock_taken_reg, 0, 1);
-                       /* if *lock_taken is 1, jump to actual trampoline */
-                       jump_lock_taken_true = code;
-                       x86_branch8 (code, X86_CC_NZ, -1, 1);
-               }
-
-               /* load obj->synchronization to sync_reg */
-               amd64_mov_reg_membase (code, sync_reg, obj_reg, MONO_STRUCT_OFFSET (MonoObject, synchronisation), 8);
-
-               if (mono_gc_is_moving ()) {
-                       /*if bit zero is set it's a thin hash*/
-                       /*FIXME use testb encoding*/
-                       amd64_test_reg_imm (code, sync_reg, 0x01);
-                       jump_sync_thin_hash = code;
-                       amd64_branch8 (code, X86_CC_NE, -1, 1);
-
-                       /*clear bits used by the gc*/
-                       amd64_alu_reg_imm (code, X86_AND, sync_reg, ~0x3);
-               }
-
-               /* is synchronization null? */
-               amd64_test_reg_reg (code, sync_reg, sync_reg);
-               /* if yes, jump to actual trampoline */
-               jump_sync_null = code;
-               amd64_branch8 (code, X86_CC_Z, -1, 1);
-
-               /* load MonoInternalThread* into tid_reg */
-               code = mono_amd64_emit_tls_get (code, tid_reg, mono_thread_get_tls_offset ());
-               /* load TID into tid_reg */
-               amd64_mov_reg_membase (code, tid_reg, tid_reg, MONO_STRUCT_OFFSET (MonoInternalThread, small_id), 4);
-
-               /* is synchronization->owner free */
-               amd64_mov_reg_membase (code, status_reg, sync_reg, status_offset, 4);
-               amd64_test_reg_imm_size (code, status_reg, OWNER_MASK, 4);
-               /* if not, jump to next case */
-               jump_tid = code;
-               amd64_branch8 (code, X86_CC_NZ, -1, 1);
-
-               /* if yes, try a compare-exchange with the TID */
-               g_assert (tid_reg != X86_EAX);
-               /* Form new status in tid_reg */
-               amd64_alu_reg_reg_size (code, X86_OR, tid_reg, status_reg, 4);
-               /* compare and exchange */
-               amd64_prefix (code, X86_LOCK_PREFIX);
-               amd64_cmpxchg_membase_reg_size (code, sync_reg, status_offset, tid_reg, 4);
-               /* if not successful, jump to actual trampoline */
-               jump_cmpxchg_failed = code;
-               amd64_branch8 (code, X86_CC_NZ, -1, 1);
-               /* if successful, return */
-               if (is_v4)
-                       amd64_mov_membase_imm (code, lock_taken_reg, 0, 1, 1);
-               amd64_ret (code);
-
-               /* next case: synchronization->owner is not null */
-               x86_patch (jump_tid, code);
-               /* is synchronization->owner == TID? */
-               amd64_alu_reg_imm_size (code, X86_AND, status_reg, OWNER_MASK, 4);
-               amd64_alu_reg_reg_size (code, X86_CMP, status_reg, tid_reg, 4);
-               /* if not, jump to actual trampoline */
-               jump_other_owner = code;
-               amd64_branch8 (code, X86_CC_NZ, -1, 1);
-               /* if yes, increment nest */
-               amd64_inc_membase_size (code, sync_reg, nest_offset, 4);
-               /* return */
-               if (is_v4)
-                       amd64_mov_membase_imm (code, lock_taken_reg, 0, 1, 1);
-               amd64_ret (code);
-
-               x86_patch (jump_obj_null, code);
-               if (jump_sync_thin_hash)
-                       x86_patch (jump_sync_thin_hash, code);
-               x86_patch (jump_sync_null, code);
-               x86_patch (jump_cmpxchg_failed, code);
-               x86_patch (jump_other_owner, code);
-               if (is_v4)
-                       x86_patch (jump_lock_taken_true, code);
-       }
-
-       /* jump to the actual trampoline */
-       if (MONO_AMD64_ARG_REG1 != obj_reg)
-               amd64_mov_reg_reg (code, MONO_AMD64_ARG_REG1, obj_reg, sizeof (mgreg_t));
-
-       if (aot) {
-               if (is_v4)
-                       code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, "specific_trampoline_monitor_enter_v4");
-               else
-                       code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, "specific_trampoline_monitor_enter");
-               amd64_jump_reg (code, AMD64_R11);
-       } else {
-               if (is_v4)
-                       tramp = mono_arch_create_specific_trampoline (NULL, MONO_TRAMPOLINE_MONITOR_ENTER_V4, mono_get_root_domain (), NULL);
-               else
-                       tramp = mono_arch_create_specific_trampoline (NULL, MONO_TRAMPOLINE_MONITOR_ENTER, mono_get_root_domain (), NULL);
-
-               /* jump to the actual trampoline */
-               amd64_jump_code (code, tramp);
-       }
-
-       nacl_global_codeman_validate (&buf, tramp_size, &code);
-
-       mono_arch_flush_icache (code, code - buf);
-       mono_profiler_code_buffer_new (buf, code - buf, MONO_PROFILER_CODE_BUFFER_MONITOR, NULL);
-       g_assert (code - buf <= tramp_size);
-
-       if (is_v4)
-               *info = mono_tramp_info_create ("monitor_enter_v4_trampoline", buf, code - buf, ji, unwind_ops);
-       else
-               *info = mono_tramp_info_create ("monitor_enter_trampoline", buf, code - buf, ji, unwind_ops);
-
-       return buf;
-}
-
-gpointer
-mono_arch_create_monitor_exit_trampoline (MonoTrampInfo **info, gboolean aot)
-{
-       guint8 *tramp;
-       guint8 *code, *buf;
-       guint8 *jump_obj_null, *jump_have_waiters, *jump_sync_null, *jump_not_owned, *jump_cmpxchg_failed;
-       guint8 *jump_next, *jump_sync_thin_hash = NULL;
-       int tramp_size;
-       int status_offset, nest_offset;
-       MonoJumpInfo *ji = NULL;
-       GSList *unwind_ops = NULL;
-       int obj_reg = MONO_AMD64_ARG_REG1;
-       int sync_reg = MONO_AMD64_ARG_REG2;
-       int status_reg = MONO_AMD64_ARG_REG3;
-
-       g_assert (obj_reg == MONO_ARCH_MONITOR_OBJECT_REG);
-
-       mono_monitor_threads_sync_members_offset (&status_offset, &nest_offset);
-       g_assert (MONO_THREADS_SYNC_MEMBER_SIZE (status_offset) == sizeof (guint32));
-       g_assert (MONO_THREADS_SYNC_MEMBER_SIZE (nest_offset) == sizeof (guint32));
-       status_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (status_offset);
-       nest_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (nest_offset);
-
-       tramp_size = 112;
-
-       code = buf = mono_global_codeman_reserve (tramp_size);
-
-       unwind_ops = mono_arch_get_cie_program ();
-
-       if (!aot && mono_thread_get_tls_offset () != -1) {
-               /* MonoObject* obj is in obj_reg */
-               /* is obj null? */
-               amd64_test_reg_reg (code, obj_reg, obj_reg);
-               /* if yes, jump to actual trampoline */
-               jump_obj_null = code;
-               amd64_branch8 (code, X86_CC_Z, -1, 1);
-
-               /* load obj->synchronization to RCX */
-               amd64_mov_reg_membase (code, sync_reg, obj_reg, MONO_STRUCT_OFFSET (MonoObject, synchronisation), 8);
-
-               if (mono_gc_is_moving ()) {
-                       /*if bit zero is set it's a thin hash*/
-                       /*FIXME use testb encoding*/
-                       amd64_test_reg_imm (code, sync_reg, 0x01);
-                       jump_sync_thin_hash = code;
-                       amd64_branch8 (code, X86_CC_NE, -1, 1);
-
-                       /*clear bits used by the gc*/
-                       amd64_alu_reg_imm (code, X86_AND, sync_reg, ~0x3);
-               }
-
-               /* is synchronization null? */
-               amd64_test_reg_reg (code, sync_reg, sync_reg);
-               /* if yes, jump to actual trampoline */
-               jump_sync_null = code;
-               amd64_branch8 (code, X86_CC_Z, -1, 1);
-
-               /* next case: synchronization is not null */
-               /* load MonoInternalThread* into RAX */
-               code = mono_amd64_emit_tls_get (code, AMD64_RAX, mono_thread_get_tls_offset ());
-               /* load TID into RAX */
-               amd64_mov_reg_membase (code, AMD64_RAX, AMD64_RAX, MONO_STRUCT_OFFSET (MonoInternalThread, small_id), 4);
-               /* is synchronization->owner == TID */
-               amd64_mov_reg_membase (code, status_reg, sync_reg, status_offset, 4);
-               amd64_alu_reg_reg_size (code, X86_XOR, AMD64_RAX, status_reg, 4);
-               amd64_test_reg_imm_size (code, AMD64_RAX, OWNER_MASK, 4);
-
-               /* if no, jump to actual trampoline */
-               jump_not_owned = code;
-               amd64_branch8 (code, X86_CC_NZ, -1, 1);
-
-               /* next case: synchronization->owner == TID */
-               /* is synchronization->nest == 1 */
-               amd64_alu_membase_imm_size (code, X86_CMP, sync_reg, nest_offset, 1, 4);
-               /* if not, jump to next case */
-               jump_next = code;
-               amd64_branch8 (code, X86_CC_NZ, -1, 1);
-               /* if yes, is synchronization->entry_count greater than zero */
-               amd64_test_reg_imm_size (code, status_reg, ENTRY_COUNT_WAITERS, 4);
-               /* if not, jump to actual trampoline */
-               jump_have_waiters = code;
-               amd64_branch8 (code, X86_CC_NZ, -1 , 1);
-               /* if yes, try to set synchronization->owner to null and return */
-               g_assert (status_reg != AMD64_RAX);
-               /* old status in RAX */
-               amd64_mov_reg_reg (code, AMD64_RAX, status_reg, 4);
-               /* form new status */
-               amd64_alu_reg_imm_size (code, X86_AND, status_reg, ENTRY_COUNT_MASK, 4);
-               /* compare and exchange */
-               amd64_prefix (code, X86_LOCK_PREFIX);
-               amd64_cmpxchg_membase_reg_size (code, sync_reg, status_offset, status_reg, 4);
-               /* if not successful, jump to actual trampoline */
-               jump_cmpxchg_failed = code;
-               amd64_branch8 (code, X86_CC_NZ, -1, 1);
-               amd64_ret (code);
-
-               /* next case: synchronization->nest is not 1 */
-               x86_patch (jump_next, code);
-               /* decrease synchronization->nest and return */
-               amd64_dec_membase_size (code, sync_reg, nest_offset, 4);
-               amd64_ret (code);
-
-               if (jump_sync_thin_hash)
-                       x86_patch (jump_sync_thin_hash, code);
-               x86_patch (jump_obj_null, code);
-               x86_patch (jump_have_waiters, code);
-               x86_patch (jump_not_owned, code);
-               x86_patch (jump_cmpxchg_failed, code);
-               x86_patch (jump_sync_null, code);
-       }
-
-       /* jump to the actual trampoline */
-       if (MONO_AMD64_ARG_REG1 != obj_reg)
-               amd64_mov_reg_reg (code, MONO_AMD64_ARG_REG1, obj_reg, sizeof (mgreg_t));
-
-       if (aot) {
-               code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, "specific_trampoline_monitor_exit");
-               amd64_jump_reg (code, AMD64_R11);
-       } else {
-               tramp = mono_arch_create_specific_trampoline (NULL, MONO_TRAMPOLINE_MONITOR_EXIT, mono_get_root_domain (), NULL);
-               amd64_jump_code (code, tramp);
-       }
-
-       nacl_global_codeman_validate (&buf, tramp_size, &code);
-
-       mono_arch_flush_icache (code, code - buf);
-       mono_profiler_code_buffer_new (buf, code - buf, MONO_PROFILER_CODE_BUFFER_MONITOR, NULL);
-       g_assert (code - buf <= tramp_size);
-
-       *info = mono_tramp_info_create ("monitor_exit_trampoline", buf, code - buf, ji, unwind_ops);
-
-       return buf;
-}
-
-#else
-
-gpointer
-mono_arch_create_monitor_enter_trampoline (MonoTrampInfo **info, gboolean is_v4, gboolean aot)
-{
-       g_assert_not_reached ();
-       return NULL;
-}
-
-gpointer
-mono_arch_create_monitor_exit_trampoline (MonoTrampInfo **info, gboolean aot)
-{
-       g_assert_not_reached ();
-       return NULL;
-}
-
-#endif
-
 void
 mono_arch_invalidate_method (MonoJitInfo *ji, void *func, gpointer func_arg)
 {
@@ -1160,12 +833,14 @@ mono_arch_create_handler_block_trampoline (MonoTrampInfo **info, gboolean aot)
        guint8 *code, *buf;
        int tramp_size = 64;
        MonoJumpInfo *ji = NULL;
-       GSList *unwind_ops = NULL;
+       GSList *unwind_ops;
 
        g_assert (!aot);
 
        code = buf = mono_global_codeman_reserve (tramp_size);
 
+       unwind_ops = mono_arch_get_cie_program ();
+
        /*
        This trampoline restore the call chain of the handler block then jumps into the code that deals with it.
        */
@@ -1174,13 +849,16 @@ mono_arch_create_handler_block_trampoline (MonoTrampInfo **info, gboolean aot)
                amd64_mov_reg_membase (code, MONO_AMD64_ARG_REG1, MONO_AMD64_ARG_REG1, MONO_STRUCT_OFFSET (MonoJitTlsData, handler_block_return_address), 8);
                /* Simulate a call */
                amd64_push_reg (code, AMD64_RAX);
+               mono_add_unwind_op_def_cfa_offset (unwind_ops, code, buf, 16);
                amd64_jump_code (code, tramp);
        } else {
                /*Slow path uses a c helper*/
                amd64_mov_reg_reg (code, MONO_AMD64_ARG_REG1, AMD64_RSP, 8);
                amd64_mov_reg_imm (code, AMD64_RAX, tramp);
                amd64_push_reg (code, AMD64_RAX);
+               mono_add_unwind_op_def_cfa_offset (unwind_ops, code, buf, 16);
                amd64_push_reg (code, AMD64_RAX);
+               mono_add_unwind_op_def_cfa_offset (unwind_ops, code, buf, 24);
                amd64_jump_code (code, handler_block_trampoline_helper);
        }
 
@@ -1246,7 +924,15 @@ mono_arch_create_sdb_trampoline (gboolean single_step, MonoTrampInfo **info, gbo
 
        code = buf = mono_global_codeman_reserve (tramp_size);
 
-       framesize = sizeof (MonoContext);
+       framesize = 0;
+#ifdef TARGET_WIN32
+       /* Reserve space where the callee can save the argument registers */
+       framesize += 4 * sizeof (mgreg_t);
+#endif
+
+       ctx_offset = framesize;
+       framesize += sizeof (MonoContext);
+
        framesize = ALIGN_TO (framesize, MONO_ARCH_FRAME_ALIGNMENT);
 
        // CFA = sp + 8
@@ -1264,7 +950,6 @@ mono_arch_create_sdb_trampoline (gboolean single_step, MonoTrampInfo **info, gbo
        mono_add_unwind_op_def_cfa_reg (unwind_ops, code, buf, AMD64_RBP);
        amd64_alu_reg_imm (code, X86_SUB, AMD64_RSP, framesize);
 
-       ctx_offset = 0;
        gregs_offset = ctx_offset + MONO_STRUCT_OFFSET (MonoContext, gregs);
 
        /* Initialize a MonoContext structure on the stack */
@@ -1298,7 +983,7 @@ mono_arch_create_sdb_trampoline (gboolean single_step, MonoTrampInfo **info, gbo
        /* Restore registers from ctx */
        for (i = 0; i < AMD64_NREG; ++i) {
                if (i != AMD64_RIP && i != AMD64_RSP && i != AMD64_RBP)
-                       amd64_mov_reg_membase (code, AMD64_RSP, i, gregs_offset + (i * sizeof (mgreg_t)), sizeof (mgreg_t));
+                       amd64_mov_reg_membase (code, i, AMD64_RSP, gregs_offset + (i * sizeof (mgreg_t)), sizeof (mgreg_t));
        }
        amd64_mov_reg_membase (code, AMD64_R11, AMD64_RSP, gregs_offset + (AMD64_RBP * sizeof (mgreg_t)), sizeof (mgreg_t));
        amd64_mov_membase_reg (code, AMD64_RBP, 0, AMD64_R11, sizeof (mgreg_t));
@@ -1306,6 +991,8 @@ mono_arch_create_sdb_trampoline (gboolean single_step, MonoTrampInfo **info, gbo
        amd64_mov_membase_reg (code, AMD64_RBP, sizeof (mgreg_t), AMD64_R11, sizeof (mgreg_t));
 
        amd64_leave (code);
+       cfa_offset -= sizeof (mgreg_t);
+       mono_add_unwind_op_def_cfa (unwind_ops, code, buf, AMD64_RSP, cfa_offset);
        amd64_ret (code);
 
        mono_arch_flush_icache (code, code - buf);
@@ -1316,3 +1003,9 @@ mono_arch_create_sdb_trampoline (gboolean single_step, MonoTrampInfo **info, gbo
 
        return buf;
 }
+
+#if defined(ENABLE_GSHAREDVT)
+
+#include "../../../mono-extensions/mono/mini/tramp-amd64-gsharedvt.c"
+
+#endif /* !ENABLE_GSHAREDVT */
index 85b29242e57fe1c42ff37a779e75379378898dc8..37e75c9d01ef90396a0ee0a7f38224a7b1c8452f 100644 (file)
@@ -167,7 +167,7 @@ emit_bx (guint8* code, int reg)
 
 /* Stack size for trampoline function
  */
-#define STACK ALIGN_TO (sizeof (MonoLMF), 8)
+#define STACK ALIGN_TO (sizeof (MonoLMF), MONO_ARCH_FRAME_ALIGNMENT)
 
 /* Method-specific trampoline code fragment size */
 #define METHOD_TRAMPOLINE_SIZE 64
@@ -218,9 +218,6 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
        /* The offset where lr was saved inside the regsave area */
        lr_offset = 13 * sizeof (mgreg_t);
 
-       // FIXME: Finish the unwind info, the current info allows us to unwind
-       // when the trampoline is not in the epilog
-
        // CFA = SP + (num registers pushed) * 4
        cfa_offset = 14 * sizeof (mgreg_t);
        mono_add_unwind_op_def_cfa (unwind_ops, code, buf, ARMREG_SP, cfa_offset);
@@ -246,6 +243,18 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
        }
        ARM_LDR_IMM (code, ARMREG_V3, ARMREG_SP, lr_offset);
 
+       /* we build the MonoLMF structure on the stack - see mini-arm.h
+        * The pointer to the struct is put in r1.
+        * the iregs array is already allocated on the stack by push.
+        */
+       code = mono_arm_emit_load_imm (code, ARMREG_R2, STACK - regsave_size);
+       ARM_SUB_REG_REG (code, ARMREG_SP, ARMREG_SP, ARMREG_R2);
+       cfa_offset += STACK - regsave_size;
+       mono_add_unwind_op_def_cfa_offset (unwind_ops, code, buf, cfa_offset);
+       /* V1 == lmf */
+       code = mono_arm_emit_load_imm (code, ARMREG_R2, STACK - sizeof (MonoLMF));
+       ARM_ADD_REG_REG (code, ARMREG_V1, ARMREG_SP, ARMREG_R2);
+
        /* ok, now we can continue with the MonoLMF setup, mostly untouched 
         * from emit_prolog in mini-arm.c
         * This is a synthetized call to mono_get_lmf_addr ()
@@ -269,18 +278,6 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
        ARM_MOV_REG_REG (code, ARMREG_LR, ARMREG_PC);
        code = emit_bx (code, ARMREG_R0);
 
-       /* we build the MonoLMF structure on the stack - see mini-arm.h
-        * The pointer to the struct is put in r1.
-        * the iregs array is already allocated on the stack by push.
-        */
-       code = mono_arm_emit_load_imm (code, ARMREG_R2, STACK - regsave_size);
-       ARM_SUB_REG_REG (code, ARMREG_SP, ARMREG_SP, ARMREG_R2);
-       cfa_offset += STACK - regsave_size;
-       mono_add_unwind_op_def_cfa_offset (unwind_ops, code, buf, cfa_offset);
-       /* V1 == lmf */
-       code = mono_arm_emit_load_imm (code, ARMREG_R2, STACK - sizeof (MonoLMF));
-       ARM_ADD_REG_REG (code, ARMREG_V1, ARMREG_SP, ARMREG_R2);
-
        /*
         * The stack now looks like:
         *       <saved regs>
@@ -425,10 +422,16 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
         * Note that IP has been conveniently set to the method addr.
         */
        ARM_ADD_REG_IMM8 (code, ARMREG_SP, ARMREG_SP, STACK - regsave_size);
+       cfa_offset -= STACK - regsave_size;
+       mono_add_unwind_op_def_cfa_offset (unwind_ops, code, buf, cfa_offset);
        ARM_POP_NWB (code, 0x5fff);
+       mono_add_unwind_op_same_value (unwind_ops, code, buf, ARMREG_LR);
        if (tramp_type == MONO_TRAMPOLINE_RGCTX_LAZY_FETCH)
                ARM_MOV_REG_REG (code, ARMREG_R0, ARMREG_IP);
        ARM_ADD_REG_IMM8 (code, ARMREG_SP, ARMREG_SP, regsave_size);
+       cfa_offset -= regsave_size;
+       g_assert (cfa_offset == 0);
+       mono_add_unwind_op_def_cfa_offset (unwind_ops, code, buf, cfa_offset);
        if (MONO_TRAMPOLINE_TYPE_MUST_RETURN (tramp_type))
                code = emit_bx (code, ARMREG_LR);
        else
@@ -571,6 +574,7 @@ mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
 {
        guint8 *code, *start;
        MonoDomain *domain = mono_domain_get ();
+       GSList *unwind_ops;
 #ifdef USE_JUMP_TABLES
        gpointer *jte;
        guint32 size = 20;
@@ -580,6 +584,8 @@ mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
 
        start = code = mono_domain_code_reserve (domain, size);
 
+       unwind_ops = mono_arch_get_cie_program ();
+
 #ifdef USE_JUMP_TABLES
        jte = mono_jumptable_add_entry ();
        code = mono_arm_load_jumptable_entry (code, jte, ARMREG_IP);
@@ -599,6 +605,8 @@ mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
        /*g_print ("unbox trampoline at %d for %s:%s\n", this_pos, m->klass->name, m->name);
        g_print ("unbox code is at %p for method at %p\n", start, addr);*/
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, unwind_ops), domain);
+
        return start;
 }
 
@@ -606,6 +614,7 @@ gpointer
 mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericContext *mrgctx, gpointer addr)
 {
        guint8 *code, *start;
+       GSList *unwind_ops;
 #ifdef USE_JUMP_TABLES
        int buf_len = 20;
        gpointer *jte;
@@ -616,6 +625,8 @@ mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericCo
 
        start = code = mono_domain_code_reserve (domain, buf_len);
 
+       unwind_ops = mono_arch_get_cie_program ();
+
 #ifdef USE_JUMP_TABLES
        jte = mono_jumptable_add_entries (2);
        code = mono_arm_load_jumptable_entry_addr (code, jte, ARMREG_IP);
@@ -638,6 +649,8 @@ mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericCo
        mono_arch_flush_icache (start, code - start);
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_GENERICS_TRAMPOLINE, NULL);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, unwind_ops), domain);
+
        return start;
 }
 
@@ -674,7 +687,7 @@ mono_arch_create_rgctx_lazy_fetch_trampoline (guint32 slot, MonoTrampInfo **info
 
        code = buf = mono_global_codeman_reserve (tramp_size);
 
-       mono_add_unwind_op_def_cfa (unwind_ops, code, buf, ARMREG_SP, 0);
+       unwind_ops = mono_arch_get_cie_program ();
 
        rgctx_null_jumps = g_malloc (sizeof (guint8*) * (depth + 2));
        njumps = 0;
@@ -783,7 +796,7 @@ mono_arch_create_general_rgctx_lazy_fetch_trampoline (MonoTrampInfo **info, gboo
 
        code = buf = mono_global_codeman_reserve (tramp_size);
 
-       mono_add_unwind_op_def_cfa (unwind_ops, code, buf, ARMREG_SP, 0);
+       unwind_ops = mono_arch_get_cie_program ();
 
        // FIXME: Currently, we always go to the slow path.
        /* Load trampoline addr */
@@ -822,6 +835,8 @@ mono_arch_create_handler_block_trampoline (MonoTrampInfo **info, gboolean aot)
 
        code = buf = mono_global_codeman_reserve (tramp_size);
 
+       unwind_ops = mono_arch_get_cie_program ();
+
        tramp = mono_arch_create_specific_trampoline (NULL, MONO_TRAMPOLINE_HANDLER_BLOCK_GUARD, NULL, NULL);
 
        /*
@@ -1100,6 +1115,8 @@ mono_arch_get_gsharedvt_arg_trampoline (MonoDomain *domain, gpointer arg, gpoint
        mono_arch_flush_icache (buf, code - buf);
        mono_profiler_code_buffer_new (buf, code - buf, MONO_PROFILER_CODE_BUFFER_GENERICS_TRAMPOLINE, NULL);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, buf, code - buf, NULL, NULL), domain);
+
        return buf;
 }
 
index f0ca392d9c55c97355b605918d7d993562cdc802..2b4af7f8fe2ac613acd6667519fa76134d17d8a0 100644 (file)
@@ -67,6 +67,8 @@ mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
        desc [0] = buf;
        desc [1] = func_gp;
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, buf, code.buf - buf, NULL, NULL), domain);
+
        return desc;
 }
 
index bf35f84ff349c7a63835d1a305d054c73a012bae..37f17a47c89b3d7c20e638236364ae6fa25b4533 100644 (file)
@@ -53,6 +53,8 @@ mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
        /*g_print ("unbox trampoline at %d for %s:%s\n", this_pos, m->klass->name, m->name);
        g_print ("unbox code is at %p for method at %p\n", start, addr);*/
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL), domain);
+
        return start;
 }
 
@@ -324,6 +326,8 @@ mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericCo
 
        mono_arch_flush_icache (start, code - start);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL), domain);
+
        return start;
 }
 
index 1c723aa2ebb110ba89fd6870a2d377b2c6940988..32ab65ba8cda81118f2a16007cef51fda25a7b5a 100644 (file)
@@ -104,6 +104,8 @@ mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
        /*g_print ("unbox trampoline at %d for %s:%s\n", this_pos, m->klass->name, m->name);
        g_print ("unbox code is at %p for method at %p\n", start, addr);*/
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL), domain);
+
        return start;
 }
 
@@ -149,6 +151,8 @@ mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericCo
        mono_arch_flush_icache (start, code - start);
        g_assert ((code - start) <= size);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL), domain);
+
        return start;
 }
 
index a9ec6cf67e0996794db4ed67ad4268562c00dd12..00fa048d84cb5931cca2611a83f9074c251b6adb 100644 (file)
@@ -41,7 +41,6 @@
 #include <mono/metadata/appdomain.h>
 #include <mono/metadata/gc-internal.h>
 #include <mono/metadata/marshal.h>
-#include <mono/metadata/monitor.h>
 #include <mono/metadata/profiler-private.h>
 #include <mono/metadata/tabledefs.h>
 #include <mono/arch/s390x/s390x-codegen.h>
@@ -97,6 +96,7 @@ mono_arch_get_unbox_trampoline (MonoMethod *method, gpointer addr)
        guint8 *code, *start;
        int this_pos = s390_r2;
        MonoDomain *domain = mono_domain_get ();
+       char trampName[128];
 
        start = code = mono_domain_code_reserve (domain, 28);
 
@@ -109,6 +109,10 @@ mono_arch_get_unbox_trampoline (MonoMethod *method, gpointer addr)
        mono_arch_flush_icache (start, code - start);
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_UNBOX_TRAMPOLINE, method);
 
+       snprintf(trampName, sizeof(trampName), "%s_unbox_trampoline", method->name);
+
+       mono_tramp_info_register (mono_tramp_info_create (trampName, start, code - start, NULL, NULL), domain);
+
        return start;
 }
 
@@ -402,18 +406,7 @@ mono_arch_create_specific_trampoline (gpointer arg1, MonoTrampolineType tramp_ty
        /*----------------------------------------------------------*/
        code = buf = mono_domain_code_reserve (domain, SPECIFIC_TRAMPOLINE_SIZE);
 
-       switch (tramp_type) {
-       /*
-        * Monitor tramps have the object in r2
-        */
-       case MONO_TRAMPOLINE_MONITOR_ENTER:
-       case MONO_TRAMPOLINE_MONITOR_ENTER_V4:
-       case MONO_TRAMPOLINE_MONITOR_EXIT:
-               s390_lgr (buf, s390_r1, s390_r2);
-               break;
-       default :
-               S390_SET  (buf, s390_r1, arg1);
-       }
+       S390_SET  (buf, s390_r1, arg1);
        displace = (tramp - buf) / 2;
        s390_jg   (buf, displace);
 
@@ -565,6 +558,7 @@ mono_arch_get_static_rgctx_trampoline (MonoMethod *m,
        guint8 *code, *start;
        gint32 displace;
        int buf_len;
+       char trampName[128];
 
        MonoDomain *domain = mono_domain_get ();
 
@@ -580,6 +574,10 @@ mono_arch_get_static_rgctx_trampoline (MonoMethod *m,
        mono_arch_flush_icache (start, code - start);
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_HELPER, NULL);
 
+       snprintf(trampName, sizeof(trampName), "%s_rgctx_trampoline", m->name);
+
+       mono_tramp_info_register (mono_tramp_info_create (trampName, start, code - start, NULL, NULL), domain);
+
        return(start);
 }      
 
@@ -658,299 +656,3 @@ mono_arch_create_handler_block_trampoline (MonoTrampInfo **info, gboolean aot)
 }
 
 /*========================= End of Function ========================*/
-
-#ifdef MONO_ARCH_MONITOR_OBJECT_REG
-/*------------------------------------------------------------------*/
-/*                                                                  */
-/* Name                - mono_arch_create_monitor_enter_trampoline         */
-/*                                                                  */
-/* Function    -                                                   */
-/*                                                                  */
-/*------------------------------------------------------------------*/
-
-gpointer
-mono_arch_create_monitor_enter_trampoline (MonoTrampInfo **info, gboolean is_v4, gboolean aot)
-{
-       guint8  *tramp,
-               *code, *buf;
-       gint16  *jump_obj_null, 
-               *jump_sync_null, 
-               *jump_cs_failed, 
-               *jump_other_owner, 
-               *jump_tid, 
-               *jump_sync_thin_hash = NULL,
-               *jump_lock_taken_true = NULL;
-       int tramp_size,
-           status_reg = s390_r0,
-           lock_taken_reg = s390_r1,
-           obj_reg = s390_r2,
-           sync_reg = s390_r3,
-           tid_reg = s390_r4,
-           status_offset,
-           nest_offset;
-       MonoJumpInfo *ji = NULL;
-       GSList *unwind_ops = NULL;
-
-       g_assert (MONO_ARCH_MONITOR_OBJECT_REG == obj_reg);
-#ifdef MONO_ARCH_MONITOR_LOCK_TAKEN_REG
-       g_assert (MONO_ARCH_MONITOR_LOCK_TAKEN_REG == lock_taken_reg);
-#else
-       g_assert (!is_v4);
-#endif
-
-       mono_monitor_threads_sync_members_offset (&status_offset, &nest_offset);
-       g_assert (MONO_THREADS_SYNC_MEMBER_SIZE (status_offset) == sizeof (guint32));
-       g_assert (MONO_THREADS_SYNC_MEMBER_SIZE (nest_offset) == sizeof (guint32));
-       status_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (status_offset);
-       nest_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (nest_offset);
-
-       tramp_size = 160;
-
-       code = buf = mono_global_codeman_reserve (tramp_size);
-
-       unwind_ops = mono_arch_get_cie_program ();
-
-       if (mono_thread_get_tls_offset () != -1) {
-               /* MonoObject* obj is in obj_reg */
-               /* is obj null? */
-               s390_ltgr (code, obj_reg, obj_reg);
-               /* if yes, jump to actual trampoline */
-               s390_jz (code, 0); CODEPTR(code, jump_obj_null);
-
-               if (is_v4) {
-                       s390_cli (code, lock_taken_reg, 0, 1);
-                       /* if *lock_taken is 1, jump to actual trampoline */
-                       s390_je (code, 0); CODEPTR(code, jump_lock_taken_true);
-               }
-
-               /* load obj->synchronization to sync_reg */
-               s390_lg (code, sync_reg, 0, obj_reg, MONO_STRUCT_OFFSET (MonoObject, synchronisation));
-
-               if (mono_gc_is_moving ()) {
-                       /*if bit zero is set it's a thin hash*/
-                       s390_tmll (code, sync_reg, 1);
-                       s390_jo  (code, 0); CODEPTR(code, jump_sync_thin_hash);
-
-                       /* Clear bits used by the gc */
-                       s390_nill (code, sync_reg, ~0x3);
-               }
-
-               /* is synchronization null? */
-               s390_ltgr (code, sync_reg, sync_reg);
-               /* if yes, jump to actual trampoline */
-               s390_jz (code, 0); CODEPTR(code, jump_sync_null);
-
-               /* load MonoInternalThread* into tid_reg */
-               s390_ear (code, s390_r5, 0);
-               s390_sllg(code, s390_r5, s390_r5, 0, 32);
-               s390_ear (code, s390_r5, 1);
-               /* load tid */
-               s390_lg  (code, tid_reg, 0, s390_r5, mono_thread_get_tls_offset ());
-               s390_lgf (code, tid_reg, 0, tid_reg, MONO_STRUCT_OFFSET (MonoInternalThread, small_id));
-
-               /* is synchronization->owner free */
-               s390_lgf  (code, status_reg, 0, sync_reg, status_offset);
-               s390_nilf (code, status_reg, OWNER_MASK);
-               /* if not, jump to next case */
-               s390_jnz  (code, 0); CODEPTR(code, jump_tid);
-
-               /* if yes, try a compare-exchange with the TID */
-               /* Form new status in tid_reg */
-               s390_xr (code, tid_reg, status_reg);
-               /* compare and exchange */
-               s390_cs (code, status_reg, tid_reg, sync_reg, status_offset);
-               s390_jnz (code, 0); CODEPTR(code, jump_cs_failed);
-               /* if successful, return */
-               if (is_v4)
-                       s390_mvi (code, lock_taken_reg, 0, 1);
-               s390_br (code, s390_r14);
-
-               /* next case: synchronization->owner is not null */
-               PTRSLOT(code, jump_tid);
-               /* is synchronization->owner == TID? */
-               s390_nilf (code, status_reg, OWNER_MASK);
-               s390_cr (code, status_reg, tid_reg);
-               /* if not, jump to actual trampoline */
-               s390_jnz (code, 0); CODEPTR(code, jump_other_owner);
-               /* if yes, increment nest */
-               s390_lgf (code, s390_r5, 0, sync_reg, nest_offset);
-               s390_ahi (code, s390_r5, 1);
-               s390_st  (code, s390_r5, 0, sync_reg, nest_offset);
-               /* return */
-               if (is_v4)
-                       s390_mvi (code, lock_taken_reg, 0, 1);
-               s390_br (code, s390_r14);
-
-               PTRSLOT (code, jump_obj_null);
-               if (jump_sync_thin_hash)
-                       PTRSLOT (code, jump_sync_thin_hash);
-               PTRSLOT (code, jump_sync_null);
-               PTRSLOT (code, jump_cs_failed);
-               PTRSLOT (code, jump_other_owner);
-               if (is_v4)
-                       PTRSLOT (code, jump_lock_taken_true);
-       }
-
-       /* jump to the actual trampoline */
-       if (is_v4)
-               tramp = mono_arch_create_specific_trampoline (NULL, MONO_TRAMPOLINE_MONITOR_ENTER_V4, mono_get_root_domain (), NULL);
-       else
-               tramp = mono_arch_create_specific_trampoline (NULL, MONO_TRAMPOLINE_MONITOR_ENTER, mono_get_root_domain (), NULL);
-
-       /* jump to the actual trampoline */
-       S390_SET (code, s390_r1, tramp);
-       s390_br (code, s390_r1);
-
-       mono_arch_flush_icache (code, code - buf);
-       mono_profiler_code_buffer_new (buf, code - buf, MONO_PROFILER_CODE_BUFFER_MONITOR, NULL);
-       g_assert (code - buf <= tramp_size);
-
-       if (info) {
-               if (is_v4)
-                       *info = mono_tramp_info_create ("monitor_enter_v4_trampoline", buf, code - buf, ji, unwind_ops);
-               else
-                       *info = mono_tramp_info_create ("monitor_enter_trampoline", buf, code - buf, ji, unwind_ops);
-       }
-
-       return buf;
-}
-
-/*========================= End of Function ========================*/
-
-/*------------------------------------------------------------------*/
-/*                                                                  */
-/* Name                - mono_arch_create_monitor_exit_trampoline          */
-/*                                                                  */
-/* Function    -                                                   */
-/*                                                                  */
-/*------------------------------------------------------------------*/
-
-gpointer
-mono_arch_create_monitor_exit_trampoline (MonoTrampInfo **info, gboolean aot)
-{
-       guint8  *tramp,
-               *code, *buf;
-       gint16  *jump_obj_null, 
-               *jump_have_waiters, 
-               *jump_sync_null, 
-               *jump_not_owned, 
-               *jump_cs_failed,
-               *jump_next,
-               *jump_sync_thin_hash = NULL;
-       int     tramp_size,
-               status_offset, nest_offset;
-       MonoJumpInfo *ji = NULL;
-       GSList *unwind_ops = NULL;
-       int     obj_reg = s390_r2,
-               sync_reg = s390_r3,
-               status_reg = s390_r4;
-
-       g_assert (obj_reg == MONO_ARCH_MONITOR_OBJECT_REG);
-
-       mono_monitor_threads_sync_members_offset (&status_offset, &nest_offset);
-       g_assert (MONO_THREADS_SYNC_MEMBER_SIZE (status_offset) == sizeof (guint32));
-       g_assert (MONO_THREADS_SYNC_MEMBER_SIZE (nest_offset) == sizeof (guint32));
-       status_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (status_offset);
-       nest_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (nest_offset);
-
-       tramp_size = 160;
-
-       code = buf = mono_global_codeman_reserve (tramp_size);
-
-       unwind_ops = mono_arch_get_cie_program ();
-
-       if (mono_thread_get_tls_offset () != -1) {
-               /* MonoObject* obj is in obj_reg */
-               /* is obj null? */
-               s390_ltgr (code, obj_reg, obj_reg);
-               /* if yes, jump to actual trampoline */
-               s390_jz (code, 0); CODEPTR(code, jump_obj_null);
-
-               /* load obj->synchronization to RCX */
-               s390_lg (code, sync_reg, 0, obj_reg, MONO_STRUCT_OFFSET (MonoObject, synchronisation));
-
-               if (mono_gc_is_moving ()) {
-                       /*if bit zero is set it's a thin hash*/
-                       s390_tmll (code, sync_reg, 1);
-                       s390_jo   (code, 0); CODEPTR(code, jump_sync_thin_hash);
-
-                       /* Clear bits used by the gc */
-                       s390_nill (code, sync_reg, ~0x3);
-               }
-
-               /* is synchronization null? */
-               s390_ltgr (code, sync_reg, sync_reg);
-               /* if yes, jump to actual trampoline */
-               s390_jz (code, 0); CODEPTR(code, jump_sync_null);
-
-               /* next case: synchronization is not null */
-               /* load MonoInternalThread* into r5 */
-               s390_ear (code, s390_r5, 0);
-               s390_sllg(code, s390_r5, s390_r5, 0, 32);
-               s390_ear (code, s390_r5, 1);
-               /* load TID into r1 */
-               s390_lg  (code, s390_r1, 0, s390_r5, mono_thread_get_tls_offset ());
-               s390_lgf (code, s390_r1, 0, s390_r1, MONO_STRUCT_OFFSET (MonoInternalThread, small_id));
-               /* is synchronization->owner == TID */
-               s390_lgf (code, status_reg, 0, sync_reg, status_offset);
-               s390_xr  (code, s390_r1, status_reg);
-               s390_tmlh (code, s390_r1, OWNER_MASK);
-               /* if not, jump to actual trampoline */
-               s390_jno (code, 0); CODEPTR(code, jump_not_owned);
-
-               /* next case: synchronization->owner == TID */
-               /* is synchronization->nest == 1 */
-               s390_lgf (code, s390_r0, 0, sync_reg, nest_offset);
-               s390_chi (code, s390_r0, 1);
-               /* if not, jump to next case */
-               s390_jne (code, 0); CODEPTR(code, jump_next);
-               /* if yes, is synchronization->entry_count greater than zero */
-               s390_cfi (code, status_reg, ENTRY_COUNT_WAITERS);
-               /* if not, jump to actual trampoline */
-               s390_jnz (code, 0); CODEPTR(code, jump_have_waiters);
-               /* if yes, try to set synchronization->owner to null and return */
-               /* old status in s390_r0 */
-               s390_lgfr (code, s390_r0, status_reg);
-               /* form new status */
-               s390_nilf (code, status_reg, ENTRY_COUNT_MASK);
-               /* compare and exchange */
-               s390_cs (code, s390_r0, status_reg, sync_reg, status_offset);
-               /* if not successful, jump to actual trampoline */
-               s390_jnz (code, 0); CODEPTR(code, jump_cs_failed);
-               s390_br  (code, s390_r14);
-
-               /* next case: synchronization->nest is not 1 */
-               PTRSLOT (code, jump_next);
-               /* decrease synchronization->nest and return */
-               s390_lgf (code, s390_r0, 0, sync_reg, nest_offset);
-               s390_ahi (code, s390_r0, -1);
-               s390_st  (code, s390_r0, 0, sync_reg, nest_offset);
-               s390_br  (code, s390_r14);
-
-               PTRSLOT (code, jump_obj_null);
-               if (jump_sync_thin_hash)
-                       PTRSLOT (code, jump_sync_thin_hash);
-               PTRSLOT (code, jump_have_waiters);
-               PTRSLOT (code, jump_not_owned);
-               PTRSLOT (code, jump_cs_failed);
-               PTRSLOT (code, jump_sync_null);
-       }
-
-       /* jump to the actual trampoline */
-       tramp = mono_arch_create_specific_trampoline (NULL, MONO_TRAMPOLINE_MONITOR_EXIT, mono_get_root_domain (), NULL);
-
-       S390_SET (code, s390_r1, tramp);
-       s390_br (code, s390_r1);
-
-       mono_arch_flush_icache (code, code - buf);
-       mono_profiler_code_buffer_new (buf, code - buf, MONO_PROFILER_CODE_BUFFER_MONITOR, NULL);
-       g_assert (code - buf <= tramp_size);
-
-       if (info)
-               *info = mono_tramp_info_create ("monitor_exit_trampoline", buf, code - buf, ji, unwind_ops);
-
-       return buf;
-}
-
-/*========================= End of Function ========================*/
-#endif
index d390ed4dcc6be5714d2e07d9d5d8db6b61b9c53e..99143b723b30291f156655b305b3bc19b4135f81 100644 (file)
@@ -51,6 +51,8 @@ mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
 
        mono_arch_flush_icache (start, code - start);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, NULL), NULL);
+
        return start;
 }
 
index 9a887c435db9890aa5deed680b7d3e9d79ccefac..6e79922512c9f3b165e62ebace0af1d2de63b81f 100644 (file)
@@ -17,7 +17,6 @@
 #include <mono/metadata/tabledefs.h>
 #include <mono/metadata/mono-debug.h>
 #include <mono/metadata/mono-debug-debugger.h>
-#include <mono/metadata/monitor.h>
 #include <mono/metadata/profiler-private.h>
 #include <mono/metadata/gc-internal.h>
 #include <mono/arch/x86/x86-codegen.h>
@@ -26,6 +25,7 @@
 
 #include "mini.h"
 #include "mini-x86.h"
+#include "debugger-agent.h"
 
 #define ALIGN_TO(val,align) ((((guint64)val) + ((align) - 1)) & ~((align) - 1))
 
@@ -44,9 +44,12 @@ mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
        guint8 *code, *start;
        int this_pos = 4, size = NACL_SIZE(16, 32);
        MonoDomain *domain = mono_domain_get ();
+       GSList *unwind_ops;
 
        start = code = mono_domain_code_reserve (domain, size);
 
+       unwind_ops = mono_arch_get_cie_program ();
+
        x86_alu_membase_imm (code, X86_ADD, X86_ESP, this_pos, sizeof (MonoObject));
        x86_jump_code (code, addr);
        g_assert ((code - start) < size);
@@ -54,6 +57,8 @@ mono_arch_get_unbox_trampoline (MonoMethod *m, gpointer addr)
        nacl_domain_code_validate (domain, &start, size, &code);
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_UNBOX_TRAMPOLINE, m);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, unwind_ops), domain);
+
        return start;
 }
 
@@ -62,6 +67,7 @@ mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericCo
 {
        guint8 *code, *start;
        int buf_len;
+       GSList *unwind_ops;
 
        MonoDomain *domain = mono_domain_get ();
 
@@ -69,6 +75,8 @@ mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericCo
 
        start = code = mono_domain_code_reserve (domain, buf_len);
 
+       unwind_ops = mono_arch_get_cie_program ();
+
        x86_mov_reg_imm (code, MONO_ARCH_RGCTX_REG, mrgctx);
        x86_jump_code (code, addr);
        g_assert ((code - start) <= buf_len);
@@ -77,6 +85,8 @@ mono_arch_get_static_rgctx_trampoline (MonoMethod *m, MonoMethodRuntimeGenericCo
        mono_arch_flush_icache (start, code - start);
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_GENERICS_TRAMPOLINE, NULL);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, unwind_ops), domain);
+
        return start;
 }
 
@@ -247,8 +257,7 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
        GSList *unwind_ops = NULL;
        MonoJumpInfo *ji = NULL;
        int i, offset, frame_size, regarray_offset, lmf_offset, caller_ip_offset, arg_offset;
-
-       unwind_ops = mono_arch_get_cie_program ();
+       int cfa_offset; /* cfa = cfa_reg + cfa_offset */
 
        code = buf = mono_global_codeman_reserve (256);
 
@@ -257,8 +266,6 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
         * the ret address is at: esp + (pushed_args + 1) * sizeof (gpointer)
         */
 
-       // FIXME: Unwind info
-
        /* Compute frame offsets relative to the frame pointer %ebp */
        arg_offset = sizeof (mgreg_t);
        caller_ip_offset = 2 * sizeof (mgreg_t);
@@ -271,9 +278,21 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
        offset += 4 * sizeof (mgreg_t);
        frame_size = ALIGN_TO (offset, MONO_ARCH_FRAME_ALIGNMENT);
 
+       /* ret addr and arg are on the stack */
+       cfa_offset = 2 * sizeof (mgreg_t);
+       mono_add_unwind_op_def_cfa (unwind_ops, code, buf, X86_ESP, cfa_offset);
+       // IP saved at CFA - 4
+       mono_add_unwind_op_offset (unwind_ops, code, buf, X86_NREG, -4);
+
        /* Allocate frame */
        x86_push_reg (code, X86_EBP);
+       cfa_offset += sizeof (mgreg_t);
+       mono_add_unwind_op_def_cfa_offset (unwind_ops, code, buf, cfa_offset);
+       mono_add_unwind_op_offset (unwind_ops, code, buf, X86_EBP, -cfa_offset);
+
        x86_mov_reg_reg (code, X86_EBP, X86_ESP, sizeof (mgreg_t));
+       mono_add_unwind_op_def_cfa_reg (unwind_ops, code, buf, X86_EBP);
+
        /* There are three words on the stack, adding + 4 aligns the stack to 16, which is needed on osx */
        x86_alu_reg_imm (code, X86_SUB, X86_ESP, frame_size + sizeof (mgreg_t));
 
@@ -413,17 +432,24 @@ mono_arch_create_generic_trampoline (MonoTrampolineType tramp_type, MonoTrampInf
 
        /* Restore frame */
        x86_leave (code);
+       cfa_offset -= sizeof (mgreg_t);
+       mono_add_unwind_op_def_cfa (unwind_ops, code, buf, X86_ESP, cfa_offset);
+       mono_add_unwind_op_same_value (unwind_ops, code, buf, X86_EBP);
 
        if (MONO_TRAMPOLINE_TYPE_MUST_RETURN (tramp_type)) {
                /* Load the value returned by the trampoline */
                x86_mov_reg_membase (code, X86_EAX, X86_ESP, 0, 4);
                /* The trampoline returns normally, pop the trampoline argument */
                x86_alu_reg_imm (code, X86_ADD, X86_ESP, 4);
+               cfa_offset -= sizeof (mgreg_t);
+               mono_add_unwind_op_def_cfa_offset (unwind_ops, code, buf, cfa_offset);
                x86_ret (code);
        } else {
                /* The trampoline argument is at the top of the stack, and it contains the address we need to branch to */
                if (tramp_type == MONO_TRAMPOLINE_HANDLER_BLOCK_GUARD) {
                        x86_pop_reg (code, X86_EAX);
+                       cfa_offset -= sizeof (mgreg_t);
+                       mono_add_unwind_op_def_cfa_offset (unwind_ops, code, buf, cfa_offset);
                        x86_alu_reg_imm (code, X86_ADD, X86_ESP, 0x8);
                        x86_jump_reg (code, X86_EAX);
                } else {
@@ -613,342 +639,6 @@ mono_arch_create_general_rgctx_lazy_fetch_trampoline (MonoTrampInfo **info, gboo
        return buf;
 }
 
-#ifdef MONO_ARCH_MONITOR_OBJECT_REG
-/*
- * The code produced by this trampoline is equivalent to this:
- *
- * if (obj) {
- *     if (obj->synchronisation) {
- *             if (obj->synchronisation->owner == 0) {
- *                     if (cmpxch (&obj->synchronisation->owner, TID, 0) == 0)
- *                             return;
- *             }
- *             if (obj->synchronisation->owner == TID) {
- *                     ++obj->synchronisation->nest;
- *                     return;
- *             }
- *     }
- * }
- * return full_monitor_enter ();
- *
- */
-gpointer
-mono_arch_create_monitor_enter_trampoline (MonoTrampInfo **info, gboolean is_v4, gboolean aot)
-{
-       guint8 *code, *buf;
-       guint8 *jump_obj_null, *jump_sync_null, *jump_other_owner, *jump_cmpxchg_failed, *jump_tid, *jump_sync_thin_hash = NULL;
-       guint8 *jump_lock_taken_true = NULL;
-       int tramp_size;
-       int status_offset, nest_offset;
-       MonoJumpInfo *ji = NULL;
-       GSList *unwind_ops = NULL;
-
-       g_assert (MONO_ARCH_MONITOR_OBJECT_REG == X86_EAX);
-#ifdef MONO_ARCH_MONITOR_LOCK_TAKEN_REG
-       g_assert (MONO_ARCH_MONITOR_LOCK_TAKEN_REG == X86_EDX);
-#else
-       g_assert (!is_v4);
-#endif
-
-       mono_monitor_threads_sync_members_offset (&status_offset, &nest_offset);
-       g_assert (MONO_THREADS_SYNC_MEMBER_SIZE (status_offset) == sizeof (guint32));
-       g_assert (MONO_THREADS_SYNC_MEMBER_SIZE (nest_offset) == sizeof (guint32));
-       status_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (status_offset);
-       nest_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (nest_offset);
-
-       tramp_size = NACL_SIZE (128, 192);
-
-       code = buf = mono_global_codeman_reserve (tramp_size);
-
-       x86_push_reg (code, X86_EAX);
-       if (mono_thread_get_tls_offset () != -1) {
-               if (is_v4) {
-                       x86_test_membase_imm (code, X86_EDX, 0, 1);
-                       /* if *lock_taken is 1, jump to actual trampoline */
-                       jump_lock_taken_true = code;
-                       x86_branch8 (code, X86_CC_NZ, -1, 1);
-                       x86_push_reg (code, X86_EDX);
-               }
-               /* MonoObject* obj is in EAX */
-               /* is obj null? */
-               x86_test_reg_reg (code, X86_EAX, X86_EAX);
-               /* if yes, jump to actual trampoline */
-               jump_obj_null = code;
-               x86_branch8 (code, X86_CC_Z, -1, 1);
-
-               /* load obj->synchronization to ECX */
-               x86_mov_reg_membase (code, X86_ECX, X86_EAX, MONO_STRUCT_OFFSET (MonoObject, synchronisation), 4);
-
-               if (mono_gc_is_moving ()) {
-                       /*if bit zero is set it's a thin hash*/
-                       /*FIXME use testb encoding*/
-                       x86_test_reg_imm (code, X86_ECX, 0x01);
-                       jump_sync_thin_hash = code;
-                       x86_branch8 (code, X86_CC_NE, -1, 1);
-
-                       /*clear bits used by the gc*/
-                       x86_alu_reg_imm (code, X86_AND, X86_ECX, ~0x3);
-               }
-
-               /* is synchronization null? */
-               x86_test_reg_reg (code, X86_ECX, X86_ECX);
-
-               /* if yes, jump to actual trampoline */
-               jump_sync_null = code;
-               x86_branch8 (code, X86_CC_Z, -1, 1);
-
-               /* load MonoInternalThread* into EDX */
-               if (aot) {
-                       /* load_aotconst () puts the result into EAX */
-                       x86_mov_reg_reg (code, X86_EDX, X86_EAX, sizeof (mgreg_t));
-                       code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_TLS_OFFSET, GINT_TO_POINTER (TLS_KEY_THREAD));
-                       code = mono_x86_emit_tls_get_reg (code, X86_EAX, X86_EAX);
-                       x86_xchg_reg_reg (code, X86_EAX, X86_EDX, sizeof (mgreg_t));
-               } else {
-                       code = mono_x86_emit_tls_get (code, X86_EDX, mono_thread_get_tls_offset ());
-               }
-               /* load TID into EDX */
-               x86_mov_reg_membase (code, X86_EDX, X86_EDX, MONO_STRUCT_OFFSET (MonoInternalThread, small_id), 4);
-
-               /* is synchronization->owner free */
-               x86_mov_reg_membase (code, X86_EAX, X86_ECX, status_offset, 4);
-               x86_test_reg_imm (code, X86_EAX, OWNER_MASK);
-               /* if not, jump to next case */
-               jump_tid = code;
-               x86_branch8 (code, X86_CC_NZ, -1, 1);
-
-               /* if yes, try a compare-exchange with the TID */
-               /* Form new status */
-               x86_alu_reg_reg (code, X86_OR, X86_EDX, X86_EAX);
-               /* compare and exchange */
-               x86_prefix (code, X86_LOCK_PREFIX);
-               x86_cmpxchg_membase_reg (code, X86_ECX, status_offset, X86_EDX);
-               /* if not successful, jump to actual trampoline */
-               jump_cmpxchg_failed = code;
-               x86_branch8 (code, X86_CC_NZ, -1, 1);
-               /* if successful, pop and return */
-               if (is_v4) {
-                       x86_pop_reg (code, X86_EDX);
-                       x86_mov_membase_imm (code, X86_EDX, 0, 1, 1);
-               }
-               x86_pop_reg (code, X86_EAX);
-               x86_ret (code);
-
-               /* next case: synchronization->owner is not null */
-               x86_patch (jump_tid, code);
-               /* is synchronization->owner == TID? */
-               x86_alu_reg_imm (code, X86_AND, X86_EAX, OWNER_MASK);
-               x86_alu_reg_reg (code, X86_CMP, X86_EAX, X86_EDX);
-               /* if not, jump to actual trampoline */
-               jump_other_owner = code;
-               x86_branch8 (code, X86_CC_NZ, -1, 1);
-               /* if yes, increment nest */
-               x86_inc_membase (code, X86_ECX, nest_offset);
-               if (is_v4) {
-                       x86_pop_reg (code, X86_EDX);
-                       x86_mov_membase_imm (code, X86_EDX, 0, 1, 1);
-               }
-               x86_pop_reg (code, X86_EAX);
-               /* return */
-               x86_ret (code);
-
-               /* obj is pushed, jump to the actual trampoline */
-               x86_patch (jump_obj_null, code);
-               if (jump_sync_thin_hash)
-                       x86_patch (jump_sync_thin_hash, code);
-               x86_patch (jump_sync_null, code);
-               x86_patch (jump_other_owner, code);
-               x86_patch (jump_cmpxchg_failed, code);
-
-               if (is_v4) {
-                       x86_pop_reg (code, X86_EDX);
-                       x86_patch (jump_lock_taken_true, code);
-               }
-       }
-
-       if (aot) {
-               /* We are calling the generic trampoline directly, the argument is pushed
-                * on the stack just like a specific trampoline.
-                */
-               if (is_v4)
-                       code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, "generic_trampoline_monitor_enter_v4");
-               else
-                       code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, "generic_trampoline_monitor_enter");
-               x86_jump_reg (code, X86_EAX);
-       } else {
-               if (is_v4)
-                       x86_jump_code (code, mono_get_trampoline_code (MONO_TRAMPOLINE_MONITOR_ENTER_V4));
-               else
-                       x86_jump_code (code, mono_get_trampoline_code (MONO_TRAMPOLINE_MONITOR_ENTER));
-       }
-
-       mono_arch_flush_icache (buf, code - buf);
-       g_assert (code - buf <= tramp_size);
-
-       nacl_global_codeman_validate (&buf, tramp_size, &code);
-       mono_profiler_code_buffer_new (buf, code - buf, MONO_PROFILER_CODE_BUFFER_MONITOR, NULL);
-
-       if (is_v4)
-               *info = mono_tramp_info_create ("monitor_enter_v4_trampoline", buf, code - buf, ji, unwind_ops);
-       else
-               *info = mono_tramp_info_create ("monitor_enter_trampoline", buf, code - buf, ji, unwind_ops);
-
-       return buf;
-}
-
-gpointer
-mono_arch_create_monitor_exit_trampoline (MonoTrampInfo **info, gboolean aot)
-{
-       guint8 *tramp = mono_get_trampoline_code (MONO_TRAMPOLINE_MONITOR_EXIT);
-       guint8 *code, *buf;
-       guint8 *jump_obj_null, *jump_have_waiters, *jump_sync_null, *jump_not_owned, *jump_sync_thin_hash = NULL;
-       guint8 *jump_next, *jump_cmpxchg_failed;
-       int tramp_size;
-       int status_offset, nest_offset;
-       MonoJumpInfo *ji = NULL;
-       GSList *unwind_ops = NULL;
-
-       g_assert (MONO_ARCH_MONITOR_OBJECT_REG == X86_EAX);
-
-       mono_monitor_threads_sync_members_offset (&status_offset, &nest_offset);
-       g_assert (MONO_THREADS_SYNC_MEMBER_SIZE (status_offset) == sizeof (guint32));
-       g_assert (MONO_THREADS_SYNC_MEMBER_SIZE (nest_offset) == sizeof (guint32));
-       status_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (status_offset);
-       nest_offset = MONO_THREADS_SYNC_MEMBER_OFFSET (nest_offset);
-
-       tramp_size = NACL_SIZE (128, 192);
-
-       code = buf = mono_global_codeman_reserve (tramp_size);
-
-       x86_push_reg (code, X86_EAX);
-       if (mono_thread_get_tls_offset () != -1) {
-               /* MonoObject* obj is in EAX */
-               /* is obj null? */
-               x86_test_reg_reg (code, X86_EAX, X86_EAX);
-               /* if yes, jump to actual trampoline */
-               jump_obj_null = code;
-               x86_branch8 (code, X86_CC_Z, -1, 1);
-
-               /* load obj->synchronization to ECX */
-               x86_mov_reg_membase (code, X86_ECX, X86_EAX, MONO_STRUCT_OFFSET (MonoObject, synchronisation), 4);
-
-               if (mono_gc_is_moving ()) {
-                       /*if bit zero is set it's a thin hash*/
-                       /*FIXME use testb encoding*/
-                       x86_test_reg_imm (code, X86_ECX, 0x01);
-                       jump_sync_thin_hash = code;
-                       x86_branch8 (code, X86_CC_NE, -1, 1);
-
-                       /*clear bits used by the gc*/
-                       x86_alu_reg_imm (code, X86_AND, X86_ECX, ~0x3);
-               }
-
-               /* is synchronization null? */
-               x86_test_reg_reg (code, X86_ECX, X86_ECX);
-               /* if yes, jump to actual trampoline */
-               jump_sync_null = code;
-               x86_branch8 (code, X86_CC_Z, -1, 1);
-
-               /* next case: synchronization is not null */
-               /* load MonoInternalThread* into EDX */
-               if (aot) {
-                       /* load_aotconst () puts the result into EAX */
-                       x86_mov_reg_reg (code, X86_EDX, X86_EAX, sizeof (mgreg_t));
-                       code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_TLS_OFFSET, GINT_TO_POINTER (TLS_KEY_THREAD));
-                       code = mono_x86_emit_tls_get_reg (code, X86_EAX, X86_EAX);
-                       x86_xchg_reg_reg (code, X86_EAX, X86_EDX, sizeof (mgreg_t));
-               } else {
-                       code = mono_x86_emit_tls_get (code, X86_EDX, mono_thread_get_tls_offset ());
-               }
-               /* load TID into EDX */
-               x86_mov_reg_membase (code, X86_EDX, X86_EDX, MONO_STRUCT_OFFSET (MonoInternalThread, small_id), 4);
-               /* is synchronization->owner == TID */
-               x86_mov_reg_membase (code, X86_EAX, X86_ECX, status_offset, 4);
-               x86_alu_reg_reg (code, X86_XOR, X86_EDX, X86_EAX);
-               x86_test_reg_imm (code, X86_EDX, OWNER_MASK);
-               /* if no, jump to actual trampoline */
-               jump_not_owned = code;
-               x86_branch8 (code, X86_CC_NZ, -1, 1);
-
-               /* next case: synchronization->owner == TID */
-               /* is synchronization->nest == 1 */
-               x86_alu_membase_imm (code, X86_CMP, X86_ECX, nest_offset, 1);
-               /* if not, jump to next case */
-               jump_next = code;
-               x86_branch8 (code, X86_CC_NZ, -1, 1);
-               /* if yes, is synchronization->entry_count greater than zero? */
-               x86_test_reg_imm (code, X86_EAX, ENTRY_COUNT_WAITERS);
-               /* if yes, jump to actual trampoline */
-               jump_have_waiters = code;
-               x86_branch8 (code, X86_CC_NZ, -1 , 1);
-               /* if not, try to set synchronization->owner to null and return */
-               x86_mov_reg_reg (code, X86_EDX, X86_EAX, 4);
-               x86_alu_reg_imm (code, X86_AND, X86_EDX, ENTRY_COUNT_MASK); 
-               /* compare and exchange */
-               x86_prefix (code, X86_LOCK_PREFIX);
-               /* EAX contains the previous status */
-               x86_cmpxchg_membase_reg (code, X86_ECX, status_offset, X86_EDX);
-               /* if not successful, jump to actual trampoline */
-               jump_cmpxchg_failed = code;
-               x86_branch8 (code, X86_CC_NZ, -1, 1);
-
-               x86_pop_reg (code, X86_EAX);
-               x86_ret (code);
-
-               /* next case: synchronization->nest is not 1 */
-               x86_patch (jump_next, code);
-               /* decrease synchronization->nest and return */
-               x86_dec_membase (code, X86_ECX, nest_offset);
-               x86_pop_reg (code, X86_EAX);
-               x86_ret (code);
-
-               /* push obj and jump to the actual trampoline */
-               x86_patch (jump_obj_null, code);
-               if (jump_sync_thin_hash)
-                       x86_patch (jump_sync_thin_hash, code);
-               x86_patch (jump_have_waiters, code);
-               x86_patch (jump_cmpxchg_failed, code);
-               x86_patch (jump_not_owned, code);
-               x86_patch (jump_sync_null, code);
-       }
-
-       /* obj is pushed, jump to the actual trampoline */
-       if (aot) {
-               code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, "generic_trampoline_monitor_exit");
-               x86_jump_reg (code, X86_EAX);
-       } else {
-               x86_jump_code (code, tramp);
-       }
-
-       nacl_global_codeman_validate (&buf, tramp_size, &code);
-
-       mono_arch_flush_icache (buf, code - buf);
-       g_assert (code - buf <= tramp_size);
-       mono_profiler_code_buffer_new (buf, code - buf, MONO_PROFILER_CODE_BUFFER_MONITOR, NULL);
-
-       *info = mono_tramp_info_create ("monitor_exit_trampoline", buf, code - buf, ji, unwind_ops);
-
-       return buf;
-}
-
-#else
-
-gpointer
-mono_arch_create_monitor_enter_trampoline (MonoTrampInfo **info, gboolean is_v4, gboolean aot)
-{
-       g_assert_not_reached ();
-       return NULL;
-}
-
-gpointer
-mono_arch_create_monitor_exit_trampoline (MonoTrampInfo **info, gboolean aot)
-{
-       g_assert_not_reached ();
-       return NULL;
-}
-
-#endif
-
 void
 mono_arch_invalidate_method (MonoJitInfo *ji, void *func, gpointer func_arg)
 {
@@ -973,12 +663,15 @@ mono_arch_create_handler_block_trampoline (MonoTrampInfo **info, gboolean aot)
        guint8 *code, *buf;
        int tramp_size = 64;
        MonoJumpInfo *ji = NULL;
+       int cfa_offset;
        GSList *unwind_ops = NULL;
 
        g_assert (!aot);
 
        code = buf = mono_global_codeman_reserve (tramp_size);
 
+       unwind_ops = mono_arch_get_cie_program ();
+       cfa_offset = sizeof (mgreg_t);
        /*
        This trampoline restore the call chain of the handler block then jumps into the code that deals with it.
        */
@@ -997,10 +690,18 @@ mono_arch_create_handler_block_trampoline (MonoTrampInfo **info, gboolean aot)
        /* Simulate a call */
        /*Fix stack alignment*/
        x86_alu_reg_imm (code, X86_SUB, X86_ESP, 0x4);
+       cfa_offset += sizeof (mgreg_t);
+       mono_add_unwind_op_def_cfa_offset (unwind_ops, code, buf, cfa_offset);
+
        /* This is the address the trampoline will return to */
        x86_push_reg (code, X86_EAX);
+       cfa_offset += sizeof (mgreg_t);
+       mono_add_unwind_op_def_cfa_offset (unwind_ops, code, buf, cfa_offset);
+
        /* Dummy trampoline argument, since we call the generic trampoline directly */
        x86_push_imm (code, 0);
+       cfa_offset += sizeof (mgreg_t);
+       mono_add_unwind_op_def_cfa_offset (unwind_ops, code, buf, cfa_offset);
        x86_jump_code (code, tramp);
 
        nacl_global_codeman_validate (&buf, tramp_size, &code);
@@ -1043,11 +744,15 @@ mono_arch_get_gsharedvt_arg_trampoline (MonoDomain *domain, gpointer arg, gpoint
 {
        guint8 *code, *start;
        int buf_len;
+       GSList *unwind_ops;
+
 
        buf_len = 10;
 
        start = code = mono_domain_code_reserve (domain, buf_len);
 
+       unwind_ops = mono_arch_get_cie_program ();
+
        x86_mov_reg_imm (code, X86_EAX, arg);
        x86_jump_code (code, addr);
        g_assert ((code - start) <= buf_len);
@@ -1056,9 +761,111 @@ mono_arch_get_gsharedvt_arg_trampoline (MonoDomain *domain, gpointer arg, gpoint
        mono_arch_flush_icache (start, code - start);
        mono_profiler_code_buffer_new (start, code - start, MONO_PROFILER_CODE_BUFFER_GENERICS_TRAMPOLINE, NULL);
 
+       mono_tramp_info_register (mono_tramp_info_create (NULL, start, code - start, NULL, unwind_ops), domain);
+
        return start;
 }
 
+/*
+ * mono_arch_create_sdb_trampoline:
+ *
+ *   Return a trampoline which captures the current context, passes it to
+ * debugger_agent_single_step_from_context ()/debugger_agent_breakpoint_from_context (),
+ * then restores the (potentially changed) context.
+ */
+guint8*
+mono_arch_create_sdb_trampoline (gboolean single_step, MonoTrampInfo **info, gboolean aot)
+{
+       int tramp_size = 256;
+       int framesize, ctx_offset, cfa_offset;
+       guint8 *code, *buf;
+       GSList *unwind_ops = NULL;
+       MonoJumpInfo *ji = NULL;
+
+       code = buf = mono_global_codeman_reserve (tramp_size);
+
+       framesize = 0;
+
+       /* Argument area */
+       framesize += sizeof (mgreg_t);
+
+       ctx_offset = framesize;
+       framesize += sizeof (MonoContext);
+
+       framesize = ALIGN_TO (framesize, MONO_ARCH_FRAME_ALIGNMENT);
+
+       // CFA = sp + 4
+       cfa_offset = 4;
+       mono_add_unwind_op_def_cfa (unwind_ops, code, buf, X86_ESP, 4);
+       // IP saved at CFA - 4
+       mono_add_unwind_op_offset (unwind_ops, code, buf, X86_NREG, -cfa_offset);
+
+       x86_push_reg (code, X86_EBP);
+       cfa_offset += sizeof(mgreg_t);
+       mono_add_unwind_op_def_cfa_offset (unwind_ops, code, buf, cfa_offset);
+       mono_add_unwind_op_offset (unwind_ops, code, buf, X86_EBP, - cfa_offset);
+
+       x86_mov_reg_reg (code, X86_EBP, X86_ESP, sizeof(mgreg_t));
+       mono_add_unwind_op_def_cfa_reg (unwind_ops, code, buf, X86_EBP);
+       /* The + 8 makes the stack aligned */
+       x86_alu_reg_imm (code, X86_SUB, X86_ESP, framesize + 8);
+
+       /* Initialize a MonoContext structure on the stack */
+       x86_mov_membase_reg (code, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, eax), X86_EAX, sizeof (mgreg_t));
+       x86_mov_membase_reg (code, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, ebx), X86_EBX, sizeof (mgreg_t));
+       x86_mov_membase_reg (code, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, ecx), X86_ECX, sizeof (mgreg_t));
+       x86_mov_membase_reg (code, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, edx), X86_EDX, sizeof (mgreg_t));
+       x86_mov_reg_membase (code, X86_EAX, X86_EBP, 0, sizeof (mgreg_t));
+       x86_mov_membase_reg (code, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, ebp), X86_EAX, sizeof (mgreg_t));
+       x86_mov_reg_reg (code, X86_EAX, X86_EBP, sizeof (mgreg_t));
+       x86_alu_reg_imm (code, X86_ADD, X86_EAX, cfa_offset);
+       x86_mov_membase_reg (code, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, esp), X86_ESP, sizeof (mgreg_t));
+       x86_mov_membase_reg (code, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, esi), X86_ESI, sizeof (mgreg_t));
+       x86_mov_membase_reg (code, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, edi), X86_EDI, sizeof (mgreg_t));
+       x86_mov_reg_membase (code, X86_EAX, X86_EBP, 4, sizeof (mgreg_t));
+       x86_mov_membase_reg (code, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, eip), X86_EAX, sizeof (mgreg_t));
+
+       /* Call the single step/breakpoint function in sdb */
+       x86_lea_membase (code, X86_EAX, X86_ESP, ctx_offset);
+       x86_mov_membase_reg (code, X86_ESP, 0, X86_EAX, sizeof (mgreg_t));
+
+       if (aot) {
+               x86_breakpoint (code);
+       } else {
+               if (single_step)
+                       x86_call_code (code, debugger_agent_single_step_from_context);
+               else
+                       x86_call_code (code, debugger_agent_breakpoint_from_context);
+       }
+
+       /* Restore registers from ctx */
+       /* Overwrite the saved ebp */
+       x86_mov_reg_membase (code, X86_EAX, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, ebp), sizeof (mgreg_t));
+       x86_mov_membase_reg (code, X86_EBP, 0, X86_EAX, sizeof (mgreg_t));
+       /* Overwrite saved eip */
+       x86_mov_reg_membase (code, X86_EAX, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, eip), sizeof (mgreg_t));
+       x86_mov_membase_reg (code, X86_EBP, 4, X86_EAX, sizeof (mgreg_t));
+       x86_mov_reg_membase (code, X86_EAX, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, eax), sizeof (mgreg_t));
+       x86_mov_reg_membase (code, X86_EBX, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, ebx), sizeof (mgreg_t));
+       x86_mov_reg_membase (code, X86_ECX, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, ecx), sizeof (mgreg_t));
+       x86_mov_reg_membase (code, X86_EDX, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, edx), sizeof (mgreg_t));
+       x86_mov_reg_membase (code, X86_ESI, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, esi), sizeof (mgreg_t));
+       x86_mov_reg_membase (code, X86_EDI, X86_ESP, ctx_offset + G_STRUCT_OFFSET (MonoContext, edi), sizeof (mgreg_t));
+
+       x86_leave (code);
+       cfa_offset -= sizeof (mgreg_t);
+       mono_add_unwind_op_def_cfa (unwind_ops, code, buf, X86_ESP, cfa_offset);
+       x86_ret (code);
+
+       mono_arch_flush_icache (code, code - buf);
+       g_assert (code - buf <= tramp_size);
+
+       const char *tramp_name = single_step ? "sdb_single_step_trampoline" : "sdb_breakpoint_trampoline";
+       *info = mono_tramp_info_create (tramp_name, buf, code - buf, ji, unwind_ops);
+
+       return buf;
+}
+
 #if defined(ENABLE_GSHAREDVT)
 
 #include "../../../mono-extensions/mono/mini/tramp-x86-gsharedvt.c"
index 52b292ef0808a7d2b96920791df7d7584af5f6f7..1fbd5c9f63bbfed5c3b6bf580c31fb63a4770743 100644 (file)
@@ -338,13 +338,15 @@ mono_print_unwind_info (guint8 *unwind_info, int unwind_info_len)
 }
 
 /*
- * mono_unwind_ops_encode:
+ * mono_unwind_ops_encode_full:
  *
  *   Encode the unwind ops in UNWIND_OPS into the compact DWARF encoding.
  * Return a pointer to malloc'ed memory.
+ * If ENABLE_EXTENSIONS is FALSE, avoid encoding the mono extension
+ * opcode (DW_CFA_mono_advance_loc).
  */
 guint8*
-mono_unwind_ops_encode (GSList *unwind_ops, guint32 *out_len)
+mono_unwind_ops_encode_full (GSList *unwind_ops, guint32 *out_len, gboolean enable_extensions)
 {
        GSList *l;
        MonoUnwindOp *op;
@@ -430,6 +432,8 @@ mono_unwind_ops_encode (GSList *unwind_ops, guint32 *out_len)
                        *p ++ = op->op;
                        break;
                case DW_CFA_mono_advance_loc:
+                       if (!enable_extensions)
+                               break;
                        /* Only one location is supported */
                        g_assert (op->val == 0);
                        *p ++ = op->op;
@@ -447,6 +451,12 @@ mono_unwind_ops_encode (GSList *unwind_ops, guint32 *out_len)
        return res;
 }
 
+guint8*
+mono_unwind_ops_encode (GSList *unwind_ops, guint32 *out_len)
+{
+       return mono_unwind_ops_encode_full (unwind_ops, out_len, TRUE);
+}
+
 #if 0
 #define UNW_DEBUG(stmt) do { stmt; } while (0)
 #else
@@ -1164,7 +1174,7 @@ mono_unwind_decode_llvm_mono_fde (guint8 *fde, int fde_len, guint8 *cie, guint8
 GSList*
 mono_unwind_get_cie_program (void)
 {
-#if defined(TARGET_AMD64) || defined(TARGET_X86) || defined(TARGET_POWERPC)
+#if defined(TARGET_AMD64) || defined(TARGET_X86) || defined(TARGET_POWERPC) || defined(TARGET_ARM)
        return mono_arch_get_cie_program ();
 #else
        return NULL;
index 9924906bd90e625e238e6ca9ad03893a171431f1..4ee385504bea1c339957a3080e005c3bfaf02b41 100644 (file)
@@ -1845,6 +1845,7 @@ typedef struct {
        uint64_t live;
        uint64_t max_live;
        TraceDesc traces;
+       TraceDesc destroy_traces;
 } HandleInfo;
 static HandleInfo handle_info [4];
 
@@ -1991,12 +1992,18 @@ tracked_creation (uintptr_t obj, ClassDesc *cd, uint64_t size, BackTrace *bt, ui
 }
 
 static void
-track_handle (uintptr_t obj, int htype, uint32_t handle)
+track_handle (uintptr_t obj, int htype, uint32_t handle, BackTrace *bt, uint64_t timestamp)
 {
        int i;
        for (i = 0; i < num_tracked_objects; ++i) {
-               if (tracked_objects [i] == obj)
-                       fprintf (outfile, "Object %p referenced from handle %u\n", (void*)obj, handle);
+               if (tracked_objects [i] != obj)
+                       continue;
+               fprintf (outfile, "Object %p referenced from handle %u at %.3f secs.\n", (void*)obj, handle, (timestamp - startup_time) / 1000000000.0);
+               if (bt && bt->count) {
+                       int k;
+                       for (k = 0; k < bt->count; ++k)
+                               fprintf (outfile, "\t%s\n", bt->methods [k]->name);
+               }
        }
 }
 
@@ -2176,6 +2183,28 @@ coverage_add_coverage (CoverageCoverage *coverage)
 #define OBJ_ADDR(diff) ((obj_base + diff) << 3)
 #define LOG_TIME(base,diff) /*fprintf("outfile, time %llu + %llu near offset %d\n", base, diff, p - ctx->buf)*/
 
+
+/* Stats */
+#define BUFFER_HEADER_SIZE 48
+
+typedef struct {
+       int count, min_size, max_size, bytes;
+} EventStat;
+
+static int buffer_count;
+static EventStat stats [256];
+
+static void
+record_event_stats (int type, int size)
+{
+       ++stats [type].count;
+       if (!stats [type].min_size)
+               stats [type].min_size = size;
+       stats [type].min_size = MIN (stats [type].min_size, size);
+       stats [type].max_size = MAX (stats [type].max_size, size);
+       stats [type].bytes += size;
+}
+
 static int
 decode_buffer (ProfContext *ctx)
 {
@@ -2217,6 +2246,9 @@ decode_buffer (ProfContext *ctx)
        thread = load_thread (ctx, thread_id);
        if (!load_data (ctx, len))
                return 0;
+
+       ++buffer_count;
+
        if (!startup_time) {
                startup_time = time_base;
                if (use_time_filter) {
@@ -2231,6 +2263,8 @@ decode_buffer (ProfContext *ctx)
        p = ctx->buf;
        end = p + len;
        while (p < end) {
+               unsigned char *start = p;
+               unsigned char event = *p;
                switch (*p & 0xf) {
                case TYPE_GC: {
                        int subtype = *p & 0xf0;
@@ -2274,31 +2308,72 @@ decode_buffer (ProfContext *ctx)
                                                fprintf (outfile, "moved obj %p to %p\n", (void*)OBJ_ADDR (obj1diff), (void*)OBJ_ADDR (obj2diff));
                                        }
                                }
-                       } else if (subtype == TYPE_GC_HANDLE_CREATED) {
+                       } else if (subtype == TYPE_GC_HANDLE_CREATED || subtype == TYPE_GC_HANDLE_CREATED_BT) {
+                               int has_bt = subtype == TYPE_GC_HANDLE_CREATED_BT;
+                               int num_bt = 0;
+                               MethodDesc *sframes [8];
+                               MethodDesc **frames = sframes;
                                int htype = decode_uleb128 (p, &p);
                                uint32_t handle = decode_uleb128 (p, &p);
                                intptr_t objdiff = decode_sleb128 (p, &p);
+                               if (has_bt) {
+                                       num_bt = 8;
+                                       frames = decode_bt (sframes, &num_bt, p, &p, ptr_base);
+                                       if (!frames) {
+                                               fprintf (outfile, "Cannot load backtrace\n");
+                                               return 0;
+                                       }
+                               }
                                if (htype > 3)
                                        return 0;
-                               handle_info [htype].created++;
-                               handle_info [htype].live++;
-                               add_trace_thread (thread, &handle_info [htype].traces, 1);
-                               /* FIXME: we don't take into account timing here */
-                               if (handle_info [htype].live > handle_info [htype].max_live)
-                                       handle_info [htype].max_live = handle_info [htype].live;
-                               if (num_tracked_objects)
-                                       track_handle (OBJ_ADDR (objdiff), htype, handle);
+                               if ((thread_filter && thread_filter == thread->thread_id) || (time_base >= time_from && time_base < time_to)) {
+                                       handle_info [htype].created++;
+                                       handle_info [htype].live++;
+                                       if (handle_info [htype].live > handle_info [htype].max_live)
+                                               handle_info [htype].max_live = handle_info [htype].live;
+                                       BackTrace *bt;
+                                       if (has_bt)
+                                               bt = add_trace_methods (frames, num_bt, &handle_info [htype].traces, 1);
+                                       else
+                                               bt = add_trace_thread (thread, &handle_info [htype].traces, 1);
+                                       if (num_tracked_objects)
+                                               track_handle (OBJ_ADDR (objdiff), htype, handle, bt, time_base);
+                               }
                                if (debug)
                                        fprintf (outfile, "handle (%s) %u created for object %p\n", get_handle_name (htype), handle, (void*)OBJ_ADDR (objdiff));
-                       } else if (subtype == TYPE_GC_HANDLE_DESTROYED) {
+                               if (frames != sframes)
+                                       free (frames);
+                       } else if (subtype == TYPE_GC_HANDLE_DESTROYED || subtype == TYPE_GC_HANDLE_DESTROYED_BT) {
+                               int has_bt = subtype == TYPE_GC_HANDLE_DESTROYED_BT;
+                               int num_bt = 0;
+                               MethodDesc *sframes [8];
+                               MethodDesc **frames = sframes;
                                int htype = decode_uleb128 (p, &p);
                                uint32_t handle = decode_uleb128 (p, &p);
+                               if (has_bt) {
+                                       num_bt = 8;
+                                       frames = decode_bt (sframes, &num_bt, p, &p, ptr_base);
+                                       if (!frames) {
+                                               fprintf (outfile, "Cannot load backtrace\n");
+                                               return 0;
+                                       }
+                               }
                                if (htype > 3)
                                        return 0;
-                               handle_info [htype].destroyed ++;
-                               handle_info [htype].live--;
+                               if ((thread_filter && thread_filter == thread->thread_id) || (time_base >= time_from && time_base < time_to)) {
+                                       handle_info [htype].destroyed ++;
+                                       handle_info [htype].live--;
+                                       BackTrace *bt;
+                                       if (has_bt)
+                                               bt = add_trace_methods (frames, num_bt, &handle_info [htype].destroy_traces, 1);
+                                       else
+                                               bt = add_trace_thread (thread, &handle_info [htype].destroy_traces, 1);
+                                       /* TODO: track_handle_free () - would need to record and keep track of the associated object address... */
+                               }
                                if (debug)
                                        fprintf (outfile, "handle (%s) %u destroyed\n", get_handle_name (htype), handle);
+                               if (frames != sframes)
+                                       free (frames);
                        }
                        break;
                }
@@ -2962,6 +3037,7 @@ decode_buffer (ProfContext *ctx)
                        fprintf (outfile, "unhandled profiler event: 0x%x at file offset: %llu + %lld (len: %d\n)\n", *p, (unsigned long long) file_offset, (long long) (p - ctx->buf), len);
                        exit (1);
                }
+               record_event_stats (event, p - start);
        }
        thread->last_time = time_base;
        for (i = 0; i < thread->stack_id; ++i)
@@ -3178,6 +3254,7 @@ dump_gcs (void)
                        (unsigned long long) (handle_info [i].destroyed),
                        (unsigned long long) (handle_info [i].max_live));
                dump_traces (&handle_info [i].traces, "created");
+               dump_traces (&handle_info [i].destroy_traces, "destroyed");
        }
 }
 
@@ -3650,6 +3727,73 @@ dump_coverage (void)
        }
 }
 
+#define DUMP_EVENT_STAT(EVENT,SUBTYPE) dump_event (#EVENT, #SUBTYPE, EVENT, SUBTYPE);
+
+static void
+dump_event (const char *event_name, const char *subtype_name, int event, int subtype)
+{
+       int idx = event | subtype;
+       EventStat evt = stats [idx];
+       if (!evt.count)
+               return;
+
+       fprintf (outfile, "\t%16s\t%26s\tcount %6d\tmin %3d\tmax %6d\tbytes %d\n", event_name, subtype_name, evt.count, evt.min_size, evt.max_size, evt.bytes);
+}
+
+static void
+dump_stats (void)
+{
+       fprintf (outfile, "\nMlpd statistics\n");
+       fprintf (outfile, "\tBuffer count %d\toverhead %d (%d bytes per header)\n", buffer_count, buffer_count * BUFFER_HEADER_SIZE, BUFFER_HEADER_SIZE);
+       fprintf (outfile, "\nEvent details:\n");
+
+       DUMP_EVENT_STAT (TYPE_ALLOC, TYPE_ALLOC_NO_BT);
+       DUMP_EVENT_STAT (TYPE_ALLOC, TYPE_ALLOC_BT);
+
+       DUMP_EVENT_STAT (TYPE_GC, TYPE_GC_EVENT);
+       DUMP_EVENT_STAT (TYPE_GC, TYPE_GC_RESIZE);
+       DUMP_EVENT_STAT (TYPE_GC, TYPE_GC_MOVE);
+       DUMP_EVENT_STAT (TYPE_GC, TYPE_GC_HANDLE_CREATED);
+       DUMP_EVENT_STAT (TYPE_GC, TYPE_GC_HANDLE_DESTROYED);
+       DUMP_EVENT_STAT (TYPE_GC, TYPE_GC_HANDLE_CREATED_BT);
+       DUMP_EVENT_STAT (TYPE_GC, TYPE_GC_HANDLE_DESTROYED_BT);
+
+       DUMP_EVENT_STAT (TYPE_METADATA, TYPE_END_LOAD);
+       DUMP_EVENT_STAT (TYPE_METADATA, TYPE_END_UNLOAD);
+
+       DUMP_EVENT_STAT (TYPE_METHOD, TYPE_LEAVE);
+       DUMP_EVENT_STAT (TYPE_METHOD, TYPE_ENTER);
+       DUMP_EVENT_STAT (TYPE_METHOD, TYPE_EXC_LEAVE);
+       DUMP_EVENT_STAT (TYPE_METHOD, TYPE_JIT);
+
+       DUMP_EVENT_STAT (TYPE_EXCEPTION, TYPE_THROW);
+       DUMP_EVENT_STAT (TYPE_EXCEPTION, TYPE_CLAUSE);
+       DUMP_EVENT_STAT (TYPE_EXCEPTION, TYPE_EXCEPTION_BT);
+
+       DUMP_EVENT_STAT (TYPE_MONITOR, TYPE_MONITOR_NO_BT);
+       DUMP_EVENT_STAT (TYPE_MONITOR, TYPE_MONITOR_BT);
+
+       DUMP_EVENT_STAT (TYPE_HEAP, TYPE_HEAP_START);
+       DUMP_EVENT_STAT (TYPE_HEAP, TYPE_HEAP_END);
+       DUMP_EVENT_STAT (TYPE_HEAP, TYPE_HEAP_OBJECT);
+       DUMP_EVENT_STAT (TYPE_HEAP, TYPE_HEAP_ROOT);
+
+       DUMP_EVENT_STAT (TYPE_SAMPLE, TYPE_SAMPLE_HIT);
+       DUMP_EVENT_STAT (TYPE_SAMPLE, TYPE_SAMPLE_USYM);
+       DUMP_EVENT_STAT (TYPE_SAMPLE, TYPE_SAMPLE_UBIN);
+       DUMP_EVENT_STAT (TYPE_SAMPLE, TYPE_SAMPLE_COUNTERS_DESC);
+       DUMP_EVENT_STAT (TYPE_SAMPLE, TYPE_SAMPLE_COUNTERS);
+
+       DUMP_EVENT_STAT (TYPE_RUNTIME, TYPE_JITHELPER);
+
+       DUMP_EVENT_STAT (TYPE_COVERAGE, TYPE_COVERAGE_ASSEMBLY);
+       DUMP_EVENT_STAT (TYPE_COVERAGE, TYPE_COVERAGE_METHOD);
+       DUMP_EVENT_STAT (TYPE_COVERAGE, TYPE_COVERAGE_STATEMENT);
+       DUMP_EVENT_STAT (TYPE_COVERAGE, TYPE_COVERAGE_CLASS);
+}
+
+
+
 static void
 flush_context (ProfContext *ctx)
 {
@@ -3759,6 +3903,11 @@ print_reports (ProfContext *ctx, const char *reps, int parse_only)
                                dump_coverage ();
                        continue;
                }
+               if ((opt = match_option (p, "stats")) != p) {
+                       if (!parse_only)
+                               dump_stats ();
+                       continue;
+               }
                return 0;
        }
        return 1;
diff --git a/mono/profiler/mono-codeanalyst.c b/mono/profiler/mono-codeanalyst.c
deleted file mode 100644 (file)
index a6d13a0..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * mono-codeanalyst.c: AMD CodeAnalyst profiler
- *
- * Author:
- *   Jonathan Chambers (joncham@gmail.com)
- *
- * (C) 2011 Jonathan Chambers
- *
- * 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.
- */
-#include <mono/metadata/profiler.h>
-#include <mono/metadata/tokentype.h>
-#include <mono/metadata/tabledefs.h>
-#include <mono/metadata/debug-helpers.h>
-#include <mono/metadata/assembly.h>
-#include <string.h>
-#include <glib.h>
-
-#define bool char
-
-#include "CAJITNTFLib.h"
-
-/* called at the end of the program */
-static void
-codeanalyst_shutdown (MonoProfiler *prof)
-{
-       CAJIT_CompleteJITLog ();
-}
-
-static void
-method_jit_result (MonoProfiler *prof, MonoMethod *method, MonoJitInfo* jinfo, int result) {
-       if (result == MONO_PROFILE_OK) {
-               gunichar2* name_utf16;
-               MonoClass *klass = mono_method_get_class (method);
-               char *signature = mono_signature_get_desc (mono_method_signature (method), TRUE);
-               char *name = g_strdup_printf ("%s.%s.%s (%s)", mono_class_get_namespace (klass), mono_class_get_name (klass), mono_method_get_name (method), signature);
-               gpointer code_start = mono_jit_info_get_code_start (jinfo);
-               int code_size = mono_jit_info_get_code_size (jinfo);
-               
-               name_utf16 = g_utf8_to_utf16 (name, strlen (name), NULL, NULL, NULL);
-               
-               CAJIT_LogJITCode ((uintptr_t)code_start, code_size, (wchar_t*)name_utf16);
-               
-               g_free (signature);
-               g_free (name);
-               g_free (name_utf16);
-       }
-}
-
-void
-mono_profiler_startup (const char *desc);
-
-/* the entry point */
-void
-mono_profiler_startup (const char *desc)
-{
-       CAJIT_Initialize ();
-
-       mono_profiler_install (NULL, codeanalyst_shutdown);
-       mono_profiler_install_jit_end (method_jit_result);
-       mono_profiler_set_events (MONO_PROFILE_JIT_COMPILATION);
-}
-
-
index 50fc30913bc08a4bfbc14f0b0bd30d36c2273512..c8adbd4a7de273d73fbf145ceda9b5561b848137 100644 (file)
@@ -91,6 +91,12 @@ static int read_perf_mmap (MonoProfiler* prof, int cpu);
 #endif
 
 #define BUFFER_SIZE (4096 * 16)
+
+/* Worst-case size in bytes of a 64-bit value encoded with LEB128. */
+#define LEB128_SIZE 10
+/* Size in bytes of the event ID prefix. */
+#define EVENT_SIZE 1
+
 static int nocalls = 0;
 static int notraces = 0;
 static int use_zip = 0;
@@ -192,8 +198,8 @@ typedef struct _LogBuffer LogBuffer;
  *
  * type GC format:
  * type: TYPE_GC
- * exinfo: one of TYPE_GC_EVENT, TYPE_GC_RESIZE, TYPE_GC_MOVE, TYPE_GC_HANDLE_CREATED,
- * TYPE_GC_HANDLE_DESTROYED
+ * exinfo: one of TYPE_GC_EVENT, TYPE_GC_RESIZE, TYPE_GC_MOVE, TYPE_GC_HANDLE_CREATED[_BT],
+ * TYPE_GC_HANDLE_DESTROYED[_BT]
  * [time diff: uleb128] nanoseconds since last timing
  * if exinfo == TYPE_GC_RESIZE
  *     [heap_size: uleb128] new heap size
@@ -205,15 +211,17 @@ typedef struct _LogBuffer LogBuffer;
  *     [objaddr: sleb128]+ num_objects object pointer differences from obj_base
  *     num is always an even number: the even items are the old
  *     addresses, the odd numbers are the respective new object addresses
- * if exinfo == TYPE_GC_HANDLE_CREATED
+ * if exinfo == TYPE_GC_HANDLE_CREATED[_BT]
  *     [handle_type: uleb128] GC handle type (System.Runtime.InteropServices.GCHandleType)
  *     upper bits reserved as flags
  *     [handle: uleb128] GC handle value
  *     [objaddr: sleb128] object pointer differences from obj_base
- * if exinfo == TYPE_GC_HANDLE_DESTROYED
+ *     If exinfo == TYPE_GC_HANDLE_CREATED_BT, a backtrace follows.
+ * if exinfo == TYPE_GC_HANDLE_DESTROYED[_BT]
  *     [handle_type: uleb128] GC handle type (System.Runtime.InteropServices.GCHandleType)
  *     upper bits reserved as flags
  *     [handle: uleb128] GC handle value
+ *     If exinfo == TYPE_GC_HANDLE_DESTROYED_BT, a backtrace follows.
  *
  * type metadata format:
  * type: TYPE_METADATA
@@ -224,21 +232,23 @@ typedef struct _LogBuffer LogBuffer;
  * [pointer: sleb128] pointer of the metadata type depending on mtype
  * if mtype == TYPE_CLASS
  *     [image: sleb128] MonoImage* as a pointer difference from ptr_base
- *  [flags: uleb128] must be 0
+ *     [flags: uleb128] must be 0
  *     [name: string] full class name
  * if mtype == TYPE_IMAGE
- *  [flags: uleb128] must be 0
+ *     [flags: uleb128] must be 0
  *     [name: string] image file name
  * if mtype == TYPE_ASSEMBLY
- *  [flags: uleb128] must be 0
+ *     [flags: uleb128] must be 0
  *     [name: string] assembly name
  * if mtype == TYPE_DOMAIN
- *  [flags: uleb128] must be 0
+ *     [flags: uleb128] must be 0
  * if mtype == TYPE_DOMAIN && exinfo == 0
  *     [name: string] domain friendly name
  * if mtype == TYPE_CONTEXT
+ *     [flags: uleb128] must be 0
  *     [domain: sleb128] domain id as pointer
  * if mtype == TYPE_THREAD && (format_version < 11 || (format_version > 10 && exinfo == 0))
+ *     [flags: uleb128] must be 0
  *     [name: string] thread name
  *
  * type method format:
@@ -479,6 +489,7 @@ typedef struct _MethodInfo MethodInfo;
 struct _MethodInfo {
        MonoMethod *method;
        MonoJitInfo *ji;
+       uint64_t time;
 };
 
 #ifdef TLS_INIT
@@ -690,12 +701,19 @@ register_method_local (MonoProfiler *prof, MonoMethod *method, MonoJitInfo *ji)
                        ji = search.found;
                }
 
-               g_assert (ji);
+               /*
+                * FIXME: We can't always find JIT info for a generic shared method, especially
+                * if we obtained the MonoMethod during an async stack walk. For now, we deal
+                * with this by giving the generic shared method name and dummy code start/size
+                * information (i.e. zeroes).
+                */
+               //g_assert (ji);
 
                MethodInfo *info = malloc (sizeof (MethodInfo));
 
                info->method = method;
                info->ji = ji;
+               info->time = current_time ();
 
                g_ptr_array_add (TLS_GET (GPtrArray, tlsmethodlist), info);
        }
@@ -896,7 +914,17 @@ gc_reference (MonoObject *obj, MonoClass *klass, uintptr_t size, uintptr_t num,
        int i;
        uintptr_t last_offset = 0;
        //const char *name = mono_class_get_name (klass);
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 10 + 10 + 10 + num * (10 + 10));
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* obj */ +
+               LEB128_SIZE /* klass */ +
+               LEB128_SIZE /* size */ +
+               LEB128_SIZE /* num */ +
+               num * (
+                       LEB128_SIZE /* offset */ +
+                       LEB128_SIZE /* ref */
+               )
+       );
        emit_byte (logbuffer, TYPE_HEAP_OBJECT | TYPE_HEAP);
        emit_obj (logbuffer, obj);
        emit_ptr (logbuffer, klass);
@@ -929,7 +957,10 @@ heap_walk (MonoProfiler *profiler)
        LogBuffer *logbuffer;
        if (!do_heap_shot)
                return;
-       logbuffer = ensure_logbuf (1 + 10);
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */
+       );
        now = current_time ();
        if (hs_mode_ms && (now - last_hs_time)/1000000 >= hs_mode_ms)
                do_walk = 1;
@@ -946,7 +977,10 @@ heap_walk (MonoProfiler *profiler)
        emit_byte (logbuffer, TYPE_HEAP_START | TYPE_HEAP);
        emit_time (logbuffer, now);
        mono_gc_walk_heap (0, gc_reference, NULL);
-       logbuffer = ensure_logbuf (1 + 10);
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */
+       );
        now = current_time ();
        emit_byte (logbuffer, TYPE_HEAP_END | TYPE_HEAP);
        emit_time (logbuffer, now);
@@ -956,7 +990,12 @@ heap_walk (MonoProfiler *profiler)
 static void
 gc_event (MonoProfiler *profiler, MonoGCEvent ev, int generation) {
        uint64_t now;
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 10 + 10);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               LEB128_SIZE /* gc event */ +
+               LEB128_SIZE /* generation */
+       );
        now = current_time ();
        ENTER_LOG (logbuffer, "gcevent");
        emit_byte (logbuffer, TYPE_GC_EVENT | TYPE_GC);
@@ -980,7 +1019,11 @@ gc_event (MonoProfiler *profiler, MonoGCEvent ev, int generation) {
 static void
 gc_resize (MonoProfiler *profiler, int64_t new_size) {
        uint64_t now;
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 10);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               LEB128_SIZE /* new size */
+       );
        now = current_time ();
        ENTER_LOG (logbuffer, "gcresize");
        emit_byte (logbuffer, TYPE_GC_RESIZE | TYPE_GC);
@@ -1055,7 +1098,20 @@ gc_alloc (MonoProfiler *prof, MonoObject *obj, MonoClass *klass)
        len &= ~7;
        if (do_bt)
                collect_bt (&data);
-       logbuffer = ensure_logbuf (1 + 10 + 10 + 10 + 10 + MAX_FRAMES * (10 + 10 + 10));
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               LEB128_SIZE /* klass */ +
+               LEB128_SIZE /* obj */ +
+               LEB128_SIZE /* size */ +
+               (do_bt ? (
+                       LEB128_SIZE /* flags */ +
+                       LEB128_SIZE /* count */ +
+                       data.count * (
+                               LEB128_SIZE /* method */
+                       )
+               ) : 0)
+       );
        now = current_time ();
        ENTER_LOG (logbuffer, "gcalloc");
        emit_byte (logbuffer, do_bt | TYPE_ALLOC);
@@ -1077,7 +1133,14 @@ gc_moves (MonoProfiler *prof, void **objects, int num)
 {
        int i;
        uint64_t now;
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 10 + num * 10);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               LEB128_SIZE /* num */ +
+               num * (
+                       LEB128_SIZE /* object */
+               )
+       );
        now = current_time ();
        ENTER_LOG (logbuffer, "gcmove");
        emit_byte (logbuffer, TYPE_GC_MOVE | TYPE_GC);
@@ -1093,7 +1156,16 @@ static void
 gc_roots (MonoProfiler *prof, int num, void **objects, int *root_types, uintptr_t *extra_info)
 {
        int i;
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 10 + num * (10 + 10 + 10));
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* num */ +
+               LEB128_SIZE /* collections */ +
+               num * (
+                       LEB128_SIZE /* object */ +
+                       LEB128_SIZE /* root type */ +
+                       LEB128_SIZE /* extra info */
+               )
+       );
        ENTER_LOG (logbuffer, "gcroots");
        emit_byte (logbuffer, TYPE_HEAP_ROOT | TYPE_HEAP);
        emit_value (logbuffer, num);
@@ -1109,21 +1181,50 @@ gc_roots (MonoProfiler *prof, int num, void **objects, int *root_types, uintptr_
 static void
 gc_handle (MonoProfiler *prof, int op, int type, uintptr_t handle, MonoObject *obj)
 {
+       int do_bt = nocalls && InterlockedRead (&runtime_inited) && !notraces;
        uint64_t now;
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 10 + 10 + 10);
+       FrameData data;
+
+       if (do_bt)
+               collect_bt (&data);
+
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               LEB128_SIZE /* type */ +
+               LEB128_SIZE /* handle */ +
+               (op == MONO_PROFILER_GC_HANDLE_CREATED ? (
+                       LEB128_SIZE /* obj */
+               ) : 0) +
+               (do_bt ? (
+                       LEB128_SIZE /* flags */ +
+                       LEB128_SIZE /* count */ +
+                       data.count * (
+                               LEB128_SIZE /* method */
+                       )
+               ) : 0)
+       );
+
        now = current_time ();
        ENTER_LOG (logbuffer, "gchandle");
+
        if (op == MONO_PROFILER_GC_HANDLE_CREATED)
-               emit_byte (logbuffer, TYPE_GC_HANDLE_CREATED | TYPE_GC);
+               emit_byte (logbuffer, (do_bt ? TYPE_GC_HANDLE_CREATED_BT : TYPE_GC_HANDLE_CREATED) | TYPE_GC);
        else if (op == MONO_PROFILER_GC_HANDLE_DESTROYED)
-               emit_byte (logbuffer, TYPE_GC_HANDLE_DESTROYED | TYPE_GC);
+               emit_byte (logbuffer, (do_bt ? TYPE_GC_HANDLE_DESTROYED_BT : TYPE_GC_HANDLE_DESTROYED) | TYPE_GC);
        else
-               return;
+               g_assert_not_reached ();
+
        emit_time (logbuffer, now);
        emit_value (logbuffer, type);
        emit_value (logbuffer, handle);
+
        if (op == MONO_PROFILER_GC_HANDLE_CREATED)
                emit_obj (logbuffer, obj);
+
+       if (do_bt)
+               emit_bt (prof, logbuffer, &data);
+
        EXIT_LOG (logbuffer);
        process_requests (prof);
 }
@@ -1175,7 +1276,14 @@ image_loaded (MonoProfiler *prof, MonoImage *image, int result)
                return;
        name = mono_image_get_filename (image);
        nlen = strlen (name) + 1;
-       logbuffer = ensure_logbuf (1 + 10 + 1 + 10 + 10 + nlen);
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               EVENT_SIZE /* type */ +
+               LEB128_SIZE /* image */ +
+               LEB128_SIZE /* flags */ +
+               nlen /* name */
+       );
        now = current_time ();
        ENTER_LOG (logbuffer, "image");
        emit_byte (logbuffer, TYPE_END_LOAD | TYPE_METADATA);
@@ -1197,7 +1305,14 @@ image_unloaded (MonoProfiler *prof, MonoImage *image)
 {
        const char *name = mono_image_get_filename (image);
        int nlen = strlen (name) + 1;
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 1 + 10 + 10 + nlen);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               EVENT_SIZE /* type */ +
+               LEB128_SIZE /* image */ +
+               LEB128_SIZE /* flags */ +
+               nlen /* name */
+       );
        uint64_t now = current_time ();
 
        ENTER_LOG (logbuffer, "image-unload");
@@ -1224,7 +1339,14 @@ assembly_loaded (MonoProfiler *prof, MonoAssembly *assembly, int result)
 
        char *name = mono_stringify_assembly_name (mono_assembly_get_name (assembly));
        int nlen = strlen (name) + 1;
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 1 + 10 + 10 + nlen);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               EVENT_SIZE /* type */ +
+               LEB128_SIZE /* assembly */ +
+               LEB128_SIZE /* flags */ +
+               nlen /* name */
+       );
        uint64_t now = current_time ();
 
        ENTER_LOG (logbuffer, "assembly-load");
@@ -1250,7 +1372,14 @@ assembly_unloaded (MonoProfiler *prof, MonoAssembly *assembly)
 {
        char *name = mono_stringify_assembly_name (mono_assembly_get_name (assembly));
        int nlen = strlen (name) + 1;
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 1 + 10 + 10 + nlen);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               EVENT_SIZE /* type */ +
+               LEB128_SIZE /* assembly */ +
+               LEB128_SIZE /* flags */ +
+               nlen /* name */
+       );
        uint64_t now = current_time ();
 
        ENTER_LOG (logbuffer, "assembly-unload");
@@ -1287,7 +1416,15 @@ class_loaded (MonoProfiler *prof, MonoClass *klass, int result)
                name = type_name (klass);
        nlen = strlen (name) + 1;
        image = mono_class_get_image (klass);
-       logbuffer = ensure_logbuf (1 + 10 + 1 + 10 + 10 + 10 + nlen);
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               EVENT_SIZE /* type */ +
+               LEB128_SIZE /* klass */ +
+               LEB128_SIZE /* image */ +
+               LEB128_SIZE /* flags */ +
+               nlen /* name */
+       );
        now = current_time ();
        ENTER_LOG (logbuffer, "class");
        emit_byte (logbuffer, TYPE_END_LOAD | TYPE_METADATA);
@@ -1321,7 +1458,15 @@ class_unloaded (MonoProfiler *prof, MonoClass *klass)
 
        int nlen = strlen (name) + 1;
        MonoImage *image = mono_class_get_image (klass);
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 1 + 10 + 10 + 10 + nlen);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               EVENT_SIZE /* type */ +
+               LEB128_SIZE /* klass */ +
+               LEB128_SIZE /* image */ +
+               LEB128_SIZE /* flags */ +
+               nlen /* name */
+       );
        uint64_t now = current_time ();
 
        ENTER_LOG (logbuffer, "class-unload");
@@ -1359,7 +1504,11 @@ method_enter (MonoProfiler *prof, MonoMethod *method)
        process_method_enter_coverage (prof, method);
 #endif /* DISABLE_HELPER_THREAD */
 
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 10);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               LEB128_SIZE /* method */
+       );
        if (logbuffer->call_depth++ > max_call_depth)
                return;
        ENTER_LOG (logbuffer, "enter");
@@ -1375,7 +1524,11 @@ static void
 method_leave (MonoProfiler *prof, MonoMethod *method)
 {
        uint64_t now;
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 10);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               LEB128_SIZE /* method */
+       );
        if (--logbuffer->call_depth > max_call_depth)
                return;
        now = current_time ();
@@ -1396,7 +1549,11 @@ method_exc_leave (MonoProfiler *prof, MonoMethod *method)
        LogBuffer *logbuffer;
        if (nocalls)
                return;
-       logbuffer = ensure_logbuf (1 + 10 + 10);
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               LEB128_SIZE /* method */
+       );
        if (--logbuffer->call_depth > max_call_depth)
                return;
        now = current_time ();
@@ -1433,7 +1590,16 @@ code_buffer_new (MonoProfiler *prof, void *buffer, int size, MonoProfilerCodeBuf
                name = NULL;
                nlen = 0;
        }
-       logbuffer = ensure_logbuf (1 + 10 + 10 + 10 + 10 + nlen);
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               LEB128_SIZE /* type */ +
+               LEB128_SIZE /* buffer */ +
+               LEB128_SIZE /* size */ +
+               (name ? (
+                       nlen /* name */
+               ) : 0)
+       );
        now = current_time ();
        ENTER_LOG (logbuffer, "code buffer");
        emit_byte (logbuffer, TYPE_JITHELPER | TYPE_RUNTIME);
@@ -1458,7 +1624,18 @@ throw_exc (MonoProfiler *prof, MonoObject *object)
        LogBuffer *logbuffer;
        if (do_bt)
                collect_bt (&data);
-       logbuffer = ensure_logbuf (1 + 10 + 10 + MAX_FRAMES * (10 + 10 + 10));
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               LEB128_SIZE /* object */ +
+               (do_bt ? (
+                       LEB128_SIZE /* flags */ +
+                       LEB128_SIZE /* count */ +
+                       data.count * (
+                               LEB128_SIZE /* method */
+                       )
+               ) : 0)
+       );
        now = current_time ();
        ENTER_LOG (logbuffer, "throw");
        emit_byte (logbuffer, do_bt | TYPE_EXCEPTION);
@@ -1474,7 +1651,13 @@ static void
 clause_exc (MonoProfiler *prof, MonoMethod *method, int clause_type, int clause_num)
 {
        uint64_t now;
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 10 + 10 + 10);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               LEB128_SIZE /* clause type */ +
+               LEB128_SIZE /* clause num */ +
+               LEB128_SIZE /* method */
+       );
        now = current_time ();
        ENTER_LOG (logbuffer, "clause");
        emit_byte (logbuffer, TYPE_EXCEPTION | TYPE_CLAUSE);
@@ -1496,7 +1679,18 @@ monitor_event (MonoProfiler *profiler, MonoObject *object, MonoProfilerMonitorEv
        LogBuffer *logbuffer;
        if (do_bt)
                collect_bt (&data);
-       logbuffer = ensure_logbuf (1 + 10 + 10 + MAX_FRAMES * (10 + 10 + 10));
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               LEB128_SIZE /* object */ +
+               (do_bt ? (
+                       LEB128_SIZE /* flags */ +
+                       LEB128_SIZE /* count */ +
+                       data.count * (
+                               LEB128_SIZE /* method */
+                       )
+               ) : 0)
+       );
        now = current_time ();
        ENTER_LOG (logbuffer, "monitor");
        emit_byte (logbuffer, (event << 4) | do_bt | TYPE_MONITOR);
@@ -1514,7 +1708,13 @@ thread_start (MonoProfiler *prof, uintptr_t tid)
        //printf ("thread start %p\n", (void*)tid);
        init_thread ();
 
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 1 + 10 + 10);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               EVENT_SIZE /* type */ +
+               LEB128_SIZE /* tid */ +
+               LEB128_SIZE /* flags */
+       );
        uint64_t now = current_time ();
 
        ENTER_LOG (logbuffer, "thread-start");
@@ -1535,7 +1735,13 @@ static void
 thread_end (MonoProfiler *prof, uintptr_t tid)
 {
        if (TLS_GET (LogBuffer, tlsbuffer)) {
-               LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 1 + 10 + 10);
+               LogBuffer *logbuffer = ensure_logbuf (
+                       EVENT_SIZE /* event */ +
+                       LEB128_SIZE /* time */ +
+                       EVENT_SIZE /* type */ +
+                       LEB128_SIZE /* tid */ +
+                       LEB128_SIZE /* flags */
+               );
                uint64_t now = current_time ();
 
                ENTER_LOG (logbuffer, "thread-end");
@@ -1561,7 +1767,13 @@ domain_loaded (MonoProfiler *prof, MonoDomain *domain, int result)
        if (result != MONO_PROFILE_OK)
                return;
 
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 1 + 10 + 10);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               EVENT_SIZE /* type */ +
+               LEB128_SIZE /* domain id */ +
+               LEB128_SIZE /* flags */
+       );
        uint64_t now = current_time ();
 
        ENTER_LOG (logbuffer, "domain-start");
@@ -1581,7 +1793,13 @@ domain_loaded (MonoProfiler *prof, MonoDomain *domain, int result)
 static void
 domain_unloaded (MonoProfiler *prof, MonoDomain *domain)
 {
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 1 + 10 + 10);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               EVENT_SIZE /* type */ +
+               LEB128_SIZE /* domain id */ +
+               LEB128_SIZE /* flags */
+       );
        uint64_t now = current_time ();
 
        ENTER_LOG (logbuffer, "domain-end");
@@ -1602,7 +1820,14 @@ static void
 domain_name (MonoProfiler *prof, MonoDomain *domain, const char *name)
 {
        int nlen = strlen (name) + 1;
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 1 + 10 + 10 + nlen);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               EVENT_SIZE /* type */ +
+               LEB128_SIZE /* domain id */ +
+               LEB128_SIZE /* flags */ +
+               nlen /* name */
+       );
        uint64_t now = current_time ();
 
        ENTER_LOG (logbuffer, "domain-name");
@@ -1624,7 +1849,14 @@ domain_name (MonoProfiler *prof, MonoDomain *domain, const char *name)
 static void
 context_loaded (MonoProfiler *prof, MonoAppContext *context)
 {
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 1 + 10 + 10 + 10);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               EVENT_SIZE /* type */ +
+               LEB128_SIZE /* context id */ +
+               LEB128_SIZE /* flags */ +
+               LEB128_SIZE /* domain id */
+       );
        uint64_t now = current_time ();
 
        ENTER_LOG (logbuffer, "context-start");
@@ -1645,7 +1877,14 @@ context_loaded (MonoProfiler *prof, MonoAppContext *context)
 static void
 context_unloaded (MonoProfiler *prof, MonoAppContext *context)
 {
-       LogBuffer *logbuffer = ensure_logbuf (1 + 10 + 1 + 10 + 10 + 10);
+       LogBuffer *logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               EVENT_SIZE /* type */ +
+               LEB128_SIZE /* context id */ +
+               LEB128_SIZE /* flags */ +
+               LEB128_SIZE /* domain id */
+       );
        uint64_t now = current_time ();
 
        ENTER_LOG (logbuffer, "context-end");
@@ -1669,7 +1908,14 @@ thread_name (MonoProfiler *prof, uintptr_t tid, const char *name)
        int len = strlen (name) + 1;
        uint64_t now;
        LogBuffer *logbuffer;
-       logbuffer = ensure_logbuf (1 + 10 + 1 + 10 + 10 + len);
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               EVENT_SIZE /* type */ +
+               LEB128_SIZE /* tid */ +
+               LEB128_SIZE /* flags */ +
+               len /* name */
+       );
        now = current_time ();
        ENTER_LOG (logbuffer, "tname");
        emit_byte (logbuffer, TYPE_METADATA);
@@ -1855,7 +2101,14 @@ dump_ubin (const char *filename, uintptr_t load_addr, uint64_t offset, uintptr_t
        int len;
        len = strlen (filename) + 1;
        now = current_time ();
-       logbuffer = ensure_logbuf (1 + 10 + 10 + 10 + 10 + len);
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */ +
+               LEB128_SIZE /* load address */ +
+               LEB128_SIZE /* offset */ +
+               LEB128_SIZE /* size */ +
+               nlen /* file name */
+       );
        emit_byte (logbuffer, TYPE_SAMPLE | TYPE_SAMPLE_UBIN);
        emit_time (logbuffer, now);
        emit_svalue (logbuffer, load_addr);
@@ -1872,7 +2125,12 @@ dump_usym (const char *name, uintptr_t value, uintptr_t size)
        LogBuffer *logbuffer;
        int len;
        len = strlen (name) + 1;
-       logbuffer = ensure_logbuf (1 + 10 + 10 + len);
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* value */ +
+               LEB128_SIZE /* size */ +
+               len /* name */
+       );
        emit_byte (logbuffer, TYPE_SAMPLE | TYPE_SAMPLE_USYM);
        emit_ptr (logbuffer, (void*)value);
        emit_value (logbuffer, size);
@@ -2176,7 +2434,22 @@ dump_sample_hits (MonoProfiler *prof, StatBuffer *sbuf)
                        }
                }
 
-               logbuffer = ensure_logbuf (1 + 10 + 10 + 10 + 10 + 10 + 10 + mbt_count * (10 + 10 + 10));
+               logbuffer = ensure_logbuf (
+                       EVENT_SIZE /* event */ +
+                       LEB128_SIZE /* type */ +
+                       LEB128_SIZE /* time */ +
+                       LEB128_SIZE /* tid */ +
+                       LEB128_SIZE /* count */ +
+                       count * (
+                               LEB128_SIZE /* ip */
+                       ) +
+                       LEB128_SIZE /* managed count */ +
+                       mbt_count * (
+                               LEB128_SIZE /* method */ +
+                               LEB128_SIZE /* il offset */ +
+                               LEB128_SIZE /* native offset */
+                       )
+               );
                emit_byte (logbuffer, TYPE_SAMPLE | TYPE_SAMPLE_HIT);
                emit_value (logbuffer, type);
                emit_uvalue (logbuffer, prof->startup_time + (uint64_t)sample [2] * (uint64_t)10000);
@@ -2312,6 +2585,8 @@ static void
 dump_perf_hits (MonoProfiler *prof, void *buf, int size)
 {
        LogBuffer *logbuffer;
+       int count = 1;
+       int mbt_count = 0;
        void *end = (char*)buf + size;
        int samples = 0;
        int pid = getpid ();
@@ -2329,7 +2604,22 @@ dump_perf_hits (MonoProfiler *prof, void *buf, int size)
                /*ip = (void*)s->ip;
                printf ("sample: %d, size: %d, ip: %p (%s), timestamp: %llu, nframes: %llu\n",
                        s->h.type, s->h.size, ip, symbol_for (ip), s->timestamp, s->nframes);*/
-               logbuffer = ensure_logbuf (1 + 10 + 10 + 10 + 10 + 10);
+               logbuffer = ensure_logbuf (
+                       EVENT_SIZE /* event */ +
+                       LEB128_SIZE /* type */ +
+                       LEB128_SIZE /* time */ +
+                       LEB128_SIZE /* tid */ +
+                       LEB128_SIZE /* count */ +
+                       count * (
+                               LEB128_SIZE /* ip */
+                       ) +
+                       LEB128_SIZE /* managed count */ +
+                       mbt_count * (
+                               LEB128_SIZE /* method */ +
+                               LEB128_SIZE /* il offset */ +
+                               LEB128_SIZE /* native offset */
+                       )
+               );
                emit_byte (logbuffer, TYPE_SAMPLE | TYPE_SAMPLE_HIT);
                emit_value (logbuffer, sample_type);
                emit_uvalue (logbuffer, s->timestamp - prof->startup_time);
@@ -2339,11 +2629,11 @@ dump_perf_hits (MonoProfiler *prof, void *buf, int size)
                 * perf is the kernel's thread ID.
                 */
                emit_ptr (logbuffer, 0);
-               emit_value (logbuffer, 1); /* count */
+               emit_value (logbuffer, count);
                emit_ptr (logbuffer, (void*)(uintptr_t)s->ip);
-               /* no support here yet for the managed backtrace */
-               emit_uvalue (logbuffer, 0);
                add_code_pointer (s->ip);
+               /* no support here yet for the managed backtrace */
+               emit_uvalue (logbuffer, mbt_count);
                buf = (char*)buf + s->h.size;
                samples++;
        }
@@ -2539,7 +2829,11 @@ counters_emit (MonoProfiler *profiler)
 {
        MonoCounterAgent *agent;
        LogBuffer *logbuffer;
-       int size = 1 + 10, len = 0;
+       int len = 0;
+       int size =
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* len */
+       ;
 
        if (!counters_initialized)
                return;
@@ -2550,7 +2844,15 @@ counters_emit (MonoProfiler *profiler)
                if (agent->emitted)
                        continue;
 
-               size += 10 + strlen (mono_counter_get_name (agent->counter)) + 1 + 10 + 10 + 10 + 10;
+               size +=
+                       LEB128_SIZE /* section */ +
+                       strlen (mono_counter_get_name (agent->counter)) + 1 /* name */ +
+                       LEB128_SIZE /* type */ +
+                       LEB128_SIZE /* unit */ +
+                       LEB128_SIZE /* variance */ +
+                       LEB128_SIZE /* index */
+               ;
+
                len += 1;
        }
 
@@ -2608,10 +2910,22 @@ counters_sample (MonoProfiler *profiler, uint64_t timestamp)
 
        mono_mutex_lock (&counters_mutex);
 
-       size = 1 + 10;
-       for (agent = counters; agent; agent = agent->next)
-               size += 10 + 10 + mono_counter_get_size (agent->counter);
-       size += 10;
+       size =
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */
+       ;
+
+       for (agent = counters; agent; agent = agent->next) {
+               size +=
+                       LEB128_SIZE /* index */ +
+                       LEB128_SIZE /* type */ +
+                       mono_counter_get_size (agent->counter) /* value */
+               ;
+       }
+
+       size +=
+               LEB128_SIZE /* stop marker */
+       ;
 
        logbuffer = ensure_logbuf (size);
 
@@ -2726,13 +3040,26 @@ perfcounters_emit (MonoProfiler *profiler)
 {
        PerfCounterAgent *pcagent;
        LogBuffer *logbuffer;
-       int size = 1 + 10, len = 0;
+       int len = 0;
+       int size =
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* len */
+       ;
 
        for (pcagent = perfcounters; pcagent; pcagent = pcagent->next) {
                if (pcagent->emitted)
                        continue;
 
-               size += 10 + strlen (pcagent->category_name) + 1 + strlen (pcagent->name) + 1 + 10 + 10 + 10 + 10;
+               size +=
+                       LEB128_SIZE /* section */ +
+                       strlen (pcagent->category_name) + 1 /* category name */ +
+                       strlen (pcagent->name) + 1 /* name */ +
+                       LEB128_SIZE /* type */ +
+                       LEB128_SIZE /* unit */ +
+                       LEB128_SIZE /* variance */ +
+                       LEB128_SIZE /* index */
+               ;
+
                len += 1;
        }
 
@@ -2816,14 +3143,25 @@ perfcounters_sample (MonoProfiler *profiler, uint64_t timestamp)
 
        perfcounters_emit (profiler);
 
+       size =
+               EVENT_SIZE /* event */ +
+               LEB128_SIZE /* time */
+       ;
 
-       size = 1 + 10;
        for (pcagent = perfcounters; pcagent; pcagent = pcagent->next) {
                if (pcagent->deleted || !pcagent->updated)
                        continue;
-               size += 10 + 10 + 10;
+
+               size +=
+                       LEB128_SIZE /* index */ +
+                       LEB128_SIZE /* type */ +
+                       LEB128_SIZE /* value */
+               ;
        }
-       size += 10;
+
+       size +=
+               LEB128_SIZE /* stop marker */
+       ;
 
        logbuffer = ensure_logbuf (size);
 
@@ -2863,20 +3201,15 @@ counters_and_perfcounters_sample (MonoProfiler *prof)
 }
 
 #define COVERAGE_DEBUG(x) if (debug_coverage) {x}
+static mono_mutex_t coverage_mutex;
 static MonoConcurrentHashTable *coverage_methods = NULL;
-static mono_mutex_t coverage_methods_mutex;
 static MonoConcurrentHashTable *coverage_assemblies = NULL;
-static mono_mutex_t coverage_assemblies_mutex;
 static MonoConcurrentHashTable *coverage_classes = NULL;
-static mono_mutex_t coverage_classes_mutex;
+
 static MonoConcurrentHashTable *filtered_classes = NULL;
-static mono_mutex_t filtered_classes_mutex;
 static MonoConcurrentHashTable *entered_methods = NULL;
-static mono_mutex_t entered_methods_mutex;
 static MonoConcurrentHashTable *image_to_methods = NULL;
-static mono_mutex_t image_to_methods_mutex;
 static MonoConcurrentHashTable *suppressed_assemblies = NULL;
-static mono_mutex_t suppressed_assemblies_mutex;
 static gboolean coverage_initialized = FALSE;
 
 static GPtrArray *coverage_data = NULL;
@@ -2980,7 +3313,6 @@ build_method_buffer (gpointer key, gpointer value, gpointer userdata)
        char *class_name;
        const char *image_name, *method_name, *sig, *first_filename;
        LogBuffer *logbuffer;
-       int size;
        guint i;
 
        previous_offset = 0;
@@ -3006,17 +3338,17 @@ build_method_buffer (gpointer key, gpointer value, gpointer userdata)
        sig = sig ? sig : "";
        method_name = method_name ? method_name : "";
 
-       size = 1;
-
-       size += strlen (image_name) + 1;
-       size += strlen (class_name) + 1;
-       size += strlen (method_name) + 1;
-       size += strlen (sig) + 1;
-       size += strlen (first_filename) + 1;
-
-       size += 10 + 10 + 10; /* token + method_id + n_entries*/
-
-       logbuffer = ensure_logbuf (size);
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               strlen (image_name) + 1 /* image name */ +
+               strlen (class_name) + 1 /* class name */ +
+               strlen (method_name) + 1 /* method name */ +
+               strlen (sig) + 1 /* signature */ +
+               strlen (first_filename) + 1 /* first file name */ +
+               LEB128_SIZE /* token */ +
+               LEB128_SIZE /* method id */ +
+               LEB128_SIZE /* entries */
+       );
        ENTER_LOG (logbuffer, "coverage-methods");
 
        emit_byte (logbuffer, TYPE_COVERAGE_METHOD | TYPE_COVERAGE);
@@ -3036,7 +3368,14 @@ build_method_buffer (gpointer key, gpointer value, gpointer userdata)
        for (i = 0; i < coverage_data->len; i++) {
                CoverageEntry *entry = coverage_data->pdata[i];
 
-               logbuffer = ensure_logbuf (1 + 10 + 10 + 10 + 10 + 10);
+               logbuffer = ensure_logbuf (
+                       EVENT_SIZE /* event */ +
+                       LEB128_SIZE /* method id */ +
+                       LEB128_SIZE /* offset */ +
+                       LEB128_SIZE /* counter */ +
+                       LEB128_SIZE /* line */ +
+                       LEB128_SIZE /* column */
+               );
                ENTER_LOG (logbuffer, "coverage-statement");
 
                emit_byte (logbuffer, TYPE_COVERAGE_STATEMENT | TYPE_COVERAGE);
@@ -3086,7 +3425,6 @@ build_class_buffer (gpointer key, gpointer value, gpointer userdata)
        int number_of_methods, partially_covered;
        guint fully_covered;
        LogBuffer *logbuffer;
-       int size;
 
        image = mono_class_get_image (klass);
        assembly_name = mono_image_get_name (image);
@@ -3098,13 +3436,14 @@ build_class_buffer (gpointer key, gpointer value, gpointer userdata)
        /* We don't handle partial covered yet */
        partially_covered = 0;
 
-       size = 1;
-
-       size += strlen (assembly_name) + 1;
-       size += strlen (class_name) + 1;
-       size += 10 + 10 + 10; /* number_of_methods, fully_covered, partially_covered */
-
-       logbuffer = ensure_logbuf (size);
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               strlen (assembly_name) + 1 /* assembly name */ +
+               strlen (class_name) + 1 /* class name */ +
+               LEB128_SIZE /* no. methods */ +
+               LEB128_SIZE /* fully covered */ +
+               LEB128_SIZE /* partially covered */
+       );
 
        ENTER_LOG (logbuffer, "coverage-class");
        emit_byte (logbuffer, TYPE_COVERAGE_CLASS | TYPE_COVERAGE);
@@ -3143,7 +3482,6 @@ build_assembly_buffer (gpointer key, gpointer value, gpointer userdata)
        MonoImage *image = mono_assembly_get_image (assembly);
        LogBuffer *logbuffer;
        const char *name, *guid, *filename;
-       int size;
        int number_of_methods = 0, partially_covered = 0;
        guint fully_covered = 0;
 
@@ -3157,13 +3495,15 @@ build_assembly_buffer (gpointer key, gpointer value, gpointer userdata)
 
        get_coverage_for_image (image, &number_of_methods, &fully_covered, &partially_covered);
 
-       size = 1;
-
-       size += strlen (name) + 1;
-       size += strlen (guid) + 1;
-       size += strlen (filename) + 1;
-       size += 10 + 10 + 10; /* number_of_methods, fully_covered, partially_covered */
-       logbuffer = ensure_logbuf (size);
+       logbuffer = ensure_logbuf (
+               EVENT_SIZE /* event */ +
+               strlen (name) + 1 /* name */ +
+               strlen (guid) + 1 /* guid */ +
+               strlen (filename) + 1 /* file name */ +
+               LEB128_SIZE /* no. methods */ +
+               LEB128_SIZE /* fully covered */ +
+               LEB128_SIZE /* partially covered */
+       );
 
        ENTER_LOG (logbuffer, "coverage-assemblies");
        emit_byte (logbuffer, TYPE_COVERAGE_ASSEMBLY | TYPE_COVERAGE);
@@ -3187,9 +3527,11 @@ dump_coverage (MonoProfiler *prof)
        COVERAGE_DEBUG(fprintf (stderr, "Coverage: Started dump\n");)
        method_id = 0;
 
+       mono_mutex_lock (&coverage_mutex);
        mono_conc_hashtable_foreach (coverage_assemblies, build_assembly_buffer, prof);
        mono_conc_hashtable_foreach (coverage_classes, build_class_buffer, prof);
        mono_conc_hashtable_foreach (coverage_methods, build_method_buffer, prof);
+       mono_mutex_unlock (&coverage_mutex);
 
        COVERAGE_DEBUG(fprintf (stderr, "Coverage: Finished dump\n");)
 }
@@ -3209,7 +3551,9 @@ process_method_enter_coverage (MonoProfiler *prof, MonoMethod *method)
        if (mono_conc_hashtable_lookup (suppressed_assemblies, (gpointer) mono_image_get_name (image)))
                return;
 
+       mono_mutex_lock (&coverage_mutex);
        mono_conc_hashtable_insert (entered_methods, method, method);
+       mono_mutex_unlock (&coverage_mutex);
 }
 
 static MonoLockFreeQueueNode *
@@ -3296,7 +3640,9 @@ coverage_filter (MonoProfiler *prof, MonoMethod *method)
                if (has_positive && !found) {
                        COVERAGE_DEBUG(fprintf (stderr, "   Positive match was not found\n");)
 
+                       mono_mutex_lock (&coverage_mutex);
                        mono_conc_hashtable_insert (filtered_classes, klass, klass);
+                       mono_mutex_unlock (&coverage_mutex);
                        g_free (fqn);
                        g_free (classname);
 
@@ -3316,7 +3662,9 @@ coverage_filter (MonoProfiler *prof, MonoMethod *method)
                        if (strstr (fqn, filter) != NULL) {
                                COVERAGE_DEBUG(fprintf (stderr, "matched\n");)
 
+                               mono_mutex_lock (&coverage_mutex);
                                mono_conc_hashtable_insert (filtered_classes, klass, klass);
+                               mono_mutex_unlock (&coverage_mutex);
                                g_free (fqn);
                                g_free (classname);
 
@@ -3337,15 +3685,19 @@ coverage_filter (MonoProfiler *prof, MonoMethod *method)
 
        assembly = mono_image_get_assembly (image);
 
+       mono_mutex_lock (&coverage_mutex);
        mono_conc_hashtable_insert (coverage_methods, method, method);
        mono_conc_hashtable_insert (coverage_assemblies, assembly, assembly);
+       mono_mutex_unlock (&coverage_mutex);
 
        image_methods = mono_conc_hashtable_lookup (image_to_methods, image);
 
        if (image_methods == NULL) {
                image_methods = g_malloc (sizeof (MonoLockFreeQueue));
                mono_lock_free_queue_init (image_methods);
+               mono_mutex_lock (&coverage_mutex);
                mono_conc_hashtable_insert (image_to_methods, image, image_methods);
+               mono_mutex_unlock (&coverage_mutex);
        }
 
        node = create_method_node (method);
@@ -3356,7 +3708,9 @@ coverage_filter (MonoProfiler *prof, MonoMethod *method)
        if (class_methods == NULL) {
                class_methods = g_malloc (sizeof (MonoLockFreeQueue));
                mono_lock_free_queue_init (class_methods);
+               mono_mutex_lock (&coverage_mutex);
                mono_conc_hashtable_insert (coverage_classes, klass, class_methods);
+               mono_mutex_unlock (&coverage_mutex);
        }
 
        node = create_method_node (method);
@@ -3429,8 +3783,7 @@ init_suppressed_assemblies (void)
        char *line;
        FILE *sa_file;
 
-       mono_mutex_init (&suppressed_assemblies_mutex);
-       suppressed_assemblies = mono_conc_hashtable_new (&suppressed_assemblies_mutex, g_str_hash, g_str_equal);
+       suppressed_assemblies = mono_conc_hashtable_new (g_str_hash, g_str_equal);
        sa_file = fopen (SUPPRESSION_DIR "/mono-profiler-log.suppression", "r");
        if (sa_file == NULL)
                return;
@@ -3443,26 +3796,13 @@ init_suppressed_assemblies (void)
 
        while ((line = get_next_line (content, &content))) {
                line = g_strchomp (g_strchug (line));
+               /* No locking needed as we're doing initialization */
                mono_conc_hashtable_insert (suppressed_assemblies, line, line);
        }
 
        fclose (sa_file);
 }
 
-static MonoConcurrentHashTable *
-init_hashtable (mono_mutex_t *mutex)
-{
-       mono_mutex_init (mutex);
-       return mono_conc_hashtable_new (mutex, NULL, NULL);
-}
-
-static void
-destroy_hashtable (MonoConcurrentHashTable *hashtable, mono_mutex_t *mutex)
-{
-       mono_conc_hashtable_destroy (hashtable);
-       mono_mutex_destroy (mutex);
-}
-
 #endif /* DISABLE_HELPER_THREAD */
 
 static void
@@ -3473,12 +3813,13 @@ coverage_init (MonoProfiler *prof)
 
        COVERAGE_DEBUG(fprintf (stderr, "Coverage initialized\n");)
 
-       coverage_methods = init_hashtable (&coverage_methods_mutex);
-       coverage_assemblies = init_hashtable (&coverage_assemblies_mutex);
-       coverage_classes = init_hashtable (&coverage_classes_mutex);
-       filtered_classes = init_hashtable (&filtered_classes_mutex);
-       entered_methods = init_hashtable (&entered_methods_mutex);
-       image_to_methods = init_hashtable (&image_to_methods_mutex);
+       mono_mutex_init (&coverage_mutex);
+       coverage_methods = mono_conc_hashtable_new (NULL, NULL);
+       coverage_assemblies = mono_conc_hashtable_new (NULL, NULL);
+       coverage_classes = mono_conc_hashtable_new (NULL, NULL);
+       filtered_classes = mono_conc_hashtable_new (NULL, NULL);
+       entered_methods = mono_conc_hashtable_new (NULL, NULL);
+       image_to_methods = mono_conc_hashtable_new (NULL, NULL);
        init_suppressed_assemblies ();
 
        coverage_initialized = TRUE;
@@ -3530,16 +3871,19 @@ log_shutdown (MonoProfiler *prof)
        else
                fclose (prof->file);
 
-       destroy_hashtable (prof->method_table, &prof->method_table_mutex);
+       mono_conc_hashtable_destroy (prof->method_table);
+       mono_mutex_destroy (&prof->method_table_mutex);
 
        if (coverage_initialized) {
-               destroy_hashtable (coverage_methods, &coverage_methods_mutex);
-               destroy_hashtable (coverage_assemblies, &coverage_assemblies_mutex);
-               destroy_hashtable (coverage_classes, &coverage_classes_mutex);
-               destroy_hashtable (filtered_classes, &filtered_classes_mutex);
-               destroy_hashtable (entered_methods, &entered_methods_mutex);
-               destroy_hashtable (image_to_methods, &image_to_methods_mutex);
-               destroy_hashtable (suppressed_assemblies, &suppressed_assemblies_mutex);
+               mono_conc_hashtable_destroy (coverage_methods);
+               mono_conc_hashtable_destroy (coverage_assemblies);
+               mono_conc_hashtable_destroy (coverage_classes);
+               mono_conc_hashtable_destroy (filtered_classes);
+
+               mono_conc_hashtable_destroy (entered_methods);
+               mono_conc_hashtable_destroy (image_to_methods);
+               mono_conc_hashtable_destroy (suppressed_assemblies);
+               mono_mutex_destroy (&coverage_mutex);
        }
 
        free (prof);
@@ -3837,19 +4181,29 @@ writer_thread (void *arg)
                                 * method lists will just be empty for the rest of the
                                 * app's lifetime.
                                 */
+                               mono_mutex_lock (&prof->method_table_mutex);
                                mono_conc_hashtable_insert (prof->method_table, info->method, info->method);
+                               mono_mutex_unlock (&prof->method_table_mutex);
 
                                char *name = mono_method_full_name (info->method, 1);
                                int nlen = strlen (name) + 1;
-                               uint64_t now = current_time ();
-
-                               method_buffer = ensure_logbuf_inner (method_buffer, 1 + 10 + 10 + 10 + 10 + nlen);
+                               void *cstart = info->ji ? mono_jit_info_get_code_start (info->ji) : NULL;
+                               int csize = info->ji ? mono_jit_info_get_code_size (info->ji) : 0;
+
+                               method_buffer = ensure_logbuf_inner (method_buffer,
+                                       EVENT_SIZE /* event */ +
+                                       LEB128_SIZE /* time */ +
+                                       LEB128_SIZE /* method */ +
+                                       LEB128_SIZE /* start */ +
+                                       LEB128_SIZE /* size */ +
+                                       nlen /* name */
+                               );
 
                                emit_byte (method_buffer, TYPE_JIT | TYPE_METHOD);
-                               emit_time (method_buffer, now);
+                               emit_time (method_buffer, info->time);
                                emit_method_inner (method_buffer, info->method);
-                               emit_ptr (method_buffer, mono_jit_info_get_code_start (info->ji));
-                               emit_value (method_buffer, mono_jit_info_get_code_size (info->ji));
+                               emit_ptr (method_buffer, cstart);
+                               emit_value (method_buffer, csize);
 
                                memcpy (method_buffer->data, name, nlen);
                                method_buffer->data += nlen;
@@ -3980,7 +4334,7 @@ create_profiler (const char *filename, GPtrArray *filters)
 
        mono_lock_free_queue_init (&prof->writer_queue);
        mono_mutex_init (&prof->method_table_mutex);
-       prof->method_table = mono_conc_hashtable_new (&prof->method_table_mutex, NULL, NULL);
+       prof->method_table = mono_conc_hashtable_new (NULL, NULL);
 
        if (do_coverage)
                coverage_init (prof);
index a2c0fb25f17cef9802401ac28e635aca0780b642..f1c8af5bf8b3c384ae5e800d1da53535b22683bb 100644 (file)
@@ -24,6 +24,8 @@
                    load/unload for contexts
                    load/unload/name for assemblies
                removed TYPE_LOAD_ERR flag (profiler never generated it, now removed from the format itself)
+               added TYPE_GC_HANDLE_{CREATED,DESTROYED}_BT
+               TYPE_JIT events are no longer guaranteed to have code start/size info (can be zero)
  */
 
 enum {
@@ -56,8 +58,10 @@ enum {
        TYPE_GC_EVENT  = 1 << 4,
        TYPE_GC_RESIZE = 2 << 4,
        TYPE_GC_MOVE   = 3 << 4,
-       TYPE_GC_HANDLE_CREATED   = 4 << 4,
-       TYPE_GC_HANDLE_DESTROYED = 5 << 4,
+       TYPE_GC_HANDLE_CREATED      = 4 << 4,
+       TYPE_GC_HANDLE_DESTROYED    = 5 << 4,
+       TYPE_GC_HANDLE_CREATED_BT   = 6 << 4,
+       TYPE_GC_HANDLE_DESTROYED_BT = 7 << 4,
        /* extended type for TYPE_METHOD */
        TYPE_LEAVE     = 1 << 4,
        TYPE_ENTER     = 2 << 4,
@@ -68,9 +72,11 @@ enum {
        TYPE_CLAUSE       = 1 << 4,
        TYPE_EXCEPTION_BT = 1 << 7,
        /* extended type for TYPE_ALLOC */
-       TYPE_ALLOC_BT  = 1 << 4,
+       TYPE_ALLOC_NO_BT  = 0 << 4,
+       TYPE_ALLOC_BT     = 1 << 4,
        /* extended type for TYPE_MONITOR */
-       TYPE_MONITOR_BT  = 1 << 7,
+       TYPE_MONITOR_NO_BT  = 0 << 7,
+       TYPE_MONITOR_BT     = 1 << 7,
        /* extended type for TYPE_SAMPLE */
        TYPE_SAMPLE_HIT           = 0 << 4,
        TYPE_SAMPLE_USYM          = 1 << 4,
index e3c62b5d4adda093f111c08ccd243dac3e4fd109..42946608efb263103d2e66368fcabd2c3b76c1ee 100755 (executable)
@@ -104,6 +104,8 @@ check_alloc_traces ($report,
 );
 report_errors ();
 
+emit_nunit_report();
+
 exit ($total_errors? 1: 0);
 
 # utility functions
@@ -159,6 +161,61 @@ sub report_errors
        #print $report;
 }
 
+sub emit_nunit_report
+{
+       use Cwd;
+       use POSIX qw(strftime uname locale_h);
+       use Net::Domain qw(hostname hostfqdn);
+       use locale;
+
+       my $failed = $total_errors ? 1 : 0;
+       my $successbool;
+       my $total = 1;
+       my $mylocale = setlocale (LC_CTYPE);
+       $mylocale = substr($mylocale, 0, index($mylocale, '.'));
+       $mylocale =~ s/_/-/;
+
+       if ($failed > 0) {
+               $successbool = "False";
+       } else {
+               $successbool = "True";
+       }
+       open (my $nunitxml, '>', 'TestResults_profiler.xml') or die "Could not write to 'TestResults_profiler.xml' $!";
+       print $nunitxml "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\n";
+       print $nunitxml "<!--This file represents the results of running a test suite-->\n";
+       print $nunitxml "<test-results name=\"profiler-tests.dummy\" total=\"$total\" failures=\"$failed\" not-run=\"0\" date=\"" . strftime ("%F", localtime) . "\" time=\"" . strftime ("%T", localtime) . "\">\n";
+       print $nunitxml "  <environment nunit-version=\"2.4.8.0\" clr-version=\"4.0.30319.17020\" os-version=\"Unix " . (uname ())[2]  . "\" platform=\"Unix\" cwd=\"" . getcwd . "\" machine-name=\"" . hostname . "\" user=\"" . getpwuid ($<) . "\" user-domain=\"" . hostfqdn  . "\" />\n";
+       print $nunitxml "  <culture-info current-culture=\"$mylocale\" current-uiculture=\"$mylocale\" />\n";
+       print $nunitxml "  <test-suite name=\"profiler-tests.dummy\" success=\"$successbool\" time=\"0\" asserts=\"0\">\n";
+       print $nunitxml "    <results>\n";
+       print $nunitxml "      <test-suite name=\"MonoTests\" success=\"$successbool\" time=\"0\" asserts=\"0\">\n";
+       print $nunitxml "        <results>\n";
+       print $nunitxml "          <test-suite name=\"profiler\" success=\"$successbool\" time=\"0\" asserts=\"0\">\n";
+       print $nunitxml "            <results>\n";
+       print $nunitxml "              <test-case name=\"MonoTests.profiler.100percentsuccess\" executed=\"True\" success=\"$successbool\" time=\"0\" asserts=\"0\"";
+       if ( $failed > 0) {
+       print $nunitxml ">\n";
+       print $nunitxml "                <failure>\n";
+       print $nunitxml "                  <message><![CDATA[";
+       print $nunitxml "The profiler tests returned an error. Check the log for more details.";
+       print $nunitxml "]]></message>\n";
+       print $nunitxml "                  <stack-trace>\n";
+       print $nunitxml "                  </stack-trace>\n";
+       print $nunitxml "                </failure>\n";
+       print $nunitxml "              </test-case>\n";
+       } else {
+       print $nunitxml " />\n";
+       }
+       print $nunitxml "            </results>\n";
+       print $nunitxml "          </test-suite>\n";
+       print $nunitxml "        </results>\n";
+       print $nunitxml "      </test-suite>\n";
+       print $nunitxml "    </results>\n";
+       print $nunitxml "  </test-suite>\n";
+       print $nunitxml "</test-results>\n";
+       close $nunitxml;
+}
+
 sub get_delim_data
 {
        my $report = shift;
index 32673bfaf07c5ca2efe61fba17f07b4e0b2b093d..7816c06d9f962e2d37b8b94d3281168726b2e31f 100644 (file)
@@ -32,6 +32,7 @@ monosgen_sources = \
        sgen-fin-weak-hash.c \
        sgen-gc.c \
        sgen-gc.h \
+       sgen-gchandles.c \
        sgen-gray.c \
        sgen-gray.h \
        sgen-hash-table.c \
index b7e4b6708c0681b3dcad2d0d611912c9e40d252c..e3c695119e40f7ac64972c2ae00b321802e3e7ab 100644 (file)
 #include "mono/sgen/sgen-conf.h"
 #endif
 
+/* h indicates whether to hide or just tag.
+ * (-!!h ^ p) is used instead of (h ? ~p : p) to avoid multiple mentions of p.
+ */
+#define MONO_GC_HIDE_POINTER(p,t,h) ((gpointer)(((-(size_t)!!(h) ^ (size_t)(p)) & ~3UL) | ((t) & 3UL)))
+#define MONO_GC_REVEAL_POINTER(p,h) ((gpointer)((-(size_t)!!(h) ^ (size_t)(p)) & ~3UL))
+
+#define MONO_GC_POINTER_TAG(p) ((size_t)(p) & 3UL)
+
+#define MONO_GC_HANDLE_OCCUPIED_MASK (1)
+#define MONO_GC_HANDLE_VALID_MASK (2)
+#define MONO_GC_HANDLE_TAG_MASK (MONO_GC_HANDLE_OCCUPIED_MASK | MONO_GC_HANDLE_VALID_MASK)
+
+#define MONO_GC_HANDLE_METADATA_POINTER(p,h) (MONO_GC_HIDE_POINTER ((p), MONO_GC_HANDLE_OCCUPIED_MASK, (h)))
+#define MONO_GC_HANDLE_OBJECT_POINTER(p,h) (MONO_GC_HIDE_POINTER ((p), MONO_GC_HANDLE_OCCUPIED_MASK | MONO_GC_HANDLE_VALID_MASK, (h)))
+
+#define MONO_GC_HANDLE_OCCUPIED(slot) ((size_t)(slot) & MONO_GC_HANDLE_OCCUPIED_MASK)
+#define MONO_GC_HANDLE_VALID(slot) ((size_t)(slot) & MONO_GC_HANDLE_VALID_MASK)
+
+#define MONO_GC_HANDLE_TAG(slot) ((size_t)(slot) & MONO_GC_HANDLE_TAG_MASK)
+
+#define MONO_GC_HANDLE_IS_OBJECT_POINTER(slot) (MONO_GC_HANDLE_TAG (slot) == (MONO_GC_HANDLE_OCCUPIED_MASK | MONO_GC_HANDLE_VALID_MASK))
+#define MONO_GC_HANDLE_IS_METADATA_POINTER(slot) (MONO_GC_HANDLE_TAG (slot) == MONO_GC_HANDLE_OCCUPIED_MASK)
+
+typedef enum {
+       HANDLE_TYPE_MIN = 0,
+       HANDLE_WEAK = HANDLE_TYPE_MIN,
+       HANDLE_WEAK_TRACK,
+       HANDLE_NORMAL,
+       HANDLE_PINNED,
+       HANDLE_TYPE_MAX
+} GCHandleType;
+
+#define GC_HANDLE_TYPE_IS_WEAK(x) ((x) <= HANDLE_WEAK_TRACK)
+
+#define MONO_GC_HANDLE_TYPE_SHIFT (3)
+#define MONO_GC_HANDLE_TYPE_MASK ((1 << MONO_GC_HANDLE_TYPE_SHIFT) - 1)
+#define MONO_GC_HANDLE_TYPE(x) (((x) & MONO_GC_HANDLE_TYPE_MASK) - 1)
+#define MONO_GC_HANDLE_SLOT(x) ((x) >> MONO_GC_HANDLE_TYPE_SHIFT)
+#define MONO_GC_HANDLE_TYPE_IS_WEAK(x) ((x) <= HANDLE_WEAK_TRACK)
+#define MONO_GC_HANDLE(slot, type) (((slot) << MONO_GC_HANDLE_TYPE_SHIFT) | (((type) & MONO_GC_HANDLE_TYPE_MASK) + 1))
+
 typedef struct {
        guint minor_gc_count;
        guint major_gc_count;
index 410ba6aab0a0435b0e61a4f1cdded22bc4e2ad62..5e349f8416ee22539b4e1eee99f7e4599765cbd8 100644 (file)
@@ -88,8 +88,8 @@
        } while (0)
 
 /* MS_BLOCK_SIZE must be a multiple of the system pagesize, which for some
-   archs is 64k.  */
-#if defined(TARGET_POWERPC64) && _CALL_ELF == 2
+   architectures is 64k.  */
+#if defined(TARGET_POWERPC64)
 #define ARCH_MIN_MS_BLOCK_SIZE (64*1024)
 #define ARCH_MIN_MS_BLOCK_SIZE_SHIFT   16
 #endif
index cb332823789a01da7a3ac9ee0a2ad2b987d82b8a..5c803b50ae59a397cd1314702b19f3895091ea79 100644 (file)
@@ -87,6 +87,19 @@ gboolean sgen_client_mark_ephemerons (ScanCopyContext ctx);
  */
 void sgen_client_clear_unreachable_ephemerons (ScanCopyContext ctx);
 
+/*
+ * May return NULL.  Must be an aligned pointer.
+ */
+gpointer sgen_client_default_metadata (void);
+gpointer sgen_client_metadata_for_object (GCObject *obj);
+
+/*
+ * No action required.
+ */
+void sgen_client_gchandle_created (int handle_type, GCObject *obj, guint32 handle);
+void sgen_client_gchandle_destroyed (int handle_type, guint32 handle);
+void sgen_client_ensure_weak_gchandles_accessible (void);
+
 /*
  * This is called for objects that are larger than one card.  If it's possible to scan only
  * parts of the object based on which cards are marked, do so and return TRUE.  Otherwise,
@@ -272,8 +285,6 @@ void sgen_client_describe_invalid_pointer (GCObject *ptr);
 #define BEGIN_PROTOCOL_ENTRY_HEAVY6(method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5,t6,f6) \
        void sgen_client_ ## method (t1 f1, t2 f2, t3 f3, t4 f4, t5 f5, t6 f6);
 
-#define FLUSH()
-
 #define DEFAULT_PRINT()
 #define CUSTOM_PRINT(_)
 
@@ -282,6 +293,7 @@ void sgen_client_describe_invalid_pointer (GCObject *ptr);
 #define IS_VTABLE_MATCH(_)
 
 #define END_PROTOCOL_ENTRY
+#define END_PROTOCOL_ENTRY_FLUSH
 #define END_PROTOCOL_ENTRY_HEAVY
 
 #include "sgen-protocol-def.h"
index a0994b9a1be1c9d03f2fd0285c0713ab514f4e41..9641594483eec65cc456942dfaf37e235916ea16 100644 (file)
@@ -32,6 +32,7 @@
 #include "mono/sgen/sgen-protocol.h"
 #include "mono/sgen/sgen-pointer-queue.h"
 #include "mono/sgen/sgen-client.h"
+#include "mono/sgen/gc-internal-agnostic.h"
 #include "mono/utils/mono-membar.h"
 
 #define ptr_in_nursery sgen_ptr_in_nursery
@@ -40,9 +41,6 @@ typedef SgenGrayQueue GrayQueue;
 
 static int no_finalize = 0;
 
-#define DISLINK_OBJECT(l)      (REVEAL_POINTER (*(void**)(l)))
-#define DISLINK_TRACK(l)       ((~(size_t)(*(void**)(l))) & 1)
-
 /*
  * The finalizable hash has the object as the key, the 
  * disappearing_link hash, has the link address as key.
@@ -629,149 +627,6 @@ sgen_gather_finalizers_if (SgenObjectPredicateFunc predicate, void *user_data, G
        return result;
 }
 
-static SgenHashTable minor_disappearing_link_hash = SGEN_HASH_TABLE_INIT (INTERNAL_MEM_DISLINK_TABLE, INTERNAL_MEM_DISLINK, 0, sgen_aligned_addr_hash, NULL);
-static SgenHashTable major_disappearing_link_hash = SGEN_HASH_TABLE_INIT (INTERNAL_MEM_DISLINK_TABLE, INTERNAL_MEM_DISLINK, 0, sgen_aligned_addr_hash, NULL);
-
-static SgenHashTable*
-get_dislink_hash_table (int generation)
-{
-       switch (generation) {
-       case GENERATION_NURSERY: return &minor_disappearing_link_hash;
-       case GENERATION_OLD: return &major_disappearing_link_hash;
-       default: g_assert_not_reached ();
-       }
-}
-
-/* LOCKING: assumes the GC lock is held */
-static void
-add_or_remove_disappearing_link (GCObject *obj, void **link, int generation)
-{
-       SgenHashTable *hash_table = get_dislink_hash_table (generation);
-
-       if (!obj) {
-               if (sgen_hash_table_remove (hash_table, link, NULL)) {
-                       SGEN_LOG (5, "Removed dislink %p (%d) from %s table",
-                                       link, hash_table->num_entries, sgen_generation_name (generation));
-               }
-               return;
-       }
-
-       sgen_hash_table_replace (hash_table, link, NULL, NULL);
-       SGEN_LOG (5, "Added dislink for object: %p (%s) at %p to %s table",
-                       obj, sgen_client_vtable_get_name (SGEN_LOAD_VTABLE_UNCHECKED (obj)), link, sgen_generation_name (generation));
-}
-
-/* LOCKING: requires that the GC lock is held */
-void
-sgen_null_link_in_range (int generation, gboolean before_finalization, ScanCopyContext ctx)
-{
-       CopyOrMarkObjectFunc copy_func = ctx.ops->copy_or_mark_object;
-       GrayQueue *queue = ctx.queue;
-       void **link;
-       gpointer dummy G_GNUC_UNUSED;
-       SgenHashTable *hash = get_dislink_hash_table (generation);
-
-       SGEN_HASH_TABLE_FOREACH (hash, link, dummy) {
-               GCObject *object;
-               gboolean track;
-
-               /*
-               We null a weak link before unregistering it, so it's possible that a thread is
-               suspended right in between setting the content to null and staging the unregister.
-
-               The rest of this code cannot handle null links as DISLINK_OBJECT (NULL) produces an invalid address.
-
-               We should simply skip the entry as the staged removal will take place during the next GC.
-               */
-               if (!*link) {
-                       SGEN_LOG (5, "Dislink %p was externally nullified", link);
-                       continue;
-               }
-
-               track = DISLINK_TRACK (link);
-               /*
-                * Tracked references are processed after
-                * finalization handling whereas standard weak
-                * references are processed before.  If an
-                * object is still not marked after finalization
-                * handling it means that it either doesn't have
-                * a finalizer or the finalizer has already run,
-                * so we must null a tracking reference.
-                */
-               if (track != before_finalization) {
-                       object = DISLINK_OBJECT (link);
-                       /*
-                       We should guard against a null object been hidden. This can sometimes happen.
-                       */
-                       if (!object) {
-                               SGEN_LOG (5, "Dislink %p with a hidden null object", link);
-                               continue;
-                       }
-
-                       if (!major_collector.is_object_live (object)) {
-                               if (sgen_gc_is_object_ready_for_finalization (object)) {
-                                       *link = NULL;
-                                       binary_protocol_dislink_update (link, NULL, 0, 0);
-                                       SGEN_LOG (5, "Dislink nullified at %p to GCed object %p", link, object);
-                                       SGEN_HASH_TABLE_FOREACH_REMOVE (TRUE);
-                                       continue;
-                               } else {
-                                       GCObject *copy = object;
-                                       copy_func (&copy, queue);
-
-                                       /* Update pointer if it's moved.  If the object
-                                        * has been moved out of the nursery, we need to
-                                        * remove the link from the minor hash table to
-                                        * the major one.
-                                        *
-                                        * FIXME: what if an object is moved earlier?
-                                        */
-
-                                       if (hash == &minor_disappearing_link_hash && !ptr_in_nursery (copy)) {
-                                               SGEN_HASH_TABLE_FOREACH_REMOVE (TRUE);
-
-                                               g_assert (copy);
-                                               *link = HIDE_POINTER (copy, track);
-                                               add_or_remove_disappearing_link (copy, link, GENERATION_OLD);
-                                               binary_protocol_dislink_update (link, copy, track, 0);
-
-                                               SGEN_LOG (5, "Upgraded dislink at %p to major because object %p moved to %p", link, object, copy);
-
-                                               continue;
-                                       } else {
-                                               *link = HIDE_POINTER (copy, track);
-                                               binary_protocol_dislink_update (link, copy, track, 0);
-                                               SGEN_LOG (5, "Updated dislink at %p to %p", link, DISLINK_OBJECT (link));
-                                       }
-                               }
-                       }
-               }
-       } SGEN_HASH_TABLE_FOREACH_END;
-}
-
-/* LOCKING: requires that the GC lock is held */
-void
-sgen_null_links_if (SgenObjectPredicateFunc predicate, void *data, int generation)
-{
-       void **link;
-       gpointer dummy G_GNUC_UNUSED;
-       SgenHashTable *hash = get_dislink_hash_table (generation);
-       SGEN_HASH_TABLE_FOREACH (hash, link, dummy) {
-               char *object = DISLINK_OBJECT (link);
-
-               if (!*link)
-                       continue;
-
-               if (predicate ((GCObject*)object, data)) {
-                       *link = NULL;
-                       binary_protocol_dislink_update (link, NULL, 0, 0);
-                       SGEN_LOG (5, "Dislink nullified by predicate at %p to GCed object %p", link, object);
-                       SGEN_HASH_TABLE_FOREACH_REMOVE (FALSE /* TRUE */);
-                       continue;
-               }
-       } SGEN_HASH_TABLE_FOREACH_END;
-}
-
 void
 sgen_remove_finalizers_if (SgenObjectPredicateFunc predicate, void *user_data, int generation)
 {
@@ -789,72 +644,6 @@ sgen_remove_finalizers_if (SgenObjectPredicateFunc predicate, void *user_data, i
        } SGEN_HASH_TABLE_FOREACH_END;  
 }
 
-/* LOCKING: requires that the GC lock is held */
-static void
-process_dislink_stage_entry (GCObject *obj, void *_link, int index)
-{
-       void **link = _link;
-
-       if (index >= 0)
-               binary_protocol_dislink_process_staged (link, obj, index);
-
-       add_or_remove_disappearing_link (NULL, link, GENERATION_NURSERY);
-       add_or_remove_disappearing_link (NULL, link, GENERATION_OLD);
-       if (obj) {
-               if (ptr_in_nursery (obj))
-                       add_or_remove_disappearing_link (obj, link, GENERATION_NURSERY);
-               else
-                       add_or_remove_disappearing_link (obj, link, GENERATION_OLD);
-       }
-}
-
-#define NUM_DISLINK_STAGE_ENTRIES      1024
-
-static volatile gint32 next_dislink_stage_entry = 0;
-static StageEntry dislink_stage_entries [NUM_DISLINK_STAGE_ENTRIES];
-
-/* LOCKING: requires that the GC lock is held */
-void
-sgen_process_dislink_stage_entries (void)
-{
-       lock_stage_for_processing (&next_dislink_stage_entry);
-       process_stage_entries (NUM_DISLINK_STAGE_ENTRIES, &next_dislink_stage_entry, dislink_stage_entries, process_dislink_stage_entry);
-}
-
-void
-sgen_register_disappearing_link (GCObject *obj, void **link, gboolean track, gboolean in_gc)
-{
-       if (obj)
-               *link = HIDE_POINTER (obj, track);
-       else
-               *link = NULL;
-
-#if 1
-       if (in_gc) {
-               binary_protocol_dislink_update (link, obj, track, 0);
-               process_dislink_stage_entry (obj, link, -1);
-       } else {
-               int index;
-               binary_protocol_dislink_update (link, obj, track, 1);
-               while ((index = add_stage_entry (NUM_DISLINK_STAGE_ENTRIES, &next_dislink_stage_entry, dislink_stage_entries, obj, link)) == -1) {
-                       if (try_lock_stage_for_processing (NUM_DISLINK_STAGE_ENTRIES, &next_dislink_stage_entry)) {
-                               LOCK_GC;
-                               process_stage_entries (NUM_DISLINK_STAGE_ENTRIES, &next_dislink_stage_entry, dislink_stage_entries, process_dislink_stage_entry);
-                               UNLOCK_GC;
-                       }
-               }
-               binary_protocol_dislink_update_staged (link, obj, track, index);
-       }
-#else
-       if (!in_gc)
-               LOCK_GC;
-       binary_protocol_dislink_update (link, obj, track, 0);
-       process_dislink_stage_entry (obj, link, -1);
-       if (!in_gc)
-               UNLOCK_GC;
-#endif
-}
-
 void
 sgen_init_fin_weak_hash (void)
 {
index 4b1a1ac16169849b72bd9bc8b630e45592caa29f..18960bbc1ca447786f2f24d84b13de226316ca37 100644 (file)
@@ -822,7 +822,9 @@ sgen_conservatively_pin_objects_from (void **start, void **end, void *start_nurs
 {
        int count = 0;
 
-#ifdef VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE
+       SGEN_ASSERT (0, ((mword)start & (SIZEOF_VOID_P - 1)) == 0, "Why are we scanning for references in unaligned memory ?");
+
+#if defined(VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE) && !defined(_WIN64)
        VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE (start, (char*)end - (char*)start);
 #endif
 
@@ -885,20 +887,6 @@ pin_from_roots (void *start_nursery, void *end_nursery, ScanCopyContext ctx)
        sgen_client_scan_thread_data (start_nursery, end_nursery, FALSE, ctx);
 }
 
-static void
-unpin_objects_from_queue (SgenGrayQueue *queue)
-{
-       for (;;) {
-               GCObject *addr;
-               SgenDescriptor desc;
-               GRAY_OBJECT_DEQUEUE (queue, &addr, &desc);
-               if (!addr)
-                       break;
-               g_assert (SGEN_OBJECT_IS_PINNED (addr));
-               SGEN_UNPIN_OBJECT (addr);
-       }
-}
-
 static void
 single_arg_user_copy_or_mark (GCObject **obj, void *gc_data)
 {
@@ -1152,9 +1140,9 @@ finish_gray_stack (int generation, ScanCopyContext ctx)
        We must clear weak links that don't track resurrection before processing object ready for
        finalization so they can be cleared before that.
        */
-       sgen_null_link_in_range (generation, TRUE, ctx);
+       sgen_null_link_in_range (generation, ctx, FALSE);
        if (generation == GENERATION_OLD)
-               sgen_null_link_in_range (GENERATION_NURSERY, TRUE, ctx);
+               sgen_null_link_in_range (GENERATION_NURSERY, ctx, FALSE);
 
 
        /* walk the finalization queue and move also the objects that need to be
@@ -1201,9 +1189,9 @@ finish_gray_stack (int generation, ScanCopyContext ctx)
         */
        g_assert (sgen_gray_object_queue_is_empty (queue));
        for (;;) {
-               sgen_null_link_in_range (generation, FALSE, ctx);
+               sgen_null_link_in_range (generation, ctx, TRUE);
                if (generation == GENERATION_OLD)
-                       sgen_null_link_in_range (GENERATION_NURSERY, FALSE, ctx);
+                       sgen_null_link_in_range (GENERATION_NURSERY, ctx, TRUE);
                if (sgen_gray_object_queue_is_empty (queue))
                        break;
                sgen_drain_gray_stack (-1, ctx);
@@ -1551,7 +1539,6 @@ collect_nursery (SgenGrayQueue *unpin_queue, gboolean finish_up_concurrent_mark)
                sgen_check_consistency ();
 
        sgen_process_fin_stage_entries ();
-       sgen_process_dislink_stage_entries ();
 
        /* pin from pinned handles */
        sgen_init_pinning ();
@@ -1671,23 +1658,6 @@ collect_nursery (SgenGrayQueue *unpin_queue, gboolean finish_up_concurrent_mark)
        return needs_major;
 }
 
-static void
-scan_nursery_objects_callback (GCObject *obj, size_t size, ScanCopyContext *ctx)
-{
-       /*
-        * This is called on all objects in the nursery, including pinned ones, so we need
-        * to use sgen_obj_get_descriptor_safe(), which masks out the vtable tag bits.
-        */
-       ctx->ops->scan_object (obj, sgen_obj_get_descriptor_safe (obj), ctx->queue);
-}
-
-static void
-scan_nursery_objects (ScanCopyContext ctx)
-{
-       sgen_scan_area_with_callback (nursery_section->data, nursery_section->end_data,
-                       (IterateObjectCallbackFunc)scan_nursery_objects_callback, (void*)&ctx, FALSE, TRUE);
-}
-
 typedef enum {
        COPY_OR_MARK_FROM_ROOTS_SERIAL,
        COPY_OR_MARK_FROM_ROOTS_START_CONCURRENT,
@@ -1695,7 +1665,7 @@ typedef enum {
 } CopyOrMarkFromRootsMode;
 
 static void
-major_copy_or_mark_from_roots (size_t *old_next_pin_slot, CopyOrMarkFromRootsMode mode, gboolean scan_whole_nursery, SgenObjectOperations *object_ops)
+major_copy_or_mark_from_roots (size_t *old_next_pin_slot, CopyOrMarkFromRootsMode mode, SgenObjectOperations *object_ops)
 {
        LOSObject *bigobj;
        TV_DECLARE (atv);
@@ -1710,10 +1680,7 @@ major_copy_or_mark_from_roots (size_t *old_next_pin_slot, CopyOrMarkFromRootsMod
 
        SGEN_ASSERT (0, !!concurrent == !!concurrent_collection_in_progress, "We've been called with the wrong mode.");
 
-       if (scan_whole_nursery)
-               SGEN_ASSERT (0, mode == COPY_OR_MARK_FROM_ROOTS_FINISH_CONCURRENT, "Scanning whole nursery only makes sense when we're finishing a concurrent collection.");
-
-       if (concurrent) {
+       if (mode == COPY_OR_MARK_FROM_ROOTS_START_CONCURRENT) {
                /*This cleans up unused fragments */
                sgen_nursery_allocator_prepare_for_pinning ();
 
@@ -1753,26 +1720,12 @@ major_copy_or_mark_from_roots (size_t *old_next_pin_slot, CopyOrMarkFromRootsMod
        }
 
        sgen_process_fin_stage_entries ();
-       sgen_process_dislink_stage_entries ();
 
        TV_GETTIME (atv);
        sgen_init_pinning ();
        SGEN_LOG (6, "Collecting pinned addresses");
        pin_from_roots ((void*)lowest_heap_address, (void*)highest_heap_address, ctx);
 
-       if (mode != COPY_OR_MARK_FROM_ROOTS_START_CONCURRENT) {
-               if (major_collector.is_concurrent) {
-                       /*
-                        * The concurrent major collector cannot evict
-                        * yet, so we need to pin cemented objects to
-                        * not break some asserts.
-                        *
-                        * FIXME: We could evict now!
-                        */
-                       sgen_pin_cemented_objects ();
-               }
-       }
-
        sgen_optimize_pin_queue ();
 
        sgen_client_collecting_major_1 ();
@@ -1814,41 +1767,10 @@ major_copy_or_mark_from_roots (size_t *old_next_pin_slot, CopyOrMarkFromRootsMod
                        sgen_client_pinned_los_object (bigobj->data);
                }
        }
-       /* second pass for the sections */
 
-       /*
-        * Concurrent mark never follows references into the nursery.  In the start and
-        * finish pauses we must scan live nursery objects, though.
-        *
-        * In the finish pause we do this conservatively by scanning all nursery objects.
-        * Previously we would only scan pinned objects here.  We assumed that all objects
-        * that were pinned during the nursery collection immediately preceding this finish
-        * mark would be pinned again here.  Due to the way we get the stack end for the GC
-        * thread, however, that's not necessarily the case: we scan part of the stack used
-        * by the GC itself, which changes constantly, so pinning isn't entirely
-        * deterministic.
-        *
-        * The split nursery also complicates things because non-pinned objects can survive
-        * in the nursery.  That's why we need to do a full scan of the nursery for it, too.
-        *
-        * In the future we shouldn't do a preceding nursery collection at all and instead
-        * do the finish pause with promotion from the nursery.
-        *
-        * A further complication arises when we have late-pinned objects from the preceding
-        * nursery collection.  Those are the result of being out of memory when trying to
-        * evacuate objects.  They won't be found from the roots, so we just scan the whole
-        * nursery.
-        *
-        * Non-concurrent mark evacuates from the nursery, so it's
-        * sufficient to just scan pinned nursery objects.
-        */
-       if (scan_whole_nursery || mode == COPY_OR_MARK_FROM_ROOTS_FINISH_CONCURRENT || (concurrent && sgen_minor_collector.is_split)) {
-               scan_nursery_objects (ctx);
-       } else {
-               pin_objects_in_nursery (concurrent, ctx);
-               if (check_nursery_objects_pinned && !sgen_minor_collector.is_split)
-                       sgen_check_nursery_objects_pinned (mode != COPY_OR_MARK_FROM_ROOTS_START_CONCURRENT);
-       }
+       pin_objects_in_nursery (mode == COPY_OR_MARK_FROM_ROOTS_START_CONCURRENT, ctx);
+       if (check_nursery_objects_pinned && !sgen_minor_collector.is_split)
+               sgen_check_nursery_objects_pinned (mode != COPY_OR_MARK_FROM_ROOTS_START_CONCURRENT);
 
        major_collector.pin_objects (WORKERS_DISTRIBUTE_GRAY_QUEUE);
        if (old_next_pin_slot)
@@ -1913,22 +1835,30 @@ major_copy_or_mark_from_roots (size_t *old_next_pin_slot, CopyOrMarkFromRootsMod
 }
 
 static void
-major_finish_copy_or_mark (void)
+major_finish_copy_or_mark (CopyOrMarkFromRootsMode mode)
 {
-       if (!concurrent_collection_in_progress)
-               return;
-
-       /*
-        * Prepare the pin queue for the next collection.  Since pinning runs on the worker
-        * threads we must wait for the jobs to finish before we can reset it.
-        */
-       sgen_workers_wait_for_jobs_finished ();
-       sgen_finish_pinning ();
+       switch (mode) {
+       case COPY_OR_MARK_FROM_ROOTS_START_CONCURRENT:
+               /*
+                * Prepare the pin queue for the next collection.  Since pinning runs on the worker
+                * threads we must wait for the jobs to finish before we can reset it.
+                */
+               sgen_workers_wait_for_jobs_finished ();
+               sgen_finish_pinning ();
 
-       sgen_pin_stats_reset ();
+               sgen_pin_stats_reset ();
 
-       if (do_concurrent_checks)
-               sgen_debug_check_nursery_is_clean ();
+               if (do_concurrent_checks)
+                       sgen_debug_check_nursery_is_clean ();
+               break;
+       case COPY_OR_MARK_FROM_ROOTS_FINISH_CONCURRENT:
+               sgen_workers_wait_for_jobs_finished ();
+               break;
+       case COPY_OR_MARK_FROM_ROOTS_SERIAL:
+               break;
+       default:
+               g_assert_not_reached ();
+       }
 }
 
 static void
@@ -1942,7 +1872,8 @@ major_start_collection (gboolean concurrent, size_t *old_next_pin_slot)
 
        g_assert (sgen_section_gray_queue_is_empty (sgen_workers_get_distribute_section_gray_queue ()));
 
-       sgen_cement_reset ();
+       if (!concurrent)
+               sgen_cement_reset ();
 
        if (concurrent) {
                g_assert (major_collector.is_concurrent);
@@ -1969,15 +1900,16 @@ major_start_collection (gboolean concurrent, size_t *old_next_pin_slot)
        if (major_collector.start_major_collection)
                major_collector.start_major_collection ();
 
-       major_copy_or_mark_from_roots (old_next_pin_slot, concurrent ? COPY_OR_MARK_FROM_ROOTS_START_CONCURRENT : COPY_OR_MARK_FROM_ROOTS_SERIAL, FALSE, object_ops);
-       major_finish_copy_or_mark ();
+       major_copy_or_mark_from_roots (old_next_pin_slot, concurrent ? COPY_OR_MARK_FROM_ROOTS_START_CONCURRENT : COPY_OR_MARK_FROM_ROOTS_SERIAL, object_ops);
+       major_finish_copy_or_mark (concurrent ? COPY_OR_MARK_FROM_ROOTS_START_CONCURRENT : COPY_OR_MARK_FROM_ROOTS_SERIAL);
 }
 
 static void
-major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean forced, gboolean scan_whole_nursery)
+major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean forced)
 {
        ScannedObjectCounts counts;
        SgenObjectOperations *object_ops;
+       mword fragment_total;
        TV_DECLARE (atv);
        TV_DECLARE (btv);
 
@@ -1986,9 +1918,9 @@ major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean
        if (concurrent_collection_in_progress) {
                object_ops = &major_collector.major_ops_concurrent_finish;
 
-               major_copy_or_mark_from_roots (NULL, COPY_OR_MARK_FROM_ROOTS_FINISH_CONCURRENT, scan_whole_nursery, object_ops);
+               major_copy_or_mark_from_roots (NULL, COPY_OR_MARK_FROM_ROOTS_FINISH_CONCURRENT, object_ops);
 
-               major_finish_copy_or_mark ();
+               major_finish_copy_or_mark (COPY_OR_MARK_FROM_ROOTS_FINISH_CONCURRENT);
 
                sgen_workers_join ();
 
@@ -1997,11 +1929,7 @@ major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean
 #ifdef SGEN_DEBUG_INTERNAL_ALLOC
                main_gc_thread = NULL;
 #endif
-
-               if (do_concurrent_checks)
-                       sgen_debug_check_nursery_is_clean ();
        } else {
-               SGEN_ASSERT (0, !scan_whole_nursery, "scan_whole_nursery only applies to concurrent collections");
                object_ops = &major_collector.major_ops_serial;
        }
 
@@ -2045,22 +1973,25 @@ major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean
        reset_heap_boundaries ();
        sgen_update_heap_boundaries ((mword)sgen_get_nursery_start (), (mword)sgen_get_nursery_end ());
 
-       if (!concurrent_collection_in_progress) {
-               /* walk the pin_queue, build up the fragment list of free memory, unmark
-                * pinned objects as we go, memzero() the empty fragments so they are ready for the
-                * next allocations.
-                */
-               if (!sgen_build_nursery_fragments (nursery_section, NULL))
-                       degraded_mode = 1;
+       /* walk the pin_queue, build up the fragment list of free memory, unmark
+        * pinned objects as we go, memzero() the empty fragments so they are ready for the
+        * next allocations.
+        */
+       fragment_total = sgen_build_nursery_fragments (nursery_section, NULL);
+       if (!fragment_total)
+               degraded_mode = 1;
+       SGEN_LOG (4, "Free space in nursery after major %ld", (long)fragment_total);
 
-               /* prepare the pin queue for the next collection */
-               sgen_finish_pinning ();
+       if (do_concurrent_checks && concurrent_collection_in_progress)
+               sgen_debug_check_nursery_is_clean ();
 
-               /* Clear TLABs for all threads */
-               sgen_clear_tlabs ();
+       /* prepare the pin queue for the next collection */
+       sgen_finish_pinning ();
 
-               sgen_pin_stats_reset ();
-       }
+       /* Clear TLABs for all threads */
+       sgen_clear_tlabs ();
+
+       sgen_pin_stats_reset ();
 
        sgen_cement_clear_below_threshold ();
 
@@ -2136,7 +2067,7 @@ major_do_collection (const char *reason, gboolean forced)
        TV_GETTIME (time_start);
 
        major_start_collection (FALSE, &old_next_pin_slot);
-       major_finish_collection (reason, old_next_pin_slot, forced, FALSE);
+       major_finish_collection (reason, old_next_pin_slot, forced);
 
        TV_GETTIME (time_end);
        gc_stats.major_gc_time += TV_ELAPSED (time_start, time_end);
@@ -2211,9 +2142,6 @@ major_finish_concurrent_collection (gboolean forced)
 {
        TV_DECLARE (total_start);
        TV_DECLARE (total_end);
-       gboolean late_pinned;
-       SgenGrayQueue unpin_queue;
-       memset (&unpin_queue, 0, sizeof (unpin_queue));
 
        TV_GETTIME (total_start);
 
@@ -2233,20 +2161,16 @@ major_finish_concurrent_collection (gboolean forced)
        major_collector.update_cardtable_mod_union ();
        sgen_los_update_cardtable_mod_union ();
 
-       late_pinned = collect_nursery (&unpin_queue, TRUE);
-
        if (mod_union_consistency_check)
                sgen_check_mod_union_consistency ();
 
        current_collection_generation = GENERATION_OLD;
-       major_finish_collection ("finishing", -1, forced, late_pinned);
+       sgen_cement_reset ();
+       major_finish_collection ("finishing", -1, forced);
 
        if (whole_heap_check_before_collection)
                sgen_check_whole_heap (FALSE);
 
-       unpin_objects_from_queue (&unpin_queue);
-       sgen_gray_object_queue_deinit (&unpin_queue);
-
        TV_GETTIME (total_end);
        gc_stats.major_gc_time += TV_ELAPSED (total_start, total_end) - TV_ELAPSED (last_minor_collection_start_tv, last_minor_collection_end_tv);
 
@@ -2332,13 +2256,9 @@ sgen_perform_collection (size_t requested_size, int generation_to_collect, const
                        major_finish_concurrent_collection (wait_to_finish);
                        oldest_generation_collected = GENERATION_OLD;
                } else {
-                       sgen_workers_signal_start_nursery_collection_and_wait ();
-
                        major_update_concurrent_collection ();
                        if (generation_to_collect == GENERATION_NURSERY)
                                collect_nursery (NULL, FALSE);
-
-                       sgen_workers_signal_finish_nursery_collection ();
                }
 
                goto done;
@@ -2596,7 +2516,7 @@ sgen_have_pending_finalizers (void)
  * We do not coalesce roots.
  */
 int
-sgen_register_root (char *start, size_t size, SgenDescriptor descr, int root_type)
+sgen_register_root (char *start, size_t size, SgenDescriptor descr, int root_type, int source, const char *msg)
 {
        RootRecord new_root;
        int i;
@@ -2608,6 +2528,8 @@ sgen_register_root (char *start, size_t size, SgenDescriptor descr, int root_typ
                        size_t old_size = root->end_root - start;
                        root->end_root = start + size;
                        SGEN_ASSERT (0, !!root->root_desc == !!descr, "Can't change whether a root is precise or conservative.");
+                       SGEN_ASSERT (0, root->source == source, "Can't change a root's source identifier.");
+                       SGEN_ASSERT (0, !!root->msg == !!msg, "Can't change a root's message.");
                        root->root_desc = descr;
                        roots_size += size;
                        roots_size -= old_size;
@@ -2618,11 +2540,13 @@ sgen_register_root (char *start, size_t size, SgenDescriptor descr, int root_typ
 
        new_root.end_root = start + size;
        new_root.root_desc = descr;
+       new_root.source = source;
+       new_root.msg = msg;
 
        sgen_hash_table_replace (&roots_hash [root_type], start, &new_root, NULL);
        roots_size += size;
 
-       SGEN_LOG (3, "Added root for range: %p-%p, descr: %llx  (%d/%d bytes)", start, new_root.end_root, descr, (int)size, (int)roots_size);
+       SGEN_LOG (3, "Added root for range: %p-%p, descr: %llx  (%d/%d bytes)", start, new_root.end_root, (long long)descr, (int)size, (int)roots_size);
 
        UNLOCK_GC;
        return TRUE;
@@ -2744,7 +2668,7 @@ mono_gc_wbarrier_generic_store (gpointer ptr, GCObject* value)
 {
        SGEN_LOG (8, "Wbarrier store at %p to %p (%s)", ptr, value, value ? sgen_client_vtable_get_name (SGEN_LOAD_VTABLE (value)) : "null");
        SGEN_UPDATE_REFERENCE_ALLOW_NULL (ptr, value);
-       if (ptr_in_nursery (value))
+       if (ptr_in_nursery (value) || concurrent_collection_in_progress)
                mono_gc_wbarrier_generic_nostore (ptr);
        sgen_dummy_use (value);
 }
@@ -2761,7 +2685,7 @@ mono_gc_wbarrier_generic_store_atomic (gpointer ptr, GCObject *value)
 
        InterlockedWritePointer (ptr, value);
 
-       if (ptr_in_nursery (value))
+       if (ptr_in_nursery (value) || concurrent_collection_in_progress)
                mono_gc_wbarrier_generic_nostore (ptr);
 
        sgen_dummy_use (value);
@@ -2822,48 +2746,6 @@ sgen_gc_get_used_size (void)
        return tot;
 }
 
-GCObject*
-sgen_weak_link_get (void **link_addr)
-{
-       void * volatile *link_addr_volatile;
-       void *ptr;
-       GCObject *obj;
- retry:
-       link_addr_volatile = link_addr;
-       ptr = (void*)*link_addr_volatile;
-       /*
-        * At this point we have a hidden pointer.  If the GC runs
-        * here, it will not recognize the hidden pointer as a
-        * reference, and if the object behind it is not referenced
-        * elsewhere, it will be freed.  Once the world is restarted
-        * we reveal the pointer, giving us a pointer to a freed
-        * object.  To make sure we don't return it, we load the
-        * hidden pointer again.  If it's still the same, we can be
-        * sure the object reference is valid.
-        */
-       if (ptr)
-               obj = (GCObject*) REVEAL_POINTER (ptr);
-       else
-               return NULL;
-
-       mono_memory_barrier ();
-
-       /*
-        * During the second bridge processing step the world is
-        * running again.  That step processes all weak links once
-        * more to null those that refer to dead objects.  Before that
-        * is completed, those links must not be followed, so we
-        * conservatively wait for bridge processing when any weak
-        * link is dereferenced.
-        */
-       sgen_client_bridge_wait_for_processing ();
-
-       if ((void*)*link_addr_volatile != ptr)
-               goto retry;
-
-       return obj;
-}
-
 gboolean
 sgen_set_allow_synchronous_major (gboolean flag)
 {
@@ -2975,6 +2857,7 @@ sgen_gc_init (void)
        sgen_init_descriptors ();
        sgen_init_gray_queues ();
        sgen_init_allocator ();
+       sgen_init_gchandles ();
 
        sgen_register_fixed_internal_mem_type (INTERNAL_MEM_SECTION, SGEN_SIZEOF_GC_MEM_SECTION);
        sgen_register_fixed_internal_mem_type (INTERNAL_MEM_GRAY_QUEUE, sizeof (GrayQueueSection));
@@ -3007,9 +2890,6 @@ sgen_gc_init (void)
 
        sgen_nursery_size = DEFAULT_NURSERY_SIZE;
 
-       if (major_collector.is_concurrent)
-               cement_enabled = FALSE;
-
        if (opts) {
                gboolean usage_printed = FALSE;
 
@@ -3166,11 +3046,6 @@ sgen_gc_init (void)
 
        alloc_nursery ();
 
-       if (major_collector.is_concurrent && cement_enabled) {
-               sgen_env_var_error (MONO_GC_PARAMS_NAME, "Ignoring.", "`cementing` is not supported on concurrent major collectors.");
-               cement_enabled = FALSE;
-       }
-
        sgen_cement_init (cement_enabled);
 
        if ((env = g_getenv (MONO_GC_DEBUG_NAME))) {
@@ -3243,6 +3118,7 @@ sgen_gc_init (void)
                                        sgen_env_var_error (MONO_GC_DEBUG_NAME, "Ignoring.", "`check-concurrent` only works with concurrent major collectors.");
                                        continue;
                                }
+                               nursery_clear_policy = CLEAR_AT_GC;
                                do_concurrent_checks = TRUE;
                        } else if (!strcmp (opt, "dump-nursery-at-minor-gc")) {
                                do_dump_nursery_content = TRUE;
@@ -3321,6 +3197,8 @@ sgen_gc_init (void)
 
        sgen_card_table_init (&remset);
 
+       sgen_register_root (NULL, 0, sgen_make_user_root_descriptor (sgen_mark_normal_gc_handles), ROOT_TYPE_NORMAL, MONO_ROOT_SOURCE_GC_HANDLE, "normal gc handles");
+
        gc_initialized = 1;
 }
 
index 49fb4c1fac132347f01575b8c0130dfaefe5b8aa..4cb4edf8bafe8ed5956e2a40c4f4cd72d332fad9 100644 (file)
@@ -43,6 +43,7 @@ typedef struct _SgenThreadInfo SgenThreadInfo;
 #include "mono/sgen/sgen-conf.h"
 #include "mono/sgen/sgen-hash-table.h"
 #include "mono/sgen/sgen-protocol.h"
+#include "mono/sgen/gc-internal-agnostic.h"
 
 /* The method used to clear the nursery */
 /* Clearing at nursery collections is the safest, but has bad interactions with caches.
@@ -98,7 +99,12 @@ struct _GCMemSection {
 
 extern LOCK_DECLARE (sgen_interruption_mutex);
 
-#define LOCK_INTERRUPTION mono_mutex_lock (&sgen_interruption_mutex)
+#define LOCK_INTERRUPTION do { \
+       MONO_TRY_BLOCKING       \
+       mono_mutex_lock (&sgen_interruption_mutex);     \
+       MONO_FINISH_TRY_BLOCKING        \
+} while (0)
+
 #define UNLOCK_INTERRUPTION mono_mutex_unlock (&sgen_interruption_mutex)
 
 /* FIXME: Use InterlockedAdd & InterlockedAdd64 to reduce the CAS cost. */
@@ -167,14 +173,6 @@ sgen_aligned_addr_hash (gconstpointer ptr)
        return GPOINTER_TO_UINT (ptr) >> 3;
 }
 
-/*
- * The link pointer is hidden by negating each bit.  We use the lowest
- * bit of the link (before negation) to store whether it needs
- * resurrection tracking.
- */
-#define HIDE_POINTER(p,t)      ((gpointer)(~((size_t)(p)|((t)?1:0))))
-#define REVEAL_POINTER(p)      ((gpointer)((~(size_t)(p))&~3L))
-
 #define SGEN_PTR_IN_NURSERY(p,bits,start,end)  (((mword)(p) & ~((1 << (bits)) - 1)) == (mword)(start))
 
 #ifdef USER_CONFIG
@@ -368,6 +366,8 @@ typedef struct _RootRecord RootRecord;
 struct _RootRecord {
        char *end_root;
        SgenDescriptor root_desc;
+       int source;
+       const char *msg;
 };
 
 enum {
@@ -379,7 +379,7 @@ enum {
 
 extern SgenHashTable roots_hash [ROOT_TYPE_NUM];
 
-int sgen_register_root (char *start, size_t size, SgenDescriptor descr, int root_type);
+int sgen_register_root (char *start, size_t size, SgenDescriptor descr, int root_type, int source, const char *msg);
 void sgen_deregister_root (char* addr);
 
 typedef void (*IterateObjectCallbackFunc) (GCObject*, size_t, void*);
@@ -779,7 +779,7 @@ void sgen_collect_bridge_objects (int generation, ScanCopyContext ctx);
 
 typedef gboolean (*SgenObjectPredicateFunc) (GCObject *obj, void *user_data);
 
-void sgen_null_links_if (SgenObjectPredicateFunc predicate, void *data, int generation);
+void sgen_null_links_if (SgenObjectPredicateFunc predicate, void *data, int generation, gboolean track);
 
 gboolean sgen_gc_is_object_ready_for_finalization (GCObject *object);
 void sgen_gc_lock (void);
@@ -789,7 +789,7 @@ void sgen_queue_finalization_entry (GCObject *obj);
 const char* sgen_generation_name (int generation);
 
 void sgen_finalize_in_range (int generation, ScanCopyContext ctx);
-void sgen_null_link_in_range (int generation, gboolean before_finalization, ScanCopyContext ctx);
+void sgen_null_link_in_range (int generation, ScanCopyContext ctx, gboolean track);
 void sgen_process_fin_stage_entries (void);
 gboolean sgen_have_pending_finalizers (void);
 void sgen_object_register_for_finalization (GCObject *obj, void *user_data);
@@ -797,7 +797,6 @@ void sgen_object_register_for_finalization (GCObject *obj, void *user_data);
 int sgen_gather_finalizers_if (SgenObjectPredicateFunc predicate, void *user_data, GCObject **out_array, int out_size);
 void sgen_remove_finalizers_if (SgenObjectPredicateFunc predicate, void *user_data, int generation);
 
-void sgen_process_dislink_stage_entries (void);
 void sgen_register_disappearing_link (GCObject *obj, void **link, gboolean track, gboolean in_gc);
 
 GCObject* sgen_weak_link_get (void **link_addr);
@@ -941,6 +940,19 @@ sgen_is_object_alive_for_current_gen (GCObject *object)
 
 int sgen_gc_invoke_finalizers (void);
 
+/* GC handles */
+
+void sgen_init_gchandles (void);
+
+void sgen_null_links_if (SgenObjectPredicateFunc predicate, void *data, int generation, gboolean track);
+
+typedef gpointer (*SgenGCHandleIterateCallback) (gpointer hidden, GCHandleType handle_type, int max_generation, gpointer user);
+
+void sgen_gchandle_iterate (GCHandleType handle_type, int max_generation, SgenGCHandleIterateCallback callback, gpointer user);
+void sgen_gchandle_set_target (guint32 gchandle, GCObject *obj);
+void sgen_mark_normal_gc_handles (void *addr, SgenUserMarkFunc mark_func, void *gc_data);
+gpointer sgen_gchandle_get_metadata (guint32 gchandle);
+
 /* Other globals */
 
 extern GCMemSection *nursery_section;
@@ -1005,23 +1017,6 @@ void sgen_debug_dump_heap (const char *type, int num, const char *reason);
 void sgen_debug_verify_nursery (gboolean do_dump_nursery_content);
 void sgen_debug_check_nursery_is_clean (void);
 
-/* Write barrier support */
-
-/*
- * This causes the compile to extend the liveness of 'v' till the call to dummy_use
- */
-static inline void
-sgen_dummy_use (gpointer v) {
-#if defined(__GNUC__)
-       __asm__ volatile ("" : "=r"(v) : "r"(v));
-#elif defined(_MSC_VER)
-       static volatile gpointer ptr;
-       ptr = v;
-#else
-#error "Implement sgen_dummy_use for your compiler"
-#endif
-}
-
 /* Environment variable parsing */
 
 #define MONO_GC_PARAMS_NAME    "MONO_GC_PARAMS"
@@ -1068,6 +1063,22 @@ gboolean nursery_canaries_enabled (void);
                                                g_warning ("CORRUPT CANARY:\naddr->%p\ntype->%s\nexcepted->'%s'\nfound->'%s'\n", (char*) addr, sgen_client_vtable_get_name (SGEN_LOAD_VTABLE ((addr))), CANARY_STRING, canary_copy); \
                                } }
 
+/*
+ * This causes the compile to extend the liveness of 'v' till the call to dummy_use
+ */
+static inline void
+sgen_dummy_use (gpointer v)
+{
+#if defined(__GNUC__)
+       __asm__ volatile ("" : "=r"(v) : "r"(v));
+#elif defined(_MSC_VER)
+       static volatile gpointer ptr;
+       ptr = v;
+#else
+#error "Implement sgen_dummy_use for your compiler"
+#endif
+}
+
 #endif /* HAVE_SGEN_GC */
 
 #endif /* __MONO_SGENGC_H__ */
diff --git a/mono/sgen/sgen-gchandles.c b/mono/sgen/sgen-gchandles.c
new file mode 100644 (file)
index 0000000..34d2c0f
--- /dev/null
@@ -0,0 +1,629 @@
+/*
+ * sgen-gchandles.c: SGen GC handles.
+ *
+ * Copyright (C) 2015 Xamarin Inc
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License 2.0 as published by the Free Software Foundation;
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License 2.0 along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include "config.h"
+#ifdef HAVE_SGEN_GC
+
+#include "mono/sgen/sgen-gc.h"
+#include "mono/sgen/sgen-client.h"
+#include "mono/utils/mono-membar.h"
+
+#ifdef HEAVY_STATISTICS
+static volatile guint32 stat_gc_handles_allocated = 0;
+static volatile guint32 stat_gc_handles_max_allocated = 0;
+#endif
+
+#define BUCKETS (32 - MONO_GC_HANDLE_TYPE_SHIFT)
+#define MIN_BUCKET_BITS (5)
+#define MIN_BUCKET_SIZE (1 << MIN_BUCKET_BITS)
+
+/*
+ * A table of GC handle data, implementing a simple lock-free bitmap allocator.
+ *
+ * 'entries' is an array of pointers to buckets of increasing size. The first
+ * bucket has size 'MIN_BUCKET_SIZE', and each bucket is twice the size of the
+ * previous, i.e.:
+ *
+ *           |-------|-- MIN_BUCKET_SIZE
+ *    [0] -> xxxxxxxx
+ *    [1] -> xxxxxxxxxxxxxxxx
+ *    [2] -> xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+ *    ...
+ *
+ * The size of the spine, 'BUCKETS', is chosen so that the maximum number of
+ * entries is no less than the maximum index value of a GC handle.
+ *
+ * Each entry in a bucket is a pointer with two tag bits: if
+ * 'GC_HANDLE_OCCUPIED' returns true for a slot, then the slot is occupied; if
+ * so, then 'GC_HANDLE_VALID' gives whether the entry refers to a valid (1) or
+ * NULL (0) object reference. If the reference is valid, then the pointer is an
+ * object pointer. If the reference is NULL, and 'GC_HANDLE_TYPE_IS_WEAK' is
+ * true for 'type', then the pointer is a metadata pointer--this allows us to
+ * retrieve the domain ID of an expired weak reference in Mono.
+ *
+ * Finally, 'slot_hint' denotes the position of the last allocation, so that the
+ * whole array needn't be searched on every allocation.
+ */
+
+typedef struct {
+       volatile gpointer *volatile entries [BUCKETS];
+       volatile guint32 capacity;
+       volatile guint32 slot_hint;
+       volatile guint32 max_index;
+       guint8 type;
+} HandleData;
+
+static inline guint
+bucket_size (guint index)
+{
+       return 1 << (index + MIN_BUCKET_BITS);
+}
+
+/* Computes floor(log2(index + MIN_BUCKET_SIZE)) - 1, giving the index
+ * of the bucket containing a slot.
+ */
+static inline guint
+index_bucket (guint index)
+{
+#ifdef __GNUC__
+       return CHAR_BIT * sizeof (index) - __builtin_clz (index + MIN_BUCKET_SIZE) - 1 - MIN_BUCKET_BITS;
+#else
+       guint count = 0;
+       index += MIN_BUCKET_SIZE;
+       while (index) {
+               ++count;
+               index >>= 1;
+       }
+       return count - 1 - MIN_BUCKET_BITS;
+#endif
+}
+
+static inline void
+bucketize (guint index, guint *bucket, guint *offset)
+{
+       *bucket = index_bucket (index);
+       *offset = index - bucket_size (*bucket) + MIN_BUCKET_SIZE;
+}
+
+static void
+protocol_gchandle_update (int handle_type, gpointer link, gpointer old_value, gpointer new_value)
+{
+       gboolean old = MONO_GC_HANDLE_IS_OBJECT_POINTER (old_value);
+       gboolean new = MONO_GC_HANDLE_IS_OBJECT_POINTER (new_value);
+       gboolean track = handle_type == HANDLE_WEAK_TRACK;
+
+       if (!MONO_GC_HANDLE_TYPE_IS_WEAK (handle_type))
+               return;
+
+       if (!old && new)
+               binary_protocol_dislink_add (link, MONO_GC_REVEAL_POINTER (new_value, TRUE), track);
+       else if (old && !new)
+               binary_protocol_dislink_remove (link, track);
+       else if (old && new && old_value != new_value)
+               binary_protocol_dislink_update (link, MONO_GC_REVEAL_POINTER (new_value, TRUE), track);
+}
+
+/* Returns the new value in the slot, or NULL if the CAS failed. */
+static inline gpointer
+try_set_slot (volatile gpointer *slot, GCObject *obj, gpointer old, GCHandleType type)
+{
+       gpointer new;
+       if (obj)
+               new = MONO_GC_HANDLE_OBJECT_POINTER (obj, GC_HANDLE_TYPE_IS_WEAK (type));
+       else
+               new = MONO_GC_HANDLE_METADATA_POINTER (sgen_client_default_metadata (), GC_HANDLE_TYPE_IS_WEAK (type));
+       SGEN_ASSERT (0, new, "Why is the occupied bit not set?");
+       if (InterlockedCompareExchangePointer (slot, new, old) == old) {
+               protocol_gchandle_update (type, (gpointer)slot, old, new);
+               return new;
+       }
+       return NULL;
+}
+
+/* Try to claim a slot by setting its occupied bit. */
+static inline gboolean
+try_occupy_slot (HandleData *handles, guint bucket, guint offset, GCObject *obj, gboolean track)
+{
+       volatile gpointer *link_addr = &(handles->entries [bucket] [offset]);
+       if (MONO_GC_HANDLE_OCCUPIED (*link_addr))
+               return FALSE;
+       return try_set_slot (link_addr, obj, NULL, handles->type) != NULL;
+}
+
+static HandleData gc_handles [] = {
+       { { NULL }, 0, 0, 0, (HANDLE_WEAK) },
+       { { NULL }, 0, 0, 0, (HANDLE_WEAK_TRACK) },
+       { { NULL }, 0, 0, 0, (HANDLE_NORMAL) },
+       { { NULL }, 0, 0, 0, (HANDLE_PINNED) }
+};
+
+static HandleData *
+gc_handles_for_type (GCHandleType type)
+{
+       return type < HANDLE_TYPE_MAX ? &gc_handles [type] : NULL;
+}
+
+/* This assumes that the world is stopped. */
+void
+sgen_mark_normal_gc_handles (void *addr, SgenUserMarkFunc mark_func, void *gc_data)
+{
+       HandleData *handles = gc_handles_for_type (HANDLE_NORMAL);
+       size_t bucket, offset;
+       const guint max_bucket = index_bucket (handles->capacity);
+       guint32 index = 0;
+       const guint32 max_index = handles->max_index;
+       for (bucket = 0; bucket < max_bucket; ++bucket) {
+               volatile gpointer *entries = handles->entries [bucket];
+               for (offset = 0; offset < bucket_size (bucket); ++offset, ++index) {
+                       volatile gpointer *entry;
+                       gpointer hidden, revealed;
+                       /* No need to iterate beyond the largest index ever allocated. */
+                       if (index > max_index)
+                               return;
+                       entry = &entries [offset];
+                       hidden = *entry;
+                       revealed = MONO_GC_REVEAL_POINTER (hidden, FALSE);
+                       if (!MONO_GC_HANDLE_IS_OBJECT_POINTER (hidden))
+                               continue;
+                       mark_func ((MonoObject **)&revealed, gc_data);
+                       g_assert (revealed);
+                       *entry = MONO_GC_HANDLE_OBJECT_POINTER (revealed, FALSE);
+               }
+       }
+}
+
+static guint
+handle_data_find_unset (HandleData *handles, guint32 begin, guint32 end)
+{
+       guint index;
+       gint delta = begin < end ? +1 : -1;
+       for (index = begin; index < end; index += delta) {
+               guint bucket, offset;
+               volatile gpointer *entries;
+               bucketize (index, &bucket, &offset);
+               entries = handles->entries [bucket];
+               g_assert (entries);
+               if (!MONO_GC_HANDLE_OCCUPIED (entries [offset]))
+                       return index;
+       }
+       return -1;
+}
+
+/* Adds a bucket if necessary and possible. */
+static void
+handle_data_grow (HandleData *handles, guint32 old_capacity)
+{
+       const guint new_bucket = index_bucket (old_capacity);
+       const guint32 growth = bucket_size (new_bucket);
+       const guint32 new_capacity = old_capacity + growth;
+       gpointer *entries;
+       const size_t new_bucket_size = sizeof (**handles->entries) * growth;
+       if (handles->capacity >= new_capacity)
+               return;
+       entries = g_malloc0 (new_bucket_size);
+       if (handles->type == HANDLE_PINNED)
+               sgen_register_root ((char *)entries, new_bucket_size, SGEN_DESCRIPTOR_NULL, ROOT_TYPE_PINNED, MONO_ROOT_SOURCE_GC_HANDLE, "pinned gc handles");
+       /* The zeroing of the newly allocated bucket must be complete before storing
+        * the new bucket pointer.
+        */
+       mono_memory_write_barrier ();
+       if (InterlockedCompareExchangePointer ((volatile gpointer *)&handles->entries [new_bucket], entries, NULL) == NULL) {
+               /* It must not be the case that we succeeded in setting the bucket
+                * pointer, while someone else succeeded in changing the capacity.
+                */
+               if (InterlockedCompareExchange ((volatile gint32 *)&handles->capacity, new_capacity, old_capacity) != old_capacity)
+                       g_assert_not_reached ();
+               handles->slot_hint = old_capacity;
+               return;
+       }
+       /* Someone beat us to the allocation. */
+       if (handles->type == HANDLE_PINNED)
+               sgen_deregister_root ((char *)entries);
+       g_free (entries);
+}
+
+static guint32
+alloc_handle (HandleData *handles, GCObject *obj, gboolean track)
+{
+       guint index;
+       guint32 res;
+       guint bucket, offset;
+       guint32 capacity;
+       guint32 slot_hint;
+       guint32 max_index;
+       if (!handles->capacity)
+               handle_data_grow (handles, 0);
+retry:
+       capacity = handles->capacity;
+       slot_hint = handles->slot_hint;
+       index = handle_data_find_unset (handles, slot_hint, capacity);
+       if (index == -1)
+               index = handle_data_find_unset (handles, 0, slot_hint);
+       if (index == -1) {
+               handle_data_grow (handles, capacity);
+               goto retry;
+       }
+       handles->slot_hint = index;
+       bucketize (index, &bucket, &offset);
+       if (!try_occupy_slot (handles, bucket, offset, obj, track))
+               goto retry;
+       /* If a GC happens shortly after a new bucket is allocated, the entire
+        * bucket could be scanned even though it's mostly empty. To avoid this, we
+        * track the maximum index seen so far, so that we can skip the empty slots.
+        */
+       do {
+               max_index = handles->max_index;
+               if (index <= max_index)
+                       break;
+       } while (!InterlockedCompareExchange ((volatile gint32 *)&handles->max_index, index, max_index));
+#ifdef HEAVY_STATISTICS
+       InterlockedIncrement ((volatile gint32 *)&stat_gc_handles_allocated);
+       if (stat_gc_handles_allocated > stat_gc_handles_max_allocated)
+               stat_gc_handles_max_allocated = stat_gc_handles_allocated;
+#endif
+       /* Ensure that a GC handle cannot be given to another thread without the slot having been set. */
+       mono_memory_write_barrier ();
+       res = MONO_GC_HANDLE (index, handles->type);
+       sgen_client_gchandle_created (handles->type, obj, res);
+       return res;
+}
+
+static gboolean
+object_older_than (GCObject *object, int generation)
+{
+       return generation == GENERATION_NURSERY && !sgen_ptr_in_nursery (object);
+}
+
+/*
+ * Maps a function over all GC handles.
+ * This assumes that the world is stopped!
+ */
+void
+sgen_gchandle_iterate (GCHandleType handle_type, int max_generation, SgenGCHandleIterateCallback callback, gpointer user)
+{
+       HandleData *handle_data = gc_handles_for_type (handle_type);
+       size_t bucket, offset;
+       guint max_bucket = index_bucket (handle_data->capacity);
+       guint32 index = 0;
+       guint32 max_index = handle_data->max_index;
+       /* If a new bucket has been allocated, but the capacity has not yet been
+        * increased, nothing can yet have been allocated in the bucket because the
+        * world is stopped, so we shouldn't miss any handles during iteration.
+        */
+       for (bucket = 0; bucket < max_bucket; ++bucket) {
+               volatile gpointer *entries = handle_data->entries [bucket];
+               for (offset = 0; offset < bucket_size (bucket); ++offset, ++index) {
+                       gpointer hidden;
+                       gpointer result;
+                       /* Table must contain no garbage pointers. */
+                       gboolean occupied;
+                       /* No need to iterate beyond the largest index ever allocated. */
+                       if (index > max_index)
+                                       return;
+                       hidden = entries [offset];
+                       occupied = MONO_GC_HANDLE_OCCUPIED (hidden);
+                       g_assert (hidden ? occupied : !occupied);
+                       if (!occupied)
+                               continue;
+                       result = callback (hidden, handle_type, max_generation, user);
+                       if (result)
+                               SGEN_ASSERT (0, MONO_GC_HANDLE_OCCUPIED (result), "Why did the callback return an unoccupied entry?");
+                       else
+                               HEAVY_STAT (InterlockedDecrement ((volatile gint32 *)&stat_gc_handles_allocated));
+                       protocol_gchandle_update (handle_type, (gpointer)&entries [offset], hidden, result);
+                       entries [offset] = result;
+               }
+       }
+}
+
+/**
+ * mono_gchandle_new:
+ * @obj: managed object to get a handle for
+ * @pinned: whether the object should be pinned
+ *
+ * This returns a handle that wraps the object, this is used to keep a
+ * reference to a managed object from the unmanaged world and preventing the
+ * object from being disposed.
+ * 
+ * If @pinned is false the address of the object can not be obtained, if it is
+ * true the address of the object can be obtained.  This will also pin the
+ * object so it will not be possible by a moving garbage collector to move the
+ * object. 
+ * 
+ * Returns: a handle that can be used to access the object from
+ * unmanaged code.
+ */
+guint32
+mono_gchandle_new (GCObject *obj, gboolean pinned)
+{
+       return alloc_handle (gc_handles_for_type (pinned ? HANDLE_PINNED : HANDLE_NORMAL), obj, FALSE);
+}
+
+/**
+ * mono_gchandle_new_weakref:
+ * @obj: managed object to get a handle for
+ * @pinned: whether the object should be pinned
+ *
+ * This returns a weak handle that wraps the object, this is used to
+ * keep a reference to a managed object from the unmanaged world.
+ * Unlike the mono_gchandle_new the object can be reclaimed by the
+ * garbage collector.  In this case the value of the GCHandle will be
+ * set to zero.
+ * 
+ * If @pinned is false the address of the object can not be obtained, if it is
+ * true the address of the object can be obtained.  This will also pin the
+ * object so it will not be possible by a moving garbage collector to move the
+ * object. 
+ * 
+ * Returns: a handle that can be used to access the object from
+ * unmanaged code.
+ */
+guint32
+mono_gchandle_new_weakref (GCObject *obj, gboolean track_resurrection)
+{
+       return alloc_handle (gc_handles_for_type (track_resurrection ? HANDLE_WEAK_TRACK : HANDLE_WEAK), obj, track_resurrection);
+}
+
+static GCObject *
+link_get (volatile gpointer *link_addr, gboolean is_weak)
+{
+       void *volatile *link_addr_volatile;
+       void *ptr;
+       GCObject *obj;
+retry:
+       link_addr_volatile = link_addr;
+       ptr = (void*)*link_addr_volatile;
+       /*
+        * At this point we have a hidden pointer.  If the GC runs
+        * here, it will not recognize the hidden pointer as a
+        * reference, and if the object behind it is not referenced
+        * elsewhere, it will be freed.  Once the world is restarted
+        * we reveal the pointer, giving us a pointer to a freed
+        * object.  To make sure we don't return it, we load the
+        * hidden pointer again.  If it's still the same, we can be
+        * sure the object reference is valid.
+        */
+       if (ptr && MONO_GC_HANDLE_IS_OBJECT_POINTER (ptr))
+               obj = (GCObject *)MONO_GC_REVEAL_POINTER (ptr, is_weak);
+       else
+               return NULL;
+
+       /* Note [dummy use]:
+        *
+        * If a GC happens here, obj needs to be on the stack or in a
+        * register, so we need to prevent this from being reordered
+        * wrt the check.
+        */
+       sgen_dummy_use (obj);
+       mono_memory_barrier ();
+
+       if (is_weak)
+               sgen_client_ensure_weak_gchandles_accessible ();
+
+       if ((void*)*link_addr_volatile != ptr)
+               goto retry;
+
+       return obj;
+}
+
+/**
+ * mono_gchandle_get_target:
+ * @gchandle: a GCHandle's handle.
+ *
+ * The handle was previously created by calling mono_gchandle_new or
+ * mono_gchandle_new_weakref. 
+ *
+ * Returns a pointer to the MonoObject represented by the handle or
+ * NULL for a collected object if using a weakref handle.
+ */
+GCObject*
+mono_gchandle_get_target (guint32 gchandle)
+{
+       guint index = MONO_GC_HANDLE_SLOT (gchandle);
+       guint type = MONO_GC_HANDLE_TYPE (gchandle);
+       HandleData *handles = gc_handles_for_type (type);
+       /* Invalid handles are possible; accessing one should produce NULL. (#34276) */
+       if (!handles)
+               return NULL;
+       guint bucket, offset;
+       g_assert (index < handles->capacity);
+       bucketize (index, &bucket, &offset);
+       return link_get (&handles->entries [bucket] [offset], MONO_GC_HANDLE_TYPE_IS_WEAK (type));
+}
+
+void
+sgen_gchandle_set_target (guint32 gchandle, GCObject *obj)
+{
+       guint index = MONO_GC_HANDLE_SLOT (gchandle);
+       guint type = MONO_GC_HANDLE_TYPE (gchandle);
+       HandleData *handles = gc_handles_for_type (type);
+       if (!handles)
+               return;
+       guint bucket, offset;
+       gpointer slot;
+
+       g_assert (index < handles->capacity);
+       bucketize (index, &bucket, &offset);
+
+       do {
+               slot = handles->entries [bucket] [offset];
+               SGEN_ASSERT (0, MONO_GC_HANDLE_OCCUPIED (slot), "Why are we setting the target on an unoccupied slot?");
+       } while (!try_set_slot (&handles->entries [bucket] [offset], obj, slot, handles->type));
+}
+
+static gpointer
+mono_gchandle_slot_metadata (volatile gpointer *slot_addr, gboolean is_weak)
+{
+       gpointer slot;
+       gpointer metadata;
+retry:
+       slot = *slot_addr;
+       if (!MONO_GC_HANDLE_OCCUPIED (slot))
+               return NULL;
+       if (MONO_GC_HANDLE_IS_OBJECT_POINTER (slot)) {
+               GCObject *obj = MONO_GC_REVEAL_POINTER (slot, is_weak);
+               /* See note [dummy use]. */
+               sgen_dummy_use (obj);
+               /*
+                * FIXME: The compiler could technically not carry a reference to obj around
+                * at this point and recompute it later, in which case we would still use
+                * it.
+                */
+               if (*slot_addr != slot)
+                       goto retry;
+               return sgen_client_metadata_for_object (obj);
+       }
+       metadata = MONO_GC_REVEAL_POINTER (slot, is_weak);
+       /* See note [dummy use]. */
+       sgen_dummy_use (metadata);
+       if (*slot_addr != slot)
+               goto retry;
+       return metadata;
+}
+
+gpointer
+sgen_gchandle_get_metadata (guint32 gchandle)
+{
+       guint index = MONO_GC_HANDLE_SLOT (gchandle);
+       guint type = MONO_GC_HANDLE_TYPE (gchandle);
+       HandleData *handles = gc_handles_for_type (type);
+       if (!handles)
+               return NULL;
+       guint bucket, offset;
+       if (index >= handles->capacity)
+               return NULL;
+       bucketize (index, &bucket, &offset);
+       return mono_gchandle_slot_metadata (&handles->entries [bucket] [offset], MONO_GC_HANDLE_TYPE_IS_WEAK (type));
+}
+
+/**
+ * mono_gchandle_free:
+ * @gchandle: a GCHandle's handle.
+ *
+ * Frees the @gchandle handle.  If there are no outstanding
+ * references, the garbage collector can reclaim the memory of the
+ * object wrapped. 
+ */
+void
+mono_gchandle_free (guint32 gchandle)
+{
+       guint index = MONO_GC_HANDLE_SLOT (gchandle);
+       guint type = MONO_GC_HANDLE_TYPE (gchandle);
+       HandleData *handles = gc_handles_for_type (type);
+       if (!handles)
+               return;
+       guint bucket, offset;
+       gpointer slot;
+       bucketize (index, &bucket, &offset);
+       slot = handles->entries [bucket] [offset];
+       if (index < handles->capacity && MONO_GC_HANDLE_OCCUPIED (slot)) {
+               handles->entries [bucket] [offset] = NULL;
+               protocol_gchandle_update (handles->type, (gpointer)&handles->entries [bucket] [offset], slot, NULL);
+               HEAVY_STAT (InterlockedDecrement ((volatile gint32 *)&stat_gc_handles_allocated));
+       } else {
+               /* print a warning? */
+       }
+       sgen_client_gchandle_destroyed (handles->type, gchandle);
+}
+
+/*
+ * Returns whether to remove the link from its hash.
+ */
+static gpointer
+null_link_if_necessary (gpointer hidden, GCHandleType handle_type, int max_generation, gpointer user)
+{
+       const gboolean is_weak = GC_HANDLE_TYPE_IS_WEAK (handle_type);
+       ScanCopyContext *ctx = (ScanCopyContext *)user;
+       GCObject *obj;
+       GCObject *copy;
+
+       if (!MONO_GC_HANDLE_VALID (hidden))
+               return hidden;
+
+       obj = MONO_GC_REVEAL_POINTER (hidden, MONO_GC_HANDLE_TYPE_IS_WEAK (handle_type));
+       SGEN_ASSERT (0, obj, "Why is the hidden pointer NULL?");
+
+       if (object_older_than (obj, max_generation))
+               return hidden;
+
+       if (major_collector.is_object_live (obj))
+               return hidden;
+
+       /* Clear link if object is ready for finalization. This check may be redundant wrt is_object_live(). */
+       if (sgen_gc_is_object_ready_for_finalization (obj))
+               return MONO_GC_HANDLE_METADATA_POINTER (sgen_client_metadata_for_object (obj), is_weak);
+
+       copy = obj;
+       ctx->ops->copy_or_mark_object (&copy, ctx->queue);
+       SGEN_ASSERT (0, copy, "Why couldn't we copy the object?");
+       /* Update link if object was moved. */
+       return MONO_GC_HANDLE_OBJECT_POINTER (copy, is_weak);
+}
+
+/* LOCKING: requires that the GC lock is held */
+void
+sgen_null_link_in_range (int generation, ScanCopyContext ctx, gboolean track)
+{
+       sgen_gchandle_iterate (track ? HANDLE_WEAK_TRACK : HANDLE_WEAK, generation, null_link_if_necessary, &ctx);
+}
+
+typedef struct {
+       SgenObjectPredicateFunc predicate;
+       gpointer data;
+} WeakLinkAlivePredicateClosure;
+
+static gpointer
+null_link_if (gpointer hidden, GCHandleType handle_type, int max_generation, gpointer user)
+{
+       WeakLinkAlivePredicateClosure *closure = (WeakLinkAlivePredicateClosure *)user;
+       GCObject *obj;
+
+       if (!MONO_GC_HANDLE_VALID (hidden))
+               return hidden;
+
+       obj = MONO_GC_REVEAL_POINTER (hidden, MONO_GC_HANDLE_TYPE_IS_WEAK (handle_type));
+       SGEN_ASSERT (0, obj, "Why is the hidden pointer NULL?");
+
+       if (object_older_than (obj, max_generation))
+               return hidden;
+
+       if (closure->predicate (obj, closure->data))
+               return NULL;
+
+       return hidden;
+}
+
+/* LOCKING: requires that the GC lock is held */
+void
+sgen_null_links_if (SgenObjectPredicateFunc predicate, void *data, int generation, gboolean track)
+{
+       WeakLinkAlivePredicateClosure closure = { predicate, data };
+       sgen_gchandle_iterate (track ? HANDLE_WEAK_TRACK : HANDLE_WEAK, generation, null_link_if, &closure);
+}
+
+void
+sgen_init_gchandles (void)
+{
+#ifdef HEAVY_STATISTICS
+       mono_counters_register ("GC handles allocated", MONO_COUNTER_GC | MONO_COUNTER_UINT, (void *)&stat_gc_handles_allocated);
+       mono_counters_register ("max GC handles allocated", MONO_COUNTER_GC | MONO_COUNTER_UINT, (void *)&stat_gc_handles_max_allocated);
+#endif
+}
+
+#endif
index 70cf34fb8a9a6e26828a8453f0af92181c063d5b..ea1ba4692ea64a635a639476aba2be9c22ba16d6 100644 (file)
@@ -92,6 +92,12 @@ static char *los_segment = NULL;
 static int los_segment_index = 0;
 #endif
 
+mword
+sgen_los_object_size (LOSObject *obj)
+{
+       return obj->size & ~1L;
+}
+
 #ifdef LOS_CONSISTENCY_CHECK
 static void
 los_consistency_check (void)
@@ -102,12 +108,13 @@ los_consistency_check (void)
        mword memory_usage = 0;
 
        for (obj = los_object_list; obj; obj = obj->next) {
-               char *end = obj->data + obj->size;
+               mword obj_size = sgen_los_object_size (obj);
+               char *end = obj->data + obj_size;
                int start_index, num_chunks;
 
-               memory_usage += obj->size;
+               memory_usage += obj_size;
 
-               if (obj->size > LOS_SECTION_OBJECT_LIMIT)
+               if (obj_size > LOS_SECTION_OBJECT_LIMIT)
                        continue;
 
                section = LOS_SECTION_FOR_OBJ (obj);
@@ -115,7 +122,7 @@ los_consistency_check (void)
                g_assert (end <= (char*)section + LOS_SECTION_SIZE);
 
                start_index = LOS_CHUNK_INDEX (obj, section);
-               num_chunks = (obj->size + sizeof (LOSObject) + LOS_CHUNK_SIZE - 1) >> LOS_CHUNK_BITS;
+               num_chunks = (obj_size + sizeof (LOSObject) + LOS_CHUNK_SIZE - 1) >> LOS_CHUNK_BITS;
                for (i = start_index; i < start_index + num_chunks; ++i)
                        g_assert (!section->free_chunk_map [i]);
        }
@@ -296,9 +303,9 @@ sgen_los_free_object (LOSObject *obj)
        SGEN_ASSERT (0, !obj->cardtable_mod_union, "We should never free a LOS object with a mod-union table.");
 
 #ifndef LOS_DUMMY
-       size_t size = obj->size;
-       SGEN_LOG (4, "Freed large object %p, size %lu", obj->data, (unsigned long)obj->size);
-       binary_protocol_empty (obj->data, obj->size);
+       mword size = sgen_los_object_size (obj);
+       SGEN_LOG (4, "Freed large object %p, size %lu", obj->data, (unsigned long)size);
+       binary_protocol_empty (obj->data, size);
 
        los_memory_usage -= size;
        los_num_objects--;
@@ -418,7 +425,7 @@ sgen_los_sweep (void)
                SGEN_ASSERT (0, !SGEN_OBJECT_IS_PINNED (bigobj->data), "Who pinned a LOS object?");
 
                if (bigobj->cardtable_mod_union) {
-                       sgen_card_table_free_mod_union (bigobj->cardtable_mod_union, (char*)bigobj->data, bigobj->size);
+                       sgen_card_table_free_mod_union (bigobj->cardtable_mod_union, (char*)bigobj->data, sgen_los_object_size (bigobj));
                        bigobj->cardtable_mod_union = NULL;
                }
 
@@ -502,7 +509,7 @@ sgen_ptr_is_in_los (char *ptr, char **start)
 
        *start = NULL;
        for (obj = los_object_list; obj; obj = obj->next) {
-               char *end = (char*)obj->data + obj->size;
+               char *end = (char*)obj->data + sgen_los_object_size (obj);
 
                if (ptr >= (char*)obj->data && ptr < end) {
                        *start = (char*)obj->data;
@@ -518,7 +525,7 @@ sgen_los_iterate_objects (IterateObjectCallbackFunc cb, void *user_data)
        LOSObject *obj;
 
        for (obj = los_object_list; obj; obj = obj->next)
-               cb (obj->data, obj->size, user_data);
+               cb (obj->data, sgen_los_object_size (obj), user_data);
 }
 
 gboolean
@@ -543,7 +550,7 @@ mono_sgen_los_describe_pointer (char *ptr)
                mword size;
                gboolean pinned;
 
-               if ((char*)obj->data > ptr || (char*)obj->data + obj->size <= ptr)
+               if ((char*)obj->data > ptr || (char*)obj->data + sgen_los_object_size (obj) <= ptr)
                        continue;
 
                size = sgen_los_object_size (obj);
@@ -573,24 +580,25 @@ sgen_los_iterate_live_block_ranges (sgen_cardtable_block_callback callback)
        for (obj = los_object_list; obj; obj = obj->next) {
                GCVTable vt = SGEN_LOAD_VTABLE (obj->data);
                if (SGEN_VTABLE_HAS_REFERENCES (vt))
-                       callback ((mword)obj->data, (mword)obj->size);
+                       callback ((mword)obj->data, sgen_los_object_size (obj));
        }
 }
 
 static guint8*
 get_cardtable_mod_union_for_object (LOSObject *obj)
 {
+       mword size = sgen_los_object_size (obj);
        guint8 *mod_union = obj->cardtable_mod_union;
        guint8 *other;
        if (mod_union)
                return mod_union;
-       mod_union = sgen_card_table_alloc_mod_union ((char*)obj->data, obj->size);
+       mod_union = sgen_card_table_alloc_mod_union ((char*)obj->data, size);
        other = SGEN_CAS_PTR ((gpointer*)&obj->cardtable_mod_union, mod_union, NULL);
        if (!other) {
                SGEN_ASSERT (0, obj->cardtable_mod_union == mod_union, "Why did CAS not replace?");
                return mod_union;
        }
-       sgen_card_table_free_mod_union (mod_union, (char*)obj->data, obj->size);
+       sgen_card_table_free_mod_union (mod_union, (char*)obj->data, size);
        return other;
 }
 
@@ -615,7 +623,7 @@ sgen_los_scan_card_table (gboolean mod_union, ScanCopyContext ctx)
                        cards = NULL;
                }
 
-               sgen_cardtable_scan_object (obj->data, obj->size, cards, mod_union, ctx);
+               sgen_cardtable_scan_object (obj->data, sgen_los_object_size (obj), cards, mod_union, ctx);
        }
 }
 
@@ -629,7 +637,7 @@ sgen_los_count_cards (long long *num_total_cards, long long *num_marked_cards)
        for (obj = los_object_list; obj; obj = obj->next) {
                int i;
                guint8 *cards = sgen_card_table_get_card_scan_address ((mword) obj->data);
-               guint8 *cards_end = sgen_card_table_get_card_scan_address ((mword) obj->data + obj->size - 1);
+               guint8 *cards_end = sgen_card_table_get_card_scan_address ((mword) obj->data + sgen_los_object_size (obj) - 1);
                mword num_cards = (cards_end - cards) + 1;
 
                if (!SGEN_OBJECT_HAS_REFERENCES (obj->data))
@@ -655,16 +663,10 @@ sgen_los_update_cardtable_mod_union (void)
                if (!SGEN_OBJECT_HAS_REFERENCES (obj->data))
                        continue;
                sgen_card_table_update_mod_union (get_cardtable_mod_union_for_object (obj),
-                               (char*)obj->data, obj->size, NULL);
+                               (char*)obj->data, sgen_los_object_size (obj), NULL);
        }
 }
 
-mword
-sgen_los_object_size (LOSObject *obj)
-{
-       return obj->size & ~1L;
-}
-
 LOSObject*
 sgen_los_header_for_object (GCObject *data)
 {
index b2061da8ca18b15dce41354c0c054571493bf156..1ed9eb8a4bb454b793c29918310c8e5970014955 100644 (file)
@@ -85,8 +85,19 @@ major_scan_object_no_mark_concurrent (GCObject *start, SgenDescriptor desc, Sgen
        major_scan_object_no_mark_concurrent_anywhere (start, desc, queue);
 }
 
-#undef ADD_TO_GLOBAL_REMSET
-#define ADD_TO_GLOBAL_REMSET(object,ptr,target)        sgen_add_to_global_remset ((ptr), (target))
+#undef HANDLE_PTR
+#define HANDLE_PTR(ptr,obj)     do {                                    \
+                void *__old = *(ptr);                                   \
+                binary_protocol_scan_process_reference ((obj), (ptr), __old); \
+                if (__old) {                                            \
+                        gboolean __still_in_nursery = major_copy_or_mark_object_no_evacuation ((ptr), __old, queue); \
+                        if (G_UNLIKELY (__still_in_nursery && !sgen_ptr_in_nursery ((ptr)) && !SGEN_OBJECT_IS_CEMENTED (*(ptr)))) { \
+                                void *__copy = *(ptr);                  \
+                                sgen_add_to_global_remset ((ptr), __copy); \
+                        }                                              \
+                }                                                       \
+        } while (0)
+
 
 static void
 major_scan_vtype_concurrent_finish (GCObject *full_object, char *start, SgenDescriptor desc, SgenGrayQueue *queue BINARY_PROTOCOL_ARG (size_t size))
index fe3ab1a1742b5bc311b41e7cb65aca8a7d3ad471..55f40aba76e646cf0f18e0f0fbc4627b8c259d5a 100644 (file)
@@ -559,12 +559,14 @@ ms_alloc_block (int size_index, gboolean pinned, gboolean has_references)
        add_free_block (free_blocks, size_index, info);
 
        /*
-        * This is the only place where the `allocated_blocks` array can potentially grow.
-        * We need to make sure concurrent sweep isn't running when that happens, so in that
-        * specific case we just wait for sweep to finish.
+        * Adding to the allocated_blocks array is racy with the removal of nulls when
+        * sweeping. We wait for sweep to finish to avoid that.
+        *
+        * The memory barrier here and in `sweep_job_func()` are required because we need
+        * `allocated_blocks` synchronized between this and the sweep thread.
         */
-       if (sgen_pointer_queue_will_grow (&allocated_blocks))
-               major_finish_sweep_checking ();
+       major_finish_sweep_checking ();
+       mono_memory_barrier ();
 
        sgen_pointer_queue_add (&allocated_blocks, BLOCK_TAG (info));
 
@@ -739,7 +741,9 @@ free_pinned_object (GCObject *obj, size_t size)
 static GCObject*
 major_alloc_degraded (GCVTable vtable, size_t size)
 {
-       GCObject *obj = alloc_obj (vtable, size, FALSE, SGEN_VTABLE_HAS_REFERENCES (vtable));
+       GCObject *obj;
+
+       obj = alloc_obj (vtable, size, FALSE, SGEN_VTABLE_HAS_REFERENCES (vtable));
        if (G_LIKELY (obj)) {
                HEAVY_STAT (++stat_objects_alloced_degraded);
                HEAVY_STAT (stat_bytes_alloced_degraded += size);
@@ -1619,6 +1623,7 @@ sweep_job_func (void *thread_data_untyped, SgenThreadPoolJob *job)
        }
 
        sgen_pointer_queue_remove_nulls (&allocated_blocks);
+       mono_memory_barrier ();
 
        sweep_finish ();
 
index 614441747dd0f64ba755454ee3d73b64815d657e..e655347e4a22c51cdbbd15b4c0a7e7bb776fd6f5 100644 (file)
@@ -178,6 +178,7 @@ sgen_memgov_collection_end (int generation, GGTimingInfo* info, int info_count)
                if (info[i].generation != -1)
                        sgen_client_log_timing (&info [i], last_major_num_sections, last_los_memory_usage);
        }
+       last_major_num_sections = major_collector.get_num_major_sections ();
 }
 
 /*
index c546bac45c895b4aa2f07b9d35b47e5f31845a12..9f8f9bcd6eb9e82cf87c94235d7d3732dd6e6150 100644 (file)
@@ -6,20 +6,18 @@ IS_VTABLE_MATCH (FALSE)
 END_PROTOCOL_ENTRY
 
 BEGIN_PROTOCOL_ENTRY2 (binary_protocol_collection_begin, TYPE_INT, index, TYPE_INT, generation)
-FLUSH ()
 DEFAULT_PRINT ()
 IS_ALWAYS_MATCH (TRUE)
 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
 IS_VTABLE_MATCH (FALSE)
-END_PROTOCOL_ENTRY
+END_PROTOCOL_ENTRY_FLUSH
 
 BEGIN_PROTOCOL_ENTRY4 (binary_protocol_collection_end, TYPE_INT, index, TYPE_INT, generation, TYPE_LONGLONG, num_scanned_objects, TYPE_LONGLONG, num_unique_scanned_objects)
-FLUSH()
 CUSTOM_PRINT (printf ("%d generation %d scanned %lld unique %lld %0.2f%%", entry->index, entry->generation, entry->num_scanned_objects, entry->num_unique_scanned_objects, entry->num_unique_scanned_objects ? (100.0 * (double) entry->num_scanned_objects / (double) entry->num_unique_scanned_objects) : 0.0))
 IS_ALWAYS_MATCH (TRUE)
 MATCH_INDEX (BINARY_PROTOCOL_MATCH)
 IS_VTABLE_MATCH (FALSE)
-END_PROTOCOL_ENTRY
+END_PROTOCOL_ENTRY_FLUSH
 
 BEGIN_PROTOCOL_ENTRY0 (binary_protocol_concurrent_start)
 DEFAULT_PRINT ()
@@ -309,24 +307,24 @@ MATCH_INDEX (BINARY_PROTOCOL_MATCH)
 IS_VTABLE_MATCH (FALSE)
 END_PROTOCOL_ENTRY
 
-BEGIN_PROTOCOL_ENTRY_HEAVY4 (binary_protocol_dislink_update, TYPE_POINTER, link, TYPE_POINTER, obj, TYPE_BOOL, track, TYPE_BOOL, staged)
-CUSTOM_PRINT(entry->obj ? printf ("link %p obj %p staged %d track %d", entry->link, entry->obj, entry->staged, entry->track) : printf ("link %p obj %p staged %d", entry->link, entry->obj, entry->staged))
+BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_dislink_add, TYPE_POINTER, link, TYPE_POINTER, obj, TYPE_BOOL, track)
+DEFAULT_PRINT ()
 IS_ALWAYS_MATCH (FALSE)
 MATCH_INDEX (ptr == entry->link ? 0 : ptr == entry->obj ? 1 : BINARY_PROTOCOL_NO_MATCH)
 IS_VTABLE_MATCH (FALSE)
 END_PROTOCOL_ENTRY_HEAVY
 
-BEGIN_PROTOCOL_ENTRY_HEAVY4 (binary_protocol_dislink_update_staged, TYPE_POINTER, link, TYPE_POINTER, obj, TYPE_BOOL, track, TYPE_INT, index)
-CUSTOM_PRINT(entry->obj ? printf ("link %p obj %p index %d track %d", entry->link, entry->obj, entry->index, entry->track) : printf ("link %p obj %p index %d", entry->link, entry->obj, entry->index))
+BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_dislink_update, TYPE_POINTER, link, TYPE_POINTER, obj, TYPE_BOOL, track)
+CUSTOM_PRINT(entry->obj ? printf ("link %p obj %p track %d", entry->link, entry->obj, entry->track) : printf ("link %p obj %p", entry->link, entry->obj))
 IS_ALWAYS_MATCH (FALSE)
 MATCH_INDEX (ptr == entry->link ? 0 : ptr == entry->obj ? 1 : BINARY_PROTOCOL_NO_MATCH)
 IS_VTABLE_MATCH (FALSE)
 END_PROTOCOL_ENTRY_HEAVY
 
-BEGIN_PROTOCOL_ENTRY_HEAVY3 (binary_protocol_dislink_process_staged, TYPE_POINTER, link, TYPE_POINTER, obj, TYPE_INT, index)
+BEGIN_PROTOCOL_ENTRY_HEAVY2 (binary_protocol_dislink_remove, TYPE_POINTER, link, TYPE_BOOL, track)
 DEFAULT_PRINT ()
 IS_ALWAYS_MATCH (FALSE)
-MATCH_INDEX (ptr == entry->link ? 0 : ptr == entry->obj ? 1 : BINARY_PROTOCOL_NO_MATCH)
+MATCH_INDEX (ptr == entry->link ? 0 : BINARY_PROTOCOL_NO_MATCH)
 IS_VTABLE_MATCH (FALSE)
 END_PROTOCOL_ENTRY_HEAVY
 
@@ -373,8 +371,6 @@ END_PROTOCOL_ENTRY_HEAVY
 #undef BEGIN_PROTOCOL_ENTRY_HEAVY5
 #undef BEGIN_PROTOCOL_ENTRY_HEAVY6
 
-#undef FLUSH
-
 #undef DEFAULT_PRINT
 #undef CUSTOM_PRINT
 
@@ -383,4 +379,5 @@ END_PROTOCOL_ENTRY_HEAVY
 #undef IS_VTABLE_MATCH
 
 #undef END_PROTOCOL_ENTRY
+#undef END_PROTOCOL_ENTRY_FLUSH
 #undef END_PROTOCOL_ENTRY_HEAVY
index cb512fedf4fb503bc711709d5237d3134544dad0..4ea1ac391c9a4e083a5fa3f842d1e8ed3548ff53 100644 (file)
@@ -386,9 +386,6 @@ protocol_entry (unsigned char type, gpointer data, int size)
                int __size = sizeof (PROTOCOL_STRUCT(method)); \
                CLIENT_PROTOCOL_NAME (method) (f1, f2, f3, f4, f5, f6);
 
-#define FLUSH() \
-               binary_protocol_flush_buffers (FALSE);
-
 #define DEFAULT_PRINT()
 #define CUSTOM_PRINT(_)
 
@@ -400,6 +397,11 @@ protocol_entry (unsigned char type, gpointer data, int size)
                protocol_entry (__type, __data, __size); \
        }
 
+#define END_PROTOCOL_ENTRY_FLUSH \
+               protocol_entry (__type, __data, __size); \
+               binary_protocol_flush_buffers (FALSE); \
+       }
+
 #ifdef SGEN_HEAVY_BINARY_PROTOCOL
 #define BEGIN_PROTOCOL_ENTRY_HEAVY0(method) \
        BEGIN_PROTOCOL_ENTRY0 (method)
index 2b7176e5f2d062118f01c0c1cc51b24e616d0bbc..220418e8167deea8101378669fffc325ee38be66 100644 (file)
@@ -55,8 +55,6 @@ enum {
 #define BEGIN_PROTOCOL_ENTRY_HEAVY5(method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5) PROTOCOL_ID(method),
 #define BEGIN_PROTOCOL_ENTRY_HEAVY6(method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5,t6,f6) PROTOCOL_ID(method),
 
-#define FLUSH()
-
 #define DEFAULT_PRINT()
 #define CUSTOM_PRINT(_)
 
@@ -65,6 +63,7 @@ enum {
 #define IS_VTABLE_MATCH(_)
 
 #define END_PROTOCOL_ENTRY
+#define END_PROTOCOL_ENTRY_FLUSH
 #define END_PROTOCOL_ENTRY_HEAVY
 
 #include "sgen-protocol-def.h"
@@ -126,8 +125,6 @@ enum {
 #define BEGIN_PROTOCOL_ENTRY_HEAVY6(method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5,t6,f6) \
        BEGIN_PROTOCOL_ENTRY6 (method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5,t6,f6)
 
-#define FLUSH()
-
 #define DEFAULT_PRINT()
 #define CUSTOM_PRINT(_)
 
@@ -136,6 +133,7 @@ enum {
 #define IS_VTABLE_MATCH(_)
 
 #define END_PROTOCOL_ENTRY
+#define END_PROTOCOL_ENTRY_FLUSH
 #define END_PROTOCOL_ENTRY_HEAVY
 
 #include "sgen-protocol-def.h"
@@ -198,8 +196,6 @@ void binary_protocol_flush_buffers (gboolean force);
        static inline void method (t1 f1, t2 f2, t3 f3, t4 f4, t5 f5, t6 f6) {}
 #endif
 
-#define FLUSH()
-
 #define DEFAULT_PRINT()
 #define CUSTOM_PRINT(_)
 
@@ -208,6 +204,7 @@ void binary_protocol_flush_buffers (gboolean force);
 #define IS_VTABLE_MATCH(_)
 
 #define END_PROTOCOL_ENTRY
+#define END_PROTOCOL_ENTRY_FLUSH
 #define END_PROTOCOL_ENTRY_HEAVY
 
 #include "sgen-protocol-def.h"
index 298eab9452258f89e9a7d02eefb738b42b8734ab..629b19a415159e6cf4b56982b271aa18cc0e3b7a 100644 (file)
@@ -158,8 +158,8 @@ sgen_thread_pool_init (int num_threads, SgenThreadPoolThreadInitFunc init_func,
        SGEN_ASSERT (0, num_threads == 1, "We only support 1 thread pool thread for now.");
 
        mono_mutex_init (&lock);
-       mono_cond_init (&work_cond, NULL);
-       mono_cond_init (&done_cond, NULL);
+       mono_cond_init (&work_cond, 0);
+       mono_cond_init (&done_cond, 0);
 
        thread_init_func = init_func;
        idle_job_func = idle_func;
index b26234298473a093bf81712b97b50e6fa6515506..4f096f697f04b0b7d69695a2074de740ae4c7256 100644 (file)
@@ -39,12 +39,11 @@ static gboolean workers_distribute_gray_queue_inited;
 /*
  * Allowed transitions:
  *
- * | from \ to          | NOT WORKING | WORKING | WORK ENQUEUED | NURSERY COLLECTION |
- * |--------------------+-------------+---------+---------------+--------------------|
- * | NOT WORKING        | -           | -       | main          | main               |
- * | WORKING            | worker      | -       | main          | main               |
- * | WORK ENQUEUED      | -           | worker  | -             | main               |
- * | NURSERY COLLECTION | -           | -       | main          | -                  |
+ * | from \ to          | NOT WORKING | WORKING | WORK ENQUEUED |
+ * |--------------------+-------------+---------+---------------+
+ * | NOT WORKING        | -           | -       | main          |
+ * | WORKING            | worker      | -       | main          |
+ * | WORK ENQUEUED      | -           | worker  | -             |
  *
  * The WORK ENQUEUED state guarantees that the worker thread will inspect the queue again at
  * least once.  Only after looking at the queue will it go back to WORKING, and then,
@@ -56,8 +55,7 @@ static gboolean workers_distribute_gray_queue_inited;
 enum {
        STATE_NOT_WORKING,
        STATE_WORKING,
-       STATE_WORK_ENQUEUED,
-       STATE_NURSERY_COLLECTION
+       STATE_WORK_ENQUEUED
 };
 
 typedef gint32 State;
@@ -82,20 +80,14 @@ set_state (State old_state, State new_state)
        return InterlockedCompareExchange (&workers_state, new_state, old_state) == old_state;
 }
 
-static void
-assert_nursery_collection (State state)
-{
-       SGEN_ASSERT (0, state == STATE_NURSERY_COLLECTION, "Must be in the nursery collection state");
-}
-
 static gboolean
 state_is_working_or_enqueued (State state)
 {
        return state == STATE_WORKING || state == STATE_WORK_ENQUEUED;
 }
 
-static void
-workers_signal_enqueue_work (gboolean from_nursery_collection)
+void
+sgen_workers_ensure_awake (void)
 {
        State old_state;
        gboolean did_set_state;
@@ -103,30 +95,16 @@ workers_signal_enqueue_work (gboolean from_nursery_collection)
        do {
                old_state = workers_state;
 
-               if (from_nursery_collection)
-                       assert_nursery_collection (old_state);
-               else
-                       SGEN_ASSERT (0, old_state != STATE_NURSERY_COLLECTION, "If we're not in a nursery collection, how come the state is NURSERY COLLECTION?");
-
                if (old_state == STATE_WORK_ENQUEUED)
                        break;
 
                did_set_state = set_state (old_state, STATE_WORK_ENQUEUED);
-               if (from_nursery_collection)
-                       SGEN_ASSERT (0, did_set_state, "Nobody else should be mutating the state");
        } while (!did_set_state);
 
        if (!state_is_working_or_enqueued (old_state))
                sgen_thread_pool_idle_signal ();
 }
 
-void
-sgen_workers_ensure_awake (void)
-{
-       SGEN_ASSERT (0, workers_state != STATE_NURSERY_COLLECTION, "Can't wake workers during nursery collection");
-       workers_signal_enqueue_work (FALSE);
-}
-
 static void
 worker_try_finish (void)
 {
@@ -138,8 +116,6 @@ worker_try_finish (void)
                old_state = workers_state;
 
                SGEN_ASSERT (0, old_state != STATE_NOT_WORKING, "How did we get from doing idle work to NOT WORKING without setting it ourselves?");
-               if (old_state == STATE_NURSERY_COLLECTION)
-                       return;
                if (old_state == STATE_WORK_ENQUEUED)
                        return;
                SGEN_ASSERT (0, old_state == STATE_WORKING, "What other possibility is there?");
@@ -180,30 +156,6 @@ sgen_workers_wait_for_jobs_finished (void)
        sgen_workers_ensure_awake ();
 }
 
-void
-sgen_workers_signal_start_nursery_collection_and_wait (void)
-{
-       State old_state;
-
-       do {
-               old_state = workers_state;
-
-               if (old_state != STATE_NOT_WORKING)
-                       SGEN_ASSERT (0, old_state != STATE_NURSERY_COLLECTION, "Why are we transitioning to NURSERY COLLECTION when we're already there?");
-       } while (!set_state (old_state, STATE_NURSERY_COLLECTION));
-
-       sgen_thread_pool_idle_wait ();
-
-       assert_nursery_collection (workers_state);
-}
-
-void
-sgen_workers_signal_finish_nursery_collection (void)
-{
-       assert_nursery_collection (workers_state);
-       workers_signal_enqueue_work (TRUE);
-}
-
 static gboolean
 workers_get_work (WorkerData *data)
 {
@@ -266,11 +218,8 @@ marker_idle_func (void *data_untyped)
 {
        WorkerData *data = data_untyped;
 
-       if (!continue_idle_func ())
-               return;
-
+       SGEN_ASSERT (0, continue_idle_func (), "Why are we called when we're not supposed to work?");
        SGEN_ASSERT (0, sgen_concurrent_collection_in_progress (), "The worker should only mark in concurrent collections.");
-       SGEN_ASSERT (0, sgen_get_current_collection_generation () != GENERATION_NURSERY, "Why are we doing work while there's a nursery collection happening?");
 
        if (workers_state == STATE_WORK_ENQUEUED) {
                set_state (STATE_WORK_ENQUEUED, STATE_WORKING);
@@ -347,7 +296,7 @@ sgen_workers_start_all_workers (SgenObjectOperations *object_ops)
        idle_func_object_ops = object_ops;
        mono_memory_write_barrier ();
 
-       workers_signal_enqueue_work (FALSE);
+       sgen_workers_ensure_awake ();
 }
 
 void
@@ -355,8 +304,6 @@ sgen_workers_join (void)
 {
        int i;
 
-       SGEN_ASSERT (0, workers_state != STATE_NURSERY_COLLECTION, "Can't be in nursery collection when joining");
-
        if (!collection_needs_workers ())
                return;
 
index 82cf26d00f1beae92002b293c68b9b01454f8a0e..6b549dded153c725c8317d99b83bf21396f8a058 100644 (file)
@@ -42,7 +42,4 @@ gboolean sgen_workers_are_working (void);
 void sgen_workers_wait (void);
 SgenSectionGrayQueue* sgen_workers_get_distribute_section_gray_queue (void);
 
-void sgen_workers_signal_start_nursery_collection_and_wait (void);
-void sgen_workers_signal_finish_nursery_collection (void);
-
 #endif
index 7f629d6c356d07fb50b5aa15136d6f6669329cce..dd63ce926c17bc7493eeb4815f96d982e480ce60 100644 (file)
@@ -1,6 +1,6 @@
 SUBDIRS = assemblyresolve gc-descriptors
 
-check-local: assemblyresolve/test/asm.dll testjit test-generic-sharing test-type-load test-cattr-type-load test-reflection-load-with-context test_platform test-process-exit test-messages rm-empty-logs
+check-local: assemblyresolve/test/asm.dll testjit test-generic-sharing test-type-load test-cattr-type-load test-reflection-load-with-context test_platform test-process-exit test-messages test-unhandled-exception-2 test-appdomain-unload rm-empty-logs
 check-full: test-sgen check-local
 check-parallel: compile-tests check-full
 
@@ -184,6 +184,7 @@ BASE_TEST_CS_SRC=           \
        delegate9.cs            \
        delegate10.cs           \
        delegate11.cs           \
+       delegate12.cs           \
        remoting1.cs            \
        remoting2.cs            \
        remoting3.cs            \
@@ -331,6 +332,7 @@ BASE_TEST_CS_SRC=           \
        bug-80392.2.cs          \
        dynamic-method-access.2.cs      \
        dynamic-method-finalize.2.cs    \
+       dynamic-method-stack-traces.cs  \
        bug-82194.2.cs  \
        anonarray.2.cs  \
        ienumerator-interfaces.2.cs     \
@@ -415,7 +417,12 @@ BASE_TEST_CS_SRC=          \
        sleep.cs \
        bug-27147.cs    \
        bug-30085.cs    \
-       bug-17537.cs
+       bug-17537.cs    \
+       pinvoke_ppcc.cs \
+       pinvoke_ppcs.cs \
+       pinvoke_ppci.cs \
+       pinvoke_ppcf.cs \
+       pinvoke_ppcd.cs
 
 TEST_CS_SRC_DIST=      \
        $(BASE_TEST_CS_SRC)     \
@@ -462,8 +469,8 @@ PLATFORM_DISABLED_TESTS=finalizer-abort.exe finalizer-exception.exe finalizer-ex
 endif
 
 if POWERPC64
-# These tests hang
-PLATFORM_DISABLED_TESTS=monitor.exe finalizer-abort.exe finalizer-exception.exe finalizer-exit.exe
+# FIXME: These tests hang/fail for unknown reasons
+PLATFORM_DISABLED_TESTS=monitor.exe threadpool-exceptions5.exe
 endif
 
 if ARM
@@ -604,6 +611,7 @@ TEST_IL_SRC=                        \
        cpblkTest.il            \
        vbinterface.il          \
        calliTest.il            \
+       calliGenericTest.il             \
        ckfiniteTest.il         \
        fault-handler.il                \
        locallocTest.il         \
@@ -855,6 +863,10 @@ runtest-managed: test-runner.exe $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la
        @if [ "x$$CI" = "x1" ]; then disabled_tests="$(DISABLED_TESTS_WRENCH)"; else disabled_tests="$(DISABLED_TESTS)"; fi; \
        $(RUNTIME) ./test-runner.exe -j a --disabled "$${disabled_tests}" $(TESTSI_CS) $(TESTBS) $(TESTSI_IL)
 
+runtest-managed-serial: test-runner.exe $(TESTSI_CS) $(TESTSI_IL) $(TESTBS) libtest.la $(PREREQSI_IL) $(PREREQSI_CS)
+       @if [ "x$$CI" = "x1" ]; then disabled_tests="$(DISABLED_TESTS_WRENCH)"; else disabled_tests="$(DISABLED_TESTS)"; fi; \
+       $(RUNTIME) ./test-runner.exe -j 1 --disabled "$${disabled_tests}" $(TESTSI_CS) $(TESTBS) $(TESTSI_IL)
+
 testjit:
        @if test x$(M) != x0; then $(MAKE) runtest-managed; else $(MAKE) runtest; fi
 
@@ -947,6 +959,7 @@ SGEN_TESTS =        \
        sgen-descriptors.exe    \
        sgen-gshared-vtype.exe  \
        sgen-domain-unload.exe  \
+       sgen-domain-unload-2.exe        \
        sgen-weakref-stress.exe \
        sgen-cementing-stress.exe       \
        sgen-case-23400.exe     \
@@ -1349,10 +1362,30 @@ test-oom: $(OOM_TESTS)
                MONO_GC_PARAMS=max-heap-size=16m                                                  $(RUNTIME) $$fn > $$fn.stdout || exit 1;      \
        done
 
+if HOST_WIN32
+test-unhandled-exception-2:
+else
+test-unhandled-exception-2: unhandled-exception.exe
+       @echo "Testing unhandled-exception_1 ..."; $(RUNTIME) $+ 1 1> unhandled-exception_1.exe.stdout 2> unhandled-exception_1.exe.stderr; if test "x$$?" != "x1";   then exit 1; fi;  \
+        echo "Testing unhandled-exception_2 ..."; $(RUNTIME) $+ 2 1> unhandled-exception_2.exe.stdout 2> unhandled-exception_2.exe.stderr; if test "x$$?" != "x0";   then exit 2; fi;  \
+        echo "Testing unhandled-exception_3 ..."; $(RUNTIME) $+ 3 1> unhandled-exception_3.exe.stdout 2> unhandled-exception_3.exe.stderr; if test "x$$?" != "x0";   then exit 3; fi;  \
+        echo "Testing unhandled-exception_4 ..."; $(RUNTIME) $+ 4 1> unhandled-exception_4.exe.stdout 2> unhandled-exception_4.exe.stderr; if test "x$$?" != "x0";   then exit 4; fi;  \
+        echo "Testing unhandled-exception_5 ..."; $(RUNTIME) $+ 5 1> unhandled-exception_5.exe.stdout 2> unhandled-exception_5.exe.stderr; if test "x$$?" != "x255"; then exit 5; fi;  \
+        echo "Testing unhandled-exception_6 ..."; $(RUNTIME) $+ 6 1> unhandled-exception_6.exe.stdout 2> unhandled-exception_6.exe.stderr; if test "x$$?" != "x0";   then exit 6; fi;  \
+        echo "Testing unhandled-exception_7 ..."; $(RUNTIME) $+ 7 1> unhandled-exception_7.exe.stdout 2> unhandled-exception_7.exe.stderr; if test "x$$?" != "x0";   then exit 7; fi;  \
+        echo "Testing unhandled-exception_8 ..."; $(RUNTIME) $+ 8 1> unhandled-exception_8.exe.stdout 2> unhandled-exception_8.exe.stderr; if test "x$$?" != "x3";   then exit 8; fi
+endif
+
+EXTRA_DIST += appdomain-loader.cs appdomain-tester.cs
+test-appdomain-unload: appdomain-loader.exe appdomain-tester.exe
+       $(RUNTIME) -O=gshared appdomain-loader.exe > appdomain-loader.exe.1.stdout || exit 1;
+       $(RUNTIME) appdomain-loader.exe > appdomain-loader.exe.2.stdout || exit 1;
+       MONO_DEBUG_ASSEMBLY_UNLOAD=1 $(RUNTIME) -O=gshared appdomain-loader.exe > appdomain-loader.exe.3.stdout || exit 1;
+       MONO_DEBUG_ASSEMBLY_UNLOAD=1 $(RUNTIME) appdomain-loader.exe > appdomain-loader.exe.4.stdout || exit 1;
 
 noinst_LTLIBRARIES = libtest.la
 
-AM_CPPFLAGS = $(GLIB_CFLAGS) $(GMODULE_CFLAGS)
+AM_CPPFLAGS = $(GLIB_CFLAGS)
 
 if HOST_WIN32
 # gcc-3.4.4 emits incorrect code when making indirect calls to stdcall functions using a tail call
diff --git a/mono/tests/appdomain-loader.cs b/mono/tests/appdomain-loader.cs
new file mode 100644 (file)
index 0000000..e9d60e2
--- /dev/null
@@ -0,0 +1,11 @@
+using System;
+
+class Driver {
+       static void Main () {
+               for (int i = 0; i < 10; ++i) {
+                       var ad = AppDomain.CreateDomain ("ad3");
+                       ad.ExecuteAssembly ("appdomain-tester.exe", null, null);
+                       AppDomain.Unload (ad);
+               }
+       }
+}
\ No newline at end of file
diff --git a/mono/tests/appdomain-tester.cs b/mono/tests/appdomain-tester.cs
new file mode 100644 (file)
index 0000000..3521c46
--- /dev/null
@@ -0,0 +1,33 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+
+interface IConstraint {
+       bool Eq (IConstraint b);
+}
+
+class Generic<A,B,C,D,E,F,G,H,T> where T: IConstraint
+{
+       public bool Eq (T a, T b) {
+               var x = new List<T> ();
+               x.Add (a);
+               x.Add (b);
+               Array.BinarySearch (x.ToArray (), b);
+               a.Eq (b);
+               return true;
+       }
+}
+
+class Impl : IConstraint {
+       public bool Eq (IConstraint b)  {
+               return true;
+       }
+}
+
+public class Unload2 {
+       static void Main (string[] args) {
+               var a = new Impl ();
+               var b = new Generic<object, object, object, object, object, object, object, object, Impl> ();
+               b.Eq (a, a);
+       }
+}
\ No newline at end of file
diff --git a/mono/tests/calliGenericTest.il b/mono/tests/calliGenericTest.il
new file mode 100644 (file)
index 0000000..4e3f39f
--- /dev/null
@@ -0,0 +1,32 @@
+//Tests ldftn and calli with generic return signature
+
+.assembly extern mscorlib{}
+.assembly someTest{}
+.module someTest
+
+.class public auto ansi beforefieldinit Test`1<T>
+  extends [mscorlib]System.Object
+{
+    // method line 1
+    .method public hidebysig
+           static default void test (native int ptr)  cil managed 
+    {
+       .maxstack 8
+       ldarg ptr
+       calli !T()
+       call void class [mscorlib]System.Console::WriteLine(int32)
+       ret 
+    }
+}
+       
+.class private auto ansi someTest
+       extends [mscorlib]System.Object {
+          
+  .method public static void  go() cil managed {
+    .entrypoint
+
+       ldftn int32 [mscorlib]System.Environment::get_ProcessorCount()
+       call void class Test`1<int32>::test(native int)
+       ret
+  }
+} 
\ No newline at end of file
diff --git a/mono/tests/delegate12.cs b/mono/tests/delegate12.cs
new file mode 100644 (file)
index 0000000..4f47c78
--- /dev/null
@@ -0,0 +1,73 @@
+using System;
+
+class MainClass
+{
+       public static int Main(string[] args)
+       {
+               DerivedClass o = new DerivedClass();
+
+               Func<string> del1 = GetDel1 (o);
+               Func<string> del2 = GetDel2 (o);
+
+
+               Console.WriteLine("Action\n======\nReflected type: {0}\nDeclaring type: {1}\nAttributes: {2}\nResult: {3}",
+                       del1.Method.ReflectedType, del1.Method.DeclaringType, del1.Method.Attributes, del1 ());
+
+               Console.WriteLine ();
+
+               Console.WriteLine("Delegate\n========\nReflected type: {0}\nDeclaring type: {1}\nAttributes: {2}\nResult: {3}",
+                       del2.Method.ReflectedType, del2.Method.DeclaringType, del2.Method.Attributes, del2 ());
+
+               if (del1.Method.ReflectedType != typeof (DerivedClass))
+                       return 10;
+               if (del1.Method.DeclaringType != typeof (DerivedClass))
+                       return 11;
+               if (del1 () != "Derived method")
+                       return 12;
+
+               if (del2.Method.ReflectedType != typeof (DerivedClass))
+                       return 20;
+               if (del2.Method.DeclaringType != typeof (DerivedClass))
+                       return 21;
+               if (del2 () != "Derived method")
+                       return 22;
+
+               if (!del1.Equals (del2))
+                       return 30;
+               if (!del2.Equals (del1))
+                       return 31;
+
+               return 0;
+       }
+
+       static Func<string> GetDel1 (DerivedClass o)
+       {
+               return o.GetMethod();
+       }
+
+       static Func<string> GetDel2 (DerivedClass o)
+       {
+               return (Func<string>) Delegate.CreateDelegate(typeof(Func<string>), o, o.GetMethod().Method);
+       }
+}
+
+class BaseClass
+{
+       public Func<string> GetMethod()
+       {
+               return MyMethod;
+       }
+
+       public virtual string MyMethod()
+       {
+               return "Base method";
+       }
+}
+
+class DerivedClass : BaseClass
+{
+       public override string MyMethod()
+       {
+               return "Derived method";
+       }
+}
diff --git a/mono/tests/dynamic-method-stack-traces.cs b/mono/tests/dynamic-method-stack-traces.cs
new file mode 100644 (file)
index 0000000..965c525
--- /dev/null
@@ -0,0 +1,86 @@
+using System;
+using System.Threading;
+using System.Reflection;
+using System.Reflection.Emit;
+using System.Runtime.ExceptionServices;
+using System.Diagnostics;
+
+public class A
+{
+       public static Exception Caught;
+
+       public static void ThrowMe()
+       {
+               Exception e;
+               try
+               {
+                       throw new Exception("test");
+               }
+               catch (Exception e2)
+               {
+                       e = e2;
+               }
+
+               var edi = ExceptionDispatchInfo.Capture(e);
+
+               edi.Throw();
+       }
+
+       public static void Handler(Exception e)
+       {
+               Caught = e;
+       }
+}
+
+public class Example
+{
+       public static int Main()
+       {
+               TT();
+               string expected = A.Caught.StackTrace.ToString ();
+
+               for (int i = 0; i < 1000; ++i) {
+                       Thread t = new Thread (delegate () {
+                                       TT ();
+                               });
+                       t.Start ();
+                       t.Join ();
+                       GC.Collect ();
+                       GC.WaitForPendingFinalizers ();
+                       if (A.Caught.StackTrace != expected) {
+                               Console.WriteLine ("FAILED");
+                               return 1;
+                       }
+               }
+               return 0;
+       }
+
+       static void TT()
+       {
+               DynamicMethod multiplyHidden = new DynamicMethod(
+                       "",
+                       typeof(void), new[] { typeof(int) }, typeof(Example));
+
+               ILGenerator ig = multiplyHidden.GetILGenerator();
+
+               ig.BeginExceptionBlock();
+
+               ig.Emit(OpCodes.Call, typeof(A).GetMethod("ThrowMe"));
+
+               ig.BeginCatchBlock(typeof(Exception));
+
+               ig.Emit(OpCodes.Call, typeof(A).GetMethod("Handler"));
+
+               ig.EndExceptionBlock();
+
+               ig.Emit(OpCodes.Ret);
+
+               var invoke = (Action<int>)
+                       multiplyHidden.CreateDelegate(
+                               typeof(Action<int>)
+
+                       );
+
+               invoke(1);
+       }
+}
index 924a643418f60d4ea9ebb708ae66474555a54e71..045c6a1a860656cacdf3a17c08c182e509088c27 100644 (file)
@@ -3545,6 +3545,9 @@ mono_test_marshal_lookup_symbol (const char *symbol_name)
        return lookup_mono_symbol (symbol_name);
 }
 
+#define MONO_BEGIN_EFRAME { void *__region_cookie = mono_threads_enter_gc_unsafe_region ? mono_threads_enter_gc_unsafe_region () : NULL;
+#define MONO_END_EFRAME if (mono_threads_exit_gc_unsafe_region) mono_threads_exit_gc_unsafe_region (__region_cookie); }
+
 /**
  * test_method_thunk:
  *
@@ -3555,6 +3558,8 @@ mono_test_marshal_lookup_symbol (const char *symbol_name)
 LIBTEST_API int STDCALL  
 test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_object_method_handle)
 {
+       int ret = 0;
+
        gpointer (*mono_method_get_unmanaged_thunk)(gpointer)
                = lookup_mono_symbol ("mono_method_get_unmanaged_thunk");
 
@@ -3567,20 +3572,36 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
        gpointer (*mono_object_unbox)(gpointer)
                = lookup_mono_symbol ("mono_object_unbox");
 
+       gpointer* (*mono_threads_enter_gc_unsafe_region) ()
+               = lookup_mono_symbol ("mono_threads_enter_gc_unsafe_region");
+
+       gpointer (*mono_threads_exit_gc_unsafe_region) (gpointer *)
+               = lookup_mono_symbol ("mono_threads_exit_gc_unsafe_region");
+
+       
+
        gpointer test_method, ex = NULL;
        gpointer (STDCALL *CreateObject)(gpointer*);
 
-       if (!mono_method_get_unmanaged_thunk)
-               return 1;
+       MONO_BEGIN_EFRAME;
+
+       if (!mono_method_get_unmanaged_thunk) {
+               ret = 1;
+               goto done;
+       }
 
        test_method =  mono_method_get_unmanaged_thunk (test_method_handle);
-       if (!test_method)
-               return 2;
+       if (!test_method) {
+               ret = 2;
+               goto done;
+       }
 
        CreateObject = mono_method_get_unmanaged_thunk (create_object_method_handle);
-       if (!CreateObject)
-               return 3;
-
+       if (!CreateObject) {
+               ret = 3;
+               goto done;
+       }
+       
 
        switch (test_id) {
 
@@ -3594,8 +3615,10 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
        case 1: {
                /* thunks.cs:Test.Test1 */
                int (STDCALL *F)(gpointer*) = test_method;
-               if (F (&ex) != 42)
-                       return 4;
+               if (F (&ex) != 42) {
+                       ret = 4;
+                       goto done;
+               }
                break;
        }
 
@@ -3603,8 +3626,10 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                /* thunks.cs:Test.Test2 */
                gpointer (STDCALL *F)(gpointer, gpointer*) = test_method;
                gpointer str = mono_string_new_wrapper ("foo");
-               if (str != F (str, &ex))
-                       return 4;
+               if (str != F (str, &ex)) {
+                       ret = 4;
+                       goto done;
+               }
                break;
        }
 
@@ -3618,8 +3643,10 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                obj = CreateObject (&ex);
                str = mono_string_new_wrapper ("bar");
 
-               if (str != F (obj, str, &ex))
-                       return 4;
+               if (str != F (obj, str, &ex)) {
+                       ret = 4;
+                       goto done;
+               }
                break;
        }
 
@@ -3633,8 +3660,10 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                obj = CreateObject (&ex);
                str = mono_string_new_wrapper ("bar");
 
-               if (42 != F (obj, str, 42, &ex))
-                       return 4;
+               if (42 != F (obj, str, 42, &ex)) {
+                       ret = 4;
+                       goto done;
+               }
 
                break;
        }
@@ -3650,8 +3679,10 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                str = mono_string_new_wrapper ("bar");
 
                F (obj, str, 42, &ex);
-               if (!ex)
-                   return 4;
+               if (!ex) {
+                       ret = 4;
+                       goto done;
+               }
 
                break;
        }
@@ -3668,11 +3699,15 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                obj = CreateObject (&ex);
 
                res = F (obj, 254, 32700, -245378, 6789600, 3.1415, 3.1415, str, &ex);
-               if (ex)
-                       return 4;
+               if (ex) {
+                       ret = 4;
+                       goto done;
+               }
 
-               if (!res)
-                       return 5;
+               if (!res) {
+                       ret = 5;
+                       goto done;
+               }
 
                break;
        }
@@ -3680,8 +3715,10 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
        case 7: {
                /* thunks.cs:Test.Test7 */
                gint64 (STDCALL *F)(gpointer*) = test_method;
-               if (F (&ex) != G_MAXINT64)
-                       return 4;
+               if (F (&ex) != G_MAXINT64) {
+                       ret = 4;
+                       goto done;
+               }
                break;
        }
 
@@ -3701,8 +3738,10 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                F = test_method;
 
                F (&a1, &a2, &a3, &a4, &a5, &a6, &a7, &ex);
-               if (ex)
-                       return 4;
+               if (ex) {
+                       ret = 4;
+                       goto done;
+               }
 
                if (!(a1 == 254 &&
                      a2 == 32700 &&
@@ -3710,8 +3749,10 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                      a4 == 6789600 &&
                      (fabs (a5 - 3.1415) < 0.001) &&
                      (fabs (a6 - 3.1415) < 0.001) &&
-                     strcmp (mono_string_to_utf8 (a7), "Test8") == 0))
-                       return 5;
+                     strcmp (mono_string_to_utf8 (a7), "Test8") == 0)){
+                               ret = 5;
+                               goto done;
+                       }
 
                break;
        }
@@ -3732,8 +3773,10 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                F = test_method;
 
                F (&a1, &a2, &a3, &a4, &a5, &a6, &a7, &ex);
-               if (!ex)
-                       return 4;
+               if (!ex) {
+                       ret = 4;
+                       goto done;
+               }
 
                break;
        }
@@ -3745,17 +3788,23 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                gpointer obj1, obj2;
 
                obj1 = obj2 = CreateObject (&ex);
-               if (ex)
-                       return 4;
+               if (ex) {
+                       ret = 4;
+                       goto done;
+               }
 
                F = test_method;
 
                F (&obj1, &ex);
-               if (ex)
-                       return 5;
+               if (ex) {
+                       ret = 5;
+                       goto done;
+               }
 
-               if (obj1 == obj2)
-                       return 6;
+               if (obj1 == obj2) {
+                       ret = 6;
+                       goto done;
+               }
 
                break;
        }
@@ -3769,15 +3818,21 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                int res;
 
                obj = CreateObject (&ex);
-               if (ex)
-                       return 4;
+               if (ex) {
+                       ret = 4;
+                       goto done;
+               }
 
-               if (!obj)
-                       return 5;
+               if (!obj) {
+                       ret = 5;
+                       goto done;
+               }
 
                a1 = mono_object_unbox (obj);
-               if (!a1)
-                       return 6;
+               if (!a1) {
+                       ret = 6;
+                       goto done;
+               }
 
                a1->A = 42;
                a1->B = 3.1415;
@@ -3785,15 +3840,21 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                F = test_method;
 
                res = F (obj, &ex);
-               if (ex)
-                       return 7;
+               if (ex) {
+                       ret = 7;
+                       goto done;
+               }
 
-               if (!res)
-                       return 8;
+               if (!res) {
+                       ret = 8;
+                       goto done;
+               }
 
                /* check whether the call was really by value */
-               if (a1->A != 42 || a1->B != 3.1415)
-                       return 9;
+               if (a1->A != 42 || a1->B != 3.1415) {
+                       ret = 9;
+                       goto done;
+               }
 
                break;
        }
@@ -3806,27 +3867,39 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                gpointer obj;
 
                obj = CreateObject (&ex);
-               if (ex)
-                       return 4;
+               if (ex) {
+                       ret = 4;
+                       goto done;
+               }
 
-               if (!obj)
-                       return 5;
+               if (!obj) {
+                       ret = 5;
+                       goto done;
+               }
 
                a1 = mono_object_unbox (obj);
-               if (!a1)
-                       return 6;
+               if (!a1) {
+                       ret = 6;
+                       goto done;
+               }
 
                F = test_method;
 
                F (obj, &ex);
-               if (ex)
-                       return 7;
+               if (ex) {
+                       ret = 7;
+                       goto done;
+               }
 
-               if (a1->A != 42)
-                       return 8;
+               if (a1->A != 42) {
+                       ret = 8;
+                       goto done;
+               }
 
-               if (!fabs (a1->B - 3.1415) < 0.001)
-                       return 9;
+               if (!(fabs (a1->B - 3.1415) < 0.001)) {
+                       ret = 9;
+                       goto done;
+               }
 
                break;
        }
@@ -3841,19 +3914,27 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                F = test_method;
 
                obj = F (&ex);
-               if (ex)
-                       return 4;
+               if (ex) {
+                       ret = 4;
+                       goto done;
+               }
 
-               if (!obj)
-                       return 5;
+               if (!obj) {
+                       ret = 5;
+                       goto done;
+               }
 
                a1 = mono_object_unbox (obj);
 
-               if (a1->A != 42)
-                       return 5;
+               if (a1->A != 42) {
+                       ret = 5;
+                       goto done;
+               }
 
-               if (!fabs (a1->B - 3.1415) < 0.001)
-                       return 6;
+               if (!(fabs (a1->B - 3.1415) < 0.001)) {
+                       ret = 6;
+                       goto done;
+               }
 
                break;
        }
@@ -3866,16 +3947,22 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                gpointer obj;
 
                obj = CreateObject (&ex);
-               if (ex)
-                       return 4;
+               if (ex) {
+                       ret = 4;
+                       goto done;
+               }
 
-               if (!obj)
-                       return 5;
+               if (!obj) {
+                       ret = 5;
+                       goto done;
+               }
                
                a1 = mono_object_unbox (obj);
 
-               if (!a1)
-                       return 6;
+               if (!a1) {
+                       ret = 6;
+                       goto done;
+               }
 
                a1->A = 42;
                a1->B = 3.1415;
@@ -3883,24 +3970,32 @@ test_method_thunk (int test_id, gpointer test_method_handle, gpointer create_obj
                F = test_method;
 
                F (obj, &ex);
-               if (ex)
-                       return 4;
+               if (ex) {
+                       ret = 4;
+                       goto done;
+               }
 
-               if (a1->A != 1)
-                       return 5;
+               if (a1->A != 1) {
+                       ret = 5;
+                       goto done;
+               }
 
-               if (a1->B != 17)
-                       return 6;
+               if (a1->B != 17) {
+                       ret = 6;
+                       goto done;
+               }
 
                break;
        }
 
        default:
-               return 9;
+               ret = 9;
 
        }
+done:
+       MONO_END_EFRAME;
 
-       return 0;
+       return ret;
 }
 
 typedef struct 
@@ -5455,3 +5550,1610 @@ mono_test_has_thiscall (void)
 
 #endif
 
+
+typedef struct {
+       char f1;
+} sbyte1;
+
+LIBTEST_API sbyte1 STDCALL
+mono_return_sbyte1 (sbyte1 s1, int addend) {
+       if (s1.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte1 s1.f1: got %d but expected %d\n", s1.f1, 1);
+       }
+       s1.f1+=addend; 
+       return s1;
+}
+
+typedef struct {
+       char f1,f2;
+} sbyte2;
+
+LIBTEST_API sbyte2 STDCALL
+mono_return_sbyte2 (sbyte2 s2, int addend) {
+       if (s2.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte2 s2.f1: got %d but expected %d\n", s2.f1, 1);
+       }
+       if (s2.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte2 s2.f2: got %d but expected %d\n", s2.f2, 2);
+       }
+       s2.f1+=addend; s2.f2+=addend; 
+       return s2;
+}
+
+typedef struct {
+       char f1,f2,f3;
+} sbyte3;
+
+LIBTEST_API sbyte3 STDCALL
+mono_return_sbyte3 (sbyte3 s3, int addend) {
+       if (s3.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte3 s3.f1: got %d but expected %d\n", s3.f1, 1);
+       }
+       if (s3.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte3 s3.f2: got %d but expected %d\n", s3.f2, 2);
+       }
+       if (s3.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte3 s3.f3: got %d but expected %d\n", s3.f3, 3);
+       }
+       s3.f1+=addend; s3.f2+=addend; s3.f3+=addend; 
+       return s3;
+}
+
+typedef struct {
+       char f1,f2,f3,f4;
+} sbyte4;
+
+LIBTEST_API sbyte4 STDCALL
+mono_return_sbyte4 (sbyte4 s4, int addend) {
+       if (s4.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte4 s4.f1: got %d but expected %d\n", s4.f1, 1);
+       }
+       if (s4.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte4 s4.f2: got %d but expected %d\n", s4.f2, 2);
+       }
+       if (s4.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte4 s4.f3: got %d but expected %d\n", s4.f3, 3);
+       }
+       if (s4.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte4 s4.f4: got %d but expected %d\n", s4.f4, 4);
+       }
+       s4.f1+=addend; s4.f2+=addend; s4.f3+=addend; s4.f4+=addend; 
+       return s4;
+}
+
+typedef struct {
+       char f1,f2,f3,f4,f5;
+} sbyte5;
+
+LIBTEST_API sbyte5 STDCALL
+mono_return_sbyte5 (sbyte5 s5, int addend) {
+       if (s5.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte5 s5.f1: got %d but expected %d\n", s5.f1, 1);
+       }
+       if (s5.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte5 s5.f2: got %d but expected %d\n", s5.f2, 2);
+       }
+       if (s5.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte5 s5.f3: got %d but expected %d\n", s5.f3, 3);
+       }
+       if (s5.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte5 s5.f4: got %d but expected %d\n", s5.f4, 4);
+       }
+       if (s5.f5 != 5) {
+               fprintf(stderr, "mono_return_sbyte5 s5.f5: got %d but expected %d\n", s5.f5, 5);
+       }
+       s5.f1+=addend; s5.f2+=addend; s5.f3+=addend; s5.f4+=addend; s5.f5+=addend; 
+       return s5;
+}
+
+typedef struct {
+       char f1,f2,f3,f4,f5,f6;
+} sbyte6;
+
+LIBTEST_API sbyte6 STDCALL
+mono_return_sbyte6 (sbyte6 s6, int addend) {
+       if (s6.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte6 s6.f1: got %d but expected %d\n", s6.f1, 1);
+       }
+       if (s6.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte6 s6.f2: got %d but expected %d\n", s6.f2, 2);
+       }
+       if (s6.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte6 s6.f3: got %d but expected %d\n", s6.f3, 3);
+       }
+       if (s6.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte6 s6.f4: got %d but expected %d\n", s6.f4, 4);
+       }
+       if (s6.f5 != 5) {
+               fprintf(stderr, "mono_return_sbyte6 s6.f5: got %d but expected %d\n", s6.f5, 5);
+       }
+       if (s6.f6 != 6) {
+               fprintf(stderr, "mono_return_sbyte6 s6.f6: got %d but expected %d\n", s6.f6, 6);
+       }
+       s6.f1+=addend; s6.f2+=addend; s6.f3+=addend; s6.f4+=addend; s6.f5+=addend; s6.f6+=addend; 
+       return s6;
+}
+
+typedef struct {
+       char f1,f2,f3,f4,f5,f6,f7;
+} sbyte7;
+
+LIBTEST_API sbyte7 STDCALL
+mono_return_sbyte7 (sbyte7 s7, int addend) {
+       if (s7.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte7 s7.f1: got %d but expected %d\n", s7.f1, 1);
+       }
+       if (s7.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte7 s7.f2: got %d but expected %d\n", s7.f2, 2);
+       }
+       if (s7.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte7 s7.f3: got %d but expected %d\n", s7.f3, 3);
+       }
+       if (s7.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte7 s7.f4: got %d but expected %d\n", s7.f4, 4);
+       }
+       if (s7.f5 != 5) {
+               fprintf(stderr, "mono_return_sbyte7 s7.f5: got %d but expected %d\n", s7.f5, 5);
+       }
+       if (s7.f6 != 6) {
+               fprintf(stderr, "mono_return_sbyte7 s7.f6: got %d but expected %d\n", s7.f6, 6);
+       }
+       if (s7.f7 != 7) {
+               fprintf(stderr, "mono_return_sbyte7 s7.f7: got %d but expected %d\n", s7.f7, 7);
+       }
+       s7.f1+=addend; s7.f2+=addend; s7.f3+=addend; s7.f4+=addend; s7.f5+=addend; s7.f6+=addend; s7.f7+=addend; 
+       return s7;
+}
+
+typedef struct {
+       char f1,f2,f3,f4,f5,f6,f7,f8;
+} sbyte8;
+
+LIBTEST_API sbyte8 STDCALL
+mono_return_sbyte8 (sbyte8 s8, int addend) {
+       if (s8.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte8 s8.f1: got %d but expected %d\n", s8.f1, 1);
+       }
+       if (s8.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte8 s8.f2: got %d but expected %d\n", s8.f2, 2);
+       }
+       if (s8.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte8 s8.f3: got %d but expected %d\n", s8.f3, 3);
+       }
+       if (s8.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte8 s8.f4: got %d but expected %d\n", s8.f4, 4);
+       }
+       if (s8.f5 != 5) {
+               fprintf(stderr, "mono_return_sbyte8 s8.f5: got %d but expected %d\n", s8.f5, 5);
+       }
+       if (s8.f6 != 6) {
+               fprintf(stderr, "mono_return_sbyte8 s8.f6: got %d but expected %d\n", s8.f6, 6);
+       }
+       if (s8.f7 != 7) {
+               fprintf(stderr, "mono_return_sbyte8 s8.f7: got %d but expected %d\n", s8.f7, 7);
+       }
+       if (s8.f8 != 8) {
+               fprintf(stderr, "mono_return_sbyte8 s8.f8: got %d but expected %d\n", s8.f8, 8);
+       }
+       s8.f1+=addend; s8.f2+=addend; s8.f3+=addend; s8.f4+=addend; s8.f5+=addend; s8.f6+=addend; s8.f7+=addend; s8.f8+=addend; 
+       return s8;
+}
+
+typedef struct {
+       char f1,f2,f3,f4,f5,f6,f7,f8,f9;
+} sbyte9;
+
+LIBTEST_API sbyte9 STDCALL
+mono_return_sbyte9 (sbyte9 s9, int addend) {
+       if (s9.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte9 s9.f1: got %d but expected %d\n", s9.f1, 1);
+       }
+       if (s9.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte9 s9.f2: got %d but expected %d\n", s9.f2, 2);
+       }
+       if (s9.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte9 s9.f3: got %d but expected %d\n", s9.f3, 3);
+       }
+       if (s9.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte9 s9.f4: got %d but expected %d\n", s9.f4, 4);
+       }
+       if (s9.f5 != 5) {
+               fprintf(stderr, "mono_return_sbyte9 s9.f5: got %d but expected %d\n", s9.f5, 5);
+       }
+       if (s9.f6 != 6) {
+               fprintf(stderr, "mono_return_sbyte9 s9.f6: got %d but expected %d\n", s9.f6, 6);
+       }
+       if (s9.f7 != 7) {
+               fprintf(stderr, "mono_return_sbyte9 s9.f7: got %d but expected %d\n", s9.f7, 7);
+       }
+       if (s9.f8 != 8) {
+               fprintf(stderr, "mono_return_sbyte9 s9.f8: got %d but expected %d\n", s9.f8, 8);
+       }
+       if (s9.f9 != 9) {
+               fprintf(stderr, "mono_return_sbyte9 s9.f9: got %d but expected %d\n", s9.f9, 9);
+       }
+       s9.f1+=addend; s9.f2+=addend; s9.f3+=addend; s9.f4+=addend; s9.f5+=addend; s9.f6+=addend; s9.f7+=addend; s9.f8+=addend; s9.f9+=addend; 
+       return s9;
+}
+
+typedef struct {
+       char f1,f2,f3,f4,f5,f6,f7,f8,f9,f10;
+} sbyte10;
+
+LIBTEST_API sbyte10 STDCALL
+mono_return_sbyte10 (sbyte10 s10, int addend) {
+       if (s10.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte10 s10.f1: got %d but expected %d\n", s10.f1, 1);
+       }
+       if (s10.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte10 s10.f2: got %d but expected %d\n", s10.f2, 2);
+       }
+       if (s10.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte10 s10.f3: got %d but expected %d\n", s10.f3, 3);
+       }
+       if (s10.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte10 s10.f4: got %d but expected %d\n", s10.f4, 4);
+       }
+       if (s10.f5 != 5) {
+               fprintf(stderr, "mono_return_sbyte10 s10.f5: got %d but expected %d\n", s10.f5, 5);
+       }
+       if (s10.f6 != 6) {
+               fprintf(stderr, "mono_return_sbyte10 s10.f6: got %d but expected %d\n", s10.f6, 6);
+       }
+       if (s10.f7 != 7) {
+               fprintf(stderr, "mono_return_sbyte10 s10.f7: got %d but expected %d\n", s10.f7, 7);
+       }
+       if (s10.f8 != 8) {
+               fprintf(stderr, "mono_return_sbyte10 s10.f8: got %d but expected %d\n", s10.f8, 8);
+       }
+       if (s10.f9 != 9) {
+               fprintf(stderr, "mono_return_sbyte10 s10.f9: got %d but expected %d\n", s10.f9, 9);
+       }
+       if (s10.f10 != 10) {
+               fprintf(stderr, "mono_return_sbyte10 s10.f10: got %d but expected %d\n", s10.f10, 10);
+       }
+       s10.f1+=addend; s10.f2+=addend; s10.f3+=addend; s10.f4+=addend; s10.f5+=addend; s10.f6+=addend; s10.f7+=addend; s10.f8+=addend; s10.f9+=addend; s10.f10+=addend; 
+       return s10;
+}
+
+typedef struct {
+       char f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11;
+} sbyte11;
+
+LIBTEST_API sbyte11 STDCALL
+mono_return_sbyte11 (sbyte11 s11, int addend) {
+       if (s11.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte11 s11.f1: got %d but expected %d\n", s11.f1, 1);
+       }
+       if (s11.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte11 s11.f2: got %d but expected %d\n", s11.f2, 2);
+       }
+       if (s11.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte11 s11.f3: got %d but expected %d\n", s11.f3, 3);
+       }
+       if (s11.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte11 s11.f4: got %d but expected %d\n", s11.f4, 4);
+       }
+       if (s11.f5 != 5) {
+               fprintf(stderr, "mono_return_sbyte11 s11.f5: got %d but expected %d\n", s11.f5, 5);
+       }
+       if (s11.f6 != 6) {
+               fprintf(stderr, "mono_return_sbyte11 s11.f6: got %d but expected %d\n", s11.f6, 6);
+       }
+       if (s11.f7 != 7) {
+               fprintf(stderr, "mono_return_sbyte11 s11.f7: got %d but expected %d\n", s11.f7, 7);
+       }
+       if (s11.f8 != 8) {
+               fprintf(stderr, "mono_return_sbyte11 s11.f8: got %d but expected %d\n", s11.f8, 8);
+       }
+       if (s11.f9 != 9) {
+               fprintf(stderr, "mono_return_sbyte11 s11.f9: got %d but expected %d\n", s11.f9, 9);
+       }
+       if (s11.f10 != 10) {
+               fprintf(stderr, "mono_return_sbyte11 s11.f10: got %d but expected %d\n", s11.f10, 10);
+       }
+       if (s11.f11 != 11) {
+               fprintf(stderr, "mono_return_sbyte11 s11.f11: got %d but expected %d\n", s11.f11, 11);
+       }
+       s11.f1+=addend; s11.f2+=addend; s11.f3+=addend; s11.f4+=addend; s11.f5+=addend; s11.f6+=addend; s11.f7+=addend; s11.f8+=addend; s11.f9+=addend; s11.f10+=addend; s11.f11+=addend; 
+       return s11;
+}
+
+typedef struct {
+       char f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12;
+} sbyte12;
+
+LIBTEST_API sbyte12 STDCALL
+mono_return_sbyte12 (sbyte12 s12, int addend) {
+       if (s12.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte12 s12.f1: got %d but expected %d\n", s12.f1, 1);
+       }
+       if (s12.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte12 s12.f2: got %d but expected %d\n", s12.f2, 2);
+       }
+       if (s12.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte12 s12.f3: got %d but expected %d\n", s12.f3, 3);
+       }
+       if (s12.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte12 s12.f4: got %d but expected %d\n", s12.f4, 4);
+       }
+       if (s12.f5 != 5) {
+               fprintf(stderr, "mono_return_sbyte12 s12.f5: got %d but expected %d\n", s12.f5, 5);
+       }
+       if (s12.f6 != 6) {
+               fprintf(stderr, "mono_return_sbyte12 s12.f6: got %d but expected %d\n", s12.f6, 6);
+       }
+       if (s12.f7 != 7) {
+               fprintf(stderr, "mono_return_sbyte12 s12.f7: got %d but expected %d\n", s12.f7, 7);
+       }
+       if (s12.f8 != 8) {
+               fprintf(stderr, "mono_return_sbyte12 s12.f8: got %d but expected %d\n", s12.f8, 8);
+       }
+       if (s12.f9 != 9) {
+               fprintf(stderr, "mono_return_sbyte12 s12.f9: got %d but expected %d\n", s12.f9, 9);
+       }
+       if (s12.f10 != 10) {
+               fprintf(stderr, "mono_return_sbyte12 s12.f10: got %d but expected %d\n", s12.f10, 10);
+       }
+       if (s12.f11 != 11) {
+               fprintf(stderr, "mono_return_sbyte12 s12.f11: got %d but expected %d\n", s12.f11, 11);
+       }
+       if (s12.f12 != 12) {
+               fprintf(stderr, "mono_return_sbyte12 s12.f12: got %d but expected %d\n", s12.f12, 12);
+       }
+       s12.f1+=addend; s12.f2+=addend; s12.f3+=addend; s12.f4+=addend; s12.f5+=addend; s12.f6+=addend; s12.f7+=addend; s12.f8+=addend; s12.f9+=addend; s12.f10+=addend; s12.f11+=addend; s12.f12+=addend; 
+       return s12;
+}
+
+typedef struct {
+       char f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13;
+} sbyte13;
+
+LIBTEST_API sbyte13 STDCALL
+mono_return_sbyte13 (sbyte13 s13, int addend) {
+       if (s13.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte13 s13.f1: got %d but expected %d\n", s13.f1, 1);
+       }
+       if (s13.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte13 s13.f2: got %d but expected %d\n", s13.f2, 2);
+       }
+       if (s13.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte13 s13.f3: got %d but expected %d\n", s13.f3, 3);
+       }
+       if (s13.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte13 s13.f4: got %d but expected %d\n", s13.f4, 4);
+       }
+       if (s13.f5 != 5) {
+               fprintf(stderr, "mono_return_sbyte13 s13.f5: got %d but expected %d\n", s13.f5, 5);
+       }
+       if (s13.f6 != 6) {
+               fprintf(stderr, "mono_return_sbyte13 s13.f6: got %d but expected %d\n", s13.f6, 6);
+       }
+       if (s13.f7 != 7) {
+               fprintf(stderr, "mono_return_sbyte13 s13.f7: got %d but expected %d\n", s13.f7, 7);
+       }
+       if (s13.f8 != 8) {
+               fprintf(stderr, "mono_return_sbyte13 s13.f8: got %d but expected %d\n", s13.f8, 8);
+       }
+       if (s13.f9 != 9) {
+               fprintf(stderr, "mono_return_sbyte13 s13.f9: got %d but expected %d\n", s13.f9, 9);
+       }
+       if (s13.f10 != 10) {
+               fprintf(stderr, "mono_return_sbyte13 s13.f10: got %d but expected %d\n", s13.f10, 10);
+       }
+       if (s13.f11 != 11) {
+               fprintf(stderr, "mono_return_sbyte13 s13.f11: got %d but expected %d\n", s13.f11, 11);
+       }
+       if (s13.f12 != 12) {
+               fprintf(stderr, "mono_return_sbyte13 s13.f12: got %d but expected %d\n", s13.f12, 12);
+       }
+       if (s13.f13 != 13) {
+               fprintf(stderr, "mono_return_sbyte13 s13.f13: got %d but expected %d\n", s13.f13, 13);
+       }
+       s13.f1+=addend; s13.f2+=addend; s13.f3+=addend; s13.f4+=addend; s13.f5+=addend; s13.f6+=addend; s13.f7+=addend; s13.f8+=addend; s13.f9+=addend; s13.f10+=addend; s13.f11+=addend; s13.f12+=addend; s13.f13+=addend; 
+       return s13;
+}
+
+typedef struct {
+       char f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14;
+} sbyte14;
+
+LIBTEST_API sbyte14 STDCALL
+mono_return_sbyte14 (sbyte14 s14, int addend) {
+       if (s14.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte14 s14.f1: got %d but expected %d\n", s14.f1, 1);
+       }
+       if (s14.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte14 s14.f2: got %d but expected %d\n", s14.f2, 2);
+       }
+       if (s14.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte14 s14.f3: got %d but expected %d\n", s14.f3, 3);
+       }
+       if (s14.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte14 s14.f4: got %d but expected %d\n", s14.f4, 4);
+       }
+       if (s14.f5 != 5) {
+               fprintf(stderr, "mono_return_sbyte14 s14.f5: got %d but expected %d\n", s14.f5, 5);
+       }
+       if (s14.f6 != 6) {
+               fprintf(stderr, "mono_return_sbyte14 s14.f6: got %d but expected %d\n", s14.f6, 6);
+       }
+       if (s14.f7 != 7) {
+               fprintf(stderr, "mono_return_sbyte14 s14.f7: got %d but expected %d\n", s14.f7, 7);
+       }
+       if (s14.f8 != 8) {
+               fprintf(stderr, "mono_return_sbyte14 s14.f8: got %d but expected %d\n", s14.f8, 8);
+       }
+       if (s14.f9 != 9) {
+               fprintf(stderr, "mono_return_sbyte14 s14.f9: got %d but expected %d\n", s14.f9, 9);
+       }
+       if (s14.f10 != 10) {
+               fprintf(stderr, "mono_return_sbyte14 s14.f10: got %d but expected %d\n", s14.f10, 10);
+       }
+       if (s14.f11 != 11) {
+               fprintf(stderr, "mono_return_sbyte14 s14.f11: got %d but expected %d\n", s14.f11, 11);
+       }
+       if (s14.f12 != 12) {
+               fprintf(stderr, "mono_return_sbyte14 s14.f12: got %d but expected %d\n", s14.f12, 12);
+       }
+       if (s14.f13 != 13) {
+               fprintf(stderr, "mono_return_sbyte14 s14.f13: got %d but expected %d\n", s14.f13, 13);
+       }
+       if (s14.f14 != 14) {
+               fprintf(stderr, "mono_return_sbyte14 s14.f14: got %d but expected %d\n", s14.f14, 14);
+       }
+       s14.f1+=addend; s14.f2+=addend; s14.f3+=addend; s14.f4+=addend; s14.f5+=addend; s14.f6+=addend; s14.f7+=addend; s14.f8+=addend; s14.f9+=addend; s14.f10+=addend; s14.f11+=addend; s14.f12+=addend; s14.f13+=addend; s14.f14+=addend; 
+       return s14;
+}
+
+typedef struct {
+       char f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15;
+} sbyte15;
+
+LIBTEST_API sbyte15 STDCALL
+mono_return_sbyte15 (sbyte15 s15, int addend) {
+       if (s15.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f1: got %d but expected %d\n", s15.f1, 1);
+       }
+       if (s15.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f2: got %d but expected %d\n", s15.f2, 2);
+       }
+       if (s15.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f3: got %d but expected %d\n", s15.f3, 3);
+       }
+       if (s15.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f4: got %d but expected %d\n", s15.f4, 4);
+       }
+       if (s15.f5 != 5) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f5: got %d but expected %d\n", s15.f5, 5);
+       }
+       if (s15.f6 != 6) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f6: got %d but expected %d\n", s15.f6, 6);
+       }
+       if (s15.f7 != 7) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f7: got %d but expected %d\n", s15.f7, 7);
+       }
+       if (s15.f8 != 8) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f8: got %d but expected %d\n", s15.f8, 8);
+       }
+       if (s15.f9 != 9) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f9: got %d but expected %d\n", s15.f9, 9);
+       }
+       if (s15.f10 != 10) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f10: got %d but expected %d\n", s15.f10, 10);
+       }
+       if (s15.f11 != 11) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f11: got %d but expected %d\n", s15.f11, 11);
+       }
+       if (s15.f12 != 12) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f12: got %d but expected %d\n", s15.f12, 12);
+       }
+       if (s15.f13 != 13) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f13: got %d but expected %d\n", s15.f13, 13);
+       }
+       if (s15.f14 != 14) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f14: got %d but expected %d\n", s15.f14, 14);
+       }
+       if (s15.f15 != 15) {
+               fprintf(stderr, "mono_return_sbyte15 s15.f15: got %d but expected %d\n", s15.f15, 15);
+       }
+       s15.f1+=addend; s15.f2+=addend; s15.f3+=addend; s15.f4+=addend; s15.f5+=addend; s15.f6+=addend; s15.f7+=addend; s15.f8+=addend; s15.f9+=addend; s15.f10+=addend; s15.f11+=addend; s15.f12+=addend; s15.f13+=addend; s15.f14+=addend; s15.f15+=addend; 
+       return s15;
+}
+
+typedef struct {
+       char f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16;
+} sbyte16;
+
+LIBTEST_API sbyte16 STDCALL
+mono_return_sbyte16 (sbyte16 s16, int addend) {
+       if (s16.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f1: got %d but expected %d\n", s16.f1, 1);
+       }
+       if (s16.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f2: got %d but expected %d\n", s16.f2, 2);
+       }
+       if (s16.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f3: got %d but expected %d\n", s16.f3, 3);
+       }
+       if (s16.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f4: got %d but expected %d\n", s16.f4, 4);
+       }
+       if (s16.f5 != 5) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f5: got %d but expected %d\n", s16.f5, 5);
+       }
+       if (s16.f6 != 6) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f6: got %d but expected %d\n", s16.f6, 6);
+       }
+       if (s16.f7 != 7) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f7: got %d but expected %d\n", s16.f7, 7);
+       }
+       if (s16.f8 != 8) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f8: got %d but expected %d\n", s16.f8, 8);
+       }
+       if (s16.f9 != 9) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f9: got %d but expected %d\n", s16.f9, 9);
+       }
+       if (s16.f10 != 10) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f10: got %d but expected %d\n", s16.f10, 10);
+       }
+       if (s16.f11 != 11) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f11: got %d but expected %d\n", s16.f11, 11);
+       }
+       if (s16.f12 != 12) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f12: got %d but expected %d\n", s16.f12, 12);
+       }
+       if (s16.f13 != 13) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f13: got %d but expected %d\n", s16.f13, 13);
+       }
+       if (s16.f14 != 14) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f14: got %d but expected %d\n", s16.f14, 14);
+       }
+       if (s16.f15 != 15) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f15: got %d but expected %d\n", s16.f15, 15);
+       }
+       if (s16.f16 != 16) {
+               fprintf(stderr, "mono_return_sbyte16 s16.f16: got %d but expected %d\n", s16.f16, 16);
+       }
+       s16.f1+=addend; s16.f2+=addend; s16.f3+=addend; s16.f4+=addend; s16.f5+=addend; s16.f6+=addend; s16.f7+=addend; s16.f8+=addend; s16.f9+=addend; s16.f10+=addend; s16.f11+=addend; s16.f12+=addend; s16.f13+=addend; s16.f14+=addend; s16.f15+=addend; s16.f16+=addend; 
+       return s16;
+}
+
+typedef struct {
+       char f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17;
+} sbyte17;
+
+LIBTEST_API sbyte17 STDCALL
+mono_return_sbyte17 (sbyte17 s17, int addend) {
+       if (s17.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f1: got %d but expected %d\n", s17.f1, 1);
+       }
+       if (s17.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f2: got %d but expected %d\n", s17.f2, 2);
+       }
+       if (s17.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f3: got %d but expected %d\n", s17.f3, 3);
+       }
+       if (s17.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f4: got %d but expected %d\n", s17.f4, 4);
+       }
+       if (s17.f5 != 5) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f5: got %d but expected %d\n", s17.f5, 5);
+       }
+       if (s17.f6 != 6) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f6: got %d but expected %d\n", s17.f6, 6);
+       }
+       if (s17.f7 != 7) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f7: got %d but expected %d\n", s17.f7, 7);
+       }
+       if (s17.f8 != 8) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f8: got %d but expected %d\n", s17.f8, 8);
+       }
+       if (s17.f9 != 9) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f9: got %d but expected %d\n", s17.f9, 9);
+       }
+       if (s17.f10 != 10) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f10: got %d but expected %d\n", s17.f10, 10);
+       }
+       if (s17.f11 != 11) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f11: got %d but expected %d\n", s17.f11, 11);
+       }
+       if (s17.f12 != 12) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f12: got %d but expected %d\n", s17.f12, 12);
+       }
+       if (s17.f13 != 13) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f13: got %d but expected %d\n", s17.f13, 13);
+       }
+       if (s17.f14 != 14) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f14: got %d but expected %d\n", s17.f14, 14);
+       }
+       if (s17.f15 != 15) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f15: got %d but expected %d\n", s17.f15, 15);
+       }
+       if (s17.f16 != 16) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f16: got %d but expected %d\n", s17.f16, 16);
+       }
+       if (s17.f17 != 17) {
+               fprintf(stderr, "mono_return_sbyte17 s17.f17: got %d but expected %d\n", s17.f17, 17);
+       }
+       s17.f1+=addend; s17.f2+=addend; s17.f3+=addend; s17.f4+=addend; s17.f5+=addend; s17.f6+=addend; s17.f7+=addend; s17.f8+=addend; s17.f9+=addend; s17.f10+=addend; s17.f11+=addend; s17.f12+=addend; s17.f13+=addend; s17.f14+=addend; s17.f15+=addend; s17.f16+=addend; s17.f17+=addend; 
+       return s17;
+}
+
+typedef struct {
+       struct {
+               char f1;
+       } nested1;
+       char f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15;
+       struct {
+               char f16;
+       } nested2;
+} sbyte16_nested;
+
+LIBTEST_API sbyte16_nested STDCALL
+mono_return_sbyte16_nested (sbyte16_nested sn16, int addend) {
+       if (sn16.nested1.f1 != 1) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.nested1.f1: got %d but expected %d\n", sn16.nested1.f1, 1);
+       }
+       if (sn16.f2 != 2) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.f2: got %d but expected %d\n", sn16.f2, 2);
+       }
+       if (sn16.f3 != 3) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.f3: got %d but expected %d\n", sn16.f3, 3);
+       }
+       if (sn16.f4 != 4) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.f4: got %d but expected %d\n", sn16.f4, 4);
+       }
+       if (sn16.f5 != 5) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.f5: got %d but expected %d\n", sn16.f5, 5);
+       }
+       if (sn16.f6 != 6) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.f6: got %d but expected %d\n", sn16.f6, 6);
+       }
+       if (sn16.f7 != 7) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.f7: got %d but expected %d\n", sn16.f7, 7);
+       }
+       if (sn16.f8 != 8) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.f8: got %d but expected %d\n", sn16.f8, 8);
+       }
+       if (sn16.f9 != 9) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.f9: got %d but expected %d\n", sn16.f9, 9);
+       }
+       if (sn16.f10 != 10) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.f10: got %d but expected %d\n", sn16.f10, 10);
+       }
+       if (sn16.f11 != 11) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.f11: got %d but expected %d\n", sn16.f11, 11);
+       }
+       if (sn16.f12 != 12) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.f12: got %d but expected %d\n", sn16.f12, 12);
+       }
+       if (sn16.f13 != 13) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.f13: got %d but expected %d\n", sn16.f13, 13);
+       }
+       if (sn16.f14 != 14) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.f14: got %d but expected %d\n", sn16.f14, 14);
+       }
+       if (sn16.f15 != 15) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.f15: got %d but expected %d\n", sn16.f15, 15);
+       }
+       if (sn16.nested2.f16 != 16) {
+               fprintf(stderr, "mono_return_sbyte16_nested sn16.nested2.f16: got %d but expected %d\n", sn16.nested2.f16, 16);
+       }
+       sn16.nested1.f1+=addend; sn16.f2+=addend; sn16.f3+=addend; sn16.f4+=addend; sn16.f5+=addend; sn16.f6+=addend; sn16.f7+=addend; sn16.f8+=addend; sn16.f9+=addend; sn16.f10+=addend; sn16.f11+=addend; sn16.f12+=addend; sn16.f13+=addend; sn16.f14+=addend; sn16.f15+=addend; sn16.nested2.f16+=addend; 
+       return sn16;
+}
+
+
+typedef struct {
+       short f1;
+} short1;
+
+LIBTEST_API short1 STDCALL
+mono_return_short1 (short1 s1, int addend) {
+       if (s1.f1 != 1) {
+               fprintf(stderr, "mono_return_short1 s1.f1: got %d but expected %d\n", s1.f1, 1);
+       }
+       s1.f1+=addend; 
+       return s1;
+}
+
+typedef struct {
+       short f1,f2;
+} short2;
+
+LIBTEST_API short2 STDCALL
+mono_return_short2 (short2 s2, int addend) {
+       if (s2.f1 != 1) {
+               fprintf(stderr, "mono_return_short2 s2.f1: got %d but expected %d\n", s2.f1, 1);
+       }
+       if (s2.f2 != 2) {
+               fprintf(stderr, "mono_return_short2 s2.f2: got %d but expected %d\n", s2.f2, 2);
+       }
+       s2.f1+=addend; s2.f2+=addend; 
+       return s2;
+}
+
+typedef struct {
+       short f1,f2,f3;
+} short3;
+
+LIBTEST_API short3 STDCALL
+mono_return_short3 (short3 s3, int addend) {
+       if (s3.f1 != 1) {
+               fprintf(stderr, "mono_return_short3 s3.f1: got %d but expected %d\n", s3.f1, 1);
+       }
+       if (s3.f2 != 2) {
+               fprintf(stderr, "mono_return_short3 s3.f2: got %d but expected %d\n", s3.f2, 2);
+       }
+       if (s3.f3 != 3) {
+               fprintf(stderr, "mono_return_short3 s3.f3: got %d but expected %d\n", s3.f3, 3);
+       }
+       s3.f1+=addend; s3.f2+=addend; s3.f3+=addend; 
+       return s3;
+}
+
+typedef struct {
+       short f1,f2,f3,f4;
+} short4;
+
+LIBTEST_API short4 STDCALL
+mono_return_short4 (short4 s4, int addend) {
+       if (s4.f1 != 1) {
+               fprintf(stderr, "mono_return_short4 s4.f1: got %d but expected %d\n", s4.f1, 1);
+       }
+       if (s4.f2 != 2) {
+               fprintf(stderr, "mono_return_short4 s4.f2: got %d but expected %d\n", s4.f2, 2);
+       }
+       if (s4.f3 != 3) {
+               fprintf(stderr, "mono_return_short4 s4.f3: got %d but expected %d\n", s4.f3, 3);
+       }
+       if (s4.f4 != 4) {
+               fprintf(stderr, "mono_return_short4 s4.f4: got %d but expected %d\n", s4.f4, 4);
+       }
+       s4.f1+=addend; s4.f2+=addend; s4.f3+=addend; s4.f4+=addend; 
+       return s4;
+}
+
+typedef struct {
+       short f1,f2,f3,f4,f5;
+} short5;
+
+LIBTEST_API short5 STDCALL
+mono_return_short5 (short5 s5, int addend) {
+       if (s5.f1 != 1) {
+               fprintf(stderr, "mono_return_short5 s5.f1: got %d but expected %d\n", s5.f1, 1);
+       }
+       if (s5.f2 != 2) {
+               fprintf(stderr, "mono_return_short5 s5.f2: got %d but expected %d\n", s5.f2, 2);
+       }
+       if (s5.f3 != 3) {
+               fprintf(stderr, "mono_return_short5 s5.f3: got %d but expected %d\n", s5.f3, 3);
+       }
+       if (s5.f4 != 4) {
+               fprintf(stderr, "mono_return_short5 s5.f4: got %d but expected %d\n", s5.f4, 4);
+       }
+       if (s5.f5 != 5) {
+               fprintf(stderr, "mono_return_short5 s5.f5: got %d but expected %d\n", s5.f5, 5);
+       }
+       s5.f1+=addend; s5.f2+=addend; s5.f3+=addend; s5.f4+=addend; s5.f5+=addend; 
+       return s5;
+}
+
+typedef struct {
+       short f1,f2,f3,f4,f5,f6;
+} short6;
+
+LIBTEST_API short6 STDCALL
+mono_return_short6 (short6 s6, int addend) {
+       if (s6.f1 != 1) {
+               fprintf(stderr, "mono_return_short6 s6.f1: got %d but expected %d\n", s6.f1, 1);
+       }
+       if (s6.f2 != 2) {
+               fprintf(stderr, "mono_return_short6 s6.f2: got %d but expected %d\n", s6.f2, 2);
+       }
+       if (s6.f3 != 3) {
+               fprintf(stderr, "mono_return_short6 s6.f3: got %d but expected %d\n", s6.f3, 3);
+       }
+       if (s6.f4 != 4) {
+               fprintf(stderr, "mono_return_short6 s6.f4: got %d but expected %d\n", s6.f4, 4);
+       }
+       if (s6.f5 != 5) {
+               fprintf(stderr, "mono_return_short6 s6.f5: got %d but expected %d\n", s6.f5, 5);
+       }
+       if (s6.f6 != 6) {
+               fprintf(stderr, "mono_return_short6 s6.f6: got %d but expected %d\n", s6.f6, 6);
+       }
+       s6.f1+=addend; s6.f2+=addend; s6.f3+=addend; s6.f4+=addend; s6.f5+=addend; s6.f6+=addend; 
+       return s6;
+}
+
+typedef struct {
+       short f1,f2,f3,f4,f5,f6,f7;
+} short7;
+
+LIBTEST_API short7 STDCALL
+mono_return_short7 (short7 s7, int addend) {
+       if (s7.f1 != 1) {
+               fprintf(stderr, "mono_return_short7 s7.f1: got %d but expected %d\n", s7.f1, 1);
+       }
+       if (s7.f2 != 2) {
+               fprintf(stderr, "mono_return_short7 s7.f2: got %d but expected %d\n", s7.f2, 2);
+       }
+       if (s7.f3 != 3) {
+               fprintf(stderr, "mono_return_short7 s7.f3: got %d but expected %d\n", s7.f3, 3);
+       }
+       if (s7.f4 != 4) {
+               fprintf(stderr, "mono_return_short7 s7.f4: got %d but expected %d\n", s7.f4, 4);
+       }
+       if (s7.f5 != 5) {
+               fprintf(stderr, "mono_return_short7 s7.f5: got %d but expected %d\n", s7.f5, 5);
+       }
+       if (s7.f6 != 6) {
+               fprintf(stderr, "mono_return_short7 s7.f6: got %d but expected %d\n", s7.f6, 6);
+       }
+       if (s7.f7 != 7) {
+               fprintf(stderr, "mono_return_short7 s7.f7: got %d but expected %d\n", s7.f7, 7);
+       }
+       s7.f1+=addend; s7.f2+=addend; s7.f3+=addend; s7.f4+=addend; s7.f5+=addend; s7.f6+=addend; s7.f7+=addend; 
+       return s7;
+}
+
+typedef struct {
+       short f1,f2,f3,f4,f5,f6,f7,f8;
+} short8;
+
+LIBTEST_API short8 STDCALL
+mono_return_short8 (short8 s8, int addend) {
+       if (s8.f1 != 1) {
+               fprintf(stderr, "mono_return_short8 s8.f1: got %d but expected %d\n", s8.f1, 1);
+       }
+       if (s8.f2 != 2) {
+               fprintf(stderr, "mono_return_short8 s8.f2: got %d but expected %d\n", s8.f2, 2);
+       }
+       if (s8.f3 != 3) {
+               fprintf(stderr, "mono_return_short8 s8.f3: got %d but expected %d\n", s8.f3, 3);
+       }
+       if (s8.f4 != 4) {
+               fprintf(stderr, "mono_return_short8 s8.f4: got %d but expected %d\n", s8.f4, 4);
+       }
+       if (s8.f5 != 5) {
+               fprintf(stderr, "mono_return_short8 s8.f5: got %d but expected %d\n", s8.f5, 5);
+       }
+       if (s8.f6 != 6) {
+               fprintf(stderr, "mono_return_short8 s8.f6: got %d but expected %d\n", s8.f6, 6);
+       }
+       if (s8.f7 != 7) {
+               fprintf(stderr, "mono_return_short8 s8.f7: got %d but expected %d\n", s8.f7, 7);
+       }
+       if (s8.f8 != 8) {
+               fprintf(stderr, "mono_return_short8 s8.f8: got %d but expected %d\n", s8.f8, 8);
+       }
+       s8.f1+=addend; s8.f2+=addend; s8.f3+=addend; s8.f4+=addend; s8.f5+=addend; s8.f6+=addend; s8.f7+=addend; s8.f8+=addend; 
+       return s8;
+}
+
+typedef struct {
+       short f1,f2,f3,f4,f5,f6,f7,f8,f9;
+} short9;
+
+LIBTEST_API short9 STDCALL
+mono_return_short9 (short9 s9, int addend) {
+       if (s9.f1 != 1) {
+               fprintf(stderr, "mono_return_short9 s9.f1: got %d but expected %d\n", s9.f1, 1);
+       }
+       if (s9.f2 != 2) {
+               fprintf(stderr, "mono_return_short9 s9.f2: got %d but expected %d\n", s9.f2, 2);
+       }
+       if (s9.f3 != 3) {
+               fprintf(stderr, "mono_return_short9 s9.f3: got %d but expected %d\n", s9.f3, 3);
+       }
+       if (s9.f4 != 4) {
+               fprintf(stderr, "mono_return_short9 s9.f4: got %d but expected %d\n", s9.f4, 4);
+       }
+       if (s9.f5 != 5) {
+               fprintf(stderr, "mono_return_short9 s9.f5: got %d but expected %d\n", s9.f5, 5);
+       }
+       if (s9.f6 != 6) {
+               fprintf(stderr, "mono_return_short9 s9.f6: got %d but expected %d\n", s9.f6, 6);
+       }
+       if (s9.f7 != 7) {
+               fprintf(stderr, "mono_return_short9 s9.f7: got %d but expected %d\n", s9.f7, 7);
+       }
+       if (s9.f8 != 8) {
+               fprintf(stderr, "mono_return_short9 s9.f8: got %d but expected %d\n", s9.f8, 8);
+       }
+       if (s9.f9 != 9) {
+               fprintf(stderr, "mono_return_short9 s9.f9: got %d but expected %d\n", s9.f9, 9);
+       }
+       s9.f1+=addend; s9.f2+=addend; s9.f3+=addend; s9.f4+=addend; s9.f5+=addend; s9.f6+=addend; s9.f7+=addend; s9.f8+=addend; s9.f9+=addend; 
+       return s9;
+}
+
+typedef struct {
+       struct {
+               short f1;
+       } nested1;
+       short f2,f3,f4,f5,f6,f7;
+       struct {
+               short f8;
+       } nested2;
+} short8_nested;
+
+LIBTEST_API short8_nested STDCALL
+mono_return_short8_nested (short8_nested sn8, int addend) {
+       if (sn8.nested1.f1 != 1) {
+               fprintf(stderr, "mono_return_short8_nested sn8.nested1.f1: got %d but expected %d\n", sn8.nested1.f1, 1);
+       }
+       if (sn8.f2 != 2) {
+               fprintf(stderr, "mono_return_short8_nested sn8.f2: got %d but expected %d\n", sn8.f2, 2);
+       }
+       if (sn8.f3 != 3) {
+               fprintf(stderr, "mono_return_short8_nested sn8.f3: got %d but expected %d\n", sn8.f3, 3);
+       }
+       if (sn8.f4 != 4) {
+               fprintf(stderr, "mono_return_short8_nested sn8.f4: got %d but expected %d\n", sn8.f4, 4);
+       }
+       if (sn8.f5 != 5) {
+               fprintf(stderr, "mono_return_short8_nested sn8.f5: got %d but expected %d\n", sn8.f5, 5);
+       }
+       if (sn8.f6 != 6) {
+               fprintf(stderr, "mono_return_short8_nested sn8.f6: got %d but expected %d\n", sn8.f6, 6);
+       }
+       if (sn8.f7 != 7) {
+               fprintf(stderr, "mono_return_short8_nested sn8.f7: got %d but expected %d\n", sn8.f7, 7);
+       }
+       if (sn8.nested2.f8 != 8) {
+               fprintf(stderr, "mono_return_short8_nested sn8.nested2.f8: got %d but expected %d\n", sn8.nested2.f8, 8);
+       }
+       sn8.nested1.f1+=addend; sn8.f2+=addend; sn8.f3+=addend; sn8.f4+=addend; sn8.f5+=addend; sn8.f6+=addend; sn8.f7+=addend; sn8.nested2.f8+=addend; 
+       return sn8;
+}
+
+
+typedef struct {
+       int f1;
+} int1;
+
+LIBTEST_API int1 STDCALL
+mono_return_int1 (int1 s1, int addend) {
+       if (s1.f1 != 1) {
+               fprintf(stderr, "mono_return_int1 s1.f1: got %d but expected %d\n", s1.f1, 1);
+       }
+       s1.f1+=addend; 
+       return s1;
+}
+
+typedef struct {
+       int f1,f2;
+} int2;
+
+LIBTEST_API int2 STDCALL
+mono_return_int2 (int2 s2, int addend) {
+       if (s2.f1 != 1) {
+               fprintf(stderr, "mono_return_int2 s2.f1: got %d but expected %d\n", s2.f1, 1);
+       }
+       if (s2.f2 != 2) {
+               fprintf(stderr, "mono_return_int2 s2.f2: got %d but expected %d\n", s2.f2, 2);
+       }
+       s2.f1+=addend; s2.f2+=addend; 
+       return s2;
+}
+
+typedef struct {
+       int f1,f2,f3;
+} int3;
+
+LIBTEST_API int3 STDCALL
+mono_return_int3 (int3 s3, int addend) {
+       if (s3.f1 != 1) {
+               fprintf(stderr, "mono_return_int3 s3.f1: got %d but expected %d\n", s3.f1, 1);
+       }
+       if (s3.f2 != 2) {
+               fprintf(stderr, "mono_return_int3 s3.f2: got %d but expected %d\n", s3.f2, 2);
+       }
+       if (s3.f3 != 3) {
+               fprintf(stderr, "mono_return_int3 s3.f3: got %d but expected %d\n", s3.f3, 3);
+       }
+       s3.f1+=addend; s3.f2+=addend; s3.f3+=addend; 
+       return s3;
+}
+
+typedef struct {
+       int f1,f2,f3,f4;
+} int4;
+
+LIBTEST_API int4 STDCALL
+mono_return_int4 (int4 s4, int addend) {
+       if (s4.f1 != 1) {
+               fprintf(stderr, "mono_return_int4 s4.f1: got %d but expected %d\n", s4.f1, 1);
+       }
+       if (s4.f2 != 2) {
+               fprintf(stderr, "mono_return_int4 s4.f2: got %d but expected %d\n", s4.f2, 2);
+       }
+       if (s4.f3 != 3) {
+               fprintf(stderr, "mono_return_int4 s4.f3: got %d but expected %d\n", s4.f3, 3);
+       }
+       if (s4.f4 != 4) {
+               fprintf(stderr, "mono_return_int4 s4.f4: got %d but expected %d\n", s4.f4, 4);
+       }
+       s4.f1+=addend; s4.f2+=addend; s4.f3+=addend; s4.f4+=addend; 
+       return s4;
+}
+
+typedef struct {
+       int f1,f2,f3,f4,f5;
+} int5;
+
+LIBTEST_API int5 STDCALL
+mono_return_int5 (int5 s5, int addend) {
+       if (s5.f1 != 1) {
+               fprintf(stderr, "mono_return_int5 s5.f1: got %d but expected %d\n", s5.f1, 1);
+       }
+       if (s5.f2 != 2) {
+               fprintf(stderr, "mono_return_int5 s5.f2: got %d but expected %d\n", s5.f2, 2);
+       }
+       if (s5.f3 != 3) {
+               fprintf(stderr, "mono_return_int5 s5.f3: got %d but expected %d\n", s5.f3, 3);
+       }
+       if (s5.f4 != 4) {
+               fprintf(stderr, "mono_return_int5 s5.f4: got %d but expected %d\n", s5.f4, 4);
+       }
+       if (s5.f5 != 5) {
+               fprintf(stderr, "mono_return_int5 s5.f5: got %d but expected %d\n", s5.f5, 5);
+       }
+       s5.f1+=addend; s5.f2+=addend; s5.f3+=addend; s5.f4+=addend; s5.f5+=addend; 
+       return s5;
+}
+
+typedef struct {
+       struct {
+               int f1;
+       } nested1;
+       int f2,f3;
+       struct {
+               int f4;
+       } nested2;
+} int4_nested;
+
+LIBTEST_API int4_nested STDCALL
+mono_return_int4_nested (int4_nested sn4, int addend) {
+       if (sn4.nested1.f1 != 1) {
+               fprintf(stderr, "mono_return_int4_nested sn4.nested1.f1: got %d but expected %d\n", sn4.nested1.f1, 1);
+       }
+       if (sn4.f2 != 2) {
+               fprintf(stderr, "mono_return_int4_nested sn4.f2: got %d but expected %d\n", sn4.f2, 2);
+       }
+       if (sn4.f3 != 3) {
+               fprintf(stderr, "mono_return_int4_nested sn4.f3: got %d but expected %d\n", sn4.f3, 3);
+       }
+       if (sn4.nested2.f4 != 4) {
+               fprintf(stderr, "mono_return_int4_nested sn4.nested2.f4: got %d but expected %d\n", sn4.nested2.f4, 4);
+       }
+       sn4.nested1.f1+=addend; sn4.f2+=addend; sn4.f3+=addend; sn4.nested2.f4+=addend; 
+       return sn4;
+}
+
+typedef struct {
+       float f1;
+} float1;
+
+LIBTEST_API float1 STDCALL
+mono_return_float1 (float1 s1, int addend) {
+       if (s1.f1 != 1) {
+               fprintf(stderr, "mono_return_float1 s1.f1: got %f but expected %d\n", s1.f1, 1);
+       }
+       s1.f1+=addend; 
+       return s1;
+}
+
+typedef struct {
+       float f1,f2;
+} float2;
+
+LIBTEST_API float2 STDCALL
+mono_return_float2 (float2 s2, int addend) {
+       if (s2.f1 != 1) {
+               fprintf(stderr, "mono_return_float2 s2.f1: got %f but expected %d\n", s2.f1, 1);
+       }
+       if (s2.f2 != 2) {
+               fprintf(stderr, "mono_return_float2 s2.f2: got %f but expected %d\n", s2.f2, 2);
+       }
+       s2.f1+=addend; s2.f2+=addend; 
+       return s2;
+}
+
+typedef struct {
+       float f1,f2,f3;
+} float3;
+
+LIBTEST_API float3 STDCALL
+mono_return_float3 (float3 s3, int addend) {
+       if (s3.f1 != 1) {
+               fprintf(stderr, "mono_return_float3 s3.f1: got %f but expected %d\n", s3.f1, 1);
+       }
+       if (s3.f2 != 2) {
+               fprintf(stderr, "mono_return_float3 s3.f2: got %f but expected %d\n", s3.f2, 2);
+       }
+       if (s3.f3 != 3) {
+               fprintf(stderr, "mono_return_float3 s3.f3: got %f but expected %d\n", s3.f3, 3);
+       }
+       s3.f1+=addend; s3.f2+=addend; s3.f3+=addend; 
+       return s3;
+}
+
+typedef struct {
+       float f1,f2,f3,f4;
+} float4;
+
+LIBTEST_API float4 STDCALL
+mono_return_float4 (float4 s4, int addend) {
+       if (s4.f1 != 1) {
+               fprintf(stderr, "mono_return_float4 s4.f1: got %f but expected %d\n", s4.f1, 1);
+       }
+       if (s4.f2 != 2) {
+               fprintf(stderr, "mono_return_float4 s4.f2: got %f but expected %d\n", s4.f2, 2);
+       }
+       if (s4.f3 != 3) {
+               fprintf(stderr, "mono_return_float4 s4.f3: got %f but expected %d\n", s4.f3, 3);
+       }
+       if (s4.f4 != 4) {
+               fprintf(stderr, "mono_return_float4 s4.f4: got %f but expected %d\n", s4.f4, 4);
+       }
+       s4.f1+=addend; s4.f2+=addend; s4.f3+=addend; s4.f4+=addend; 
+       return s4;
+}
+
+typedef struct {
+       float f1,f2,f3,f4,f5;
+} float5;
+
+LIBTEST_API float5 STDCALL
+mono_return_float5 (float5 s5, int addend) {
+       if (s5.f1 != 1) {
+               fprintf(stderr, "mono_return_float5 s5.f1: got %f but expected %d\n", s5.f1, 1);
+       }
+       if (s5.f2 != 2) {
+               fprintf(stderr, "mono_return_float5 s5.f2: got %f but expected %d\n", s5.f2, 2);
+       }
+       if (s5.f3 != 3) {
+               fprintf(stderr, "mono_return_float5 s5.f3: got %f but expected %d\n", s5.f3, 3);
+       }
+       if (s5.f4 != 4) {
+               fprintf(stderr, "mono_return_float5 s5.f4: got %f but expected %d\n", s5.f4, 4);
+       }
+       if (s5.f5 != 5) {
+               fprintf(stderr, "mono_return_float5 s5.f5: got %f but expected %d\n", s5.f5, 5);
+       }
+       s5.f1+=addend; s5.f2+=addend; s5.f3+=addend; s5.f4+=addend; s5.f5+=addend; 
+       return s5;
+}
+
+typedef struct {
+       float f1,f2,f3,f4,f5,f6;
+} float6;
+
+LIBTEST_API float6 STDCALL
+mono_return_float6 (float6 s6, int addend) {
+       if (s6.f1 != 1) {
+               fprintf(stderr, "mono_return_float6 s6.f1: got %f but expected %d\n", s6.f1, 1);
+       }
+       if (s6.f2 != 2) {
+               fprintf(stderr, "mono_return_float6 s6.f2: got %f but expected %d\n", s6.f2, 2);
+       }
+       if (s6.f3 != 3) {
+               fprintf(stderr, "mono_return_float6 s6.f3: got %f but expected %d\n", s6.f3, 3);
+       }
+       if (s6.f4 != 4) {
+               fprintf(stderr, "mono_return_float6 s6.f4: got %f but expected %d\n", s6.f4, 4);
+       }
+       if (s6.f5 != 5) {
+               fprintf(stderr, "mono_return_float6 s6.f5: got %f but expected %d\n", s6.f5, 5);
+       }
+       if (s6.f6 != 6) {
+               fprintf(stderr, "mono_return_float6 s6.f6: got %f but expected %d\n", s6.f6, 6);
+       }
+       s6.f1+=addend; s6.f2+=addend; s6.f3+=addend; s6.f4+=addend; s6.f5+=addend; s6.f6+=addend; 
+       return s6;
+}
+
+typedef struct {
+       float f1,f2,f3,f4,f5,f6,f7;
+} float7;
+
+LIBTEST_API float7 STDCALL
+mono_return_float7 (float7 s7, int addend) {
+       if (s7.f1 != 1) {
+               fprintf(stderr, "mono_return_float7 s7.f1: got %f but expected %d\n", s7.f1, 1);
+       }
+       if (s7.f2 != 2) {
+               fprintf(stderr, "mono_return_float7 s7.f2: got %f but expected %d\n", s7.f2, 2);
+       }
+       if (s7.f3 != 3) {
+               fprintf(stderr, "mono_return_float7 s7.f3: got %f but expected %d\n", s7.f3, 3);
+       }
+       if (s7.f4 != 4) {
+               fprintf(stderr, "mono_return_float7 s7.f4: got %f but expected %d\n", s7.f4, 4);
+       }
+       if (s7.f5 != 5) {
+               fprintf(stderr, "mono_return_float7 s7.f5: got %f but expected %d\n", s7.f5, 5);
+       }
+       if (s7.f6 != 6) {
+               fprintf(stderr, "mono_return_float7 s7.f6: got %f but expected %d\n", s7.f6, 6);
+       }
+       if (s7.f7 != 7) {
+               fprintf(stderr, "mono_return_float7 s7.f7: got %f but expected %d\n", s7.f7, 7);
+       }
+       s7.f1+=addend; s7.f2+=addend; s7.f3+=addend; s7.f4+=addend; s7.f5+=addend; s7.f6+=addend; s7.f7+=addend; 
+       return s7;
+}
+
+typedef struct {
+       float f1,f2,f3,f4,f5,f6,f7,f8;
+} float8;
+
+LIBTEST_API float8 STDCALL
+mono_return_float8 (float8 s8, int addend) {
+       if (s8.f1 != 1) {
+               fprintf(stderr, "mono_return_float8 s8.f1: got %f but expected %d\n", s8.f1, 1);
+       }
+       if (s8.f2 != 2) {
+               fprintf(stderr, "mono_return_float8 s8.f2: got %f but expected %d\n", s8.f2, 2);
+       }
+       if (s8.f3 != 3) {
+               fprintf(stderr, "mono_return_float8 s8.f3: got %f but expected %d\n", s8.f3, 3);
+       }
+       if (s8.f4 != 4) {
+               fprintf(stderr, "mono_return_float8 s8.f4: got %f but expected %d\n", s8.f4, 4);
+       }
+       if (s8.f5 != 5) {
+               fprintf(stderr, "mono_return_float8 s8.f5: got %f but expected %d\n", s8.f5, 5);
+       }
+       if (s8.f6 != 6) {
+               fprintf(stderr, "mono_return_float8 s8.f6: got %f but expected %d\n", s8.f6, 6);
+       }
+       if (s8.f7 != 7) {
+               fprintf(stderr, "mono_return_float8 s8.f7: got %f but expected %d\n", s8.f7, 7);
+       }
+       if (s8.f8 != 8) {
+               fprintf(stderr, "mono_return_float8 s8.f8: got %f but expected %d\n", s8.f8, 8);
+       }
+       s8.f1+=addend; s8.f2+=addend; s8.f3+=addend; s8.f4+=addend; s8.f5+=addend; s8.f6+=addend; s8.f7+=addend; s8.f8+=addend; 
+       return s8;
+}
+
+typedef struct {
+       float f1,f2,f3,f4,f5,f6,f7,f8,f9;
+} float9;
+
+LIBTEST_API float9 STDCALL
+mono_return_float9 (float9 s9, int addend) {
+       if (s9.f1 != 1) {
+               fprintf(stderr, "mono_return_float9 s9.f1: got %f but expected %d\n", s9.f1, 1);
+       }
+       if (s9.f2 != 2) {
+               fprintf(stderr, "mono_return_float9 s9.f2: got %f but expected %d\n", s9.f2, 2);
+       }
+       if (s9.f3 != 3) {
+               fprintf(stderr, "mono_return_float9 s9.f3: got %f but expected %d\n", s9.f3, 3);
+       }
+       if (s9.f4 != 4) {
+               fprintf(stderr, "mono_return_float9 s9.f4: got %f but expected %d\n", s9.f4, 4);
+       }
+       if (s9.f5 != 5) {
+               fprintf(stderr, "mono_return_float9 s9.f5: got %f but expected %d\n", s9.f5, 5);
+       }
+       if (s9.f6 != 6) {
+               fprintf(stderr, "mono_return_float9 s9.f6: got %f but expected %d\n", s9.f6, 6);
+       }
+       if (s9.f7 != 7) {
+               fprintf(stderr, "mono_return_float9 s9.f7: got %f but expected %d\n", s9.f7, 7);
+       }
+       if (s9.f8 != 8) {
+               fprintf(stderr, "mono_return_float9 s9.f8: got %f but expected %d\n", s9.f8, 8);
+       }
+       if (s9.f9 != 9) {
+               fprintf(stderr, "mono_return_float9 s9.f9: got %f but expected %d\n", s9.f9, 9);
+       }
+       s9.f1+=addend; s9.f2+=addend; s9.f3+=addend; s9.f4+=addend; s9.f5+=addend; s9.f6+=addend; s9.f7+=addend; s9.f8+=addend; s9.f9+=addend; 
+       return s9;
+}
+
+typedef struct {
+       struct {
+               float f1;
+       } nested1;
+       float f2,f3;
+       struct {
+               float f4;
+       } nested2;
+} float4_nested;
+
+LIBTEST_API float4_nested STDCALL
+mono_return_float4_nested (float4_nested sn4, int addend) {
+       if (sn4.nested1.f1 != 1) {
+               fprintf(stderr, "mono_return_float4_nested sn4.nested1.f1: got %f but expected %d\n", sn4.nested1.f1, 1);
+       }
+       if (sn4.f2 != 2) {
+               fprintf(stderr, "mono_return_float4_nested sn4.f2: got %f but expected %d\n", sn4.f2, 2);
+       }
+       if (sn4.f3 != 3) {
+               fprintf(stderr, "mono_return_float4_nested sn4.f3: got %f but expected %d\n", sn4.f3, 3);
+       }
+       if (sn4.nested2.f4 != 4) {
+               fprintf(stderr, "mono_return_float4_nested sn4.nested2.f4: got %f but expected %d\n", sn4.nested2.f4, 4);
+       }
+       sn4.nested1.f1+=addend; sn4.f2+=addend; sn4.f3+=addend; sn4.nested2.f4+=addend; 
+       return sn4;
+}
+
+typedef struct {
+       double f1;
+} double1;
+
+LIBTEST_API double1 STDCALL
+mono_return_double1 (double1 s1, int addend) {
+       if (s1.f1 != 1) {
+               fprintf(stderr, "mono_return_double1 s1.f1: got %f but expected %d\n", s1.f1, 1);
+       }
+       s1.f1+=addend; 
+       return s1;
+}
+
+typedef struct {
+       double f1,f2;
+} double2;
+
+LIBTEST_API double2 STDCALL
+mono_return_double2 (double2 s2, int addend) {
+       if (s2.f1 != 1) {
+               fprintf(stderr, "mono_return_double2 s2.f1: got %f but expected %d\n", s2.f1, 1);
+       }
+       if (s2.f2 != 2) {
+               fprintf(stderr, "mono_return_double2 s2.f2: got %f but expected %d\n", s2.f2, 2);
+       }
+       s2.f1+=addend; s2.f2+=addend; 
+       return s2;
+}
+
+typedef struct {
+       double f1,f2,f3;
+} double3;
+
+LIBTEST_API double3 STDCALL
+mono_return_double3 (double3 s3, int addend) {
+       if (s3.f1 != 1) {
+               fprintf(stderr, "mono_return_double3 s3.f1: got %f but expected %d\n", s3.f1, 1);
+       }
+       if (s3.f2 != 2) {
+               fprintf(stderr, "mono_return_double3 s3.f2: got %f but expected %d\n", s3.f2, 2);
+       }
+       if (s3.f3 != 3) {
+               fprintf(stderr, "mono_return_double3 s3.f3: got %f but expected %d\n", s3.f3, 3);
+       }
+       s3.f1+=addend; s3.f2+=addend; s3.f3+=addend; 
+       return s3;
+}
+
+typedef struct {
+       double f1,f2,f3,f4;
+} double4;
+
+LIBTEST_API double4 STDCALL
+mono_return_double4 (double4 s4, int addend) {
+       if (s4.f1 != 1) {
+               fprintf(stderr, "mono_return_double4 s4.f1: got %f but expected %d\n", s4.f1, 1);
+       }
+       if (s4.f2 != 2) {
+               fprintf(stderr, "mono_return_double4 s4.f2: got %f but expected %d\n", s4.f2, 2);
+       }
+       if (s4.f3 != 3) {
+               fprintf(stderr, "mono_return_double4 s4.f3: got %f but expected %d\n", s4.f3, 3);
+       }
+       if (s4.f4 != 4) {
+               fprintf(stderr, "mono_return_double4 s4.f4: got %f but expected %d\n", s4.f4, 4);
+       }
+       s4.f1+=addend; s4.f2+=addend; s4.f3+=addend; s4.f4+=addend; 
+       return s4;
+}
+
+typedef struct {
+       double f1,f2,f3,f4,f5;
+} double5;
+
+LIBTEST_API double5 STDCALL
+mono_return_double5 (double5 s5, int addend) {
+       if (s5.f1 != 1) {
+               fprintf(stderr, "mono_return_double5 s5.f1: got %f but expected %d\n", s5.f1, 1);
+       }
+       if (s5.f2 != 2) {
+               fprintf(stderr, "mono_return_double5 s5.f2: got %f but expected %d\n", s5.f2, 2);
+       }
+       if (s5.f3 != 3) {
+               fprintf(stderr, "mono_return_double5 s5.f3: got %f but expected %d\n", s5.f3, 3);
+       }
+       if (s5.f4 != 4) {
+               fprintf(stderr, "mono_return_double5 s5.f4: got %f but expected %d\n", s5.f4, 4);
+       }
+       if (s5.f5 != 5) {
+               fprintf(stderr, "mono_return_double5 s5.f5: got %f but expected %d\n", s5.f5, 5);
+       }
+       s5.f1+=addend; s5.f2+=addend; s5.f3+=addend; s5.f4+=addend; s5.f5+=addend; 
+       return s5;
+}
+
+typedef struct {
+       double f1,f2,f3,f4,f5,f6;
+} double6;
+
+LIBTEST_API double6 STDCALL
+mono_return_double6 (double6 s6, int addend) {
+       if (s6.f1 != 1) {
+               fprintf(stderr, "mono_return_double6 s6.f1: got %f but expected %d\n", s6.f1, 1);
+       }
+       if (s6.f2 != 2) {
+               fprintf(stderr, "mono_return_double6 s6.f2: got %f but expected %d\n", s6.f2, 2);
+       }
+       if (s6.f3 != 3) {
+               fprintf(stderr, "mono_return_double6 s6.f3: got %f but expected %d\n", s6.f3, 3);
+       }
+       if (s6.f4 != 4) {
+               fprintf(stderr, "mono_return_double6 s6.f4: got %f but expected %d\n", s6.f4, 4);
+       }
+       if (s6.f5 != 5) {
+               fprintf(stderr, "mono_return_double6 s6.f5: got %f but expected %d\n", s6.f5, 5);
+       }
+       if (s6.f6 != 6) {
+               fprintf(stderr, "mono_return_double6 s6.f6: got %f but expected %d\n", s6.f6, 6);
+       }
+       s6.f1+=addend; s6.f2+=addend; s6.f3+=addend; s6.f4+=addend; s6.f5+=addend; s6.f6+=addend; 
+       return s6;
+}
+
+typedef struct {
+       double f1,f2,f3,f4,f5,f6,f7;
+} double7;
+
+LIBTEST_API double7 STDCALL
+mono_return_double7 (double7 s7, int addend) {
+       if (s7.f1 != 1) {
+               fprintf(stderr, "mono_return_double7 s7.f1: got %f but expected %d\n", s7.f1, 1);
+       }
+       if (s7.f2 != 2) {
+               fprintf(stderr, "mono_return_double7 s7.f2: got %f but expected %d\n", s7.f2, 2);
+       }
+       if (s7.f3 != 3) {
+               fprintf(stderr, "mono_return_double7 s7.f3: got %f but expected %d\n", s7.f3, 3);
+       }
+       if (s7.f4 != 4) {
+               fprintf(stderr, "mono_return_double7 s7.f4: got %f but expected %d\n", s7.f4, 4);
+       }
+       if (s7.f5 != 5) {
+               fprintf(stderr, "mono_return_double7 s7.f5: got %f but expected %d\n", s7.f5, 5);
+       }
+       if (s7.f6 != 6) {
+               fprintf(stderr, "mono_return_double7 s7.f6: got %f but expected %d\n", s7.f6, 6);
+       }
+       if (s7.f7 != 7) {
+               fprintf(stderr, "mono_return_double7 s7.f7: got %f but expected %d\n", s7.f7, 7);
+       }
+       s7.f1+=addend; s7.f2+=addend; s7.f3+=addend; s7.f4+=addend; s7.f5+=addend; s7.f6+=addend; s7.f7+=addend; 
+       return s7;
+}
+
+typedef struct {
+       double f1,f2,f3,f4,f5,f6,f7,f8;
+} double8;
+
+LIBTEST_API double8 STDCALL
+mono_return_double8 (double8 s8, int addend) {
+       if (s8.f1 != 1) {
+               fprintf(stderr, "mono_return_double8 s8.f1: got %f but expected %d\n", s8.f1, 1);
+       }
+       if (s8.f2 != 2) {
+               fprintf(stderr, "mono_return_double8 s8.f2: got %f but expected %d\n", s8.f2, 2);
+       }
+       if (s8.f3 != 3) {
+               fprintf(stderr, "mono_return_double8 s8.f3: got %f but expected %d\n", s8.f3, 3);
+       }
+       if (s8.f4 != 4) {
+               fprintf(stderr, "mono_return_double8 s8.f4: got %f but expected %d\n", s8.f4, 4);
+       }
+       if (s8.f5 != 5) {
+               fprintf(stderr, "mono_return_double8 s8.f5: got %f but expected %d\n", s8.f5, 5);
+       }
+       if (s8.f6 != 6) {
+               fprintf(stderr, "mono_return_double8 s8.f6: got %f but expected %d\n", s8.f6, 6);
+       }
+       if (s8.f7 != 7) {
+               fprintf(stderr, "mono_return_double8 s8.f7: got %f but expected %d\n", s8.f7, 7);
+       }
+       if (s8.f8 != 8) {
+               fprintf(stderr, "mono_return_double8 s8.f8: got %f but expected %d\n", s8.f8, 8);
+       }
+       s8.f1+=addend; s8.f2+=addend; s8.f3+=addend; s8.f4+=addend; s8.f5+=addend; s8.f6+=addend; s8.f7+=addend; s8.f8+=addend; 
+       return s8;
+}
+
+typedef struct {
+       double f1,f2,f3,f4,f5,f6,f7,f8,f9;
+} double9;
+
+LIBTEST_API double9 STDCALL
+mono_return_double9 (double9 s9, int addend) {
+       if (s9.f1 != 1) {
+               fprintf(stderr, "mono_return_double9 s9.f1: got %f but expected %d\n", s9.f1, 1);
+       }
+       if (s9.f2 != 2) {
+               fprintf(stderr, "mono_return_double9 s9.f2: got %f but expected %d\n", s9.f2, 2);
+       }
+       if (s9.f3 != 3) {
+               fprintf(stderr, "mono_return_double9 s9.f3: got %f but expected %d\n", s9.f3, 3);
+       }
+       if (s9.f4 != 4) {
+               fprintf(stderr, "mono_return_double9 s9.f4: got %f but expected %d\n", s9.f4, 4);
+       }
+       if (s9.f5 != 5) {
+               fprintf(stderr, "mono_return_double9 s9.f5: got %f but expected %d\n", s9.f5, 5);
+       }
+       if (s9.f6 != 6) {
+               fprintf(stderr, "mono_return_double9 s9.f6: got %f but expected %d\n", s9.f6, 6);
+       }
+       if (s9.f7 != 7) {
+               fprintf(stderr, "mono_return_double9 s9.f7: got %f but expected %d\n", s9.f7, 7);
+       }
+       if (s9.f8 != 8) {
+               fprintf(stderr, "mono_return_double9 s9.f8: got %f but expected %d\n", s9.f8, 8);
+       }
+       if (s9.f9 != 9) {
+               fprintf(stderr, "mono_return_double9 s9.f9: got %f but expected %d\n", s9.f9, 9);
+       }
+       s9.f1+=addend; s9.f2+=addend; s9.f3+=addend; s9.f4+=addend; s9.f5+=addend; s9.f6+=addend; s9.f7+=addend; s9.f8+=addend; s9.f9+=addend; 
+       return s9;
+}
+
+typedef struct {
+       struct {
+               double f1;
+       } nested1;
+       struct {
+               double f2;
+       } nested2;
+} double2_nested;
+
+LIBTEST_API double2_nested STDCALL
+mono_return_double2_nested (double2_nested sn2, int addend) {
+       if (sn2.nested1.f1 != 1) {
+               fprintf(stderr, "mono_return_double2_nested sn2.nested1.f1: got %f but expected %d\n", sn2.nested1.f1, 1);
+       }
+       if (sn2.nested2.f2 != 2) {
+               fprintf(stderr, "mono_return_double2_nested sn2.nested2.f2: got %f but expected %d\n", sn2.nested2.f2, 2);
+       }
+       sn2.nested1.f1+=addend; sn2.nested2.f2+=addend; 
+       return sn2;
+}
+
+
+
+typedef struct {
+       double f1[4];
+} double_array4;
+
+LIBTEST_API double_array4 STDCALL
+mono_return_double_array4 (double_array4 sa4, int addend) {
+       if (sa4.f1[0] != 1) {
+               fprintf(stderr, "mono_return_double_array4 sa4.f1[0]: got %f but expected %d\n", sa4.f1[0], 1);
+       }
+       if (sa4.f1[1] != 2) {
+               fprintf(stderr, "mono_return_double_array4 sa4.f1[1]: got %f but expected %d\n", sa4.f1[1], 2);
+       }
+       if (sa4.f1[2] != 3) {
+               fprintf(stderr, "mono_return_double_array4 sa4.f1[2]: got %f but expected %d\n", sa4.f1[2], 3);
+       }
+       if (sa4.f1[3] != 4) {
+               fprintf(stderr, "mono_return_double_array4 sa4.f1[3]: got %f but expected %d\n", sa4.f1[3], 4);
+       }
+       sa4.f1[0]+=addend; sa4.f1[1]+=addend; sa4.f1[2]+=addend; sa4.f1[3]+=addend; 
+       return sa4;
+}
+
index 2ce4a3c4d78f7e9e00f22a0d81ab57292d22cc48..205d10ca16e98838c73ff9da01053e166f4ce530 100644 (file)
@@ -12,14 +12,26 @@ public class Foo  {
                resurrect = this;
        }
 
+       public static void EnterMonitor (object obj)
+       {
+               for (int i = 0; i < 257; i++)
+                       Monitor.Enter (obj);
+       }
+
+       public static void ExitMonitor (object obj)
+       {
+               for (int i = 0; i < 257; i++)
+                       Monitor.Exit (obj);
+       }
+
        public static void CreateFoo (int level)
        {
                if (level == 0) {
                        reference = new Foo ();
 
                        /* Allocate a MonoThreadsSync for the object */
-                       Monitor.Enter (reference);
-                       Monitor.Exit (reference);
+                       EnterMonitor (reference);
+                       ExitMonitor (reference);
                        reference = null;
                } else {
                        CreateFoo (level - 1);
@@ -52,7 +64,7 @@ public class Foo  {
                        /* Make sure these are not collected */
                        list.Add (foo);
 
-                       Monitor.Enter (foo);
+                       EnterMonitor (foo);
                }
        }
 } 
diff --git a/mono/tests/pinvoke_ppcc.cs b/mono/tests/pinvoke_ppcc.cs
new file mode 100644 (file)
index 0000000..9690179
--- /dev/null
@@ -0,0 +1,1050 @@
+// pinvoke_ppcc.cs - Test cases for passing structures to and and returning
+//                   structures from functions.  This particular test is for
+//                   structures consisting wholy of 1 byte fields.
+//
+//                   The Power ABI version 2 allows for special parameter
+//                   passing and returning optimizations for certain
+//                   structures of homogenous composition (like all ints).
+//                   This set of tests checks all the possible combinations
+//                   that use the special parm/return rules and one beyond.
+//
+// Bill Seurer (seurer@linux.vnet.ibm.com)
+//
+// (C) {Copyright holder}
+//
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class Test_sbyte {
+
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte1")]
+       public static extern sbyte1 mono_return_sbyte1 (sbyte1 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte1 {
+               public sbyte f1;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte2")]
+       public static extern sbyte2 mono_return_sbyte2 (sbyte2 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte2 {
+               public sbyte f1,f2;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte3")]
+       public static extern sbyte3 mono_return_sbyte3 (sbyte3 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte3 {
+               public sbyte f1,f2,f3;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte4")]
+       public static extern sbyte4 mono_return_sbyte4 (sbyte4 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte4 {
+               public sbyte f1,f2,f3,f4;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte5")]
+       public static extern sbyte5 mono_return_sbyte5 (sbyte5 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte5 {
+               public sbyte f1,f2,f3,f4,f5;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte6")]
+       public static extern sbyte6 mono_return_sbyte6 (sbyte6 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte6 {
+               public sbyte f1,f2,f3,f4,f5,f6;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte7")]
+       public static extern sbyte7 mono_return_sbyte7 (sbyte7 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte7 {
+               public sbyte f1,f2,f3,f4,f5,f6,f7;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte8")]
+       public static extern sbyte8 mono_return_sbyte8 (sbyte8 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte8 {
+               public sbyte f1,f2,f3,f4,f5,f6,f7,f8;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte9")]
+       public static extern sbyte9 mono_return_sbyte9 (sbyte9 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte9 {
+               public sbyte f1,f2,f3,f4,f5,f6,f7,f8,f9;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte10")]
+       public static extern sbyte10 mono_return_sbyte10 (sbyte10 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte10 {
+               public sbyte f1,f2,f3,f4,f5,f6,f7,f8,f9,f10;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte11")]
+       public static extern sbyte11 mono_return_sbyte11 (sbyte11 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte11 {
+               public sbyte f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte12")]
+       public static extern sbyte12 mono_return_sbyte12 (sbyte12 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte12 {
+               public sbyte f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte13")]
+       public static extern sbyte13 mono_return_sbyte13 (sbyte13 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte13 {
+               public sbyte f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte14")]
+       public static extern sbyte14 mono_return_sbyte14 (sbyte14 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte14 {
+               public sbyte f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte15")]
+       public static extern sbyte15 mono_return_sbyte15 (sbyte15 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte15 {
+               public sbyte f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte16")]
+       public static extern sbyte16 mono_return_sbyte16 (sbyte16 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte16 {
+               public sbyte f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16;
+       }
+       // This structure is 1 element too large to use the special return
+       //  rules.
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte17")]
+       public static extern sbyte17 mono_return_sbyte17 (sbyte17 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte17 {
+               public sbyte f1,f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15,f16,f17;
+       }
+
+       // This structure has nested structures within it but they are
+       //  homogenous and thus should still use the special rules.
+       public struct sbyte16_nested1 {
+               public sbyte f1;
+       };
+       public struct sbyte16_nested2 {
+               public sbyte f16;
+       };
+       [DllImport ("libtest", EntryPoint="mono_return_sbyte16_nested")]
+       public static extern sbyte16_nested mono_return_sbyte16_nested (sbyte16_nested s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct sbyte16_nested {
+               public sbyte16_nested1 nested1;
+               public sbyte f2,f3,f4,f5,f6,f7,f8,f9,f10,f11,f12,f13,f14,f15;
+               public sbyte16_nested2 nested2;
+       }
+
+       public static int Main (string[] args) {
+
+               sbyte1 s1;
+               s1.f1 = 1;
+               s1 = mono_return_sbyte1(s1, 9);
+
+               if (s1.f1 != 1+9) {
+                       Console.WriteLine("   sbyte1 s1.f1: got {0} but expected {1}", s1.f1, 1+9);
+                       return 1;
+               }
+
+               sbyte2 s2;
+               s2.f1 = 1;
+               s2.f2 = 2;
+               s2 = mono_return_sbyte2(s2, 9);
+               if (s2.f1 != 1+9) {
+                       Console.WriteLine("   sbyte2 s2.f1: got {0} but expected {1}", s2.f1, 1+9);
+                       return 1;
+               }
+               if (s2.f2 != 2+9) {
+                       Console.WriteLine("   sbyte2 s2.f2: got {0} but expected {1}", s2.f2, 2+9);
+                       return 2;
+               }
+
+               sbyte3 s3;
+               s3.f1 = 1;
+               s3.f2 = 2;
+               s3.f3 = 3;
+               s3 = mono_return_sbyte3(s3, 9);
+               if (s3.f1 != 1+9) {
+                       Console.WriteLine("   sbyte3 s3.f1: got {0} but expected {1}", s3.f1, 1+9);
+                       return 1;
+               }
+               if (s3.f2 != 2+9) {
+                       Console.WriteLine("   sbyte3 s3.f2: got {0} but expected {1}", s3.f2, 2+9);
+                       return 2;
+               }
+               if (s3.f3 != 3+9) {
+                       Console.WriteLine("   sbyte3 s3.f3: got {0} but expected {1}", s3.f3, 3+9);
+                       return 3;
+               }
+
+               sbyte4 s4;
+               s4.f1 = 1;
+               s4.f2 = 2;
+               s4.f3 = 3;
+               s4.f4 = 4;
+               s4 = mono_return_sbyte4(s4, 9);
+               if (s4.f1 != 1+9) {
+                       Console.WriteLine("   sbyte4 s4.f1: got {0} but expected {1}", s4.f1, 1+9);
+                       return 1;
+               }
+               if (s4.f2 != 2+9) {
+                       Console.WriteLine("   sbyte4 s4.f2: got {0} but expected {1}", s4.f2, 2+9);
+                       return 2;
+               }
+               if (s4.f3 != 3+9) {
+                       Console.WriteLine("   sbyte4 s4.f3: got {0} but expected {1}", s4.f3, 3+9);
+                       return 3;
+               }
+               if (s4.f4 != 4+9) {
+                       Console.WriteLine("   sbyte4 s4.f4: got {0} but expected {1}", s4.f4, 4+9);
+                       return 4;
+               }
+
+               sbyte5 s5;
+               s5.f1 = 1;
+               s5.f2 = 2;
+               s5.f3 = 3;
+               s5.f4 = 4;
+               s5.f5 = 5;
+               s5 = mono_return_sbyte5(s5, 9);
+               if (s5.f1 != 1+9) {
+                       Console.WriteLine("   sbyte5 s5.f1: got {0} but expected {1}", s5.f1, 1+9);
+                       return 1;
+               }
+               if (s5.f2 != 2+9) {
+                       Console.WriteLine("   sbyte5 s5.f2: got {0} but expected {1}", s5.f2, 2+9);
+                       return 2;
+               }
+               if (s5.f3 != 3+9) {
+                       Console.WriteLine("   sbyte5 s5.f3: got {0} but expected {1}", s5.f3, 3+9);
+                       return 3;
+               }
+               if (s5.f4 != 4+9) {
+                       Console.WriteLine("   sbyte5 s5.f4: got {0} but expected {1}", s5.f4, 4+9);
+                       return 4;
+               }
+               if (s5.f5 != 5+9) {
+                       Console.WriteLine("   sbyte5 s5.f5: got {0} but expected {1}", s5.f5, 5+9);
+                       return 5;
+               }
+
+               sbyte6 s6;
+               s6.f1 = 1;
+               s6.f2 = 2;
+               s6.f3 = 3;
+               s6.f4 = 4;
+               s6.f5 = 5;
+               s6.f6 = 6;
+               s6 = mono_return_sbyte6(s6, 9);
+               if (s6.f1 != 1+9) {
+                       Console.WriteLine("   sbyte6 s6.f1: got {0} but expected {1}", s6.f1, 1+9);
+                       return 1;
+               }
+               if (s6.f2 != 2+9) {
+                       Console.WriteLine("   sbyte6 s6.f2: got {0} but expected {1}", s6.f2, 2+9);
+                       return 2;
+               }
+               if (s6.f3 != 3+9) {
+                       Console.WriteLine("   sbyte6 s6.f3: got {0} but expected {1}", s6.f3, 3+9);
+                       return 3;
+               }
+               if (s6.f4 != 4+9) {
+                       Console.WriteLine("   sbyte6 s6.f4: got {0} but expected {1}", s6.f4, 4+9);
+                       return 4;
+               }
+               if (s6.f5 != 5+9) {
+                       Console.WriteLine("   sbyte6 s6.f5: got {0} but expected {1}", s6.f5, 5+9);
+                       return 5;
+               }
+               if (s6.f6 != 6+9) {
+                       Console.WriteLine("   sbyte6 s6.f6: got {0} but expected {1}", s6.f6, 6+9);
+                       return 6;
+               }
+
+               sbyte7 s7;
+               s7.f1 = 1;
+               s7.f2 = 2;
+               s7.f3 = 3;
+               s7.f4 = 4;
+               s7.f5 = 5;
+               s7.f6 = 6;
+               s7.f7 = 7;
+               s7 = mono_return_sbyte7(s7, 9);
+               if (s7.f1 != 1+9) {
+                       Console.WriteLine("   sbyte7 s7.f1: got {0} but expected {1}", s7.f1, 1+9);
+                       return 1;
+               }
+               if (s7.f2 != 2+9) {
+                       Console.WriteLine("   sbyte7 s7.f2: got {0} but expected {1}", s7.f2, 2+9);
+                       return 2;
+               }
+               if (s7.f3 != 3+9) {
+                       Console.WriteLine("   sbyte7 s7.f3: got {0} but expected {1}", s7.f3, 3+9);
+                       return 3;
+               }
+               if (s7.f4 != 4+9) {
+                       Console.WriteLine("   sbyte7 s7.f4: got {0} but expected {1}", s7.f4, 4+9);
+                       return 4;
+               }
+               if (s7.f5 != 5+9) {
+                       Console.WriteLine("   sbyte7 s7.f5: got {0} but expected {1}", s7.f5, 5+9);
+                       return 5;
+               }
+               if (s7.f6 != 6+9) {
+                       Console.WriteLine("   sbyte7 s7.f6: got {0} but expected {1}", s7.f6, 6+9);
+                       return 6;
+               }
+               if (s7.f7 != 7+9) {
+                       Console.WriteLine("   sbyte7 s7.f7: got {0} but expected {1}", s7.f7, 7+9);
+                       return 7;
+               }
+
+               sbyte8 s8;
+               s8.f1 = 1;
+               s8.f2 = 2;
+               s8.f3 = 3;
+               s8.f4 = 4;
+               s8.f5 = 5;
+               s8.f6 = 6;
+               s8.f7 = 7;
+               s8.f8 = 8;
+               s8 = mono_return_sbyte8(s8, 9);
+               if (s8.f1 != 1+9) {
+                       Console.WriteLine("   sbyte8 s8.f1: got {0} but expected {1}", s8.f1, 1+9);
+                       return 1;
+               }
+               if (s8.f2 != 2+9) {
+                       Console.WriteLine("   sbyte8 s8.f2: got {0} but expected {1}", s8.f2, 2+9);
+                       return 2;
+               }
+               if (s8.f3 != 3+9) {
+                       Console.WriteLine("   sbyte8 s8.f3: got {0} but expected {1}", s8.f3, 3+9);
+                       return 3;
+               }
+               if (s8.f4 != 4+9) {
+                       Console.WriteLine("   sbyte8 s8.f4: got {0} but expected {1}", s8.f4, 4+9);
+                       return 4;
+               }
+               if (s8.f5 != 5+9) {
+                       Console.WriteLine("   sbyte8 s8.f5: got {0} but expected {1}", s8.f5, 5+9);
+                       return 5;
+               }
+               if (s8.f6 != 6+9) {
+                       Console.WriteLine("   sbyte8 s8.f6: got {0} but expected {1}", s8.f6, 6+9);
+                       return 6;
+               }
+               if (s8.f7 != 7+9) {
+                       Console.WriteLine("   sbyte8 s8.f7: got {0} but expected {1}", s8.f7, 7+9);
+                       return 7;
+               }
+               if (s8.f8 != 8+9) {
+                       Console.WriteLine("   sbyte8 s8.f8: got {0} but expected {1}", s8.f8, 8+9);
+                       return 8;
+               }
+
+               sbyte9 s9;
+               s9.f1 = 1;
+               s9.f2 = 2;
+               s9.f3 = 3;
+               s9.f4 = 4;
+               s9.f5 = 5;
+               s9.f6 = 6;
+               s9.f7 = 7;
+               s9.f8 = 8;
+               s9.f9 = 9;
+               s9 = mono_return_sbyte9(s9, 9);
+               if (s9.f1 != 1+9) {
+                       Console.WriteLine("   sbyte9 s9.f1: got {0} but expected {1}", s9.f1, 1+9);
+                       return 1;
+               }
+               if (s9.f2 != 2+9) {
+                       Console.WriteLine("   sbyte9 s9.f2: got {0} but expected {1}", s9.f2, 2+9);
+                       return 2;
+               }
+               if (s9.f3 != 3+9) {
+                       Console.WriteLine("   sbyte9 s9.f3: got {0} but expected {1}", s9.f3, 3+9);
+                       return 3;
+               }
+               if (s9.f4 != 4+9) {
+                       Console.WriteLine("   sbyte9 s9.f4: got {0} but expected {1}", s9.f4, 4+9);
+                       return 4;
+               }
+               if (s9.f5 != 5+9) {
+                       Console.WriteLine("   sbyte9 s9.f5: got {0} but expected {1}", s9.f5, 5+9);
+                       return 5;
+               }
+               if (s9.f6 != 6+9) {
+                       Console.WriteLine("   sbyte9 s9.f6: got {0} but expected {1}", s9.f6, 6+9);
+                       return 6;
+               }
+               if (s9.f7 != 7+9) {
+                       Console.WriteLine("   sbyte9 s9.f7: got {0} but expected {1}", s9.f7, 7+9);
+                       return 7;
+               }
+               if (s9.f8 != 8+9) {
+                       Console.WriteLine("   sbyte9 s9.f8: got {0} but expected {1}", s9.f8, 8+9);
+                       return 8;
+               }
+               if (s9.f9 != 9+9) {
+                       Console.WriteLine("   sbyte9 s9.f9: got {0} but expected {1}", s9.f9, 9+9);
+                       return 9;
+               }
+
+               sbyte10 s10;
+               s10.f1 = 1;
+               s10.f2 = 2;
+               s10.f3 = 3;
+               s10.f4 = 4;
+               s10.f5 = 5;
+               s10.f6 = 6;
+               s10.f7 = 7;
+               s10.f8 = 8;
+               s10.f9 = 9;
+               s10.f10 = 10;
+               s10 = mono_return_sbyte10(s10, 9);
+               if (s10.f1 != 1+9) {
+                       Console.WriteLine("   sbyte10 s10.f1: got {0} but expected {1}", s10.f1, 1+9);
+                       return 1;
+               }
+               if (s10.f2 != 2+9) {
+                       Console.WriteLine("   sbyte10 s10.f2: got {0} but expected {1}", s10.f2, 2+9);
+                       return 2;
+               }
+               if (s10.f3 != 3+9) {
+                       Console.WriteLine("   sbyte10 s10.f3: got {0} but expected {1}", s10.f3, 3+9);
+                       return 3;
+               }
+               if (s10.f4 != 4+9) {
+                       Console.WriteLine("   sbyte10 s10.f4: got {0} but expected {1}", s10.f4, 4+9);
+                       return 4;
+               }
+               if (s10.f5 != 5+9) {
+                       Console.WriteLine("   sbyte10 s10.f5: got {0} but expected {1}", s10.f5, 5+9);
+                       return 5;
+               }
+               if (s10.f6 != 6+9) {
+                       Console.WriteLine("   sbyte10 s10.f6: got {0} but expected {1}", s10.f6, 6+9);
+                       return 6;
+               }
+               if (s10.f7 != 7+9) {
+                       Console.WriteLine("   sbyte10 s10.f7: got {0} but expected {1}", s10.f7, 7+9);
+                       return 7;
+               }
+               if (s10.f8 != 8+9) {
+                       Console.WriteLine("   sbyte10 s10.f8: got {0} but expected {1}", s10.f8, 8+9);
+                       return 8;
+               }
+               if (s10.f9 != 9+9) {
+                       Console.WriteLine("   sbyte10 s10.f9: got {0} but expected {1}", s10.f9, 9+9);
+                       return 9;
+               }
+               if (s10.f10 != 10+9) {
+                       Console.WriteLine("   sbyte10 s10.f10: got {0} but expected {1}", s10.f10, 10+9);
+                       return 10;
+               }
+
+               sbyte11 s11;
+               s11.f1 = 1;
+               s11.f2 = 2;
+               s11.f3 = 3;
+               s11.f4 = 4;
+               s11.f5 = 5;
+               s11.f6 = 6;
+               s11.f7 = 7;
+               s11.f8 = 8;
+               s11.f9 = 9;
+               s11.f10 = 10;
+               s11.f11 = 11;
+               s11 = mono_return_sbyte11(s11, 9);
+               if (s11.f1 != 1+9) {
+                       Console.WriteLine("   sbyte11 s11.f1: got {0} but expected {1}", s11.f1, 1+9);
+                       return 1;
+               }
+               if (s11.f2 != 2+9) {
+                       Console.WriteLine("   sbyte11 s11.f2: got {0} but expected {1}", s11.f2, 2+9);
+                       return 2;
+               }
+               if (s11.f3 != 3+9) {
+                       Console.WriteLine("   sbyte11 s11.f3: got {0} but expected {1}", s11.f3, 3+9);
+                       return 3;
+               }
+               if (s11.f4 != 4+9) {
+                       Console.WriteLine("   sbyte11 s11.f4: got {0} but expected {1}", s11.f4, 4+9);
+                       return 4;
+               }
+               if (s11.f5 != 5+9) {
+                       Console.WriteLine("   sbyte11 s11.f5: got {0} but expected {1}", s11.f5, 5+9);
+                       return 5;
+               }
+               if (s11.f6 != 6+9) {
+                       Console.WriteLine("   sbyte11 s11.f6: got {0} but expected {1}", s11.f6, 6+9);
+                       return 6;
+               }
+               if (s11.f7 != 7+9) {
+                       Console.WriteLine("   sbyte11 s11.f7: got {0} but expected {1}", s11.f7, 7+9);
+                       return 7;
+               }
+               if (s11.f8 != 8+9) {
+                       Console.WriteLine("   sbyte11 s11.f8: got {0} but expected {1}", s11.f8, 8+9);
+                       return 8;
+               }
+               if (s11.f9 != 9+9) {
+                       Console.WriteLine("   sbyte11 s11.f9: got {0} but expected {1}", s11.f9, 9+9);
+                       return 9;
+               }
+               if (s11.f10 != 10+9) {
+                       Console.WriteLine("   sbyte11 s11.f10: got {0} but expected {1}", s11.f10, 10+9);
+                       return 10;
+               }
+               if (s11.f11 != 11+9) {
+                       Console.WriteLine("   sbyte11 s11.f11: got {0} but expected {1}", s11.f11, 11+9);
+                       return 11;
+               }
+
+               sbyte12 s12;
+               s12.f1 = 1;
+               s12.f2 = 2;
+               s12.f3 = 3;
+               s12.f4 = 4;
+               s12.f5 = 5;
+               s12.f6 = 6;
+               s12.f7 = 7;
+               s12.f8 = 8;
+               s12.f9 = 9;
+               s12.f10 = 10;
+               s12.f11 = 11;
+               s12.f12 = 12;
+               s12 = mono_return_sbyte12(s12, 9);
+               if (s12.f1 != 1+9) {
+                       Console.WriteLine("   sbyte12 s12.f1: got {0} but expected {1}", s12.f1, 1+9);
+                       return 1;
+               }
+               if (s12.f2 != 2+9) {
+                       Console.WriteLine("   sbyte12 s12.f2: got {0} but expected {1}", s12.f2, 2+9);
+                       return 2;
+               }
+               if (s12.f3 != 3+9) {
+                       Console.WriteLine("   sbyte12 s12.f3: got {0} but expected {1}", s12.f3, 3+9);
+                       return 3;
+               }
+               if (s12.f4 != 4+9) {
+                       Console.WriteLine("   sbyte12 s12.f4: got {0} but expected {1}", s12.f4, 4+9);
+                       return 4;
+               }
+               if (s12.f5 != 5+9) {
+                       Console.WriteLine("   sbyte12 s12.f5: got {0} but expected {1}", s12.f5, 5+9);
+                       return 5;
+               }
+               if (s12.f6 != 6+9) {
+                       Console.WriteLine("   sbyte12 s12.f6: got {0} but expected {1}", s12.f6, 6+9);
+                       return 6;
+               }
+               if (s12.f7 != 7+9) {
+                       Console.WriteLine("   sbyte12 s12.f7: got {0} but expected {1}", s12.f7, 7+9);
+                       return 7;
+               }
+               if (s12.f8 != 8+9) {
+                       Console.WriteLine("   sbyte12 s12.f8: got {0} but expected {1}", s12.f8, 8+9);
+                       return 8;
+               }
+               if (s12.f9 != 9+9) {
+                       Console.WriteLine("   sbyte12 s12.f9: got {0} but expected {1}", s12.f9, 9+9);
+                       return 9;
+               }
+               if (s12.f10 != 10+9) {
+                       Console.WriteLine("   sbyte12 s12.f10: got {0} but expected {1}", s12.f10, 10+9);
+                       return 10;
+               }
+               if (s12.f11 != 11+9) {
+                       Console.WriteLine("   sbyte12 s12.f11: got {0} but expected {1}", s12.f11, 11+9);
+                       return 11;
+               }
+               if (s12.f12 != 12+9) {
+                       Console.WriteLine("   sbyte12 s12.f12: got {0} but expected {1}", s12.f12, 12+9);
+                       return 12;
+               }
+
+               sbyte13 s13;
+               s13.f1 = 1;
+               s13.f2 = 2;
+               s13.f3 = 3;
+               s13.f4 = 4;
+               s13.f5 = 5;
+               s13.f6 = 6;
+               s13.f7 = 7;
+               s13.f8 = 8;
+               s13.f9 = 9;
+               s13.f10 = 10;
+               s13.f11 = 11;
+               s13.f12 = 12;
+               s13.f13 = 13;
+               s13 = mono_return_sbyte13(s13, 9);
+               if (s13.f1 != 1+9) {
+                       Console.WriteLine("   sbyte13 s13.f1: got {0} but expected {1}", s13.f1, 1+9);
+                       return 1;
+               }
+               if (s13.f2 != 2+9) {
+                       Console.WriteLine("   sbyte13 s13.f2: got {0} but expected {1}", s13.f2, 2+9);
+                       return 2;
+               }
+               if (s13.f3 != 3+9) {
+                       Console.WriteLine("   sbyte13 s13.f3: got {0} but expected {1}", s13.f3, 3+9);
+                       return 3;
+               }
+               if (s13.f4 != 4+9) {
+                       Console.WriteLine("   sbyte13 s13.f4: got {0} but expected {1}", s13.f4, 4+9);
+                       return 4;
+               }
+               if (s13.f5 != 5+9) {
+                       Console.WriteLine("   sbyte13 s13.f5: got {0} but expected {1}", s13.f5, 5+9);
+                       return 5;
+               }
+               if (s13.f6 != 6+9) {
+                       Console.WriteLine("   sbyte13 s13.f6: got {0} but expected {1}", s13.f6, 6+9);
+                       return 6;
+               }
+               if (s13.f7 != 7+9) {
+                       Console.WriteLine("   sbyte13 s13.f7: got {0} but expected {1}", s13.f7, 7+9);
+                       return 7;
+               }
+               if (s13.f8 != 8+9) {
+                       Console.WriteLine("   sbyte13 s13.f8: got {0} but expected {1}", s13.f8, 8+9);
+                       return 8;
+               }
+               if (s13.f9 != 9+9) {
+                       Console.WriteLine("   sbyte13 s13.f9: got {0} but expected {1}", s13.f9, 9+9);
+                       return 9;
+               }
+               if (s13.f10 != 10+9) {
+                       Console.WriteLine("   sbyte13 s13.f10: got {0} but expected {1}", s13.f10, 10+9);
+                       return 10;
+               }
+               if (s13.f11 != 11+9) {
+                       Console.WriteLine("   sbyte13 s13.f11: got {0} but expected {1}", s13.f11, 11+9);
+                       return 11;
+               }
+               if (s13.f12 != 12+9) {
+                       Console.WriteLine("   sbyte13 s13.f12: got {0} but expected {1}", s13.f12, 12+9);
+                       return 12;
+               }
+               if (s13.f13 != 13+9) {
+                       Console.WriteLine("   sbyte13 s13.f13: got {0} but expected {1}", s13.f13, 13+9);
+                       return 13;
+               }
+
+               sbyte14 s14;
+               s14.f1 = 1;
+               s14.f2 = 2;
+               s14.f3 = 3;
+               s14.f4 = 4;
+               s14.f5 = 5;
+               s14.f6 = 6;
+               s14.f7 = 7;
+               s14.f8 = 8;
+               s14.f9 = 9;
+               s14.f10 = 10;
+               s14.f11 = 11;
+               s14.f12 = 12;
+               s14.f13 = 13;
+               s14.f14 = 14;
+               s14 = mono_return_sbyte14(s14, 9);
+               if (s14.f1 != 1+9) {
+                       Console.WriteLine("   sbyte14 s14.f1: got {0} but expected {1}", s14.f1, 1+9);
+                       return 1;
+               }
+               if (s14.f2 != 2+9) {
+                       Console.WriteLine("   sbyte14 s14.f2: got {0} but expected {1}", s14.f2, 2+9);
+                       return 2;
+               }
+               if (s14.f3 != 3+9) {
+                       Console.WriteLine("   sbyte14 s14.f3: got {0} but expected {1}", s14.f3, 3+9);
+                       return 3;
+               }
+               if (s14.f4 != 4+9) {
+                       Console.WriteLine("   sbyte14 s14.f4: got {0} but expected {1}", s14.f4, 4+9);
+                       return 4;
+               }
+               if (s14.f5 != 5+9) {
+                       Console.WriteLine("   sbyte14 s14.f5: got {0} but expected {1}", s14.f5, 5+9);
+                       return 5;
+               }
+               if (s14.f6 != 6+9) {
+                       Console.WriteLine("   sbyte14 s14.f6: got {0} but expected {1}", s14.f6, 6+9);
+                       return 6;
+               }
+               if (s14.f7 != 7+9) {
+                       Console.WriteLine("   sbyte14 s14.f7: got {0} but expected {1}", s14.f7, 7+9);
+                       return 7;
+               }
+               if (s14.f8 != 8+9) {
+                       Console.WriteLine("   sbyte14 s14.f8: got {0} but expected {1}", s14.f8, 8+9);
+                       return 8;
+               }
+               if (s14.f9 != 9+9) {
+                       Console.WriteLine("   sbyte14 s14.f9: got {0} but expected {1}", s14.f9, 9+9);
+                       return 9;
+               }
+               if (s14.f10 != 10+9) {
+                       Console.WriteLine("   sbyte14 s14.f10: got {0} but expected {1}", s14.f10, 10+9);
+                       return 10;
+               }
+               if (s14.f11 != 11+9) {
+                       Console.WriteLine("   sbyte14 s14.f11: got {0} but expected {1}", s14.f11, 11+9);
+                       return 11;
+               }
+               if (s14.f12 != 12+9) {
+                       Console.WriteLine("   sbyte14 s14.f12: got {0} but expected {1}", s14.f12, 12+9);
+                       return 12;
+               }
+               if (s14.f13 != 13+9) {
+                       Console.WriteLine("   sbyte14 s14.f13: got {0} but expected {1}", s14.f13, 13+9);
+                       return 13;
+               }
+               if (s14.f14 != 14+9) {
+                       Console.WriteLine("   sbyte14 s14.f14: got {0} but expected {1}", s14.f14, 14+9);
+                       return 14;
+               }
+
+               sbyte15 s15;
+               s15.f1 = 1;
+               s15.f2 = 2;
+               s15.f3 = 3;
+               s15.f4 = 4;
+               s15.f5 = 5;
+               s15.f6 = 6;
+               s15.f7 = 7;
+               s15.f8 = 8;
+               s15.f9 = 9;
+               s15.f10 = 10;
+               s15.f11 = 11;
+               s15.f12 = 12;
+               s15.f13 = 13;
+               s15.f14 = 14;
+               s15.f15 = 15;
+               s15 = mono_return_sbyte15(s15, 9);
+               if (s15.f1 != 1+9) {
+                       Console.WriteLine("   sbyte15 s15.f1: got {0} but expected {1}", s15.f1, 1+9);
+                       return 1;
+               }
+               if (s15.f2 != 2+9) {
+                       Console.WriteLine("   sbyte15 s15.f2: got {0} but expected {1}", s15.f2, 2+9);
+                       return 2;
+               }
+               if (s15.f3 != 3+9) {
+                       Console.WriteLine("   sbyte15 s15.f3: got {0} but expected {1}", s15.f3, 3+9);
+                       return 3;
+               }
+               if (s15.f4 != 4+9) {
+                       Console.WriteLine("   sbyte15 s15.f4: got {0} but expected {1}", s15.f4, 4+9);
+                       return 4;
+               }
+               if (s15.f5 != 5+9) {
+                       Console.WriteLine("   sbyte15 s15.f5: got {0} but expected {1}", s15.f5, 5+9);
+                       return 5;
+               }
+               if (s15.f6 != 6+9) {
+                       Console.WriteLine("   sbyte15 s15.f6: got {0} but expected {1}", s15.f6, 6+9);
+                       return 6;
+               }
+               if (s15.f7 != 7+9) {
+                       Console.WriteLine("   sbyte15 s15.f7: got {0} but expected {1}", s15.f7, 7+9);
+                       return 7;
+               }
+               if (s15.f8 != 8+9) {
+                       Console.WriteLine("   sbyte15 s15.f8: got {0} but expected {1}", s15.f8, 8+9);
+                       return 8;
+               }
+               if (s15.f9 != 9+9) {
+                       Console.WriteLine("   sbyte15 s15.f9: got {0} but expected {1}", s15.f9, 9+9);
+                       return 9;
+               }
+               if (s15.f10 != 10+9) {
+                       Console.WriteLine("   sbyte15 s15.f10: got {0} but expected {1}", s15.f10, 10+9);
+                       return 10;
+               }
+               if (s15.f11 != 11+9) {
+                       Console.WriteLine("   sbyte15 s15.f11: got {0} but expected {1}", s15.f11, 11+9);
+                       return 11;
+               }
+               if (s15.f12 != 12+9) {
+                       Console.WriteLine("   sbyte15 s15.f12: got {0} but expected {1}", s15.f12, 12+9);
+                       return 12;
+               }
+               if (s15.f13 != 13+9) {
+                       Console.WriteLine("   sbyte15 s15.f13: got {0} but expected {1}", s15.f13, 13+9);
+                       return 13;
+               }
+               if (s15.f14 != 14+9) {
+                       Console.WriteLine("   sbyte15 s15.f14: got {0} but expected {1}", s15.f14, 14+9);
+                       return 14;
+               }
+               if (s15.f15 != 15+9) {
+                       Console.WriteLine("   sbyte15 s15.f15: got {0} but expected {1}", s15.f15, 15+9);
+                       return 15;
+               }
+
+               sbyte16 s16;
+               s16.f1 = 1;
+               s16.f2 = 2;
+               s16.f3 = 3;
+               s16.f4 = 4;
+               s16.f5 = 5;
+               s16.f6 = 6;
+               s16.f7 = 7;
+               s16.f8 = 8;
+               s16.f9 = 9;
+               s16.f10 = 10;
+               s16.f11 = 11;
+               s16.f12 = 12;
+               s16.f13 = 13;
+               s16.f14 = 14;
+               s16.f15 = 15;
+               s16.f16 = 16;
+               s16 = mono_return_sbyte16(s16, 9);
+               if (s16.f1 != 1+9) {
+                       Console.WriteLine("   sbyte16 s16.f1: got {0} but expected {1}", s16.f1, 1+9);
+                       return 1;
+               }
+               if (s16.f2 != 2+9) {
+                       Console.WriteLine("   sbyte16 s16.f2: got {0} but expected {1}", s16.f2, 2+9);
+                       return 2;
+               }
+               if (s16.f3 != 3+9) {
+                       Console.WriteLine("   sbyte16 s16.f3: got {0} but expected {1}", s16.f3, 3+9);
+                       return 3;
+               }
+               if (s16.f4 != 4+9) {
+                       Console.WriteLine("   sbyte16 s16.f4: got {0} but expected {1}", s16.f4, 4+9);
+                       return 4;
+               }
+               if (s16.f5 != 5+9) {
+                       Console.WriteLine("   sbyte16 s16.f5: got {0} but expected {1}", s16.f5, 5+9);
+                       return 5;
+               }
+               if (s16.f6 != 6+9) {
+                       Console.WriteLine("   sbyte16 s16.f6: got {0} but expected {1}", s16.f6, 6+9);
+                       return 6;
+               }
+               if (s16.f7 != 7+9) {
+                       Console.WriteLine("   sbyte16 s16.f7: got {0} but expected {1}", s16.f7, 7+9);
+                       return 7;
+               }
+               if (s16.f8 != 8+9) {
+                       Console.WriteLine("   sbyte16 s16.f8: got {0} but expected {1}", s16.f8, 8+9);
+                       return 8;
+               }
+               if (s16.f9 != 9+9) {
+                       Console.WriteLine("   sbyte16 s16.f9: got {0} but expected {1}", s16.f9, 9+9);
+                       return 9;
+               }
+               if (s16.f10 != 10+9) {
+                       Console.WriteLine("   sbyte16 s16.f10: got {0} but expected {1}", s16.f10, 10+9);
+                       return 10;
+               }
+               if (s16.f11 != 11+9) {
+                       Console.WriteLine("   sbyte16 s16.f11: got {0} but expected {1}", s16.f11, 11+9);
+                       return 11;
+               }
+               if (s16.f12 != 12+9) {
+                       Console.WriteLine("   sbyte16 s16.f12: got {0} but expected {1}", s16.f12, 12+9);
+                       return 12;
+               }
+               if (s16.f13 != 13+9) {
+                       Console.WriteLine("   sbyte16 s16.f13: got {0} but expected {1}", s16.f13, 13+9);
+                       return 13;
+               }
+               if (s16.f14 != 14+9) {
+                       Console.WriteLine("   sbyte16 s16.f14: got {0} but expected {1}", s16.f14, 14+9);
+                       return 14;
+               }
+               if (s16.f15 != 15+9) {
+                       Console.WriteLine("   sbyte16 s16.f15: got {0} but expected {1}", s16.f15, 15+9);
+                       return 15;
+               }
+               if (s16.f16 != 16+9) {
+                       Console.WriteLine("   sbyte16 s16.f16: got {0} but expected {1}", s16.f16, 16+9);
+                       return 16;
+               }
+
+               sbyte17 s17;
+               s17.f1 = 1;
+               s17.f2 = 2;
+               s17.f3 = 3;
+               s17.f4 = 4;
+               s17.f5 = 5;
+               s17.f6 = 6;
+               s17.f7 = 7;
+               s17.f8 = 8;
+               s17.f9 = 9;
+               s17.f10 = 10;
+               s17.f11 = 11;
+               s17.f12 = 12;
+               s17.f13 = 13;
+               s17.f14 = 14;
+               s17.f15 = 15;
+               s17.f16 = 16;
+               s17.f17 = 17;
+               s17 = mono_return_sbyte17(s17, 9);
+               if (s17.f1 != 1+9) {
+                       Console.WriteLine("   sbyte17 s17.f1: got {0} but expected {1}", s17.f1, 1+9);
+                       return 1;
+               }
+               if (s17.f2 != 2+9) {
+                       Console.WriteLine("   sbyte17 s17.f2: got {0} but expected {1}", s17.f2, 2+9);
+                       return 2;
+               }
+               if (s17.f3 != 3+9) {
+                       Console.WriteLine("   sbyte17 s17.f3: got {0} but expected {1}", s17.f3, 3+9);
+                       return 3;
+               }
+               if (s17.f4 != 4+9) {
+                       Console.WriteLine("   sbyte17 s17.f4: got {0} but expected {1}", s17.f4, 4+9);
+                       return 4;
+               }
+               if (s17.f5 != 5+9) {
+                       Console.WriteLine("   sbyte17 s17.f5: got {0} but expected {1}", s17.f5, 5+9);
+                       return 5;
+               }
+               if (s17.f6 != 6+9) {
+                       Console.WriteLine("   sbyte17 s17.f6: got {0} but expected {1}", s17.f6, 6+9);
+                       return 6;
+               }
+               if (s17.f7 != 7+9) {
+                       Console.WriteLine("   sbyte17 s17.f7: got {0} but expected {1}", s17.f7, 7+9);
+                       return 7;
+               }
+               if (s17.f8 != 8+9) {
+                       Console.WriteLine("   sbyte17 s17.f8: got {0} but expected {1}", s17.f8, 8+9);
+                       return 8;
+               }
+               if (s17.f9 != 9+9) {
+                       Console.WriteLine("   sbyte17 s17.f9: got {0} but expected {1}", s17.f9, 9+9);
+                       return 9;
+               }
+               if (s17.f10 != 10+9) {
+                       Console.WriteLine("   sbyte17 s17.f10: got {0} but expected {1}", s17.f10, 10+9);
+                       return 10;
+               }
+               if (s17.f11 != 11+9) {
+                       Console.WriteLine("   sbyte17 s17.f11: got {0} but expected {1}", s17.f11, 11+9);
+                       return 11;
+               }
+               if (s17.f12 != 12+9) {
+                       Console.WriteLine("   sbyte17 s17.f12: got {0} but expected {1}", s17.f12, 12+9);
+                       return 12;
+               }
+               if (s17.f13 != 13+9) {
+                       Console.WriteLine("   sbyte17 s17.f13: got {0} but expected {1}", s17.f13, 13+9);
+                       return 13;
+               }
+               if (s17.f14 != 14+9) {
+                       Console.WriteLine("   sbyte17 s17.f14: got {0} but expected {1}", s17.f14, 14+9);
+                       return 14;
+               }
+               if (s17.f15 != 15+9) {
+                       Console.WriteLine("   sbyte17 s17.f15: got {0} but expected {1}", s17.f15, 15+9);
+                       return 15;
+               }
+               if (s17.f16 != 16+9) {
+                       Console.WriteLine("   sbyte17 s17.f16: got {0} but expected {1}", s17.f16, 16+9);
+                       return 16;
+               }
+               if (s17.f17 != 17+9) {
+                       Console.WriteLine("   sbyte17 s17.f17: got {0} but expected {1}", s17.f17, 17+9);
+                       return 17;
+               }
+
+
+               sbyte16_nested sn16;
+               sn16.nested1.f1 = 1;
+               sn16.f2 = 2;
+               sn16.f3 = 3;
+               sn16.f4 = 4;
+               sn16.f5 = 5;
+               sn16.f6 = 6;
+               sn16.f7 = 7;
+               sn16.f8 = 8;
+               sn16.f9 = 9;
+               sn16.f10 = 10;
+               sn16.f11 = 11;
+               sn16.f12 = 12;
+               sn16.f13 = 13;
+               sn16.f14 = 14;
+               sn16.f15 = 15;
+               sn16.nested2.f16 = 16;
+               sn16 = mono_return_sbyte16_nested(sn16, 9);
+               if (sn16.nested1.f1 != 1+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.nested1.f1: got {0} but expected {1}", sn16.nested1.f1, 1+9);
+                       return 1;
+               }
+               if (sn16.f2 != 2+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.f2: got {0} but expected {1}", sn16.f2, 2+9);
+                       return 2;
+               }
+               if (sn16.f3 != 3+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.f3: got {0} but expected {1}", sn16.f3, 3+9);
+                       return 3;
+               }
+               if (sn16.f4 != 4+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.f4: got {0} but expected {1}", sn16.f4, 4+9);
+                       return 4;
+               }
+               if (sn16.f5 != 5+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.f5: got {0} but expected {1}", sn16.f5, 5+9);
+                       return 5;
+               }
+               if (sn16.f6 != 6+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.f6: got {0} but expected {1}", sn16.f6, 6+9);
+                       return 6;
+               }
+               if (sn16.f7 != 7+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.f7: got {0} but expected {1}", sn16.f7, 7+9);
+                       return 7;
+               }
+               if (sn16.f8 != 8+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.f8: got {0} but expected {1}", sn16.f8, 8+9);
+                       return 8;
+               }
+               if (sn16.f9 != 9+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.f9: got {0} but expected {1}", sn16.f9, 9+9);
+                       return 9;
+               }
+               if (sn16.f10 != 10+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.f10: got {0} but expected {1}", sn16.f10, 10+9);
+                       return 10;
+               }
+               if (sn16.f11 != 11+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.f11: got {0} but expected {1}", sn16.f11, 11+9);
+                       return 11;
+               }
+               if (sn16.f12 != 12+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.f12: got {0} but expected {1}", sn16.f12, 12+9);
+                       return 12;
+               }
+               if (sn16.f13 != 13+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.f13: got {0} but expected {1}", sn16.f13, 13+9);
+                       return 13;
+               }
+               if (sn16.f14 != 14+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.f14: got {0} but expected {1}", sn16.f14, 14+9);
+                       return 14;
+               }
+               if (sn16.f15 != 15+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.f15: got {0} but expected {1}", sn16.f15, 15+9);
+                       return 15;
+               }
+               if (sn16.nested2.f16 != 16+9) {
+                       Console.WriteLine("   sbyte16_nested sn16.nested2.f16: got {0} but expected {1}", sn16.nested2.f16, 16+9);
+                       return 16;
+               }
+
+               return 0;
+       } // end Main
+} // end class Test_sbyte
+
diff --git a/mono/tests/pinvoke_ppcd.cs b/mono/tests/pinvoke_ppcd.cs
new file mode 100644 (file)
index 0000000..c4bafea
--- /dev/null
@@ -0,0 +1,402 @@
+// pinvoke_ppcd.cs - Test cases for passing structures to and and returning
+//                   structures from functions.  This particular test is for
+//                   structures consisting wholy of 8 byte fields.
+//
+//                   The Power ABI version 2 allows for special parameter
+//                   passing and returning optimizations for certain
+//                   structures of homogenous composition (like all ints).
+//                   This set of tests checks all the possible combinations
+//                   that use the special parm/return rules and one beyond.
+//
+// Bill Seurer (seurer@linux.vnet.ibm.com)
+//
+// (C) {Copyright holder}
+//
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class Test_double {
+
+       [DllImport ("libtest", EntryPoint="mono_return_double1")]
+       public static extern double1 mono_return_double1 (double1 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct double1 {
+               public double f1;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_double2")]
+       public static extern double2 mono_return_double2 (double2 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct double2 {
+               public double f1,f2;
+       }
+       // This structure is 1 element too large to use the special return
+       //  rules.
+       [DllImport ("libtest", EntryPoint="mono_return_double3")]
+       public static extern double3 mono_return_double3 (double3 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct double3 {
+               public double f1,f2,f3;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_double4")]
+       public static extern double4 mono_return_double4 (double4 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct double4 {
+               public double f1,f2,f3,f4;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_double5")]
+       public static extern double5 mono_return_double5 (double5 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct double5 {
+               public double f1,f2,f3,f4,f5;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_double6")]
+       public static extern double6 mono_return_double6 (double6 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct double6 {
+               public double f1,f2,f3,f4,f5,f6;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_double7")]
+       public static extern double7 mono_return_double7 (double7 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct double7 {
+               public double f1,f2,f3,f4,f5,f6,f7;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_double8")]
+       public static extern double8 mono_return_double8 (double8 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct double8 {
+               public double f1,f2,f3,f4,f5,f6,f7,f8;
+       }
+       // This structure is 1 element too large to use the special parameter
+       //  passing rules.
+       [DllImport ("libtest", EntryPoint="mono_return_double9")]
+       public static extern double9 mono_return_double9 (double9 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct double9 {
+               public double f1,f2,f3,f4,f5,f6,f7,f8,f9;
+       }
+
+       // This structure has nested structures within it but they are
+       //  homogenous and thus should still use the special rules.
+       public struct double2_nested1 {
+               public double f1;
+       };
+       public struct double2_nested2 {
+               public double f2;
+       };
+       [DllImport ("libtest", EntryPoint="mono_return_double2_nested")]
+       public static extern double2_nested mono_return_double2_nested (double2_nested s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct double2_nested {
+               public double2_nested1 nested1;
+               public double2_nested2 nested2;
+       }
+
+       [DllImport ("libtest", EntryPoint="mono_return_double_array4")]
+       public static extern double_array4 mono_return_double_array4 (double_array4 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public unsafe struct double_array4 {
+               public fixed double f1[4];
+       }
+
+
+       public static int Main (string[] args) {
+               double1 s1;
+               s1.f1 = 1;
+               s1 = mono_return_double1(s1, 9);
+               if (s1.f1 != 1+9) {
+                       Console.WriteLine("   double1 s1.f1: got {0} but expected {1}", s1.f1, 1+9);
+                       return 1;
+               }
+
+               double2 s2;
+               s2.f1 = 1;
+               s2.f2 = 2;
+               s2 = mono_return_double2(s2, 9);
+               if (s2.f1 != 1+9) {
+                       Console.WriteLine("   double2 s2.f1: got {0} but expected {1}", s2.f1, 1+9);
+                       return 1;
+               }
+               if (s2.f2 != 2+9) {
+                       Console.WriteLine("   double2 s2.f2: got {0} but expected {1}", s2.f2, 2+9);
+                       return 2;
+               }
+
+               double3 s3;
+               s3.f1 = 1;
+               s3.f2 = 2;
+               s3.f3 = 3;
+               s3 = mono_return_double3(s3, 9);
+               if (s3.f1 != 1+9) {
+                       Console.WriteLine("   double3 s3.f1: got {0} but expected {1}", s3.f1, 1+9);
+                       return 1;
+               }
+               if (s3.f2 != 2+9) {
+                       Console.WriteLine("   double3 s3.f2: got {0} but expected {1}", s3.f2, 2+9);
+                       return 2;
+               }
+               if (s3.f3 != 3+9) {
+                       Console.WriteLine("   double3 s3.f3: got {0} but expected {1}", s3.f3, 3+9);
+                       return 3;
+               }
+
+               double4 s4;
+               s4.f1 = 1;
+               s4.f2 = 2;
+               s4.f3 = 3;
+               s4.f4 = 4;
+               s4 = mono_return_double4(s4, 9);
+               if (s4.f1 != 1+9) {
+                       Console.WriteLine("   double4 s4.f1: got {0} but expected {1}", s4.f1, 1+9);
+                       return 1;
+               }
+               if (s4.f2 != 2+9) {
+                       Console.WriteLine("   double4 s4.f2: got {0} but expected {1}", s4.f2, 2+9);
+                       return 2;
+               }
+               if (s4.f3 != 3+9) {
+                       Console.WriteLine("   double4 s4.f3: got {0} but expected {1}", s4.f3, 3+9);
+                       return 3;
+               }
+               if (s4.f4 != 4+9) {
+                       Console.WriteLine("   double4 s4.f4: got {0} but expected {1}", s4.f4, 4+9);
+                       return 4;
+               }
+
+               double5 s5;
+               s5.f1 = 1;
+               s5.f2 = 2;
+               s5.f3 = 3;
+               s5.f4 = 4;
+               s5.f5 = 5;
+               s5 = mono_return_double5(s5, 9);
+               if (s5.f1 != 1+9) {
+                       Console.WriteLine("   double5 s5.f1: got {0} but expected {1}", s5.f1, 1+9);
+                       return 1;
+               }
+               if (s5.f2 != 2+9) {
+                       Console.WriteLine("   double5 s5.f2: got {0} but expected {1}", s5.f2, 2+9);
+                       return 2;
+               }
+               if (s5.f3 != 3+9) {
+                       Console.WriteLine("   double5 s5.f3: got {0} but expected {1}", s5.f3, 3+9);
+                       return 3;
+               }
+               if (s5.f4 != 4+9) {
+                       Console.WriteLine("   double5 s5.f4: got {0} but expected {1}", s5.f4, 4+9);
+                       return 4;
+               }
+               if (s5.f5 != 5+9) {
+                       Console.WriteLine("   double5 s5.f5: got {0} but expected {1}", s5.f5, 5+9);
+                       return 5;
+               }
+
+               double6 s6;
+               s6.f1 = 1;
+               s6.f2 = 2;
+               s6.f3 = 3;
+               s6.f4 = 4;
+               s6.f5 = 5;
+               s6.f6 = 6;
+               s6 = mono_return_double6(s6, 9);
+               if (s6.f1 != 1+9) {
+                       Console.WriteLine("   double6 s6.f1: got {0} but expected {1}", s6.f1, 1+9);
+                       return 1;
+               }
+               if (s6.f2 != 2+9) {
+                       Console.WriteLine("   double6 s6.f2: got {0} but expected {1}", s6.f2, 2+9);
+                       return 2;
+               }
+               if (s6.f3 != 3+9) {
+                       Console.WriteLine("   double6 s6.f3: got {0} but expected {1}", s6.f3, 3+9);
+                       return 3;
+               }
+               if (s6.f4 != 4+9) {
+                       Console.WriteLine("   double6 s6.f4: got {0} but expected {1}", s6.f4, 4+9);
+                       return 4;
+               }
+               if (s6.f5 != 5+9) {
+                       Console.WriteLine("   double6 s6.f5: got {0} but expected {1}", s6.f5, 5+9);
+                       return 5;
+               }
+               if (s6.f6 != 6+9) {
+                       Console.WriteLine("   double6 s6.f6: got {0} but expected {1}", s6.f6, 6+9);
+                       return 6;
+               }
+
+               double7 s7;
+               s7.f1 = 1;
+               s7.f2 = 2;
+               s7.f3 = 3;
+               s7.f4 = 4;
+               s7.f5 = 5;
+               s7.f6 = 6;
+               s7.f7 = 7;
+               s7 = mono_return_double7(s7, 9);
+               if (s7.f1 != 1+9) {
+                       Console.WriteLine("   double7 s7.f1: got {0} but expected {1}", s7.f1, 1+9);
+                       return 1;
+               }
+               if (s7.f2 != 2+9) {
+                       Console.WriteLine("   double7 s7.f2: got {0} but expected {1}", s7.f2, 2+9);
+                       return 2;
+               }
+               if (s7.f3 != 3+9) {
+                       Console.WriteLine("   double7 s7.f3: got {0} but expected {1}", s7.f3, 3+9);
+                       return 3;
+               }
+               if (s7.f4 != 4+9) {
+                       Console.WriteLine("   double7 s7.f4: got {0} but expected {1}", s7.f4, 4+9);
+                       return 4;
+               }
+               if (s7.f5 != 5+9) {
+                       Console.WriteLine("   double7 s7.f5: got {0} but expected {1}", s7.f5, 5+9);
+                       return 5;
+               }
+               if (s7.f6 != 6+9) {
+                       Console.WriteLine("   double7 s7.f6: got {0} but expected {1}", s7.f6, 6+9);
+                       return 6;
+               }
+               if (s7.f7 != 7+9) {
+                       Console.WriteLine("   double7 s7.f7: got {0} but expected {1}", s7.f7, 7+9);
+                       return 7;
+               }
+
+               double8 s8;
+               s8.f1 = 1;
+               s8.f2 = 2;
+               s8.f3 = 3;
+               s8.f4 = 4;
+               s8.f5 = 5;
+               s8.f6 = 6;
+               s8.f7 = 7;
+               s8.f8 = 8;
+               s8 = mono_return_double8(s8, 9);
+               if (s8.f1 != 1+9) {
+                       Console.WriteLine("   double8 s8.f1: got {0} but expected {1}", s8.f1, 1+9);
+                       return 1;
+               }
+               if (s8.f2 != 2+9) {
+                       Console.WriteLine("   double8 s8.f2: got {0} but expected {1}", s8.f2, 2+9);
+                       return 2;
+               }
+               if (s8.f3 != 3+9) {
+                       Console.WriteLine("   double8 s8.f3: got {0} but expected {1}", s8.f3, 3+9);
+                       return 3;
+               }
+               if (s8.f4 != 4+9) {
+                       Console.WriteLine("   double8 s8.f4: got {0} but expected {1}", s8.f4, 4+9);
+                       return 4;
+               }
+               if (s8.f5 != 5+9) {
+                       Console.WriteLine("   double8 s8.f5: got {0} but expected {1}", s8.f5, 5+9);
+                       return 5;
+               }
+               if (s8.f6 != 6+9) {
+                       Console.WriteLine("   double8 s8.f6: got {0} but expected {1}", s8.f6, 6+9);
+                       return 6;
+               }
+               if (s8.f7 != 7+9) {
+                       Console.WriteLine("   double8 s8.f7: got {0} but expected {1}", s8.f7, 7+9);
+                       return 7;
+               }
+               if (s8.f8 != 8+9) {
+                       Console.WriteLine("   double8 s8.f8: got {0} but expected {1}", s8.f8, 8+9);
+                       return 8;
+               }
+
+               double9 s9;
+               s9.f1 = 1;
+               s9.f2 = 2;
+               s9.f3 = 3;
+               s9.f4 = 4;
+               s9.f5 = 5;
+               s9.f6 = 6;
+               s9.f7 = 7;
+               s9.f8 = 8;
+               s9.f9 = 9;
+               s9 = mono_return_double9(s9, 9);
+               if (s9.f1 != 1+9) {
+                       Console.WriteLine("   double9 s9.f1: got {0} but expected {1}", s9.f1, 1+9);
+                       return 1;
+               }
+               if (s9.f2 != 2+9) {
+                       Console.WriteLine("   double9 s9.f2: got {0} but expected {1}", s9.f2, 2+9);
+                       return 2;
+               }
+               if (s9.f3 != 3+9) {
+                       Console.WriteLine("   double9 s9.f3: got {0} but expected {1}", s9.f3, 3+9);
+                       return 3;
+               }
+               if (s9.f4 != 4+9) {
+                       Console.WriteLine("   double9 s9.f4: got {0} but expected {1}", s9.f4, 4+9);
+                       return 4;
+               }
+               if (s9.f5 != 5+9) {
+                       Console.WriteLine("   double9 s9.f5: got {0} but expected {1}", s9.f5, 5+9);
+                       return 5;
+               }
+               if (s9.f6 != 6+9) {
+                       Console.WriteLine("   double9 s9.f6: got {0} but expected {1}", s9.f6, 6+9);
+                       return 6;
+               }
+               if (s9.f7 != 7+9) {
+                       Console.WriteLine("   double9 s9.f7: got {0} but expected {1}", s9.f7, 7+9);
+                       return 7;
+               }
+               if (s9.f8 != 8+9) {
+                       Console.WriteLine("   double9 s9.f8: got {0} but expected {1}", s9.f8, 8+9);
+                       return 8;
+               }
+               if (s9.f9 != 9+9) {
+                       Console.WriteLine("   double9 s9.f9: got {0} but expected {1}", s9.f9, 9+9);
+                       return 9;
+               }
+
+
+               double2_nested sn2;
+               sn2.nested1.f1 = 1;
+               sn2.nested2.f2 = 2;
+               sn2 = mono_return_double2_nested(sn2, 9);
+               if (sn2.nested1.f1 != 1+9) {
+                       Console.WriteLine("   double2_nested sn2.nested1.f1: got {0} but expected {1}", sn2.nested1.f1, 1+9);
+                       return 1;
+               }
+               if (sn2.nested2.f2 != 2+9) {
+                       Console.WriteLine("   double2_nested sn2.nested2.f2: got {0} but expected {1}", sn2.nested2.f2, 2+9);
+                       return 2;
+               }
+
+/*
+//  NOTE: this test does not work properly because mini_type_is_hfa in mini-codegen.c does not handle arrays.
+//        Uncomment this when mini_type_is_hfa is fixed.
+               unsafe {
+               double_array4 sa4;
+               sa4.f1[0] = 1;
+               sa4.f1[1] = 2;
+               sa4 = mono_return_double_array4(sa4, 9);
+               if (sa4.f1[0] != 1+9) {
+                       Console.WriteLine("   double_array4 sa4.f1[0]: got {0} but expected {1}", sa4.f1[0], 1+9);
+                       return 1;
+               }
+               if (sa4.f1[1] != 2+9) {
+                       Console.WriteLine("   double_array4 sa4.f1[1]: got {0} but expected {1}", sa4.f1[1], 2+9);
+                       return 2;
+               }
+               if (sa4.f1[2] != 3+9) {
+                       Console.WriteLine("   double_array4 sa4.f1[2]: got {0} but expected {1}", sa4.f1[2], 3+9);
+                       return 3;
+               }
+               if (sa4.f1[3] != 4+9) {
+                       Console.WriteLine("   double_array4 sa4.f1[3]: got {0} but expected {1}", sa4.f1[3], 4+9);
+                       return 4;
+               }
+               }
+*/
+
+               return 0;
+       } // end Main
+} // end class Test_double
+
diff --git a/mono/tests/pinvoke_ppcf.cs b/mono/tests/pinvoke_ppcf.cs
new file mode 100644 (file)
index 0000000..a529a53
--- /dev/null
@@ -0,0 +1,379 @@
+// pinvoke_ppcf.cs - Test cases for passing structures to and and returning
+//                   structures from functions.  This particular test is for
+//                   structures consisting wholy of 4 byte fields.
+//
+//                   The Power ABI version 2 allows for special parameter
+//                   passing and returning optimizations for certain
+//                   structures of homogenous composition (like all ints).
+//                   This set of tests checks all the possible combinations
+//                   that use the special parm/return rules and one beyond.
+//
+// Bill Seurer (seurer@linux.vnet.ibm.com)
+//
+// (C) {Copyright holder}
+//
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class Test_float {
+
+       [DllImport ("libtest", EntryPoint="mono_return_float1")]
+       public static extern float1 mono_return_float1 (float1 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct float1 {
+               public float f1;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_float2")]
+       public static extern float2 mono_return_float2 (float2 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct float2 {
+               public float f1,f2;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_float3")]
+       public static extern float3 mono_return_float3 (float3 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct float3 {
+               public float f1,f2,f3;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_float4")]
+       public static extern float4 mono_return_float4 (float4 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct float4 {
+               public float f1,f2,f3,f4;
+       }
+       // This structure is 1 element too large to use the special return
+       //  rules.
+       [DllImport ("libtest", EntryPoint="mono_return_float5")]
+       public static extern float5 mono_return_float5 (float5 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct float5 {
+               public float f1,f2,f3,f4,f5;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_float6")]
+       public static extern float6 mono_return_float6 (float6 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct float6 {
+               public float f1,f2,f3,f4,f5,f6;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_float7")]
+       public static extern float7 mono_return_float7 (float7 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct float7 {
+               public float f1,f2,f3,f4,f5,f6,f7;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_float8")]
+       public static extern float8 mono_return_float8 (float8 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct float8 {
+               public float f1,f2,f3,f4,f5,f6,f7,f8;
+       }
+       // This structure is 1 element too large to use the special parameter
+       //  passing rules.
+       [DllImport ("libtest", EntryPoint="mono_return_float9")]
+       public static extern float9 mono_return_float9 (float9 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct float9 {
+               public float f1,f2,f3,f4,f5,f6,f7,f8,f9;
+       }
+
+       // This structure has nested structures within it but they are
+       //  homogenous and thus should still use the special rules.
+       public struct float4_nested1 {
+               public float f1;
+       };
+       public struct float4_nested2 {
+               public float f4;
+       };
+       [DllImport ("libtest", EntryPoint="mono_return_float4_nested")]
+       public static extern float4_nested mono_return_float4_nested (float4_nested s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct float4_nested {
+               public float4_nested1 nested1;
+               public float f2,f3;
+               public float4_nested2 nested2;
+       }
+
+       public static int Main (string[] args) {
+
+               float1 s1;
+               s1.f1 = 1;
+               s1 = mono_return_float1(s1, 906);
+               if (s1.f1 != 1+906) {
+                       Console.WriteLine("   float1 s1.f1: got {0} but expected {1}", s1.f1, 1+906);
+                       return 1;
+               }
+
+               float2 s2;
+               s2.f1 = 1;
+               s2.f2 = 2;
+               s2 = mono_return_float2(s2, 906);
+               if (s2.f1 != 1+906) {
+                       Console.WriteLine("   float2 s2.f1: got {0} but expected {1}", s2.f1, 1+906);
+                       return 1;
+               }
+               if (s2.f2 != 2+906) {
+                       Console.WriteLine("   float2 s2.f2: got {0} but expected {1}", s2.f2, 2+906);
+                       return 2;
+               }
+
+               float3 s3;
+               s3.f1 = 1;
+               s3.f2 = 2;
+               s3.f3 = 3;
+               s3 = mono_return_float3(s3, 906);
+               if (s3.f1 != 1+906) {
+                       Console.WriteLine("   float3 s3.f1: got {0} but expected {1}", s3.f1, 1+906);
+                       return 1;
+               }
+               if (s3.f2 != 2+906) {
+                       Console.WriteLine("   float3 s3.f2: got {0} but expected {1}", s3.f2, 2+906);
+                       return 2;
+               }
+               if (s3.f3 != 3+906) {
+                       Console.WriteLine("   float3 s3.f3: got {0} but expected {1}", s3.f3, 3+906);
+                       return 3;
+               }
+
+               float4 s4;
+               s4.f1 = 1;
+               s4.f2 = 2;
+               s4.f3 = 3;
+               s4.f4 = 4;
+               s4 = mono_return_float4(s4, 906);
+               if (s4.f1 != 1+906) {
+                       Console.WriteLine("   float4 s4.f1: got {0} but expected {1}", s4.f1, 1+906);
+                       return 1;
+               }
+               if (s4.f2 != 2+906) {
+                       Console.WriteLine("   float4 s4.f2: got {0} but expected {1}", s4.f2, 2+906);
+                       return 2;
+               }
+               if (s4.f3 != 3+906) {
+                       Console.WriteLine("   float4 s4.f3: got {0} but expected {1}", s4.f3, 3+906);
+                       return 3;
+               }
+               if (s4.f4 != 4+906) {
+                       Console.WriteLine("   float4 s4.f4: got {0} but expected {1}", s4.f4, 4+906);
+                       return 4;
+               }
+
+               float5 s5;
+               s5.f1 = 1;
+               s5.f2 = 2;
+               s5.f3 = 3;
+               s5.f4 = 4;
+               s5.f5 = 5;
+               s5 = mono_return_float5(s5, 906);
+               if (s5.f1 != 1+906) {
+                       Console.WriteLine("   float5 s5.f1: got {0} but expected {1}", s5.f1, 1+906);
+                       return 1;
+               }
+               if (s5.f2 != 2+906) {
+                       Console.WriteLine("   float5 s5.f2: got {0} but expected {1}", s5.f2, 2+906);
+                       return 2;
+               }
+               if (s5.f3 != 3+906) {
+                       Console.WriteLine("   float5 s5.f3: got {0} but expected {1}", s5.f3, 3+906);
+                       return 3;
+               }
+               if (s5.f4 != 4+906) {
+                       Console.WriteLine("   float5 s5.f4: got {0} but expected {1}", s5.f4, 4+906);
+                       return 4;
+               }
+               if (s5.f5 != 5+906) {
+                       Console.WriteLine("   float5 s5.f5: got {0} but expected {1}", s5.f5, 5+906);
+                       return 5;
+               }
+
+               float6 s6;
+               s6.f1 = 1;
+               s6.f2 = 2;
+               s6.f3 = 3;
+               s6.f4 = 4;
+               s6.f5 = 5;
+               s6.f6 = 6;
+               s6 = mono_return_float6(s6, 906);
+               if (s6.f1 != 1+906) {
+                       Console.WriteLine("   float6 s6.f1: got {0} but expected {1}", s6.f1, 1+906);
+                       return 1;
+               }
+               if (s6.f2 != 2+906) {
+                       Console.WriteLine("   float6 s6.f2: got {0} but expected {1}", s6.f2, 2+906);
+                       return 2;
+               }
+               if (s6.f3 != 3+906) {
+                       Console.WriteLine("   float6 s6.f3: got {0} but expected {1}", s6.f3, 3+906);
+                       return 3;
+               }
+               if (s6.f4 != 4+906) {
+                       Console.WriteLine("   float6 s6.f4: got {0} but expected {1}", s6.f4, 4+906);
+                       return 4;
+               }
+               if (s6.f5 != 5+906) {
+                       Console.WriteLine("   float6 s6.f5: got {0} but expected {1}", s6.f5, 5+906);
+                       return 5;
+               }
+               if (s6.f6 != 6+906) {
+                       Console.WriteLine("   float6 s6.f6: got {0} but expected {1}", s6.f6, 6+906);
+                       return 6;
+               }
+
+               float7 s7;
+               s7.f1 = 1;
+               s7.f2 = 2;
+               s7.f3 = 3;
+               s7.f4 = 4;
+               s7.f5 = 5;
+               s7.f6 = 6;
+               s7.f7 = 7;
+               s7 = mono_return_float7(s7, 906);
+               if (s7.f1 != 1+906) {
+                       Console.WriteLine("   float7 s7.f1: got {0} but expected {1}", s7.f1, 1+906);
+                       return 1;
+               }
+               if (s7.f2 != 2+906) {
+                       Console.WriteLine("   float7 s7.f2: got {0} but expected {1}", s7.f2, 2+906);
+                       return 2;
+               }
+               if (s7.f3 != 3+906) {
+                       Console.WriteLine("   float7 s7.f3: got {0} but expected {1}", s7.f3, 3+906);
+                       return 3;
+               }
+               if (s7.f4 != 4+906) {
+                       Console.WriteLine("   float7 s7.f4: got {0} but expected {1}", s7.f4, 4+906);
+                       return 4;
+               }
+               if (s7.f5 != 5+906) {
+                       Console.WriteLine("   float7 s7.f5: got {0} but expected {1}", s7.f5, 5+906);
+                       return 5;
+               }
+               if (s7.f6 != 6+906) {
+                       Console.WriteLine("   float7 s7.f6: got {0} but expected {1}", s7.f6, 6+906);
+                       return 6;
+               }
+               if (s7.f7 != 7+906) {
+                       Console.WriteLine("   float7 s7.f7: got {0} but expected {1}", s7.f7, 7+906);
+                       return 7;
+               }
+
+               float8 s8;
+               s8.f1 = 1;
+               s8.f2 = 2;
+               s8.f3 = 3;
+               s8.f4 = 4;
+               s8.f5 = 5;
+               s8.f6 = 6;
+               s8.f7 = 7;
+               s8.f8 = 8;
+               s8 = mono_return_float8(s8, 906);
+               if (s8.f1 != 1+906) {
+                       Console.WriteLine("   float8 s8.f1: got {0} but expected {1}", s8.f1, 1+906);
+                       return 1;
+               }
+               if (s8.f2 != 2+906) {
+                       Console.WriteLine("   float8 s8.f2: got {0} but expected {1}", s8.f2, 2+906);
+                       return 2;
+               }
+               if (s8.f3 != 3+906) {
+                       Console.WriteLine("   float8 s8.f3: got {0} but expected {1}", s8.f3, 3+906);
+                       return 3;
+               }
+               if (s8.f4 != 4+906) {
+                       Console.WriteLine("   float8 s8.f4: got {0} but expected {1}", s8.f4, 4+906);
+                       return 4;
+               }
+               if (s8.f5 != 5+906) {
+                       Console.WriteLine("   float8 s8.f5: got {0} but expected {1}", s8.f5, 5+906);
+                       return 5;
+               }
+               if (s8.f6 != 6+906) {
+                       Console.WriteLine("   float8 s8.f6: got {0} but expected {1}", s8.f6, 6+906);
+                       return 6;
+               }
+               if (s8.f7 != 7+906) {
+                       Console.WriteLine("   float8 s8.f7: got {0} but expected {1}", s8.f7, 7+906);
+                       return 7;
+               }
+               if (s8.f8 != 8+906) {
+                       Console.WriteLine("   float8 s8.f8: got {0} but expected {1}", s8.f8, 8+906);
+                       return 8;
+               }
+
+               float9 s9;
+               s9.f1 = 1;
+               s9.f2 = 2;
+               s9.f3 = 3;
+               s9.f4 = 4;
+               s9.f5 = 5;
+               s9.f6 = 6;
+               s9.f7 = 7;
+               s9.f8 = 8;
+               s9.f9 = 9;
+               s9 = mono_return_float9(s9, 906);
+               if (s9.f1 != 1+906) {
+                       Console.WriteLine("   float9 s9.f1: got {0} but expected {1}", s9.f1, 1+906);
+                       return 1;
+               }
+               if (s9.f2 != 2+906) {
+                       Console.WriteLine("   float9 s9.f2: got {0} but expected {1}", s9.f2, 2+906);
+                       return 2;
+               }
+               if (s9.f3 != 3+906) {
+                       Console.WriteLine("   float9 s9.f3: got {0} but expected {1}", s9.f3, 3+906);
+                       return 3;
+               }
+               if (s9.f4 != 4+906) {
+                       Console.WriteLine("   float9 s9.f4: got {0} but expected {1}", s9.f4, 4+906);
+                       return 4;
+               }
+               if (s9.f5 != 5+906) {
+                       Console.WriteLine("   float9 s9.f5: got {0} but expected {1}", s9.f5, 5+906);
+                       return 5;
+               }
+               if (s9.f6 != 6+906) {
+                       Console.WriteLine("   float9 s9.f6: got {0} but expected {1}", s9.f6, 6+906);
+                       return 6;
+               }
+               if (s9.f7 != 7+906) {
+                       Console.WriteLine("   float9 s9.f7: got {0} but expected {1}", s9.f7, 7+906);
+                       return 7;
+               }
+               if (s9.f8 != 8+906) {
+                       Console.WriteLine("   float9 s9.f8: got {0} but expected {1}", s9.f8, 8+906);
+                       return 8;
+               }
+               if (s9.f9 != 9+906) {
+                       Console.WriteLine("   float9 s9.f9: got {0} but expected {1}", s9.f9, 9+906);
+                       return 9;
+               }
+
+
+               float4_nested sn4;
+               sn4.nested1.f1 = 1;
+               sn4.f2 = 2;
+               sn4.f3 = 3;
+               sn4.nested2.f4 = 4;
+               sn4 = mono_return_float4_nested(sn4, 906);
+               if (sn4.nested1.f1 != 1+906) {
+                       Console.WriteLine("   float4_nested sn4.nested1.f1: got {0} but expected {1}", sn4.nested1.f1, 1+906);
+                       return 1;
+               }
+               if (sn4.f2 != 2+906) {
+                       Console.WriteLine("   float4_nested sn4.f2: got {0} but expected {1}", sn4.f2, 2+906);
+                       return 2;
+               }
+               if (sn4.f3 != 3+906) {
+                       Console.WriteLine("   float4_nested sn4.f3: got {0} but expected {1}", sn4.f3, 3+906);
+                       return 3;
+               }
+               if (sn4.nested2.f4 != 4+906) {
+                       Console.WriteLine("   float4_nested sn4.nested2.f4: got {0} but expected {1}", sn4.nested2.f4, 4+906);
+                       return 4;
+               }
+
+               return 0;
+       } // end Main
+} // end class Test_float
+
diff --git a/mono/tests/pinvoke_ppci.cs b/mono/tests/pinvoke_ppci.cs
new file mode 100644 (file)
index 0000000..e7c1d39
--- /dev/null
@@ -0,0 +1,191 @@
+// pinvoke_ppci.cs - Test cases for passing structures to and and returning
+//                   structures from functions.  This particular test is for
+//                   structures consisting wholy of 4 byte fields.
+//
+//                   The Power ABI version 2 allows for special parameter
+//                   passing and returning optimizations for certain
+//                   structures of homogenous composition (like all ints).
+//                   This set of tests checks all the possible combinations
+//                   that use the special parm/return rules and one beyond.
+//
+// Bill Seurer (seurer@linux.vnet.ibm.com)
+//
+// (C) {Copyright holder}
+//
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class Test_int {
+
+       [DllImport ("libtest", EntryPoint="mono_return_int1")]
+       public static extern int1 mono_return_int1 (int1 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct int1 {
+               public int f1;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_int2")]
+       public static extern int2 mono_return_int2 (int2 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct int2 {
+               public int f1,f2;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_int3")]
+       public static extern int3 mono_return_int3 (int3 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct int3 {
+               public int f1,f2,f3;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_int4")]
+       public static extern int4 mono_return_int4 (int4 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct int4 {
+               public int f1,f2,f3,f4;
+       }
+       // This structure is 1 element too large to use the special return
+       //  rules.
+       [DllImport ("libtest", EntryPoint="mono_return_int5")]
+       public static extern int5 mono_return_int5 (int5 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct int5 {
+               public int f1,f2,f3,f4,f5;
+       }
+
+       // This structure has nested structures within it but they are
+       //  homogenous and thus should still use the special rules.
+       public struct int4_nested1 {
+               public int f1;
+       };
+       public struct int4_nested2 {
+               public int f4;
+       };
+       [DllImport ("libtest", EntryPoint="mono_return_int4_nested")]
+       public static extern int4_nested mono_return_int4_nested (int4_nested s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct int4_nested {
+               public int4_nested1 nested1;
+               public int f2,f3;
+               public int4_nested2 nested2;
+       }
+
+       public static int Main (string[] args) {
+
+               int1 s1;
+               s1.f1 = 1;
+               s1 = mono_return_int1(s1, 906);
+               if (s1.f1 != 1+906) {
+                       Console.WriteLine("   int1 s1.f1: got {0} but expected {1}", s1.f1, 1+906);
+                       return 1;
+               }
+
+               int2 s2;
+               s2.f1 = 1;
+               s2.f2 = 2;
+               s2 = mono_return_int2(s2, 906);
+               if (s2.f1 != 1+906) {
+                       Console.WriteLine("   int2 s2.f1: got {0} but expected {1}", s2.f1, 1+906);
+                       return 1;
+               }
+               if (s2.f2 != 2+906) {
+                       Console.WriteLine("   int2 s2.f2: got {0} but expected {1}", s2.f2, 2+906);
+                       return 2;
+               }
+
+               int3 s3;
+               s3.f1 = 1;
+               s3.f2 = 2;
+               s3.f3 = 3;
+               s3 = mono_return_int3(s3, 906);
+               if (s3.f1 != 1+906) {
+                       Console.WriteLine("   int3 s3.f1: got {0} but expected {1}", s3.f1, 1+906);
+                       return 1;
+               }
+               if (s3.f2 != 2+906) {
+                       Console.WriteLine("   int3 s3.f2: got {0} but expected {1}", s3.f2, 2+906);
+                       return 2;
+               }
+               if (s3.f3 != 3+906) {
+                       Console.WriteLine("   int3 s3.f3: got {0} but expected {1}", s3.f3, 3+906);
+                       return 3;
+               }
+
+               int4 s4;
+               s4.f1 = 1;
+               s4.f2 = 2;
+               s4.f3 = 3;
+               s4.f4 = 4;
+               s4 = mono_return_int4(s4, 906);
+               if (s4.f1 != 1+906) {
+                       Console.WriteLine("   int4 s4.f1: got {0} but expected {1}", s4.f1, 1+906);
+                       return 1;
+               }
+               if (s4.f2 != 2+906) {
+                       Console.WriteLine("   int4 s4.f2: got {0} but expected {1}", s4.f2, 2+906);
+                       return 2;
+               }
+               if (s4.f3 != 3+906) {
+                       Console.WriteLine("   int4 s4.f3: got {0} but expected {1}", s4.f3, 3+906);
+                       return 3;
+               }
+               if (s4.f4 != 4+906) {
+                       Console.WriteLine("   int4 s4.f4: got {0} but expected {1}", s4.f4, 4+906);
+                       return 4;
+               }
+
+               int5 s5;
+               s5.f1 = 1;
+               s5.f2 = 2;
+               s5.f3 = 3;
+               s5.f4 = 4;
+               s5.f5 = 5;
+               s5 = mono_return_int5(s5, 906);
+               if (s5.f1 != 1+906) {
+                       Console.WriteLine("   int5 s5.f1: got {0} but expected {1}", s5.f1, 1+906);
+                       return 1;
+               }
+               if (s5.f2 != 2+906) {
+                       Console.WriteLine("   int5 s5.f2: got {0} but expected {1}", s5.f2, 2+906);
+                       return 2;
+               }
+               if (s5.f3 != 3+906) {
+                       Console.WriteLine("   int5 s5.f3: got {0} but expected {1}", s5.f3, 3+906);
+                       return 3;
+               }
+               if (s5.f4 != 4+906) {
+                       Console.WriteLine("   int5 s5.f4: got {0} but expected {1}", s5.f4, 4+906);
+                       return 4;
+               }
+               if (s5.f5 != 5+906) {
+                       Console.WriteLine("   int5 s5.f5: got {0} but expected {1}", s5.f5, 5+906);
+                       return 5;
+               }
+
+
+               int4_nested sn4;
+               sn4.nested1.f1 = 1;
+               sn4.f2 = 2;
+               sn4.f3 = 3;
+               sn4.nested2.f4 = 4;
+               sn4 = mono_return_int4_nested(sn4, 906);
+               if (sn4.nested1.f1 != 1+906) {
+                       Console.WriteLine("   int4_nested sn4.nested1.f1: got {0} but expected {1}", sn4.nested1.f1, 1+906);
+                       return 1;
+               }
+               if (sn4.f2 != 2+906) {
+                       Console.WriteLine("   int4_nested sn4.f2: got {0} but expected {1}", sn4.f2, 2+906);
+                       return 2;
+               }
+               if (sn4.f3 != 3+906) {
+                       Console.WriteLine("   int4_nested sn4.f3: got {0} but expected {1}", sn4.f3, 3+906);
+                       return 3;
+               }
+               if (sn4.nested2.f4 != 4+906) {
+                       Console.WriteLine("   int4_nested sn4.nested2.f4: got {0} but expected {1}", sn4.nested2.f4, 4+906);
+                       return 4;
+               }
+
+               return 0;
+       } // end Main
+} // end class Test_int
+
diff --git a/mono/tests/pinvoke_ppcs.cs b/mono/tests/pinvoke_ppcs.cs
new file mode 100644 (file)
index 0000000..a57a909
--- /dev/null
@@ -0,0 +1,397 @@
+// pinvoke_ppcs.cs - Test cases for passing structures to and and returning
+//                   structures from functions.  This particular test is for
+//                   structures consisting wholy of 2 byte fields.
+//
+//                   The Power ABI version 2 allows for special parameter
+//                   passing and returning optimizations for certain
+//                   structures of homogenous composition (like all ints).
+//                   This set of tests checks all the possible combinations
+//                   that use the special parm/return rules and one beyond.
+//
+// Bill Seurer (seurer@linux.vnet.ibm.com)
+//
+// (C) {Copyright holder}
+//
+
+using System;
+using System.Runtime.InteropServices;
+
+
+public class Test_short {
+
+       [DllImport ("libtest", EntryPoint="mono_return_short1")]
+       public static extern short1 mono_return_short1 (short1 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct short1 {
+               public short f1;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_short2")]
+       public static extern short2 mono_return_short2 (short2 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct short2 {
+               public short f1,f2;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_short3")]
+       public static extern short3 mono_return_short3 (short3 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct short3 {
+               public short f1,f2,f3;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_short4")]
+       public static extern short4 mono_return_short4 (short4 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct short4 {
+               public short f1,f2,f3,f4;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_short5")]
+       public static extern short5 mono_return_short5 (short5 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct short5 {
+               public short f1,f2,f3,f4,f5;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_short6")]
+       public static extern short6 mono_return_short6 (short6 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct short6 {
+               public short f1,f2,f3,f4,f5,f6;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_short7")]
+       public static extern short7 mono_return_short7 (short7 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct short7 {
+               public short f1,f2,f3,f4,f5,f6,f7;
+       }
+       [DllImport ("libtest", EntryPoint="mono_return_short8")]
+       public static extern short8 mono_return_short8 (short8 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct short8 {
+               public short f1,f2,f3,f4,f5,f6,f7,f8;
+       }
+       // This structure is 1 element too large to use the special return
+       //  rules.
+       [DllImport ("libtest", EntryPoint="mono_return_short9")]
+       public static extern short9 mono_return_short9 (short9 s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct short9 {
+               public short f1,f2,f3,f4,f5,f6,f7,f8,f9;
+       }
+
+       // This structure has nested structures within it but they are
+       //  homogenous and thus should still use the special rules.
+       public struct short8_nested1 {
+               public short f1;
+       };
+       public struct short8_nested2 {
+               public short f8;
+       };
+       [DllImport ("libtest", EntryPoint="mono_return_short8_nested")]
+       public static extern short8_nested mono_return_short8_nested (short8_nested s, int addend);
+       [StructLayout(LayoutKind.Sequential)]
+       public struct short8_nested {
+               public short8_nested1 nested1;
+               public short f2,f3,f4,f5,f6,f7;
+               public short8_nested2 nested2;
+       }
+
+       public static int Main (string[] args) {
+
+               short1 s1;
+               s1.f1 = 1;
+               s1 = mono_return_short1(s1, 90);
+               if (s1.f1 != 1+90) {
+                       Console.WriteLine("   short1 s1.f1: got {0} but expected {1}", s1.f1, 1+90);
+                       return 1;
+               }
+
+               short2 s2;
+               s2.f1 = 1;
+               s2.f2 = 2;
+               s2 = mono_return_short2(s2, 90);
+               if (s2.f1 != 1+90) {
+                       Console.WriteLine("   short2 s2.f1: got {0} but expected {1}", s2.f1, 1+90);
+                       return 1;
+               }
+               if (s2.f2 != 2+90) {
+                       Console.WriteLine("   short2 s2.f2: got {0} but expected {1}", s2.f2, 2+90);
+                       return 2;
+               }
+
+               short3 s3;
+               s3.f1 = 1;
+               s3.f2 = 2;
+               s3.f3 = 3;
+               s3 = mono_return_short3(s3, 90);
+               if (s3.f1 != 1+90) {
+                       Console.WriteLine("   short3 s3.f1: got {0} but expected {1}", s3.f1, 1+90);
+                       return 1;
+               }
+               if (s3.f2 != 2+90) {
+                       Console.WriteLine("   short3 s3.f2: got {0} but expected {1}", s3.f2, 2+90);
+                       return 2;
+               }
+               if (s3.f3 != 3+90) {
+                       Console.WriteLine("   short3 s3.f3: got {0} but expected {1}", s3.f3, 3+90);
+                       return 3;
+               }
+
+               short4 s4;
+               s4.f1 = 1;
+               s4.f2 = 2;
+               s4.f3 = 3;
+               s4.f4 = 4;
+               s4 = mono_return_short4(s4, 90);
+               if (s4.f1 != 1+90) {
+                       Console.WriteLine("   short4 s4.f1: got {0} but expected {1}", s4.f1, 1+90);
+                       return 1;
+               }
+               if (s4.f2 != 2+90) {
+                       Console.WriteLine("   short4 s4.f2: got {0} but expected {1}", s4.f2, 2+90);
+                       return 2;
+               }
+               if (s4.f3 != 3+90) {
+                       Console.WriteLine("   short4 s4.f3: got {0} but expected {1}", s4.f3, 3+90);
+                       return 3;
+               }
+               if (s4.f4 != 4+90) {
+                       Console.WriteLine("   short4 s4.f4: got {0} but expected {1}", s4.f4, 4+90);
+                       return 4;
+               }
+
+               short5 s5;
+               s5.f1 = 1;
+               s5.f2 = 2;
+               s5.f3 = 3;
+               s5.f4 = 4;
+               s5.f5 = 5;
+               s5 = mono_return_short5(s5, 90);
+               if (s5.f1 != 1+90) {
+                       Console.WriteLine("   short5 s5.f1: got {0} but expected {1}", s5.f1, 1+90);
+                       return 1;
+               }
+               if (s5.f2 != 2+90) {
+                       Console.WriteLine("   short5 s5.f2: got {0} but expected {1}", s5.f2, 2+90);
+                       return 2;
+               }
+               if (s5.f3 != 3+90) {
+                       Console.WriteLine("   short5 s5.f3: got {0} but expected {1}", s5.f3, 3+90);
+                       return 3;
+               }
+               if (s5.f4 != 4+90) {
+                       Console.WriteLine("   short5 s5.f4: got {0} but expected {1}", s5.f4, 4+90);
+                       return 4;
+               }
+               if (s5.f5 != 5+90) {
+                       Console.WriteLine("   short5 s5.f5: got {0} but expected {1}", s5.f5, 5+90);
+                       return 5;
+               }
+
+               short6 s6;
+               s6.f1 = 1;
+               s6.f2 = 2;
+               s6.f3 = 3;
+               s6.f4 = 4;
+               s6.f5 = 5;
+               s6.f6 = 6;
+               s6 = mono_return_short6(s6, 90);
+               if (s6.f1 != 1+90) {
+                       Console.WriteLine("   short6 s6.f1: got {0} but expected {1}", s6.f1, 1+90);
+                       return 1;
+               }
+               if (s6.f2 != 2+90) {
+                       Console.WriteLine("   short6 s6.f2: got {0} but expected {1}", s6.f2, 2+90);
+                       return 2;
+               }
+               if (s6.f3 != 3+90) {
+                       Console.WriteLine("   short6 s6.f3: got {0} but expected {1}", s6.f3, 3+90);
+                       return 3;
+               }
+               if (s6.f4 != 4+90) {
+                       Console.WriteLine("   short6 s6.f4: got {0} but expected {1}", s6.f4, 4+90);
+                       return 4;
+               }
+               if (s6.f5 != 5+90) {
+                       Console.WriteLine("   short6 s6.f5: got {0} but expected {1}", s6.f5, 5+90);
+                       return 5;
+               }
+               if (s6.f6 != 6+90) {
+                       Console.WriteLine("   short6 s6.f6: got {0} but expected {1}", s6.f6, 6+90);
+                       return 6;
+               }
+
+               short7 s7;
+               s7.f1 = 1;
+               s7.f2 = 2;
+               s7.f3 = 3;
+               s7.f4 = 4;
+               s7.f5 = 5;
+               s7.f6 = 6;
+               s7.f7 = 7;
+               s7 = mono_return_short7(s7, 90);
+               if (s7.f1 != 1+90) {
+                       Console.WriteLine("   short7 s7.f1: got {0} but expected {1}", s7.f1, 1+90);
+                       return 1;
+               }
+               if (s7.f2 != 2+90) {
+                       Console.WriteLine("   short7 s7.f2: got {0} but expected {1}", s7.f2, 2+90);
+                       return 2;
+               }
+               if (s7.f3 != 3+90) {
+                       Console.WriteLine("   short7 s7.f3: got {0} but expected {1}", s7.f3, 3+90);
+                       return 3;
+               }
+               if (s7.f4 != 4+90) {
+                       Console.WriteLine("   short7 s7.f4: got {0} but expected {1}", s7.f4, 4+90);
+                       return 4;
+               }
+               if (s7.f5 != 5+90) {
+                       Console.WriteLine("   short7 s7.f5: got {0} but expected {1}", s7.f5, 5+90);
+                       return 5;
+               }
+               if (s7.f6 != 6+90) {
+                       Console.WriteLine("   short7 s7.f6: got {0} but expected {1}", s7.f6, 6+90);
+                       return 6;
+               }
+               if (s7.f7 != 7+90) {
+                       Console.WriteLine("   short7 s7.f7: got {0} but expected {1}", s7.f7, 7+90);
+                       return 7;
+               }
+
+               short8 s8;
+               s8.f1 = 1;
+               s8.f2 = 2;
+               s8.f3 = 3;
+               s8.f4 = 4;
+               s8.f5 = 5;
+               s8.f6 = 6;
+               s8.f7 = 7;
+               s8.f8 = 8;
+               s8 = mono_return_short8(s8, 90);
+               if (s8.f1 != 1+90) {
+                       Console.WriteLine("   short8 s8.f1: got {0} but expected {1}", s8.f1, 1+90);
+                       return 1;
+               }
+               if (s8.f2 != 2+90) {
+                       Console.WriteLine("   short8 s8.f2: got {0} but expected {1}", s8.f2, 2+90);
+                       return 2;
+               }
+               if (s8.f3 != 3+90) {
+                       Console.WriteLine("   short8 s8.f3: got {0} but expected {1}", s8.f3, 3+90);
+                       return 3;
+               }
+               if (s8.f4 != 4+90) {
+                       Console.WriteLine("   short8 s8.f4: got {0} but expected {1}", s8.f4, 4+90);
+                       return 4;
+               }
+               if (s8.f5 != 5+90) {
+                       Console.WriteLine("   short8 s8.f5: got {0} but expected {1}", s8.f5, 5+90);
+                       return 5;
+               }
+               if (s8.f6 != 6+90) {
+                       Console.WriteLine("   short8 s8.f6: got {0} but expected {1}", s8.f6, 6+90);
+                       return 6;
+               }
+               if (s8.f7 != 7+90) {
+                       Console.WriteLine("   short8 s8.f7: got {0} but expected {1}", s8.f7, 7+90);
+                       return 7;
+               }
+               if (s8.f8 != 8+90) {
+                       Console.WriteLine("   short8 s8.f8: got {0} but expected {1}", s8.f8, 8+90);
+                       return 8;
+               }
+
+               short9 s9;
+               s9.f1 = 1;
+               s9.f2 = 2;
+               s9.f3 = 3;
+               s9.f4 = 4;
+               s9.f5 = 5;
+               s9.f6 = 6;
+               s9.f7 = 7;
+               s9.f8 = 8;
+               s9.f9 = 9;
+               s9 = mono_return_short9(s9, 90);
+               if (s9.f1 != 1+90) {
+                       Console.WriteLine("   short9 s9.f1: got {0} but expected {1}", s9.f1, 1+90);
+                       return 1;
+               }
+               if (s9.f2 != 2+90) {
+                       Console.WriteLine("   short9 s9.f2: got {0} but expected {1}", s9.f2, 2+90);
+                       return 2;
+               }
+               if (s9.f3 != 3+90) {
+                       Console.WriteLine("   short9 s9.f3: got {0} but expected {1}", s9.f3, 3+90);
+                       return 3;
+               }
+               if (s9.f4 != 4+90) {
+                       Console.WriteLine("   short9 s9.f4: got {0} but expected {1}", s9.f4, 4+90);
+                       return 4;
+               }
+               if (s9.f5 != 5+90) {
+                       Console.WriteLine("   short9 s9.f5: got {0} but expected {1}", s9.f5, 5+90);
+                       return 5;
+               }
+               if (s9.f6 != 6+90) {
+                       Console.WriteLine("   short9 s9.f6: got {0} but expected {1}", s9.f6, 6+90);
+                       return 6;
+               }
+               if (s9.f7 != 7+90) {
+                       Console.WriteLine("   short9 s9.f7: got {0} but expected {1}", s9.f7, 7+90);
+                       return 7;
+               }
+               if (s9.f8 != 8+90) {
+                       Console.WriteLine("   short9 s9.f8: got {0} but expected {1}", s9.f8, 8+90);
+                       return 8;
+               }
+               if (s9.f9 != 9+90) {
+                       Console.WriteLine("   short9 s9.f9: got {0} but expected {1}", s9.f9, 9+90);
+                       return 9;
+               }
+
+
+               short8_nested sn8;
+               sn8.nested1.f1 = 1;
+               sn8.f2 = 2;
+               sn8.f3 = 3;
+               sn8.f4 = 4;
+               sn8.f5 = 5;
+               sn8.f6 = 6;
+               sn8.f7 = 7;
+               sn8.nested2.f8 = 8;
+               sn8 = mono_return_short8_nested(sn8, 90);
+               if (sn8.nested1.f1 != 1+90) {
+                       Console.WriteLine("   short8_nested sn8.nested1.f1: got {0} but expected {1}", sn8.nested1.f1, 1+90);
+                       return 1;
+               }
+               if (sn8.f2 != 2+90) {
+                       Console.WriteLine("   short8_nested sn8.f2: got {0} but expected {1}", sn8.f2, 2+90);
+                       return 2;
+               }
+               if (sn8.f3 != 3+90) {
+                       Console.WriteLine("   short8_nested sn8.f3: got {0} but expected {1}", sn8.f3, 3+90);
+                       return 3;
+               }
+               if (sn8.f4 != 4+90) {
+                       Console.WriteLine("   short8_nested sn8.f4: got {0} but expected {1}", sn8.f4, 4+90);
+                       return 4;
+               }
+               if (sn8.f5 != 5+90) {
+                       Console.WriteLine("   short8_nested sn8.f5: got {0} but expected {1}", sn8.f5, 5+90);
+                       return 5;
+               }
+               if (sn8.f6 != 6+90) {
+                       Console.WriteLine("   short8_nested sn8.f6: got {0} but expected {1}", sn8.f6, 6+90);
+                       return 6;
+               }
+               if (sn8.f7 != 7+90) {
+                       Console.WriteLine("   short8_nested sn8.f7: got {0} but expected {1}", sn8.f7, 7+90);
+                       return 7;
+               }
+               if (sn8.nested2.f8 != 8+90) {
+                       Console.WriteLine("   short8_nested sn8.nested2.f8: got {0} but expected {1}", sn8.nested2.f8, 8+90);
+                       return 8;
+               }
+
+               return 0;
+       } // end Main
+} // end class Test_short
+
index b7ff6475d23cdb14ba9877754c6a53446d341625..2145f0561c00cfea150b74a07b4b78c70a1ce635 100644 (file)
@@ -54,10 +54,11 @@ class main {
                        b.test_exception ();
                }
                catch (SynchronizationLockException ex) {
-                       return 1;
+                       // OK
                }
                catch (Exception ex) {
-                       // OK
+                       // The other exception should be overwritten by the lock one
+                       return 1;
                }
 
                Console.WriteLine ("Test4...");
@@ -81,10 +82,10 @@ class main {
                        d ();
                }
                catch (SynchronizationLockException ex) {
-                       return 2;
+                       // OK
                }
                catch (Exception ex) {
-                       // OK
+                       return 2;
                }
 
                return 0;
diff --git a/mono/tests/suspend-stress-test.cs b/mono/tests/suspend-stress-test.cs
new file mode 100644 (file)
index 0000000..3289a3e
--- /dev/null
@@ -0,0 +1,223 @@
+using System;
+using System.Collections.Generic;
+using System.Threading;
+using System.Diagnostics;
+using System.IO;
+
+/*
+TODO
+       Some tests are much more expensive than others (on cycles and synchronization), add a calibration step to figure out duration.
+       Some tests are more disrruptive than others, add weights to tests so some are picked more frequently.
+       The workload is too static, add some background generation noise tests.
+       The workload is too stable, add perturbance on the number of available tasks.
+       Fuse threadpool with non threadpool workloads by firing some tasks as separate threads.
+       Add an external watchdog so we can run the stress test in a loop for very long times and get results out of it.
+       We don't have enough tests, add one per locking operation we got in the runtime.
+
+Missing tests:
+       Ephemerons
+       Dynamic methods
+       Regular SRE
+       Remoting / Transparent Proxies
+       Context locals
+       Thread locals
+       Finalizers
+       Async socket IO
+*/
+
+class Driver {
+       static bool stop_please;
+       const int TEST_DURATION = 1000;
+
+       static object very_contended_object = new object ();
+
+       static bool Ok (ref int loops) {
+               if (loops == -1)
+                       return !stop_please;
+               if (loops == 0)
+                       return false;
+               loops--;
+               return true;
+
+       }
+       static void MonitorEnterInALoop (int loops)
+       {
+               while (Ok (ref loops)) {
+                       if (Monitor.TryEnter (very_contended_object, 100)) {
+                               Thread.Sleep (30);
+                               Monitor.Exit (very_contended_object);
+                       }
+               }
+       }
+
+       static void AllocObjectInALoop (int loops) {
+               while (Ok (ref loops)) {
+                       var a = new object ();
+                       var b = new byte [100];
+               }
+       }
+
+       static void AllocDomainInALoop (int loops) {
+               int count = 0;
+               while (Ok (ref loops)) {
+                       var a = AppDomain.CreateDomain ("test_domain_" + ++count);
+                       AppDomain.Unload (a);
+               }
+       }
+
+       static void FileIO (int loops) {
+               while (Ok (ref loops)) {
+                       var dir = Path.GetTempFileName () + "_" + Thread.CurrentThread.ManagedThreadId;
+                       Directory.CreateDirectory (dir);
+                       Directory.Delete (dir);
+                       
+               }
+       }
+
+    static void Timer_Elapsed(object sender, EventArgs e)
+    {
+        HashSet<string> h = new HashSet<string>();
+        for (int j = 0; j < 500; j++)
+        {
+            h.Add(""+j+""+j);
+        }
+    }
+
+       //From sgen-new-threads-dont-join-stw
+       static void TimerStress (int loops) {
+               while (Ok (ref loops)) {
+                       System.Timers.Timer timer = new System.Timers.Timer();
+            timer.Elapsed += Timer_Elapsed;
+            timer.AutoReset = false;
+            timer.Interval = 500;
+            timer.Start ();
+               }
+       }
+
+       //from sgen-weakref-stress
+       static void WeakRefStress (int loops) {
+               while (Ok (ref loops)) {
+                  for (int j = 0; j < 500; ++j) {
+                      new WeakReference (new object ());
+                  }
+               }
+       }
+       static Tuple<Action<int>,string>[] available_tests = new [] {
+               Tuple.Create (new Action<int> (MonitorEnterInALoop), "monitor"),
+               Tuple.Create (new Action<int> (AllocObjectInALoop), "alloc"),
+               Tuple.Create (new Action<int> (AllocDomainInALoop), "appdomain"),
+               Tuple.Create (new Action<int> (FileIO), "file-io"),
+               Tuple.Create (new Action<int> (TimerStress), "timers"),
+               Tuple.Create (new Action<int> (WeakRefStress), "weakref"),
+       };
+
+       static void GcPump (int timeInMillis)
+       {
+               var sw = Stopwatch.StartNew ();
+               do {
+                       GC.Collect ();
+                       Thread.Sleep (1);
+               } while (sw.ElapsedMilliseconds < timeInMillis);
+               stop_please = true;
+       }
+
+       const int minTpSteps = 1;
+       const int maxTpSteps = 30;
+
+       static void QueueStuffUsingTpl (int threadCount) {
+               int pendingJobs = 0;
+               int maxPending = threadCount * 2;
+               int generatorIdx = 0;
+               Random rand = new Random (0);
+
+               while (!stop_please) {
+                       while (pendingJobs < maxPending) {
+                               var task = available_tests [generatorIdx++ % available_tests.Length].Item1;
+                               int steps = rand.Next(minTpSteps, maxTpSteps);
+                               ThreadPool.QueueUserWorkItem (_ => {
+                                       task (steps);
+                                       Interlocked.Decrement (ref pendingJobs);
+                               });
+                               Interlocked.Increment (ref pendingJobs);
+                       }
+                       Thread.Sleep (1);
+               }
+               while (pendingJobs > 0)
+                       Thread.Sleep (1);
+       }
+
+       static void DynamicLoadGenerator (int threadCount, int timeInMillis) {
+               var t = new Thread (() => QueueStuffUsingTpl (threadCount));
+               t.Start ();
+
+               GcPump (timeInMillis);
+
+               t.Join ();
+       }
+
+       static void StaticLoadGenerator (int threadCount, int testIndex, int timeInMillis) {
+               List<Thread> threads = new List<Thread> ();
+
+               for (int i = 0; i < threadCount; ++i) {
+                       var dele = (testIndex >= 0 ? available_tests [testIndex] : available_tests [i % available_tests.Length]).Item1;
+                       var t = new Thread (() => dele (-1));
+                       t.Start ();
+                       threads.Add (t);
+               }
+
+               GcPump (timeInMillis);
+
+               foreach (var t in threads)
+                       t.Join ();
+       }
+       
+       static int ParseTestName (string name) {
+               for (int i = 0; i < available_tests.Length; ++i) {
+                       if (available_tests[i].Item2 == name)
+                               return i;
+               }
+               Console.WriteLine ("Invalid test name {0}", name);
+               Environment.Exit (2);
+               return -1;
+       }
+
+       static int Main (string[] args) {
+               int threadCount = Environment.ProcessorCount - 1;
+               int timeInMillis = TEST_DURATION;
+               int testIndex = -1;
+               bool tpLoadGenerator = false;
+               string testName = "static";
+               
+
+               for (int j = 0; j < args.Length;) {
+                       if ((args [j] == "--duration") || (args [j] == "-d")) {
+                               timeInMillis = Int32.Parse (args [j + 1]);
+                               j += 2;
+                       } else if ((args [j] == "--test") || (args [j] == "-t")) {
+                               if (args [j + 1] == "static")
+                                       testIndex = -1;
+                               else if (args [j + 1] == "tp")
+                                       tpLoadGenerator = true;
+                               else
+                                       testIndex = ParseTestName (testName = args [j + 1]);
+                               j += 2;
+                       } else  if ((args [j] == "--thread-count") || (args [j] == "-tc")) {
+                               threadCount = Int32.Parse (args [j + 1]);
+                               j += 2;
+                       }else {
+                               Console.WriteLine ("Unknown argument: " + args [j]);
+                               return 1;
+                       }
+        }
+
+               if (tpLoadGenerator) {
+                       Console.WriteLine ("tp window {0} duration {1}", threadCount, timeInMillis);
+                       DynamicLoadGenerator (threadCount, timeInMillis);
+               } else {
+                       Console.WriteLine ("thread count {0} duration {1} test {2}", threadCount, timeInMillis, testName);
+                       StaticLoadGenerator (threadCount, testIndex, timeInMillis);
+               }
+
+               return 0;
+       }
+}
\ No newline at end of file
index a63b63fa5c6d4c66262f59a661bbcc8710ac771e..9d56cd8c365a121503d886399b40ec3d2a5c5081 100644 (file)
@@ -76,10 +76,11 @@ class Tests {
                        b.test_exception ();
                }
                catch (SynchronizationLockException ex) {
-                       return 1;
+                       // OK
                }
                catch (Exception ex) {
-                       // OK
+                       // The other exception should be overwritten by the lock one
+                       return 1;
                }
                if (is_synchronized (b))
                        return 1;
@@ -113,10 +114,10 @@ class Tests {
                        d ();
                }
                catch (SynchronizationLockException ex) {
-                       return 2;
+                       // OK
                }
                catch (Exception ex) {
-                       // OK
+                       return 2;
                }
                if (is_synchronized (b))
                        return 1;
index 6dc6745d53e2453804c79b8191e4deb1366a0d0f..7807c02dd598eac4d78183d46ea0c26d9379e43d 100644 (file)
@@ -251,11 +251,11 @@ public class TestRunner
                                lock (monitor) {
                                        fs = process_data [p2].stdout;
 
-                                       if (String.IsNullOrEmpty (e.Data))
+                                       if (e.Data == null)
                                                process_data [p2].stdout = null;
                                }
 
-                               if (String.IsNullOrEmpty (e.Data)) {
+                               if (e.Data == null) {
                                        fs.Close ();
                                } else {
                                        fs.WriteLine (e.Data);
@@ -271,12 +271,12 @@ public class TestRunner
                                lock (monitor) {
                                        fs = process_data [p2].stderr;
 
-                                       if (String.IsNullOrEmpty (e.Data))
+                                       if (e.Data == null)
                                                process_data [p2].stderr = null;
 
                                }
 
-                               if (String.IsNullOrEmpty (e.Data)) {
+                               if (e.Data == null) {
                                        fs.Close ();
 
                                        lock (monitor) {
diff --git a/mono/tests/unhandled-exception.cs b/mono/tests/unhandled-exception.cs
new file mode 100644 (file)
index 0000000..7658e07
--- /dev/null
@@ -0,0 +1,193 @@
+using System;
+using System.Diagnostics;
+using System.Threading;
+using System.Threading.Tasks;
+
+class CustomException : Exception
+{
+}
+
+class CustomException2 : Exception
+{
+}
+
+
+class CrossDomain : MarshalByRefObject
+{
+       public Action NewDelegateWithTarget ()
+       {
+               return new Action (Bar);
+       }
+
+       public Action NewDelegateWithoutTarget ()
+       {
+               return () => { throw new CustomException (); };
+       }
+
+       public void Bar ()
+       {
+               throw new CustomException ();
+       }
+}
+
+class Driver {
+       static ManualResetEvent mre = new ManualResetEvent (false);
+
+       static void DoTest1 ()
+       {
+               mre.Reset ();
+
+               var t = new Thread (new ThreadStart (() => { try { throw new CustomException (); } finally { mre.Set (); } }));
+               t.Start ();
+
+               if (!mre.WaitOne (5000))
+                       Environment.Exit (2);
+
+               t.Join ();
+       }
+
+       static void DoTest2 ()
+       {
+               mre.Reset ();
+
+               var a = new Action (() => { try { throw new CustomException (); } finally { mre.Set (); } });
+               var ares = a.BeginInvoke (null, null);
+
+               if (!mre.WaitOne (5000))
+                       Environment.Exit (2);
+
+               try {
+                       a.EndInvoke (ares);
+                       throw new Exception ();
+               } catch (CustomException) {                     
+               } catch (Exception) {
+                       Environment.Exit (3);
+               }
+       }
+
+       static void DoTest3 ()
+       {
+               mre.Reset ();
+
+               ThreadPool.QueueUserWorkItem (_ => { try { throw new CustomException (); } finally { mre.Set (); } });
+
+               if (!mre.WaitOne (5000))
+                       Environment.Exit (2);
+       }
+
+       static void DoTest4 ()
+       {
+               mre.Reset ();
+
+               var t = Task.Factory.StartNew (new Action (() => { try { throw new CustomException (); } finally { mre.Set (); } }));
+
+               if (!mre.WaitOne (5000))
+                       Environment.Exit (2);
+
+               try {
+                       t.Wait ();
+                       throw new Exception ();
+               } catch (AggregateException ae) {
+                       if (!(ae.InnerExceptions [0] is CustomException))
+                               Environment.Exit (4);
+               } catch (Exception) {
+                       Environment.Exit (3);
+               }
+       }
+       
+       class FinalizedClass
+       {
+               ~FinalizedClass ()
+               {
+                       try {
+                               throw new CustomException ();
+                       } finally {
+                               mre.Set ();
+                       }
+               }
+       }
+
+       static void DoTest5 ()
+       {
+               mre.Reset ();
+
+               new FinalizedClass();
+
+               GC.Collect ();
+               GC.WaitForPendingFinalizers ();
+
+               if (!mre.WaitOne (5000))
+                       Environment.Exit (2);
+       }
+
+       static void DoTest6 ()
+       {
+               ManualResetEvent mre2 = new ManualResetEvent (false);
+
+               mre.Reset ();
+
+               var a = new Action (() => { try { throw new CustomException (); } finally { mre.Set (); } });
+               var ares = a.BeginInvoke (_ => { mre2.Set (); throw new CustomException2 (); }, null);
+
+               if (!mre.WaitOne (5000))
+                       Environment.Exit (2);
+               if (!mre2.WaitOne (5000))
+                       Environment.Exit (22);
+
+               try {
+                       a.EndInvoke (ares);
+                       throw new Exception ();
+               } catch (CustomException) {
+               } catch (Exception) {
+                       Environment.Exit (3);
+               }
+       }
+
+       static void DoTest7 ()
+       {
+               var cd = (CrossDomain) AppDomain.CreateDomain ("ad").CreateInstanceAndUnwrap (typeof(CrossDomain).Assembly.FullName, "CrossDomain");
+
+               var a = cd.NewDelegateWithoutTarget ();
+               var ares = a.BeginInvoke (delegate { throw new CustomException2 (); }, null);
+
+               try {
+                       a.EndInvoke (ares);
+                       throw new Exception ();
+               } catch (CustomException) {
+               } catch (Exception) {
+                       Environment.Exit (3);
+               }
+       }
+
+       static void DoTest8 ()
+       {
+               var cd = (CrossDomain) AppDomain.CreateDomain ("ad").CreateInstanceAndUnwrap (typeof(CrossDomain).Assembly.FullName, "CrossDomain");
+
+               var a = cd.NewDelegateWithTarget ();
+               var ares = a.BeginInvoke (delegate { throw new CustomException2 (); }, null);
+
+               try {
+                       a.EndInvoke (ares);
+                       throw new Exception ();
+               } catch (CustomException) {
+               } catch (Exception) {
+                       Environment.Exit (3);
+               }
+       }
+
+       static void Main (string[] args)
+       {
+               switch (int.Parse (args [0])) {
+               case 1: DoTest1 (); break;
+               case 2: DoTest2 (); break;
+               case 3: DoTest3 (); break;
+               case 4: DoTest4 (); break;
+               case 5: DoTest5 (); break;
+               case 6: DoTest6 (); break;
+               case 7: DoTest7 (); break;
+               case 8: DoTest8 (); break;
+               default: throw new ArgumentOutOfRangeException ();
+               }
+               Environment.Exit (0);
+       }
+}
index 2c2369589e143fde0125a2b1ca09046b99620031..10e0da01b2e9a24119c0b45f6eef17afe506e58d 100644 (file)
@@ -7,7 +7,6 @@ if PLATFORM_DARWIN
 test_ldflags = -framework CoreFoundation -framework Foundation
 endif
 
-
 if !CROSS_COMPILE
 if !HOST_WIN32
 if SUPPORT_BOEHM
@@ -40,6 +39,16 @@ noinst_PROGRAMS = test-sgen-qsort test-memfuncs test-mono-linked-list-set test-c
 
 TESTS = test-sgen-qsort test-memfuncs test-mono-linked-list-set test-conc-hashtable
 
+.NOTPARALLEL:
+
+check-local:
+       if [ -e test-suite.log ]; then \
+               if grep -q "# FAIL:  0\|tests passed" test-suite.log; then successbool=True && failures=0; else successbool=False && failures=1; fi; \
+               echo "<?xml version='1.0' encoding='utf-8'?><test-results failures='$$failures' total='1' not-run='0' name='unit-tests.dummy' date='$$(date +%F)' time='$$(date +%T)'><test-suite name='MonoTests.unit-tests' success='$$successbool' time='0'><results><test-case name='MonoTests.unit-tests.100percentsuccess' executed='True' success='$$successbool' time='0'>" > TestResult-unit-tests.xml; \
+               if [ $$failures -ne 0 ]; then echo "<failure><message>"'<![CDATA[' >> TestResult-unit-tests.xml && cat test-suite.log >> TestResult-unit-tests.xml && echo "]]></message><stack-trace></stack-trace></failure>" >> TestResult-unit-tests.xml; fi; \
+               echo "</test-case></results></test-suite></test-results>" >> TestResult-unit-tests.xml; \
+       fi;
+
 endif SUPPORT_BOEHM
 endif !HOST_WIN32
 endif !CROSS_COMPILE
index bdafa56291eb3a9bab4d764c83e0c29066ee1e52..fec63391ed85d337ac078ed81ebcc71014c73bb0 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "utils/mono-threads.h"
 #include "utils/mono-conc-hashtable.h"
+#include "utils/checked-build.h"
 
 #include <stdlib.h>
 #include <string.h>
@@ -37,11 +38,23 @@ single_writer_single_reader (void)
        int res = 0;
 
        mono_mutex_init (&mutex);
-       h = mono_conc_hashtable_new (&mutex, NULL, NULL);
+       h = mono_conc_hashtable_new (NULL, NULL);
+
+       mono_mutex_lock (&mutex);
        mono_conc_hashtable_insert (h, GUINT_TO_POINTER (10), GUINT_TO_POINTER (20));
+       mono_mutex_unlock (&mutex);
+
+       mono_mutex_lock (&mutex);
        mono_conc_hashtable_insert (h, GUINT_TO_POINTER (30), GUINT_TO_POINTER (40));
+       mono_mutex_unlock (&mutex);
+
+       mono_mutex_lock (&mutex);
        mono_conc_hashtable_insert (h, GUINT_TO_POINTER (50), GUINT_TO_POINTER (60));
+       mono_mutex_unlock (&mutex);
+
+       mono_mutex_lock (&mutex);
        mono_conc_hashtable_insert (h, GUINT_TO_POINTER (2), GUINT_TO_POINTER (3));
+       mono_mutex_unlock (&mutex);
 
        if (mono_conc_hashtable_lookup (h, GUINT_TO_POINTER (30)) != GUINT_TO_POINTER (40))
                res = 1;
@@ -60,6 +73,7 @@ single_writer_single_reader (void)
 }
 
 static MonoConcurrentHashTable *hash;
+static mono_mutex_t global_mutex;
 
 static void*
 pw_sr_thread (void *arg)
@@ -67,8 +81,11 @@ pw_sr_thread (void *arg)
        int i, idx = 1000 * GPOINTER_TO_INT (arg);
        mono_thread_info_attach ((gpointer)&arg);
 
-       for (i = 0; i < 1000; ++i)
+       for (i = 0; i < 1000; ++i) {
+               mono_mutex_lock (&global_mutex);
                mono_conc_hashtable_insert (hash, GINT_TO_POINTER (i + idx), GINT_TO_POINTER (i + 1));
+               mono_mutex_unlock (&global_mutex);
+       }
        return NULL;
 }
 
@@ -76,11 +93,10 @@ static int
 parallel_writer_single_reader (void)
 {
        pthread_t a,b,c;
-       mono_mutex_t mutex;
        int i, j, res = 0;
 
-       mono_mutex_init (&mutex);
-       hash = mono_conc_hashtable_new (&mutex, NULL, NULL);
+       mono_mutex_init (&global_mutex);
+       hash = mono_conc_hashtable_new (NULL, NULL);
 
        pthread_create (&a, NULL, pw_sr_thread, GINT_TO_POINTER (1));
        pthread_create (&b, NULL, pw_sr_thread, GINT_TO_POINTER (2));
@@ -101,7 +117,7 @@ parallel_writer_single_reader (void)
 
 done:
        mono_conc_hashtable_destroy (hash);
-       mono_mutex_destroy (&mutex);
+       mono_mutex_destroy (&global_mutex);
        if (res)
                printf ("PAR_WRITER_SINGLE_READER TEST FAILED %d\n", res);
        return res;
@@ -129,22 +145,29 @@ static int
 single_writer_parallel_reader (void)
 {
        pthread_t a,b,c;
-       mono_mutex_t mutex;
        gpointer ra, rb, rc;
        int i, res = 0;
        ra = rb = rc = GINT_TO_POINTER (1);
 
-       mono_mutex_init (&mutex);
-       hash = mono_conc_hashtable_new (&mutex, NULL, NULL);
+       mono_mutex_init (&global_mutex);
+       hash = mono_conc_hashtable_new (NULL, NULL);
 
        pthread_create (&a, NULL, pr_sw_thread, GINT_TO_POINTER (0));
        pthread_create (&b, NULL, pr_sw_thread, GINT_TO_POINTER (1));
        pthread_create (&c, NULL, pr_sw_thread, GINT_TO_POINTER (2));
 
        for (i = 0; i < 100; ++i) {
+               mono_mutex_lock (&global_mutex);
                mono_conc_hashtable_insert (hash, GINT_TO_POINTER (i +   0 + 1), GINT_TO_POINTER ((i +   0) * 2 + 1));
+               mono_mutex_unlock (&global_mutex);
+
+               mono_mutex_lock (&global_mutex);
                mono_conc_hashtable_insert (hash, GINT_TO_POINTER (i + 100 + 1), GINT_TO_POINTER ((i + 100) * 2 + 1));
+               mono_mutex_unlock (&global_mutex);
+
+               mono_mutex_lock (&global_mutex);
                mono_conc_hashtable_insert (hash, GINT_TO_POINTER (i + 200 + 1), GINT_TO_POINTER ((i + 200) * 2 + 1));
+               mono_mutex_unlock (&global_mutex);
        }
 
        pthread_join (a, &ra);
@@ -153,7 +176,7 @@ single_writer_parallel_reader (void)
        res = GPOINTER_TO_INT (ra) + GPOINTER_TO_INT (rb) + GPOINTER_TO_INT (rc);
 
        mono_conc_hashtable_destroy (hash);
-       mono_mutex_destroy (&mutex);
+       mono_mutex_destroy (&global_mutex);
        if (res)
                printf ("SINGLE_WRITER_PAR_READER TEST FAILED %d\n", res);
        return res;
@@ -189,8 +212,11 @@ pw_pr_w_add_thread (void *arg)
 
        mono_thread_info_attach ((gpointer)&arg);
 
-       for (i = idx; i < idx + 1000; i++)
+       for (i = idx; i < idx + 1000; i++) {
+               mono_mutex_lock (&global_mutex);
                mono_conc_hashtable_insert (hash, GINT_TO_POINTER (i + 1), GINT_TO_POINTER (i + 1));
+               mono_mutex_unlock (&global_mutex);
+       }
        return NULL;
 }
 
@@ -201,8 +227,11 @@ pw_pr_w_del_thread (void *arg)
 
        mono_thread_info_attach ((gpointer)&arg);
 
-       for (i = idx; i < idx + 1000; i++)
+       for (i = idx; i < idx + 1000; i++) {
+               mono_mutex_lock (&global_mutex);
                mono_conc_hashtable_remove (hash, GINT_TO_POINTER (i + 1));
+               mono_mutex_unlock (&global_mutex);
+       }
        return NULL;
 }
 
@@ -210,14 +239,13 @@ static int
 parallel_writer_parallel_reader (void)
 {
        pthread_t wa, wb, wc, ra, rb, rc;
-       mono_mutex_t mutex;
        gpointer a, b, c;
        int res = 0, i;
 
        srand(time(NULL));
 
-       mono_mutex_init (&mutex);
-       hash = mono_conc_hashtable_new (&mutex, NULL, NULL);
+       mono_mutex_init (&global_mutex);
+       hash = mono_conc_hashtable_new (NULL, NULL);
 
        for (i = 0; i < 2; i++) {
                running = 1;
@@ -256,7 +284,7 @@ parallel_writer_parallel_reader (void)
                printf ("PAR_WRITER_PAR_READER TEST FAILED %d %d %d\n", GPOINTER_TO_INT (a), GPOINTER_TO_INT (b), GPOINTER_TO_INT (c));
 
        mono_conc_hashtable_destroy (hash);
-       mono_mutex_destroy (&mutex);
+       mono_mutex_destroy (&global_mutex);
 
        return res;
 }
@@ -264,15 +292,14 @@ parallel_writer_parallel_reader (void)
 static void G_GNUC_UNUSED
 benchmark_conc (void)
 {
-       mono_mutex_t mutex;
        MonoConcurrentHashTable *h;
        int i, j;
 
-       mono_mutex_init (&mutex);
-       h = mono_conc_hashtable_new (&mutex, NULL, NULL);
+       h = mono_conc_hashtable_new (NULL, NULL);
 
-       for (i = 1; i < 10 * 1000; ++i)
+       for (i = 1; i < 10 * 1000; ++i) {
                mono_conc_hashtable_insert (h, GUINT_TO_POINTER (i), GUINT_TO_POINTER (i));
+       }
 
 
        for (j = 0; j < 100000; ++j)
@@ -280,8 +307,6 @@ benchmark_conc (void)
                        mono_conc_hashtable_lookup (h, GUINT_TO_POINTER (i));
 
        mono_conc_hashtable_destroy (h);
-       mono_mutex_destroy (&mutex);
-
 }
 
 static void G_GNUC_UNUSED
@@ -309,6 +334,7 @@ main (void)
        MonoThreadInfoCallbacks cb = { NULL };
        int res = 0;
 
+       CHECKED_MONO_INIT ();
        mono_threads_init (&cb, sizeof (MonoThreadInfo));
        mono_thread_info_attach ((gpointer)&cb);
 
index 4e804ebe468742cbe86f0b629a4550a3db87c183..0b465253d540e4a65129326cf84065755f0927f7 100644 (file)
@@ -101,6 +101,8 @@ monoutils_sources = \
        mono-threads.c  \
        mono-threads-state-machine.c    \
        mono-threads-posix.c    \
+       mono-threads-posix-signals.c    \
+       mono-threads-posix-signals.h    \
        mono-threads-mach.c     \
        mono-threads-mach-helper.c      \
        mono-threads-windows.c  \
@@ -109,8 +111,12 @@ monoutils_sources = \
        mono-threads-openbsd.c  \
        mono-threads-android.c  \
        mono-threads.h  \
+       mono-threads-api.h      \
        mono-threads-coop.c     \
        mono-threads-coop.h     \
+       mono-threads-mach-abort-syscall.c       \
+       mono-threads-posix-abort-syscall.c      \
+       mono-threads-windows-abort-syscall.c    \
        mono-tls.h      \
        mono-tls.c      \
        linux_magic.h   \
@@ -139,7 +145,9 @@ monoutils_sources = \
        memfuncs.c \
        memfuncs.h \
        parse.c \
-       parse.h
+       parse.h \
+       checked-build.c \
+       checked-build.h
 
 arch_sources = 
 
@@ -158,7 +166,7 @@ arch_sources += mach-support-arm.c
 endif
 
 if ARM64
-arch_sources += mach-support-arm.c
+arch_sources += mach-support-arm64.c
 endif
 
 else
diff --git a/mono/utils/checked-build.c b/mono/utils/checked-build.c
new file mode 100644 (file)
index 0000000..7dd6599
--- /dev/null
@@ -0,0 +1,228 @@
+/*
+ * checked-build.c: Expensive asserts used when mono is built with --with-checked-build=yes
+ *
+ * Author:
+ *     Rodrigo Kumpera (kumpera@gmail.com)
+ *
+ * (C) 2015 Xamarin
+ */
+#include <config.h>
+#ifdef CHECKED_BUILD
+
+#include <mono/utils/checked-build.h>
+#include <mono/utils/mono-threads.h>
+#include <mono/utils/mono-tls.h>
+#include <glib.h>
+
+#define MAX_NATIVE_BT 6
+#define MAX_NATIVE_BT_PROBE (MAX_NATIVE_BT + 5)
+#define MAX_TRANSITIONS 3
+
+
+#ifdef HAVE_BACKTRACE_SYMBOLS
+#include <execinfo.h>
+
+//XXX We should collect just the IPs and lazily symbolificate them.
+static int
+collect_backtrace (gpointer out_data[])
+{
+       return backtrace (out_data, MAX_NATIVE_BT_PROBE);
+}
+
+static char*
+translate_backtrace (gpointer native_trace[], int size)
+{
+       char **names = backtrace_symbols (native_trace, size);
+       GString* bt = g_string_sized_new (100);
+
+       int i, j = -1;
+
+       //Figure out the cut point of useless backtraces
+       //We'll skip up to the caller of checked_build_thread_transition
+       for (i = 0; i < size; ++i) {
+               if (strstr (names [i], "checked_build_thread_transition")) {
+                       j = i + 1;
+                       break;
+               }
+       }
+
+       if (j == -1)
+               j = 0;
+       for (i = j; i < size; ++i) {
+               if (i - j <= MAX_NATIVE_BT)
+                       g_string_append_printf (bt, "\tat %s\n", names [i]);
+       }
+
+       free (names);
+       return g_string_free (bt, FALSE);
+}
+
+#else
+
+static int
+collect_backtrace (gpointer out_data[])
+{
+       return 0;
+}
+
+static char*
+translate_backtrace (gpointer native_trace[], int size)
+{
+       return g_strdup ("\tno backtrace available\n");
+}
+
+#endif
+
+
+typedef struct {
+       GPtrArray *transitions;
+} CheckState;
+
+typedef struct {
+       const char *name;
+       int from_state, next_state, suspend_count, suspend_count_delta, size;
+       gpointer backtrace [MAX_NATIVE_BT_PROBE];
+} ThreadTransition;
+
+static MonoNativeTlsKey thread_status;
+
+void
+checked_build_init (void)
+{
+       mono_native_tls_alloc (&thread_status, NULL);
+}
+
+static CheckState*
+get_state (void)
+{
+       CheckState *state = mono_native_tls_get_value (thread_status);
+       if (!state) {
+               state = g_new0 (CheckState, 1);
+               state->transitions = g_ptr_array_new ();
+               mono_native_tls_set_value (thread_status, state);
+       }
+
+       return state;
+}
+
+static void
+free_transition (ThreadTransition *t)
+{
+       g_free (t);
+}
+
+void
+checked_build_thread_transition (const char *transition, void *info, int from_state, int suspend_count, int next_state, int suspend_count_delta)
+{
+       MonoThreadInfo *cur = mono_thread_info_current_unchecked ();
+       CheckState *state = get_state ();
+       /* We currently don't record external changes as those are hard to reason about. */
+       if (cur != info)
+               return;
+
+       if (state->transitions->len >= MAX_TRANSITIONS)
+               free_transition (g_ptr_array_remove_index (state->transitions, 0));
+
+       ThreadTransition *t = g_new0 (ThreadTransition, 1);
+       t->name = transition;
+       t->from_state = from_state;
+       t->next_state = next_state;
+       t->suspend_count = suspend_count;
+       t->suspend_count_delta = suspend_count_delta;
+       t->size = collect_backtrace (t->backtrace);
+       g_ptr_array_add (state->transitions, t);
+}
+
+static void
+assertion_fail (const char *msg, ...)
+{
+       int i;
+       GString* err = g_string_sized_new (100);
+       CheckState *state = get_state ();
+
+       g_string_append_printf (err, "Assertion failure in thread %p due to: ", mono_native_thread_id_get ());
+
+       va_list args;
+       va_start (args, msg);
+       g_string_append_vprintf (err, msg, args);
+       va_end (args);
+
+       g_string_append_printf (err, "\nLast %d state transitions: (most recent first)\n", state->transitions->len);
+
+       for (i = state->transitions->len - 1; i >= 0; --i) {
+               ThreadTransition *t = state->transitions->pdata [i];
+               char *bt = translate_backtrace (t->backtrace, t->size);
+               g_string_append_printf (err, "[%s] %s -> %s (%d) %s%d at:\n%s",
+                       t->name,
+                       mono_thread_state_name (t->from_state),
+                       mono_thread_state_name (t->next_state),
+                       t->suspend_count,
+                       t->suspend_count_delta > 0 ? "+" : "", //I'd like to see this sort of values: -1, 0, +1
+                       t->suspend_count_delta,
+                       bt);
+               g_free (bt);
+       }
+
+       g_error (err->str);
+       g_string_free (err, TRUE);
+}
+
+void
+assert_gc_safe_mode (void)
+{
+       MonoThreadInfo *cur = mono_thread_info_current ();
+       int state;
+
+       if (!cur)
+               assertion_fail ("Expected GC Safe mode but thread is not attached");
+
+       switch (state = mono_thread_info_current_state (cur)) {
+       case STATE_BLOCKING:
+       case STATE_BLOCKING_AND_SUSPENDED:
+               break;
+       default:
+               assertion_fail ("Expected GC Safe mode but was in %s state", mono_thread_state_name (state));
+       }
+}
+
+void
+assert_gc_unsafe_mode (void)
+{
+       MonoThreadInfo *cur = mono_thread_info_current ();
+       int state;
+
+       if (!cur)
+               assertion_fail ("Expected GC Unsafe mode but thread is not attached");
+
+       switch (state = mono_thread_info_current_state (cur)) {
+       case STATE_RUNNING:
+       case STATE_ASYNC_SUSPEND_REQUESTED:
+       case STATE_SELF_SUSPEND_REQUESTED:
+               break;
+       default:
+               assertion_fail ("Expected GC Unsafe mode but was in %s state", mono_thread_state_name (state));
+       }
+}
+
+void
+assert_gc_neutral_mode (void)
+{
+       MonoThreadInfo *cur = mono_thread_info_current ();
+       int state;
+
+       if (!cur)
+               assertion_fail ("Expected GC Neutral mode but thread is not attached");
+
+       switch (state = mono_thread_info_current_state (cur)) {
+       case STATE_RUNNING:
+       case STATE_ASYNC_SUSPEND_REQUESTED:
+       case STATE_SELF_SUSPEND_REQUESTED:
+       case STATE_BLOCKING:
+       case STATE_BLOCKING_AND_SUSPENDED:
+               break;
+       default:
+               assertion_fail ("Expected GC Neutral mode but was in %s state", mono_thread_state_name (state));
+       }
+}
+
+#endif /* CHECKED_BUILD */
diff --git a/mono/utils/checked-build.h b/mono/utils/checked-build.h
new file mode 100644 (file)
index 0000000..d2ba9ec
--- /dev/null
@@ -0,0 +1,109 @@
+/*
+ * checked-build.h: Expensive asserts used when mono is built with --with-checked-build=yes
+ *
+ * Author:
+ *     Rodrigo Kumpera (kumpera@gmail.com)
+ *
+ * (C) 2015 Xamarin
+ */
+
+#ifndef __CHECKED_BUILD_H__
+#define __CHECKED_BUILD_H__
+
+#include <config.h>
+
+#ifdef CHECKED_BUILD
+
+/*
+GC runtime modes rules:
+
+- GC Safe
+Can:
+Call into foreigh functions.
+Call GC Safe or Neutral modes functions.
+Read from pinned managed memory.
+
+Cannot:
+Touch managed memory (read/write).
+Be dettached.
+
+What's good for?
+Doing blocking calls.
+
+- GC Unsafe
+Can:
+Touch managed memory (read/write).
+Call GC Unsafe or Neutral modes functions.
+
+Cannot:
+Call foreign native code (embedder callbacks, pinvokes, etc)
+Call into any Blocking functions/syscalls (mutexes, IO, etc)
+Be dettached.
+
+What's good for?
+Poking into managed memory.
+
+-- GC Neutral
+Can:
+Call other GC Neutral mode functions.
+
+Cannot:
+Touch managed memory.
+Call foreign native code (embedder callbacks, pinvokes, etc)
+Call into any Blocking functions/syscalls (mutexes, IO, etc)
+Be dettached.
+
+What's good for?
+Functions that can be called from both coop or preept modes.
+
+*/
+
+#define MONO_REQ_GC_SAFE_MODE do {     \
+       assert_gc_safe_mode (); \
+} while (0);
+
+#define MONO_REQ_GC_UNSAFE_MODE do {   \
+       assert_gc_unsafe_mode ();       \
+} while (0);
+
+#define MONO_REQ_GC_NEUTRAL_MODE do {  \
+       assert_gc_neutral_mode ();      \
+} while (0);
+
+/*
+This can be called by embedders
+*/
+#define MONO_REQ_API_ENTRYPOINT
+
+/*
+The JIT will generate code that will land on this function
+*/
+#define MONO_REQ_RUNTIME_ENTRYPOINT
+
+#define CHECKED_MONO_INIT() do { checked_build_init (); } while (0)
+
+#define CHECKED_BUILD_THREAD_TRANSITION(transition, info, from_state, suspend_count, next_state, suspend_count_delta) do {     \
+       checked_build_thread_transition (transition, info, from_state, suspend_count, next_state, suspend_count_delta); \
+} while (0)
+
+void assert_gc_safe_mode (void);
+void assert_gc_unsafe_mode (void);
+void assert_gc_neutral_mode (void);
+
+void checked_build_init (void);
+void checked_build_thread_transition(const char *transition, void *info, int from_state, int suspend_count, int next_state, int suspend_count_delta);
+
+#else
+
+#define MONO_REQ_GC_SAFE_MODE
+#define MONO_REQ_GC_UNSAFE_MODE
+#define MONO_REQ_GC_NEUTRAL_MODE
+#define MONO_REQ_API_ENTRYPOINT
+#define MONO_REQ_RUNTIME_ENTRYPOINT
+
+#define CHECKED_MONO_INIT()
+#define CHECKED_BUILD_THREAD_TRANSITION(transition, info, from_state, suspend_count, next_state, suspend_count_delta)
+
+#endif /* CHECKED_BUILD */
+
+#endif
index 7944e2c986b68ceaa2dd2b86cb2fc5d3946f2d15..1802ff79f5364d8301566717bc2da54b5bcad12d 100644 (file)
@@ -18,6 +18,9 @@
 #include "utils/mono-sigcontext.h"
 #include "mach-support.h"
 
+//For reg numbers
+#include <mono/arch/amd64/amd64-codegen.h>
+
 /* Known offsets used for TLS storage*/
 
 /* All OSX versions up to 10.8 */
@@ -73,6 +76,28 @@ mono_mach_arch_mcontext_to_thread_state (void *context, thread_state_t state)
        *arch_state = ctx->__ss;
 }
 
+void
+mono_mach_arch_thread_state_to_mono_context (thread_state_t state, MonoContext *context)
+{
+       x86_thread_state64_t *arch_state = (x86_thread_state64_t *) state;
+       context->gregs [AMD64_RAX] = arch_state->__rax;
+       context->gregs [AMD64_RBX] = arch_state->__rbx;
+       context->gregs [AMD64_RCX] = arch_state->__rcx;
+       context->gregs [AMD64_RDX] = arch_state->__rdx;
+       context->gregs [AMD64_RDI] = arch_state->__rdi;
+       context->gregs [AMD64_RBP] = arch_state->__rbp;
+       context->gregs [AMD64_RSP] = arch_state->__rsp;
+       context->gregs [AMD64_R8] = arch_state->__r8;
+       context->gregs [AMD64_R9] = arch_state->__r9;
+       context->gregs [AMD64_R10] = arch_state->__r10;
+       context->gregs [AMD64_R11] = arch_state->__r11;
+       context->gregs [AMD64_R12] = arch_state->__r12;
+       context->gregs [AMD64_R13] = arch_state->__r13;
+       context->gregs [AMD64_R14] = arch_state->__r14;
+       context->gregs [AMD64_R15] = arch_state->__r15;
+       context->gregs [AMD64_RIP] = arch_state->__rip;
+}
+
 int
 mono_mach_arch_get_thread_state_size ()
 {
index ef5e6f1f250e25496796b48106f8e41558660735..d535fbc18ddce3689a7701acc1da0cd4eeca0492 100644 (file)
@@ -46,81 +46,61 @@ void *
 mono_mach_arch_get_ip (thread_state_t state)
 {
        /* Can't use unified_thread_state on !ARM64 since this has to compile on armv6 too */
-#ifdef TARGET_ARM64
-       arm_unified_thread_state_t *arch_state = (arm_unified_thread_state_t *) state;
-
-       return (void *) arch_state->ts_64.__pc;
-#else
        arm_thread_state_t *arch_state = (arm_thread_state_t *) state;
 
        return (void *) arch_state->__pc;
-#endif
 }
 
 void *
 mono_mach_arch_get_sp (thread_state_t state)
 {
-#ifdef TARGET_ARM64
-       arm_unified_thread_state_t *arch_state = (arm_unified_thread_state_t *) state;
-
-       return (void *) arch_state->ts_64.__sp;
-#else
        arm_thread_state_t *arch_state = (arm_thread_state_t *) state;
 
        return (void *) arch_state->__sp;
-#endif
 }
 
 int
 mono_mach_arch_get_mcontext_size ()
 {
-#ifdef TARGET_ARM64
-       return sizeof (struct __darwin_mcontext64);
-#else
        return sizeof (struct __darwin_mcontext);
-#endif
 }
 
 void
 mono_mach_arch_thread_state_to_mcontext (thread_state_t state, void *context)
 {
-#ifdef TARGET_ARM64
-       arm_unified_thread_state_t *arch_state = (arm_unified_thread_state_t *) state;
-       struct __darwin_mcontext64 *ctx = (struct __darwin_mcontext64 *) context;
-
-       ctx->__ss = arch_state->ts_64;
-#else
        arm_thread_state_t *arch_state = (arm_thread_state_t *) state;
        struct __darwin_mcontext *ctx = (struct __darwin_mcontext *) context;
 
        ctx->__ss = *arch_state;
-#endif
 }
 
 void
 mono_mach_arch_mcontext_to_thread_state (void *context, thread_state_t state)
 {
-#ifdef TARGET_ARM64
-       arm_unified_thread_state_t *arch_state = (arm_unified_thread_state_t *) state;
-       struct __darwin_mcontext64 *ctx = (struct __darwin_mcontext64 *) context;
-
-       arch_state->ts_64 = ctx->__ss;
-#else
        arm_thread_state_t *arch_state = (arm_thread_state_t *) state;
        struct __darwin_mcontext *ctx = (struct __darwin_mcontext *) context;
 
        *arch_state = ctx->__ss;
-#endif
+}
+
+void
+mono_mach_arch_thread_state_to_mono_context (thread_state_t state, MonoContext *context)
+{
+       int i;
+       arm_thread_state_t *arch_state = (arm_thread_state_t *) state;
+       for (i = 0; i < 13; ++i)
+               context->regs [i] = arch_state->__r [i];
+       context->regs [ARMREG_R13] = arch_state->__sp;
+       context->regs [ARMREG_R14] = arch_state->__lr;
+       context->regs [ARMREG_R15] = arch_state->__pc;
+       context->pc = arch_state->__pc;
+       context->cpsr = arch_state->__cpsr;
 }
 
 int
 mono_mach_arch_get_thread_state_size ()
 {
-#ifdef TARGET_ARM64
-       return sizeof (arm_unified_thread_state_t);
-#else
        return sizeof (arm_thread_state_t);
-#endif
 }
 
 kern_return_t
@@ -129,21 +109,12 @@ mono_mach_arch_get_thread_state (thread_port_t thread, thread_state_t state, mac
 #if defined(HOST_WATCHOS)
        g_error ("thread_get_state() is not supported by this platform");
 #else  
-#ifdef TARGET_ARM64
-       arm_unified_thread_state_t *arch_state = (arm_unified_thread_state_t *) state;
-       kern_return_t ret;
-
-       *count = ARM_UNIFIED_THREAD_STATE_COUNT;
-
-       ret = thread_get_state (thread, ARM_UNIFIED_THREAD_STATE, (thread_state_t) arch_state, count);
-#else
        arm_thread_state_t *arch_state = (arm_thread_state_t *) state;
        kern_return_t ret;
 
        *count = ARM_THREAD_STATE_COUNT;
 
        ret = thread_get_state (thread, ARM_THREAD_STATE, (thread_state_t) arch_state, count);
-#endif
        return ret;
 #endif
 }
@@ -153,13 +124,9 @@ mono_mach_arch_set_thread_state (thread_port_t thread, thread_state_t state, mac
 {
 #if defined(HOST_WATCHOS)
        g_error ("thread_set_state() is not supported by this platform");
-#else
-#ifdef TARGET_ARM64
-       return thread_set_state (thread, ARM_UNIFIED_THREAD_STATE, state, count);
 #else
        return thread_set_state (thread, ARM_THREAD_STATE, state, count);
 #endif
-#endif
 }
 
 void *
diff --git a/mono/utils/mach-support-arm64.c b/mono/utils/mach-support-arm64.c
new file mode 100644 (file)
index 0000000..6483238
--- /dev/null
@@ -0,0 +1,178 @@
+/*
+ * mach-support-arm.c: mach support for ARM
+ *
+ * Authors:
+ *   Geoff Norton (gnorton@novell.com)
+ *   Rodrigo Kumpera (kumpera@gmail.com)
+ *
+ * (C) 2010 Novell, Inc.
+ * (C) 2011 Xamarin, Inc.
+ */
+
+#include <config.h>
+
+#if defined(__MACH__)
+#include <stdint.h>
+#include <glib.h>
+#include <pthread.h>
+#include "utils/mono-sigcontext.h"
+#include "utils/mono-compiler.h"
+#include "mach-support.h"
+
+/* _mcontext.h now defines __darwin_mcontext32, not __darwin_mcontext, starting with Xcode 5.1 */
+#ifdef _STRUCT_MCONTEXT32
+       #define __darwin_mcontext       __darwin_mcontext32
+#endif
+
+/* Known offsets used for TLS storage*/
+
+
+static const int known_tls_offsets[] = {
+       0x48, /*Found on iOS 6 */
+       0xA4,
+       0xA8,
+};
+
+#define TLS_PROBE_COUNT (sizeof (known_tls_offsets) / sizeof (int))
+
+/* This is 2 slots less than the known low */
+#define TLS_PROBE_LOW_WATERMARK 0x40
+/* This is 24 slots above the know high, which is the same diff as the knowns high-low*/
+#define TLS_PROBE_HIGH_WATERMARK 0x108
+
+static int tls_vector_offset;
+
+void *
+mono_mach_arch_get_ip (thread_state_t state)
+{
+       /* Can't use unified_thread_state on !ARM64 since this has to compile on armv6 too */
+       arm_unified_thread_state_t *arch_state = (arm_unified_thread_state_t *) state;
+
+       return (void *) arch_state->ts_64.__pc;
+}
+
+void *
+mono_mach_arch_get_sp (thread_state_t state)
+{
+       arm_unified_thread_state_t *arch_state = (arm_unified_thread_state_t *) state;
+
+       return (void *) arch_state->ts_64.__sp;
+}
+
+int
+mono_mach_arch_get_mcontext_size ()
+{
+       return sizeof (struct __darwin_mcontext64);
+}
+
+void
+mono_mach_arch_thread_state_to_mcontext (thread_state_t state, void *context)
+{
+       arm_unified_thread_state_t *arch_state = (arm_unified_thread_state_t *) state;
+       struct __darwin_mcontext64 *ctx = (struct __darwin_mcontext64 *) context;
+
+       ctx->__ss = arch_state->ts_64;
+}
+
+void
+mono_mach_arch_mcontext_to_thread_state (void *context, thread_state_t state)
+{
+       arm_unified_thread_state_t *arch_state = (arm_unified_thread_state_t *) state;
+       struct __darwin_mcontext64 *ctx = (struct __darwin_mcontext64 *) context;
+
+       arch_state->ts_64 = ctx->__ss;
+}
+
+void
+mono_mach_arch_thread_state_to_mono_context (thread_state_t state, MonoContext *context)
+{
+       int i;
+       arm_unified_thread_state_t *arch_state = (arm_unified_thread_state_t *) state;
+       for (i = 0; i < 29; ++i)
+               context->regs [i] = arch_state->ts_64.__x [i];
+
+       context->regs [ARMREG_R29] = arch_state->ts_64.__fp;
+       context->regs [ARMREG_R30] = arch_state->ts_64.__lr;
+       context->regs [ARMREG_SP] = arch_state->ts_64.__sp;
+       context->pc = arch_state->ts_64.__pc;
+}
+
+int
+mono_mach_arch_get_thread_state_size ()
+{
+       return sizeof (arm_unified_thread_state_t);
+}
+
+kern_return_t
+mono_mach_arch_get_thread_state (thread_port_t thread, thread_state_t state, mach_msg_type_number_t *count)
+{
+       arm_unified_thread_state_t *arch_state = (arm_unified_thread_state_t *) state;
+       kern_return_t ret;
+
+       *count = ARM_UNIFIED_THREAD_STATE_COUNT;
+
+       ret = thread_get_state (thread, ARM_UNIFIED_THREAD_STATE, (thread_state_t) arch_state, count);
+       return ret;
+}
+
+kern_return_t
+mono_mach_arch_set_thread_state (thread_port_t thread, thread_state_t state, mach_msg_type_number_t count)
+{
+       return thread_set_state (thread, ARM_UNIFIED_THREAD_STATE, state, count);
+}
+
+void *
+mono_mach_get_tls_address_from_thread (pthread_t thread, pthread_key_t key)
+{
+       /* Mach stores TLS values in a hidden array inside the pthread_t structure
+        * They are keyed off a giant array from a known offset into the pointer. This value
+        * is baked into their pthread_getspecific implementation
+        */
+       intptr_t *p = (intptr_t *) thread;
+       intptr_t **tsd = (intptr_t **) ((char*)p + tls_vector_offset);
+       g_assert (tls_vector_offset != -1);
+
+       return (void *) &tsd [key];
+}
+
+void *
+mono_mach_arch_get_tls_value_from_thread (pthread_t thread, guint32 key)
+{
+       return *(void**)mono_mach_get_tls_address_from_thread (thread, key);
+}
+
+void
+mono_mach_init (pthread_key_t key)
+{
+       int i;
+       void *old_value = pthread_getspecific (key);
+       void *canary = (void*)0xDEADBEEFu;
+
+       pthread_key_create (&key, NULL);
+       g_assert (old_value != canary);
+
+       pthread_setspecific (key, canary);
+
+       /*First we probe for cats*/
+       for (i = 0; i < TLS_PROBE_COUNT; ++i) {
+               tls_vector_offset = known_tls_offsets [i];
+               if (mono_mach_arch_get_tls_value_from_thread (pthread_self (), key) == canary)
+                       goto ok;
+       }
+
+       /*Fallback to scanning a large range of offsets*/
+       for (i = TLS_PROBE_LOW_WATERMARK; i <= TLS_PROBE_HIGH_WATERMARK; i += 4) {
+               tls_vector_offset = i;
+               if (mono_mach_arch_get_tls_value_from_thread (pthread_self (), key) == canary) {
+                       g_warning ("Found new TLS offset at %d", i);
+                       goto ok;
+               }
+       }
+
+       tls_vector_offset = -1;
+       g_warning ("could not discover the mach TLS offset");
+ok:
+       pthread_setspecific (key, old_value);
+}
+
+#endif
index 9fece2272160425161aa10e057a593e3183ab9e8..20012550114610c911623f8a0cbdf9af0197c277 100644 (file)
@@ -46,6 +46,11 @@ mono_mach_arch_mcontext_to_thread_state (void *context, thread_state_t state)
        g_assert_not_reached ();
 }
 
+void
+mono_mach_arch_thread_state_to_mono_context (thread_state_t state, MonoContext *context)
+{
+       g_assert_not_reached ();
+}
 
 int
 mono_mach_arch_get_thread_state_size ()
index 5650e8b92c916b7a584ccfe073d9e915a30ff489..3e8b166eaf2b51a7dc69f49d889c896762d75732 100644 (file)
@@ -72,6 +72,22 @@ mono_mach_arch_mcontext_to_thread_state (void *context, thread_state_t state)
        *arch_state = ctx->__ss;
 }
 
+void
+mono_mach_arch_thread_state_to_mono_context (thread_state_t state, MonoContext *context)
+{
+       x86_thread_state32_t *arch_state = (x86_thread_state32_t *) state;
+       context->eax = arch_state->__eax;
+       context->ebx = arch_state->__ebx;
+       context->ecx = arch_state->__ecx;
+       context->edx = arch_state->__edx;
+       context->ebp = arch_state->__ebp;
+       context->esp = arch_state->__esp;
+       context->esi = arch_state->__edi;
+       context->edi = arch_state->__esi;
+       context->eip = arch_state->__eip;
+}
+
+
 int
 mono_mach_arch_get_thread_state_size ()
 {
index 940cf0356a0cc9fa9da40490296fc52855cb5b5f..abc135bd4eb8eb9987db2bb56f5bbf6aadf59093 100644 (file)
@@ -6,6 +6,7 @@
 #include <glib.h>
 #include <pthread.h>
 #include "mono/utils/mono-compiler.h"
+#include "mono/utils/mono-context.h"
 #include <mach/task.h>
 #include <mach/mach_port.h>
 #include <mach/mach_init.h>
@@ -30,6 +31,7 @@ void mono_mach_init (pthread_key_t key);
 int mono_mach_arch_get_mcontext_size (void);
 void mono_mach_arch_thread_state_to_mcontext (thread_state_t state, void *context);
 void mono_mach_arch_mcontext_to_thread_state (void *context, thread_state_t state);
+void mono_mach_arch_thread_state_to_mono_context (thread_state_t state, MonoContext *context);
 
 int mono_mach_arch_get_thread_state_size (void);
 kern_return_t mono_mach_get_threads (thread_act_array_t *threads, guint32 *count);
index 1f77f5463650053a83b8a4e0d467b0e83fd11bc8..2b3b86e2ef2e305dd8de427b6eb4902b999283de 100644 (file)
 #define MONO_THREAD_VAR_OFFSET(var,offset) (offset) = -1
 #endif
 
-#elif defined(TARGET_MACH) && 0
+#elif !defined(MONO_CROSS_COMPILE) && defined(PLATFORM_MACOSX) && (defined(__i386__) || defined(__x86_64__))
 
-#define MONO_HAVE_FAST_TLS
+#define MONO_HAVE_FAST_TLS 1
 #define MONO_FAST_TLS_SET(x,y) pthread_setspecific(x, y)
 #define MONO_FAST_TLS_GET(x) pthread_getspecific(x)
 #define MONO_FAST_TLS_ADDR(x) (mono_mach_get_tls_address_from_thread (pthread_self (), x))
        (void) (&_x == &_y);            \
        y = (gint32) x; })
 
-#elif (defined(TARGET_ANDROID) || defined(TARGET_IOS)) && defined(TARGET_ARM)
+#elif !defined(MONO_CROSS_COMPILE) && (defined(PLATFORM_ANDROID) || defined(TARGET_IOS)) && defined(TARGET_ARM)
 
 #define MONO_HAVE_FAST_TLS
 #define MONO_FAST_TLS_SET(x,y) pthread_setspecific(x, y)
index 6aaa04f07dd585fb9fd58637c350d09fcbca87da..30521b2af9ef81e221add9051db5cbf3f46a299f 100644 (file)
@@ -30,7 +30,6 @@ struct _MonoConcurrentHashTable {
        volatile conc_table *table; /* goes to HP0 */
        GHashFunc hash_func;
        GEqualFunc equal_func;
-       mono_mutex_t *mutex;
        int element_count;
        int overflow_count;
        GDestroyNotify key_destroy_func;
@@ -111,10 +110,9 @@ expand_table (MonoConcurrentHashTable *hash_table)
 
 
 MonoConcurrentHashTable*
-mono_conc_hashtable_new (mono_mutex_t *mutex, GHashFunc hash_func, GEqualFunc key_equal_func)
+mono_conc_hashtable_new (GHashFunc hash_func, GEqualFunc key_equal_func)
 {
        MonoConcurrentHashTable *res = g_new0 (MonoConcurrentHashTable, 1);
-       res->mutex = mutex;
        res->hash_func = hash_func ? hash_func : g_direct_hash;
        res->equal_func = key_equal_func ? key_equal_func : g_direct_equal;
        // res->equal_func = g_direct_equal;
@@ -125,9 +123,9 @@ mono_conc_hashtable_new (mono_mutex_t *mutex, GHashFunc hash_func, GEqualFunc ke
 }
 
 MonoConcurrentHashTable*
-mono_conc_hashtable_new_full (mono_mutex_t *mutex, GHashFunc hash_func, GEqualFunc key_equal_func, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func)
+mono_conc_hashtable_new_full (GHashFunc hash_func, GEqualFunc key_equal_func, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func)
 {
-       MonoConcurrentHashTable *res = mono_conc_hashtable_new (mutex, hash_func, key_equal_func);
+       MonoConcurrentHashTable *res = mono_conc_hashtable_new (hash_func, key_equal_func);
        res->key_destroy_func = key_destroy_func;
        res->value_destroy_func = value_destroy_func;
        return res;
@@ -215,7 +213,9 @@ retry:
 }
 
 /**
- * mono_conc_hashtable_remove
+ * mono_conc_hashtable_remove:
+ *
+ * Remove a value from the hashtable. Requires external locking
  *
  * @Returns the old value if key is already present or null
  */
@@ -229,7 +229,6 @@ mono_conc_hashtable_remove (MonoConcurrentHashTable *hash_table, gpointer key)
        g_assert (key != NULL && key != TOMBSTONE);
 
        hash = mix_hash (hash_table->hash_func (key));
-       mono_mutex_lock (hash_table->mutex);
 
        table = (conc_table*)hash_table->table;
        kvs = table->kvs;
@@ -239,7 +238,6 @@ mono_conc_hashtable_remove (MonoConcurrentHashTable *hash_table, gpointer key)
        if (!hash_table->equal_func) {
                for (;;) {
                        if (!kvs [i].key) {
-                               mono_mutex_unlock (hash_table->mutex);
                                return NULL; /*key not found*/
                        }
 
@@ -249,7 +247,6 @@ mono_conc_hashtable_remove (MonoConcurrentHashTable *hash_table, gpointer key)
                                mono_memory_barrier ();
                                kvs [i].key = TOMBSTONE;
 
-                               mono_mutex_unlock (hash_table->mutex);
                                if (hash_table->key_destroy_func != NULL)
                                        (*hash_table->key_destroy_func) (key);
                                if (hash_table->value_destroy_func != NULL)
@@ -263,7 +260,6 @@ mono_conc_hashtable_remove (MonoConcurrentHashTable *hash_table, gpointer key)
                GEqualFunc equal = hash_table->equal_func;
                for (;;) {
                        if (!kvs [i].key) {
-                               mono_mutex_unlock (hash_table->mutex);
                                return NULL; /*key not found*/
                        }
 
@@ -274,7 +270,6 @@ mono_conc_hashtable_remove (MonoConcurrentHashTable *hash_table, gpointer key)
                                mono_memory_barrier ();
                                kvs [i].key = TOMBSTONE;
 
-                               mono_mutex_unlock (hash_table->mutex);
                                if (hash_table->key_destroy_func != NULL)
                                        (*hash_table->key_destroy_func) (old_key);
                                if (hash_table->value_destroy_func != NULL)
@@ -287,8 +282,9 @@ mono_conc_hashtable_remove (MonoConcurrentHashTable *hash_table, gpointer key)
        }
 }
 /**
- * mono_conc_hashtable_insert
- *
+ * mono_conc_hashtable_insert:
+ * 
+ * Insert a value into the hashtable. Requires external locking.
  * @Returns the old value if key is already present or null
  */
 gpointer
@@ -302,7 +298,6 @@ mono_conc_hashtable_insert (MonoConcurrentHashTable *hash_table, gpointer key, g
        g_assert (value != NULL);
 
        hash = mix_hash (hash_table->hash_func (key));
-       mono_mutex_lock (hash_table->mutex);
 
        if (hash_table->element_count >= hash_table->overflow_count)
                expand_table (hash_table);
@@ -320,12 +315,10 @@ mono_conc_hashtable_insert (MonoConcurrentHashTable *hash_table, gpointer key, g
                                mono_memory_barrier ();
                                kvs [i].key = key;
                                ++hash_table->element_count;
-                               mono_mutex_unlock (hash_table->mutex);
                                return NULL;
                        }
                        if (key == kvs [i].key) {
                                gpointer value = kvs [i].value;
-                               mono_mutex_unlock (hash_table->mutex);
                                return value;
                        }
                        i = (i + 1) & table_mask;
@@ -339,12 +332,10 @@ mono_conc_hashtable_insert (MonoConcurrentHashTable *hash_table, gpointer key, g
                                mono_memory_barrier ();
                                kvs [i].key = key;
                                ++hash_table->element_count;
-                               mono_mutex_unlock (hash_table->mutex);
                                return NULL;
                        }
                        if (equal (key, kvs [i].key)) {
                                gpointer value = kvs [i].value;
-                               mono_mutex_unlock (hash_table->mutex);
                                return value;
                        }
                        i = (i + 1) & table_mask;
@@ -352,6 +343,11 @@ mono_conc_hashtable_insert (MonoConcurrentHashTable *hash_table, gpointer key, g
        }
 }
 
+/**
+ * mono_conc_hashtable_foreach:
+ *
+ * Calls @func for each value in the hashtable. Requires external locking.
+ */
 void
 mono_conc_hashtable_foreach (MonoConcurrentHashTable *hash_table, GHFunc func, gpointer userdata)
 {
@@ -359,11 +355,9 @@ mono_conc_hashtable_foreach (MonoConcurrentHashTable *hash_table, GHFunc func, g
        conc_table *table = (conc_table*)hash_table->table;
        key_value_pair *kvs = table->kvs;
 
-  mono_mutex_lock (hash_table->mutex);
        for (i = 0; i < table->table_size; ++i) {
                if (kvs [i].key && kvs [i].key != TOMBSTONE) {
                        func (kvs [i].key, kvs [i].value, userdata);
                }
        }
-       mono_mutex_unlock (hash_table->mutex);
 }
index 91d4e1948b1c6706da1f46665c1ecef32ed5a7fb..a1d20f1b04e7695dafff1b4825eb9a3609dfa887 100644 (file)
@@ -17,8 +17,8 @@
 
 typedef struct _MonoConcurrentHashTable MonoConcurrentHashTable;
 
-MONO_API MonoConcurrentHashTable* mono_conc_hashtable_new (mono_mutex_t *mutex, GHashFunc hash_func, GEqualFunc key_equal_func);
-MONO_API MonoConcurrentHashTable* mono_conc_hashtable_new_full (mono_mutex_t *mutex, GHashFunc hash_func, GEqualFunc key_equal_func, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func);
+MONO_API MonoConcurrentHashTable* mono_conc_hashtable_new (GHashFunc hash_func, GEqualFunc key_equal_func);
+MONO_API MonoConcurrentHashTable* mono_conc_hashtable_new_full (GHashFunc hash_func, GEqualFunc key_equal_func, GDestroyNotify key_destroy_func, GDestroyNotify value_destroy_func);
 MONO_API void mono_conc_hashtable_destroy (MonoConcurrentHashTable *hash_table);
 MONO_API gpointer mono_conc_hashtable_lookup (MonoConcurrentHashTable *hash_table, gpointer key);
 MONO_API gpointer mono_conc_hashtable_insert (MonoConcurrentHashTable *hash_table, gpointer key, gpointer value);
index b796c81ec7be686242fece021f587e6b3888f0e3..cd6c4b2365ed268ae18949ecd92fd72974140d5d 100644 (file)
@@ -45,6 +45,8 @@ mono_sigctx_to_monoctx (void *sigctx, MonoContext *mctx)
        mctx->esi = 0xDEADBEEF;
        mctx->edi = 0xDEADBEEF;
        mctx->eip = 0xDEADBEEF;
+#elif MONO_CROSS_COMPILE
+       g_assert_not_reached ();
 #elif defined(MONO_SIGNAL_USE_SIGACTION)
        ucontext_t *ctx = (ucontext_t*)sigctx;
        
@@ -89,6 +91,8 @@ mono_monoctx_to_sigctx (MonoContext *mctx, void *sigctx)
 {
 #if defined(__native_client__) || defined(HOST_WATCHOS)
        printf("WARNING: mono_arch_monoctx_to_sigctx() called!\n");
+#elif MONO_CROSS_COMPILE
+       g_assert_not_reached ();
 #elif defined(MONO_SIGNAL_USE_SIGACTION)
        ucontext_t *ctx = (ucontext_t*)sigctx;
 
@@ -143,7 +147,9 @@ mono_sigctx_to_monoctx (void *sigctx, MonoContext *mctx)
        printf("WARNING: mono_arch_sigctx_to_monoctx() called!\n");
 #endif
 
-#if defined(MONO_SIGNAL_USE_SIGACTION)
+#ifdef MONO_CROSS_COMPILE
+       g_assert_not_reached ();
+#elif defined(UCONTEXT_REG_RAX)
        ucontext_t *ctx = (ucontext_t*)sigctx;
 
        mctx->gregs [AMD64_RAX] = UCONTEXT_REG_RAX (ctx);
@@ -184,25 +190,7 @@ mono_sigctx_to_monoctx (void *sigctx, MonoContext *mctx)
        mctx->gregs [AMD64_R14] = context->R14;
        mctx->gregs [AMD64_R15] = context->R15;
 #else
-       MonoContext *ctx = (MonoContext *)sigctx;
-
-       mctx->gregs [AMD64_RAX] = ctx->gregs [AMD64_RAX];
-       mctx->gregs [AMD64_RBX] = ctx->gregs [AMD64_RBX];
-       mctx->gregs [AMD64_RCX] = ctx->gregs [AMD64_RCX];
-       mctx->gregs [AMD64_RDX] = ctx->gregs [AMD64_RDX];
-       mctx->gregs [AMD64_RBP] = ctx->gregs [AMD64_RBP];
-       mctx->gregs [AMD64_RSP] = ctx->gregs [AMD64_RSP];
-       mctx->gregs [AMD64_RSI] = ctx->gregs [AMD64_RSI];
-       mctx->gregs [AMD64_RDI] = ctx->gregs [AMD64_RDI];
-       mctx->gregs [AMD64_R8] = ctx->gregs [AMD64_R8];
-       mctx->gregs [AMD64_R9] = ctx->gregs [AMD64_R9];
-       mctx->gregs [AMD64_R10] = ctx->gregs [AMD64_R10];
-       mctx->gregs [AMD64_R11] = ctx->gregs [AMD64_R11];
-       mctx->gregs [AMD64_R12] = ctx->gregs [AMD64_R12];
-       mctx->gregs [AMD64_R13] = ctx->gregs [AMD64_R13];
-       mctx->gregs [AMD64_R14] = ctx->gregs [AMD64_R14];
-       mctx->gregs [AMD64_R15] = ctx->gregs [AMD64_R15];
-       mctx->gregs [AMD64_RIP] = ctx->gregs [AMD64_RIP];
+       g_assert_not_reached ();
 #endif
 }
 
@@ -213,7 +201,9 @@ mono_monoctx_to_sigctx (MonoContext *mctx, void *sigctx)
   printf("WARNING: mono_arch_monoctx_to_sigctx() called!\n");
 #endif
 
-#if defined(MONO_SIGNAL_USE_SIGACTION)
+#ifdef MONO_CROSS_COMPILE
+       g_assert_not_reached ();
+#elif defined(UCONTEXT_REG_RAX)
        ucontext_t *ctx = (ucontext_t*)sigctx;
 
        UCONTEXT_REG_RAX (ctx) = mctx->gregs [AMD64_RAX];
@@ -254,25 +244,7 @@ mono_monoctx_to_sigctx (MonoContext *mctx, void *sigctx)
        context->R14 = mctx->gregs [AMD64_R14];
        context->R15 = mctx->gregs [AMD64_R15];
 #else
-       MonoContext *ctx = (MonoContext *)sigctx;
-
-       ctx->gregs [AMD64_RAX] = mctx->gregs [AMD64_RAX];
-       ctx->gregs [AMD64_RBX] = mctx->gregs [AMD64_RBX];
-       ctx->gregs [AMD64_RCX] = mctx->gregs [AMD64_RCX];
-       ctx->gregs [AMD64_RDX] = mctx->gregs [AMD64_RDX];
-       ctx->gregs [AMD64_RBP] = mctx->gregs [AMD64_RBP];
-       ctx->gregs [AMD64_RSP] = mctx->gregs [AMD64_RSP];
-       ctx->gregs [AMD64_RSI] = mctx->gregs [AMD64_RSI];
-       ctx->gregs [AMD64_RDI] = mctx->gregs [AMD64_RDI];
-       ctx->gregs [AMD64_R8] = mctx->gregs [AMD64_R8];
-       ctx->gregs [AMD64_R9] = mctx->gregs [AMD64_R9];
-       ctx->gregs [AMD64_R10] = mctx->gregs [AMD64_R10];
-       ctx->gregs [AMD64_R11] = mctx->gregs [AMD64_R11];
-       ctx->gregs [AMD64_R12] = mctx->gregs [AMD64_R12];
-       ctx->gregs [AMD64_R13] = mctx->gregs [AMD64_R13];
-       ctx->gregs [AMD64_R14] = mctx->gregs [AMD64_R14];
-       ctx->gregs [AMD64_R15] = mctx->gregs [AMD64_R15];
-       ctx->gregs [AMD64_RIP] = mctx->gregs [AMD64_RIP];
+       g_assert_not_reached ();
 #endif
 }
 
index 33a821a198a9bd57851f752fb29a49cd3619b75d..84bfc028783e1de259a255e87512244c1d3cd694 100644 (file)
 #include <signal.h>
 #endif
 
-#ifdef HOST_WATCHOS
-#include <libunwind.h>
-#endif
-
 /*
  * General notes about mono-context.
  * Each arch defines a MonoContext struct with all GPR regs + IP/PC.
@@ -183,11 +179,11 @@ extern void mono_context_get_current (void *);
 #define MONO_CONTEXT_GET_CURRENT(ctx)  \
        __asm__ __volatile__(   \
                "movq $0x0,  %%nacl:0x00(%%r15, %0, 1)\n"       \
-               "movq %%rbx, %%nacl:0x08(%%r15, %0, 1)\n"       \
-               "movq %%rcx, %%nacl:0x10(%%r15, %0, 1)\n"       \
-               "movq %%rdx, %%nacl:0x18(%%r15, %0, 1)\n"       \
-               "movq %%rbp, %%nacl:0x20(%%r15, %0, 1)\n"       \
-               "movq %%rsp, %%nacl:0x28(%%r15, %0, 1)\n"       \
+               "movq %%rcx, %%nacl:0x08(%%r15, %0, 1)\n"       \
+               "movq %%rdx, %%nacl:0x10(%%r15, %0, 1)\n"       \
+               "movq %%rbx, %%nacl:0x18(%%r15, %0, 1)\n"       \
+               "movq %%rsp, %%nacl:0x20(%%r15, %0, 1)\n"       \
+               "movq %%rbp, %%nacl:0x28(%%r15, %0, 1)\n"       \
                "movq %%rsi, %%nacl:0x30(%%r15, %0, 1)\n"       \
                "movq %%rdi, %%nacl:0x38(%%r15, %0, 1)\n"       \
                "movq %%r8,  %%nacl:0x40(%%r15, %0, 1)\n"       \
@@ -204,14 +200,15 @@ extern void mono_context_get_current (void *);
                : "a" ((int64_t)&(ctx)) \
                : "rdx", "memory")
 #else
+
 #define MONO_CONTEXT_GET_CURRENT(ctx)  \
        __asm__ __volatile__(   \
                "movq $0x0,  0x00(%0)\n"        \
-               "movq %%rbx, 0x08(%0)\n"        \
-               "movq %%rcx, 0x10(%0)\n"        \
-               "movq %%rdx, 0x18(%0)\n"        \
-               "movq %%rbp, 0x20(%0)\n"        \
-               "movq %%rsp, 0x28(%0)\n"        \
+               "movq %%rcx, 0x08(%0)\n"        \
+               "movq %%rdx, 0x10(%0)\n"        \
+               "movq %%rbx, 0x18(%0)\n"        \
+               "movq %%rsp, 0x20(%0)\n"        \
+               "movq %%rbp, 0x28(%0)\n"        \
                "movq %%rsi, 0x30(%0)\n"        \
                "movq %%rdi, 0x38(%0)\n"        \
                "movq %%r8,  0x40(%0)\n"        \
@@ -255,26 +252,6 @@ typedef struct {
 #if defined(HOST_WATCHOS)
 
 #define MONO_CONTEXT_GET_CURRENT(ctx) do { \
-       unw_context_t uctx; \
-       unw_cursor_t c; \
-       unw_word_t data; \
-       g_assert (unw_getcontext (&uctx) == 0); \
-       g_assert (unw_init_local (&c, &uctx) == 0); \
-       for (int reg = 0; reg < 13; ++reg) { \
-               unw_get_reg (&c, (unw_regnum_t) UNW_ARM_R0 + reg, &data); \
-               ctx.regs[reg] = data; \
-       } \
-       unw_get_reg (&c, UNW_ARM_SP, &data); \
-       ctx.regs[ARMREG_SP] = data; \
-       unw_get_reg (&c, UNW_ARM_LR, &data); \
-       ctx.regs[ARMREG_LR] = data; \
-       unw_get_reg (&c, UNW_ARM_IP, &data); \
-       ctx.regs[ARMREG_PC] = data; \
-       ctx.pc = ctx.regs[ARMREG_PC]; \
-       for (int reg = 0; reg < 16; ++reg) { \
-               unw_get_reg (&c, (unw_regnum_t) UNW_ARM_D0 + reg, &data); \
-               ctx.fregs[reg] = data; \
-       } \
 } while (0);
 
 #else
@@ -324,6 +301,21 @@ typedef struct {
 #define MONO_CONTEXT_GET_BP(ctx) (gpointer)((ctx)->regs [ARMREG_FP])
 #define MONO_CONTEXT_GET_SP(ctx) (gpointer)((ctx)->regs [ARMREG_SP])
 
+#if defined (HOST_APPLETVOS)
+
+#define MONO_CONTEXT_GET_CURRENT(ctx) do { \
+       arm_unified_thread_state_t thread_state;        \
+       int state_flavor = ARM_UNIFIED_THREAD_STATE;    \
+       unsigned state_count = ARM_UNIFIED_THREAD_STATE_COUNT;  \
+       thread_port_t self = mach_thread_self ();       \
+       kern_return_t ret = thread_get_state (self, state_flavor, (thread_state_t) &thread_state, &state_count);        \
+       g_assert (ret == 0);    \
+       mono_mach_arch_thread_state_to_mono_context ((thread_state_t)&thread_state, &ctx); \
+       mach_port_deallocate (current_task (), self);   \
+} while (0);
+
+#else
+
 #define MONO_CONTEXT_GET_CURRENT(ctx)  do {    \
        __asm__ __volatile__(                   \
                "mov x16, %0\n" \
@@ -350,14 +342,16 @@ typedef struct {
                : "x30", "memory"                       \
        );                                                              \
        __asm__ __volatile__( \
-               "adr %0, L0\n" \
-               "L0:\n" \
+               "adr %0, L0%=\n" \
+               "L0%=:\n"       \
                : "=r" (ctx.pc)         \
                :                                       \
                : "memory"                       \
        ); \
 } while (0)
 
+#endif
+
 #define MONO_ARCH_HAS_MONO_CONTEXT 1
 
 #elif defined(__mono_ppc__) /* defined(__arm__) */
@@ -368,6 +362,100 @@ typedef struct {
  * We might also want to add an additional field to propagate
  * the original context from the signal handler.
  */
+#ifdef __mono_ppc64__
+
+typedef struct {
+       gulong sc_ir;          // pc 
+       gulong sc_sp;          // r1
+       mgreg_t regs [32];
+       double fregs [32];
+} MonoContext;
+
+/* we have the stack pointer, not the base pointer in sigcontext */
+#define MONO_CONTEXT_SET_IP(ctx,ip) do { (ctx)->sc_ir = (gulong)ip; } while (0);
+#define MONO_CONTEXT_SET_BP(ctx,bp) do { (ctx)->sc_sp = (gulong)bp; } while (0);
+#define MONO_CONTEXT_SET_SP(ctx,sp) do { (ctx)->sc_sp = (gulong)sp; } while (0);
+
+#define MONO_CONTEXT_GET_IP(ctx) ((gpointer)((ctx)->sc_ir))
+#define MONO_CONTEXT_GET_BP(ctx) ((gpointer)((ctx)->regs [ppc_r31-13]))
+#define MONO_CONTEXT_GET_SP(ctx) ((gpointer)((ctx)->sc_sp))
+
+#define MONO_CONTEXT_GET_CURRENT(ctx)  \
+       __asm__ __volatile__(   \
+               "std 0, 0(%0)\n"        \
+               "std 1, 8(%0)\n"        \
+               "std 0, 8*0+16(%0)\n"   \
+               "std 1, 8*1+16(%0)\n"   \
+               "std 2, 8*2+16(%0)\n"   \
+               "std 3, 8*3+16(%0)\n"   \
+               "std 4, 8*4+16(%0)\n"   \
+               "std 5, 8*5+16(%0)\n"   \
+               "std 6, 8*6+16(%0)\n"   \
+               "std 7, 8*7+16(%0)\n"   \
+               "std 8, 8*8+16(%0)\n"   \
+               "std 9, 8*9+16(%0)\n"   \
+               "std 10, 8*10+16(%0)\n" \
+               "std 11, 8*11+16(%0)\n" \
+               "std 12, 8*12+16(%0)\n" \
+               "std 13, 8*13+16(%0)\n" \
+               "std 14, 8*14+16(%0)\n" \
+               "std 15, 8*15+16(%0)\n" \
+               "std 16, 8*16+16(%0)\n" \
+               "std 17, 8*17+16(%0)\n" \
+               "std 18, 8*18+16(%0)\n" \
+               "std 19, 8*19+16(%0)\n" \
+               "std 20, 8*20+16(%0)\n" \
+               "std 21, 8*21+16(%0)\n" \
+               "std 22, 8*22+16(%0)\n" \
+               "std 23, 8*23+16(%0)\n" \
+               "std 24, 8*24+16(%0)\n" \
+               "std 25, 8*25+16(%0)\n" \
+               "std 26, 8*26+16(%0)\n" \
+               "std 27, 8*27+16(%0)\n" \
+               "std 28, 8*28+16(%0)\n" \
+               "std 29, 8*29+16(%0)\n" \
+               "std 30, 8*30+16(%0)\n" \
+               "std 31, 8*31+16(%0)\n" \
+               "stfd 0, 8*0+8*32+16(%0)\n"     \
+               "stfd 1, 8*1+8*32+16(%0)\n"     \
+               "stfd 2, 8*2+8*32+16(%0)\n"     \
+               "stfd 3, 8*3+8*32+16(%0)\n"     \
+               "stfd 4, 8*4+8*32+16(%0)\n"     \
+               "stfd 5, 8*5+8*32+16(%0)\n"     \
+               "stfd 6, 8*6+8*32+16(%0)\n"     \
+               "stfd 7, 8*7+8*32+16(%0)\n"     \
+               "stfd 8, 8*8+8*32+16(%0)\n"     \
+               "stfd 9, 8*9+8*32+16(%0)\n"     \
+               "stfd 10, 8*10+8*32+16(%0)\n"   \
+               "stfd 11, 8*11+8*32+16(%0)\n"   \
+               "stfd 12, 8*12+8*32+16(%0)\n"   \
+               "stfd 13, 8*13+8*32+16(%0)\n"   \
+               "stfd 14, 8*14+8*32+16(%0)\n"   \
+               "stfd 15, 8*15+8*32+16(%0)\n"   \
+               "stfd 16, 8*16+8*32+16(%0)\n"   \
+               "stfd 17, 8*17+8*32+16(%0)\n"   \
+               "stfd 18, 8*18+8*32+16(%0)\n"   \
+               "stfd 19, 8*19+8*32+16(%0)\n"   \
+               "stfd 20, 8*20+8*32+16(%0)\n"   \
+               "stfd 21, 8*21+8*32+16(%0)\n"   \
+               "stfd 22, 8*22+8*32+16(%0)\n"   \
+               "stfd 23, 8*23+8*32+16(%0)\n"   \
+               "stfd 24, 8*24+8*32+16(%0)\n"   \
+               "stfd 25, 8*25+8*32+16(%0)\n"   \
+               "stfd 26, 8*26+8*32+16(%0)\n"   \
+               "stfd 27, 8*27+8*32+16(%0)\n"   \
+               "stfd 28, 8*28+8*32+16(%0)\n"   \
+               "stfd 29, 8*29+8*32+16(%0)\n"   \
+               "stfd 30, 8*30+8*32+16(%0)\n"   \
+               "stfd 31, 8*31+8*32+16(%0)\n"   \
+               : : "r" (&(ctx))        \
+               : "memory"                      \
+       )
+
+#define MONO_ARCH_HAS_MONO_CONTEXT 1
+
+#else 
+
 typedef struct {
        gulong sc_ir;          // pc 
        gulong sc_sp;          // r1
@@ -384,6 +472,7 @@ typedef struct {
 #define MONO_CONTEXT_GET_IP(ctx) ((gpointer)((ctx)->sc_ir))
 #define MONO_CONTEXT_GET_BP(ctx) ((gpointer)((ctx)->regs [ppc_r31-13]))
 #define MONO_CONTEXT_GET_SP(ctx) ((gpointer)((ctx)->sc_sp))
+#endif
 
 #elif defined(__sparc__) || defined(sparc) /* defined(__mono_ppc__) */
 
index 431a188314e7a0889a4c9f6a3378da7df26703a3..2df530d824e4e7759288e2c089ab942e1cb681da 100644 (file)
@@ -33,7 +33,6 @@
 gboolean mono_hwcap_arm_is_v5 = FALSE;
 gboolean mono_hwcap_arm_is_v6 = FALSE;
 gboolean mono_hwcap_arm_is_v7 = FALSE;
-gboolean mono_hwcap_arm_is_v7s = FALSE;
 gboolean mono_hwcap_arm_has_vfp = FALSE;
 gboolean mono_hwcap_arm_has_vfp3 = FALSE;
 gboolean mono_hwcap_arm_has_vfp3_d16 = FALSE;
@@ -161,7 +160,6 @@ mono_hwcap_print(FILE *f)
        g_fprintf (f, "mono_hwcap_arm_is_v5 = %i\n", mono_hwcap_arm_is_v5);
        g_fprintf (f, "mono_hwcap_arm_is_v6 = %i\n", mono_hwcap_arm_is_v6);
        g_fprintf (f, "mono_hwcap_arm_is_v7 = %i\n", mono_hwcap_arm_is_v7);
-       g_fprintf (f, "mono_hwcap_arm_is_v7s = %i\n", mono_hwcap_arm_is_v7s);
        g_fprintf (f, "mono_hwcap_arm_has_vfp = %i\n", mono_hwcap_arm_has_vfp);
        g_fprintf (f, "mono_hwcap_arm_has_vfp3 = %i\n", mono_hwcap_arm_has_vfp3);
        g_fprintf (f, "mono_hwcap_arm_has_vfp3_d16 = %i\n", mono_hwcap_arm_has_vfp3_d16);
index 76a20a1f53dd25c7db77a447c3fd91918251be4a..29adf7bb799e1ba4b7ef7e38fc32bb4508a5510e 100644 (file)
@@ -6,7 +6,6 @@
 extern gboolean mono_hwcap_arm_is_v5;
 extern gboolean mono_hwcap_arm_is_v6;
 extern gboolean mono_hwcap_arm_is_v7;
-extern gboolean mono_hwcap_arm_is_v7s;
 extern gboolean mono_hwcap_arm_has_vfp;
 extern gboolean mono_hwcap_arm_has_vfp3;
 extern gboolean mono_hwcap_arm_has_vfp3_d16;
index 209b9e6f0ca0e45437b54ba6373cbda941806d3a..ee88665ae6c185ceaf09da5d3b9ba6edf887d5d6 100644 (file)
@@ -15,6 +15,7 @@ typedef enum {
        MONO_TRACE_AOT                  = (1<<5),
        MONO_TRACE_SECURITY             = (1<<6),
        MONO_TRACE_THREADPOOL           = (1<<7),
+       MONO_TRACE_IO_THREADPOOL        = (1<<8),
        MONO_TRACE_ALL                  = MONO_TRACE_ASSEMBLY |
                                          MONO_TRACE_TYPE |
                                          MONO_TRACE_DLLIMPORT |
@@ -22,7 +23,8 @@ typedef enum {
                                          MONO_TRACE_CONFIG |
                                          MONO_TRACE_AOT |
                                          MONO_TRACE_SECURITY |
-                                         MONO_TRACE_THREADPOOL
+                                         MONO_TRACE_THREADPOOL |
+                                         MONO_TRACE_IO_THREADPOOL
 } MonoTraceMask;
 
 void 
index 54bf4db6f629e4f8f90f4e0d26ca9136950f2b39..0b2c8a7f69b4e070157089cf25bb0d0b42a68a8f 100644 (file)
@@ -213,10 +213,10 @@ mono_trace_set_mask_string (const char *value)
        const char *tok;
        guint32 flags = 0;
 
-       const char *valid_flags[] = {"asm", "type", "dll", "gc", "cfg", "aot", "security", "threadpool", "all", NULL};
+       const char *valid_flags[] = {"asm", "type", "dll", "gc", "cfg", "aot", "security", "threadpool", "io-threadpool", "all", NULL};
        const MonoTraceMask     valid_masks[] = {MONO_TRACE_ASSEMBLY, MONO_TRACE_TYPE, MONO_TRACE_DLLIMPORT,
                                                 MONO_TRACE_GC, MONO_TRACE_CONFIG, MONO_TRACE_AOT, MONO_TRACE_SECURITY,
-                                                MONO_TRACE_THREADPOOL, MONO_TRACE_ALL };
+                                                MONO_TRACE_THREADPOOL, MONO_TRACE_IO_THREADPOOL, MONO_TRACE_ALL };
 
        if(!value)
                return;
index bc574bfe750a3e7854449da96ec774ba8908a076..bb1ec15d4742a387436eb28771c3304a6b68a7b7 100644 (file)
 #include "mono-mmap.h"
 #include "mono-mmap-internal.h"
 #include "mono-proclib.h"
+#include <mono/utils/mono-threads.h>
+
+
+#define BEGIN_CRITICAL_SECTION do { \
+       MonoThreadInfo *__info = mono_thread_info_current_unchecked (); \
+       if (__info) __info->inside_critical_region = TRUE;      \
+
+#define END_CRITICAL_SECTION \
+       if (__info) __info->inside_critical_region = FALSE;     \
+} while (0)    \
 
 #ifndef MAP_ANONYMOUS
 #define MAP_ANONYMOUS MAP_ANON
@@ -310,6 +320,7 @@ mono_valloc (void *addr, size_t length, int flags)
        mflags |= MAP_ANONYMOUS;
        mflags |= MAP_PRIVATE;
 
+       BEGIN_CRITICAL_SECTION;
        ptr = mmap (addr, length, prot, mflags, -1, 0);
        if (ptr == MAP_FAILED) {
                int fd = open ("/dev/zero", O_RDONLY);
@@ -317,9 +328,11 @@ mono_valloc (void *addr, size_t length, int flags)
                        ptr = mmap (addr, length, prot, mflags, fd, 0);
                        close (fd);
                }
-               if (ptr == MAP_FAILED)
-                       return NULL;
        }
+       END_CRITICAL_SECTION;
+
+       if (ptr == MAP_FAILED)
+               return NULL;
        return ptr;
 }
 
@@ -335,7 +348,11 @@ mono_valloc (void *addr, size_t length, int flags)
 int
 mono_vfree (void *addr, size_t length)
 {
-       return munmap (addr, length);
+       int res;
+       BEGIN_CRITICAL_SECTION;
+       res = munmap (addr, length);
+       END_CRITICAL_SECTION;
+       return res;
 }
 
 /**
@@ -370,7 +387,9 @@ mono_file_map (size_t length, int flags, int fd, guint64 offset, void **ret_hand
        if (flags & MONO_MMAP_32BIT)
                mflags |= MAP_32BIT;
 
+       BEGIN_CRITICAL_SECTION;
        ptr = mmap (0, length, prot, mflags, fd, offset);
+       END_CRITICAL_SECTION;
        if (ptr == MAP_FAILED)
                return NULL;
        *ret_handle = (void*)length;
@@ -390,7 +409,13 @@ mono_file_map (size_t length, int flags, int fd, guint64 offset, void **ret_hand
 int
 mono_file_unmap (void *addr, void *handle)
 {
-       return munmap (addr, (size_t)handle);
+       int res;
+
+       BEGIN_CRITICAL_SECTION;
+       res = munmap (addr, (size_t)handle);
+       END_CRITICAL_SECTION;
+
+       return res;
 }
 
 /**
@@ -597,7 +622,10 @@ mono_shared_area (void)
                shm_unlink (buf);
                close (fd);
        }
+       BEGIN_CRITICAL_SECTION;
        res = mmap (NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
+       END_CRITICAL_SECTION;
+
        if (res == MAP_FAILED) {
                shm_unlink (buf);
                close (fd);
@@ -649,7 +677,10 @@ mono_shared_area_for_pid (void *pid)
        fd = shm_open (buf, O_RDONLY, S_IRUSR|S_IRGRP);
        if (fd == -1)
                return NULL;
+       BEGIN_CRITICAL_SECTION;
        res = mmap (NULL, size, PROT_READ, MAP_SHARED, fd, 0);
+       END_CRITICAL_SECTION;
+
        if (res == MAP_FAILED) {
                close (fd);
                return NULL;
@@ -664,7 +695,9 @@ void
 mono_shared_area_unload  (void *area)
 {
        /* FIXME: currently we load only a page */
+       BEGIN_CRITICAL_SECTION;
        munmap (area, mono_pagesize ());
+       END_CRITICAL_SECTION;
 }
 
 int
index d253bd07b4a60b38f14f149a5f6ca77fde423154..fc5bcc966a7105f964abe575254493d9498aa50b 100644 (file)
@@ -97,9 +97,8 @@ mono_network_get_data (char* name, MonoNetworkData data, MonoNetworkError *error
 
                char *ptr;
                buf [sizeof (buf) - 1] = 0;
-               /* FIXME: This might potentially cause a buffer overflow for cname. */
                if ((ptr = strchr (buf, ':')) == NULL ||
-                               (*ptr++ = 0, sscanf (buf, "%s", cname) != 1))
+                               (*ptr++ = 0, sscanf (buf, "%250s", cname) != 1))
                        goto out;
 
                if (strcmp (name, cname) != 0) continue;
index d821f3c5e32b167c5b8c868668f0cb931da592da..cfeb19d31b9f5960698c4925ba8ecb13e711c757 100644 (file)
@@ -19,7 +19,8 @@ typedef enum {
        FRAME_TYPE_DEBUGGER_INVOKE = 1,
        /* Frame for transitioning to native code */
        FRAME_TYPE_MANAGED_TO_NATIVE = 2,
-       FRAME_TYPE_SENTINEL = 3
+       FRAME_TYPE_TRAMPOLINE = 3,
+       FRAME_TYPE_NUM = 4
 } MonoStackFrameType;
 
 typedef enum {
diff --git a/mono/utils/mono-threads-api.h b/mono/utils/mono-threads-api.h
new file mode 100644 (file)
index 0000000..f94fd66
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * mono-threads-api.h: Low level access to thread state.
+ *
+ * Author:
+ *     Rodrigo Kumpera (kumpera@gmail.com)
+ *
+ * (C) 2015 Xamarin
+ */
+
+#ifndef __MONO_THREADS_API_H__
+#define __MONO_THREADS_API_H__
+
+#include <mono/utils/mono-publib.h>
+MONO_BEGIN_DECLS
+
+/*
+>>>> WARNING WARNING WARNING <<<<
+
+This API is experimental. It will eventually be required to properly use the rest of the raw-omp embedding API.
+*/
+
+/* Don't use those directly, use the MONO_(BEGIN|END)_EFRAME */
+MONO_API void* mono_threads_enter_gc_unsafe_region (void);
+MONO_API void mono_threads_exit_gc_unsafe_region (void *region_cookie);
+
+/*
+Use those macros to limit regions of code that interact with managed memory or use the embedding API.
+This will put the current thread in GC Unsafe mode.
+
+For further explanation of what can and can't be done in GC unsafe mode:
+http://www.mono-project.com/docs/advanced/runtime/docs/coop-suspend/#gc-unsafe-mode
+
+*/
+#define MONO_BEGIN_EFRAME { void *__region_cookie = mono_threads_enter_gc_unsafe_region ();
+#define MONO_END_EFRAME mono_threads_exit_gc_unsafe_region (__region_cookie); }
+
+
+MONO_END_DECLS
+
+#endif /* __MONO_LOGGER_H__ */
index b44719109ffc277ad377942a4b219b21a92d8408..c1a8cad7473ff0f75dfe914d9570e7c7afdea5e5 100644 (file)
@@ -1,4 +1,4 @@
-/*
+ /*
  * mono-threads.c: Coop threading
  *
  * Author:
@@ -7,6 +7,13 @@
  * Copyright 2015 Xamarin, Inc (http://www.xamarin.com)
  */
 
+#include <config.h>
+
+/* enable pthread extensions */
+#ifdef TARGET_MACH
+#define _DARWIN_C_SOURCE
+#endif
+
 #include <mono/utils/mono-compiler.h>
 #include <mono/utils/mono-semaphore.h>
 #include <mono/utils/mono-threads.h>
 #include <mono/utils/mono-mmap.h>
 #include <mono/utils/atomic.h>
 #include <mono/utils/mono-time.h>
+#include <mono/utils/mono-counters.h>
+
+#ifdef TARGET_OSX
+#include <mono/utils/mach-support.h>
+#endif
 
 #ifdef USE_COOP_BACKEND
 
 volatile size_t mono_polling_required;
 
+static int coop_reset_blocking_count, coop_try_blocking_count, coop_do_blocking_count, coop_do_polling_count, coop_save_count;
+
 void
 mono_threads_state_poll (void)
 {
        MonoThreadInfo *info;
+       ++coop_do_polling_count;
 
        info = mono_thread_info_current_unchecked ();
        if (!info)
@@ -35,7 +50,8 @@ mono_threads_state_poll (void)
        if (!(info->thread_state & (STATE_ASYNC_SUSPEND_REQUESTED | STATE_SELF_SUSPEND_REQUESTED)))
                return;
 
-       g_assert (mono_threads_get_runtime_callbacks ()->thread_state_init_from_sigctx (&info->thread_saved_state [SELF_SUSPEND_STATE_INDEX], NULL));
+       ++coop_save_count;
+       mono_threads_get_runtime_callbacks ()->thread_state_init (&info->thread_saved_state [SELF_SUSPEND_STATE_INDEX]);
 
        /* commit the saved state and notify others if needed */
        switch (mono_threads_transition_state_poll (info)) {
@@ -55,6 +71,7 @@ void*
 mono_threads_prepare_blocking (void)
 {
        MonoThreadInfo *info;
+       ++coop_do_blocking_count;
 
        info = mono_thread_info_current_unchecked ();
        /* If the thread is not attached, it doesn't make sense prepare for suspend. */
@@ -64,11 +81,8 @@ mono_threads_prepare_blocking (void)
        }
 
 retry:
-       /*The JIT might not be able to save*/
-       if (!mono_threads_get_runtime_callbacks ()->thread_state_init_from_sigctx (&info->thread_saved_state [SELF_SUSPEND_STATE_INDEX], NULL)) {
-               THREADS_SUSPEND_DEBUG ("PREPARE-BLOCKING failed %p to save thread state\n", mono_thread_info_get_tid (info));
-               return NULL;
-       }
+       ++coop_save_count;
+       mono_threads_get_runtime_callbacks ()->thread_state_init (&info->thread_saved_state [SELF_SUSPEND_STATE_INDEX]);
 
        switch (mono_threads_transition_do_blocking (info)) {
        case DoBlockingContinue:
@@ -117,6 +131,7 @@ void*
 mono_threads_reset_blocking_start (void)
 {
        MonoThreadInfo *info = mono_thread_info_current_unchecked ();
+       ++coop_reset_blocking_count;
 
        /* If the thread is not attached, it doesn't make sense prepare for suspend. */
        if (!info || !mono_thread_info_is_live (info))
@@ -156,6 +171,7 @@ void*
 mono_threads_try_prepare_blocking (void)
 {
        MonoThreadInfo *info;
+       ++coop_try_blocking_count;
 
        info = mono_thread_info_current_unchecked ();
        /* If the thread is not attached, it doesn't make sense prepare for suspend. */
@@ -165,11 +181,8 @@ mono_threads_try_prepare_blocking (void)
        }
 
 retry:
-       /*The JIT might not be able to save*/
-       if (!mono_threads_get_runtime_callbacks ()->thread_state_init_from_sigctx (&info->thread_saved_state [SELF_SUSPEND_STATE_INDEX], NULL)) {
-               THREADS_SUSPEND_DEBUG ("PREPARE-TRY-BLOCKING failed %p to save thread state\n", mono_thread_info_get_tid (info));
-               return NULL;
-       }
+       ++coop_save_count;
+       mono_threads_get_runtime_callbacks ()->thread_state_init (&info->thread_saved_state [SELF_SUSPEND_STATE_INDEX]);
 
        switch (mono_threads_transition_do_blocking (info)) {
        case DoBlockingContinue:
@@ -188,12 +201,6 @@ mono_threads_finish_try_blocking (void* cookie)
        mono_threads_finish_blocking (cookie);
 }
 
-void
-mono_threads_core_abort_syscall (MonoThreadInfo *info)
-{
-       g_error ("FIXME");
-}
-
 gboolean
 mono_threads_core_begin_async_resume (MonoThreadInfo *info)
 {
@@ -216,37 +223,38 @@ mono_threads_core_check_suspend_result (MonoThreadInfo *info)
        return TRUE;
 }
 
-gboolean
-mono_threads_core_needs_abort_syscall (void)
-{
-       /*
-       Small digression.
-       Syscall abort can't be handled by the suspend machinery even though it's kind of implemented
-       in a similar way (with, like, signals).
-
-       So, having it here is wrong, it should be on mono-threads-(mach|posix|windows).
-       Ideally we would slice this in (coop|preemp) and target. Then have this file set:
-       mono-threads-mach, mono-threads-mach-preempt and mono-threads-mach-coop.
-       More files, less ifdef hell.
-       */
-       return FALSE;
-}
-
 void
 mono_threads_init_platform (void)
 {
+       mono_counters_register ("Coop Reset Blocking", MONO_COUNTER_GC | MONO_COUNTER_INT, &coop_reset_blocking_count);
+       mono_counters_register ("Coop Try Blocking", MONO_COUNTER_GC | MONO_COUNTER_INT, &coop_try_blocking_count);
+       mono_counters_register ("Coop Do Blocking", MONO_COUNTER_GC | MONO_COUNTER_INT, &coop_do_blocking_count);
+       mono_counters_register ("Coop Do Polling", MONO_COUNTER_GC | MONO_COUNTER_INT, &coop_do_polling_count);
+       mono_counters_register ("Coop Save Count", MONO_COUNTER_GC | MONO_COUNTER_INT, &coop_save_count);
        //See the above for what's wrong here.
 }
 
 void
 mono_threads_platform_free (MonoThreadInfo *info)
 {
+#ifdef TARGET_MACH
+       mach_port_deallocate (current_task (), info->native_handle);
+#endif
+
        //See the above for what's wrong here.
 }
 
 void
 mono_threads_platform_register (MonoThreadInfo *info)
 {
+#ifdef TARGET_MACH
+       char thread_name [64];
+
+       info->native_handle = mach_thread_self ();
+       snprintf (thread_name, 64, "tid_%x", (int)info->native_handle);
+       pthread_setname_np (thread_name);
+#endif
+
        //See the above for what's wrong here.
 }
 
@@ -262,5 +270,29 @@ mono_threads_core_end_global_suspend (void)
        mono_polling_required = 0;
 }
 
+void*
+mono_threads_enter_gc_unsafe_region (void)
+{
+       return mono_threads_reset_blocking_start ();
+}
+
+void
+mono_threads_exit_gc_unsafe_region (void *regions_cookie)
+{
+       mono_threads_reset_blocking_end (regions_cookie);
+}
+
+#else
+
+void*
+mono_threads_enter_gc_unsafe_region (void)
+{
+       return NULL;
+}
+
+void
+mono_threads_exit_gc_unsafe_region (void *regions_cookie)
+{
+}
 
 #endif
\ No newline at end of file
index 6eca0266dcfb897f4fbef80bdfd1bc58f9ecdb01..88ae40aee8769cbf4005a79d8196d5ceaac6d88e 100644 (file)
@@ -17,7 +17,7 @@
 /* Runtime consumable API */
 
 #define MONO_SUSPEND_CHECK() do {      \
-       if (G_UNLIKELY (mono_threads_polling_required)) mono_threads_state_poll ();     \
+       if (G_UNLIKELY (mono_polling_required)) mono_threads_state_poll ();     \
 } while (0);
 
 #define MONO_PREPARE_BLOCKING  \
@@ -46,8 +46,6 @@
 
 /* Internal API */
 
-extern volatile size_t mono_threads_polling_required;
-
 void mono_threads_state_poll (void);
 void* mono_threads_prepare_blocking (void);
 void mono_threads_finish_blocking (void* cookie);
@@ -59,11 +57,11 @@ void* mono_threads_try_prepare_blocking (void);
 void mono_threads_finish_try_blocking (void* cookie);
 
 /* JIT specific interface */
-extern volatile size_t mono_polling_required ;
+extern volatile size_t mono_polling_required;
 
 #else
 
-#define MONO_SUSPEND_CHECK do {        } while (0);
+#define MONO_SUSPEND_CHECK() do {      } while (0);
 #define MONO_PREPARE_BLOCKING {
 #define MONO_FINISH_BLOCKING }
 #define MONO_PREPARE_RESET_BLOCKING {
diff --git a/mono/utils/mono-threads-mach-abort-syscall.c b/mono/utils/mono-threads-mach-abort-syscall.c
new file mode 100644 (file)
index 0000000..4c30f66
--- /dev/null
@@ -0,0 +1,80 @@
+/*
+ * mono-threads-mach-abort-syscall.c: Low-level syscall aborting
+ *
+ * Author:
+ *     Ludovic Henry (ludovic@xamarin.com)
+ *
+ * (C) 2015 Xamarin, Inc
+ */
+
+#include "config.h"
+#include <glib.h>
+
+#if defined (__MACH__)
+#define _DARWIN_C_SOURCE 1
+#endif
+
+#include <mono/utils/mono-threads.h>
+
+#if defined(USE_MACH_SYSCALL_ABORT)
+
+#if defined(HOST_WATCHOS) || defined(HOST_TVOS)
+
+void
+mono_threads_init_abort_syscall (void)
+{
+}
+
+void
+mono_threads_core_abort_syscall (MonoThreadInfo *info)
+{
+
+}
+
+gboolean
+mono_threads_core_needs_abort_syscall (void)
+{
+       return FALSE;
+}
+
+#else
+
+void
+mono_threads_init_abort_syscall (void)
+{
+}
+
+void
+mono_threads_core_abort_syscall (MonoThreadInfo *info)
+{
+       kern_return_t ret;
+
+       ret = thread_suspend (info->native_handle);
+       if (ret != KERN_SUCCESS)
+               return;
+
+       ret = thread_abort_safely (info->native_handle);
+
+       /*
+        * We are doing thread_abort when thread_abort_safely returns KERN_SUCCESS because
+        * for some reason accept is not interrupted by thread_abort_safely.
+        * The risk of aborting non-atomic operations while calling thread_abort should not
+        * exist because by the time thread_abort_safely returns KERN_SUCCESS the target
+        * thread should have return from the kernel and should be waiting for thread_resume
+        * to resume the user code.
+        */
+       if (ret == KERN_SUCCESS)
+               ret = thread_abort (info->native_handle);
+
+       g_assert (thread_resume (info->native_handle) == KERN_SUCCESS);
+}
+
+gboolean
+mono_threads_core_needs_abort_syscall (void)
+{
+       return TRUE;
+}
+
+#endif
+
+#endif
index fc884e7a05584787d813ff2b241012da9a61eaa1..1a0bcd8242179a05d4dbc3e4ee697d56876fcd7b 100644 (file)
@@ -31,43 +31,6 @@ mono_threads_init_platform (void)
        mono_threads_init_dead_letter ();
 }
 
-void
-mono_threads_core_interrupt (MonoThreadInfo *info)
-{
-       thread_abort (info->native_handle);
-}
-
-void
-mono_threads_core_abort_syscall (MonoThreadInfo *info)
-{
-       kern_return_t ret;
-
-       ret = thread_suspend (info->native_handle);
-       if (ret != KERN_SUCCESS)
-               return;
-
-       ret = thread_abort_safely (info->native_handle);
-
-       /*
-        * We are doing thread_abort when thread_abort_safely returns KERN_SUCCESS because
-        * for some reason accept is not interrupted by thread_abort_safely.
-        * The risk of aborting non-atomic operations while calling thread_abort should not
-        * exist because by the time thread_abort_safely returns KERN_SUCCESS the target
-        * thread should have return from the kernel and should be waiting for thread_resume
-        * to resume the user code.
-        */
-       if (ret == KERN_SUCCESS)
-               ret = thread_abort (info->native_handle);
-
-       g_assert (thread_resume (info->native_handle) == KERN_SUCCESS);
-}
-
-gboolean
-mono_threads_core_needs_abort_syscall (void)
-{
-       return TRUE;
-}
-
 gboolean
 mono_threads_core_begin_async_suspend (MonoThreadInfo *info, gboolean interrupt_kernel)
 {
diff --git a/mono/utils/mono-threads-posix-abort-syscall.c b/mono/utils/mono-threads-posix-abort-syscall.c
new file mode 100644 (file)
index 0000000..4935bd1
--- /dev/null
@@ -0,0 +1,44 @@
+/*
+ * mono-threads-posix-abort-syscall.c: Low-level syscall aborting
+ *
+ * Author:
+ *     Ludovic Henry (ludovic@xamarin.com)
+ *
+ * (C) 2015 Xamarin, Inc
+ */
+
+#include "config.h"
+#include <glib.h>
+
+#if defined (__MACH__)
+#define _DARWIN_C_SOURCE 1
+#endif
+
+#include "mono-threads.h"
+#include "mono-threads-posix-signals.h"
+
+#if defined(USE_POSIX_SYSCALL_ABORT)
+
+void
+mono_threads_init_abort_syscall (void)
+{
+       mono_threads_posix_init_signals (MONO_THREADS_POSIX_INIT_SIGNALS_ABORT);
+}
+
+void
+mono_threads_core_abort_syscall (MonoThreadInfo *info)
+{
+       /* We signal a thread to break it from the current syscall.
+        * This signal should not be interpreted as a suspend request. */
+       info->syscall_break_signal = TRUE;
+       if (!mono_threads_pthread_kill (info, mono_threads_posix_get_abort_signal ()))
+               mono_threads_add_to_pending_operation_set (info);
+}
+
+gboolean
+mono_threads_core_needs_abort_syscall (void)
+{
+       return TRUE;
+}
+
+#endif
diff --git a/mono/utils/mono-threads-posix-signals.c b/mono/utils/mono-threads-posix-signals.c
new file mode 100644 (file)
index 0000000..1dfdd38
--- /dev/null
@@ -0,0 +1,307 @@
+/*
+ * mono-threads-posix-signals.c: Shared facility for Posix signals support
+ *
+ * Author:
+ *     Ludovic Henry (ludovic@gmail.com)
+ *
+ * (C) 2015 Xamarin, Inc
+ */
+
+#include <config.h>
+#include <glib.h>
+
+#include "mono-threads.h"
+
+#if defined(USE_POSIX_BACKEND) || defined(USE_POSIX_SYSCALL_ABORT)
+
+#include <errno.h>
+#include <signal.h>
+
+#include "mono-semaphore.h"
+#include "mono-threads-posix-signals.h"
+
+#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+#define DEFAULT_SUSPEND_SIGNAL SIGXFSZ
+#else
+#define DEFAULT_SUSPEND_SIGNAL SIGPWR
+#endif
+#define DEFAULT_RESTART_SIGNAL SIGXCPU
+
+static int suspend_signal_num;
+static int restart_signal_num;
+static int abort_signal_num;
+
+static sigset_t suspend_signal_mask;
+static sigset_t suspend_ack_signal_mask;
+
+static int
+signal_search_alternative (int min_signal)
+{
+#if !defined (SIGRTMIN)
+       g_error ("signal search only works with RTMIN");
+#else
+       int i;
+       /* we try to avoid SIGRTMIN and any one that might have been set already, see bug #75387 */
+       for (i = MAX (min_signal, SIGRTMIN) + 1; i < SIGRTMAX; ++i) {
+               struct sigaction sinfo;
+               sigaction (i, NULL, &sinfo);
+               if (sinfo.sa_handler == SIG_DFL && (void*)sinfo.sa_sigaction == (void*)SIG_DFL) {
+                       return i;
+               }
+       }
+       g_error ("Could not find an available signal");
+#endif
+}
+
+static void
+signal_add_handler (int signo, gpointer handler, int flags)
+{
+#if !defined(__native_client__)
+       /*FIXME, move the code from mini to utils and do the right thing!*/
+       struct sigaction sa;
+       struct sigaction previous_sa;
+       int ret;
+
+       sa.sa_sigaction = handler;
+       sigfillset (&sa.sa_mask);
+
+       sa.sa_flags = SA_SIGINFO | flags;
+       ret = sigaction (signo, &sa, &previous_sa);
+
+       g_assert (ret != -1);
+#endif
+}
+
+static int
+suspend_signal_get (void)
+{
+#if defined(PLATFORM_ANDROID)
+       return SIGUNUSED;
+#elif !defined (SIGRTMIN)
+#ifdef SIGUSR1
+       return SIGUSR1;
+#else
+       return -1;
+#endif /* SIGUSR1 */
+#else
+       static int suspend_signum = -1;
+       if (suspend_signum == -1)
+               suspend_signum = signal_search_alternative (-1);
+       return suspend_signum;
+#endif /* SIGRTMIN */
+}
+
+static int
+restart_signal_get (void)
+{
+#if defined(PLATFORM_ANDROID)
+       return SIGTTOU;
+#elif !defined (SIGRTMIN)
+#ifdef SIGUSR2
+       return SIGUSR2;
+#else
+       return -1;
+#endif /* SIGUSR1 */
+#else
+       static int resume_signum = -1;
+       if (resume_signum == -1)
+               resume_signum = signal_search_alternative (suspend_signal_get () + 1);
+       return resume_signum;
+#endif /* SIGRTMIN */
+}
+
+
+static int
+abort_signal_get (void)
+{
+#if defined(PLATFORM_ANDROID)
+       return SIGTTIN;
+#elif !defined (SIGRTMIN)
+#ifdef SIGTTIN
+       return SIGTTIN;
+#else
+       return -1;
+#endif /* SIGRTMIN */
+#else
+       static int abort_signum = -1;
+       if (abort_signum == -1)
+               abort_signum = signal_search_alternative (restart_signal_get () + 1);
+       return abort_signum;
+#endif /* SIGRTMIN */
+}
+
+static void
+restart_signal_handler (int _dummy, siginfo_t *_info, void *context)
+{
+#if defined(__native_client__)
+       g_assert_not_reached ();
+#else
+       MonoThreadInfo *info;
+       int old_errno = errno;
+
+       info = mono_thread_info_current ();
+       info->signal = restart_signal_num;
+       errno = old_errno;
+#endif
+}
+
+static void
+suspend_signal_handler (int _dummy, siginfo_t *info, void *context)
+{
+#if defined(__native_client__)
+       g_assert_not_reached ();
+#else
+       int old_errno = errno;
+       int hp_save_index = mono_hazard_pointer_save_for_signal_handler ();
+
+
+       MonoThreadInfo *current = mono_thread_info_current ();
+       gboolean ret;
+
+       THREADS_SUSPEND_DEBUG ("SIGNAL HANDLER FOR %p [%p]\n", current, (void*)current->native_handle);
+       if (current->syscall_break_signal) {
+               current->syscall_break_signal = FALSE;
+               THREADS_SUSPEND_DEBUG ("\tsyscall break for %p\n", current);
+               mono_threads_notify_initiator_of_abort (current);
+               goto done;
+       }
+
+       /* Have we raced with self suspend? */
+       if (!mono_threads_transition_finish_async_suspend (current)) {
+               current->suspend_can_continue = TRUE;
+               THREADS_SUSPEND_DEBUG ("\tlost race with self suspend %p\n", current);
+               goto done;
+       }
+
+       ret = mono_threads_get_runtime_callbacks ()->thread_state_init_from_sigctx (&current->thread_saved_state [ASYNC_SUSPEND_STATE_INDEX], context);
+
+       /* thread_state_init_from_sigctx return FALSE if the current thread is detaching and suspend can't continue. */
+       current->suspend_can_continue = ret;
+
+
+       /*
+       Block the restart signal.
+       We need to block the restart signal while posting to the suspend_ack semaphore or we race to sigsuspend,
+       which might miss the signal and get stuck.
+       */
+       pthread_sigmask (SIG_BLOCK, &suspend_ack_signal_mask, NULL);
+
+       /* We're done suspending */
+       mono_threads_notify_initiator_of_suspend (current);
+
+       /* This thread is doomed, all we can do is give up and let the suspender recover. */
+       if (!ret) {
+               THREADS_SUSPEND_DEBUG ("\tThread is dying, failed to capture state %p\n", current);
+               mono_threads_transition_async_suspend_compensation (current);
+               /* Unblock the restart signal. */
+               pthread_sigmask (SIG_UNBLOCK, &suspend_ack_signal_mask, NULL);
+
+               goto done;
+       }
+
+       do {
+               current->signal = 0;
+               sigsuspend (&suspend_signal_mask);
+       } while (current->signal != restart_signal_num);
+
+       /* Unblock the restart signal. */
+       pthread_sigmask (SIG_UNBLOCK, &suspend_ack_signal_mask, NULL);
+
+       if (current->async_target) {
+#if MONO_ARCH_HAS_MONO_CONTEXT
+               MonoContext tmp = current->thread_saved_state [ASYNC_SUSPEND_STATE_INDEX].ctx;
+               mono_threads_get_runtime_callbacks ()->setup_async_callback (&tmp, current->async_target, current->user_data);
+               current->async_target = current->user_data = NULL;
+               mono_monoctx_to_sigctx (&tmp, context);
+#else
+               g_error ("The new interruption machinery requires a working mono-context");
+#endif
+       }
+
+       /* We're done resuming */
+       mono_threads_notify_initiator_of_resume (current);
+
+done:
+       mono_hazard_pointer_restore_for_signal_handler (hp_save_index);
+       errno = old_errno;
+#endif
+}
+
+static void
+abort_signal_handler (int _dummy, siginfo_t *info, void *context)
+{
+#if defined(__native_client__)
+       g_assert_not_reached ();
+#else
+       suspend_signal_handler (_dummy, info, context);
+#endif
+}
+
+void
+mono_threads_posix_init_signals (MonoThreadPosixInitSignals signals)
+{
+       sigset_t signal_set;
+
+       g_assert ((signals == MONO_THREADS_POSIX_INIT_SIGNALS_SUSPEND_RESTART) ^ (signals == MONO_THREADS_POSIX_INIT_SIGNALS_ABORT));
+
+       sigemptyset (&signal_set);
+
+       switch (signals) {
+       case MONO_THREADS_POSIX_INIT_SIGNALS_SUSPEND_RESTART: {
+               if (mono_thread_info_unified_management_enabled ()) {
+                       suspend_signal_num = DEFAULT_SUSPEND_SIGNAL;
+                       restart_signal_num = DEFAULT_RESTART_SIGNAL;
+               } else {
+                       suspend_signal_num = suspend_signal_get ();
+                       restart_signal_num = restart_signal_get ();
+               }
+
+               sigfillset (&suspend_signal_mask);
+               sigdelset (&suspend_signal_mask, restart_signal_num);
+
+               sigemptyset (&suspend_ack_signal_mask);
+               sigaddset (&suspend_ack_signal_mask, restart_signal_num);
+
+               signal_add_handler (suspend_signal_num, suspend_signal_handler, SA_RESTART);
+               signal_add_handler (restart_signal_num, restart_signal_handler, SA_RESTART);
+
+               sigaddset (&signal_set, suspend_signal_num);
+               sigaddset (&signal_set, restart_signal_num);
+
+               break;
+       }
+       case MONO_THREADS_POSIX_INIT_SIGNALS_ABORT: {
+               abort_signal_num = abort_signal_get ();
+
+               signal_add_handler (abort_signal_num, abort_signal_handler, 0);
+
+               sigaddset (&signal_set, abort_signal_num);
+
+               break;
+       }
+       default: g_assert_not_reached ();
+       }
+
+       /* ensure all the new signals are unblocked */
+       sigprocmask (SIG_UNBLOCK, &signal_set, NULL);
+}
+
+gint
+mono_threads_posix_get_suspend_signal (void)
+{
+       return suspend_signal_num;
+}
+
+gint
+mono_threads_posix_get_restart_signal (void)
+{
+       return restart_signal_num;
+}
+
+gint
+mono_threads_posix_get_abort_signal (void)
+{
+       return abort_signal_num;
+}
+
+#endif /* defined(USE_POSIX_BACKEND) || defined(USE_POSIX_SYSCALL_ABORT) */
diff --git a/mono/utils/mono-threads-posix-signals.h b/mono/utils/mono-threads-posix-signals.h
new file mode 100644 (file)
index 0000000..2bdcf8e
--- /dev/null
@@ -0,0 +1,31 @@
+
+#ifndef __MONO_THREADS_POSIX_SIGNALS_H__
+#define __MONO_THREADS_POSIX_SIGNALS_H__
+
+#include <config.h>
+#include <glib.h>
+
+#include "mono-threads.h"
+
+#if defined(USE_POSIX_BACKEND) || defined(USE_POSIX_SYSCALL_ABORT)
+
+typedef enum {
+       MONO_THREADS_POSIX_INIT_SIGNALS_SUSPEND_RESTART,
+       MONO_THREADS_POSIX_INIT_SIGNALS_ABORT,
+} MonoThreadPosixInitSignals;
+
+void
+mono_threads_posix_init_signals (MonoThreadPosixInitSignals signals);
+
+gint
+mono_threads_posix_get_suspend_signal (void);
+
+gint
+mono_threads_posix_get_restart_signal (void);
+
+gint
+mono_threads_posix_get_abort_signal (void);
+
+#endif /* defined(USE_POSIX_BACKEND) || defined(USE_POSIX_SYSCALL_ABORT) */
+
+#endif /* __MONO_THREADS_POSIX_SIGNALS_H__ */
\ No newline at end of file
index e9ca1415c04eee3f37dfd855b451b738d72f7ab6..ccbd7606b3d35e1694b0158fe28bb4c454e402c1 100644 (file)
 #define _DARWIN_C_SOURCE 1
 #endif
 
-#include <mono/utils/mono-compiler.h>
-#include <mono/utils/mono-semaphore.h>
 #include <mono/utils/mono-threads.h>
-#include <mono/utils/mono-tls.h>
-#include <mono/utils/mono-mmap.h>
-#include <mono/metadata/threads-types.h>
+#include <mono/utils/mono-threads-posix-signals.h>
 #include <mono/metadata/gc-internal.h>
-#include <limits.h>
 
 #include <errno.h>
 
@@ -34,8 +29,8 @@ extern int tkill (pid_t tid, int signal);
 #endif
 
 #if defined(_POSIX_VERSION) || defined(__native_client__)
+
 #include <sys/resource.h>
-#include <signal.h>
 
 #if defined(__native_client__)
 void nacl_shutdown_gc_thread(void);
@@ -71,7 +66,7 @@ inner_start_thread (void *arg)
        start_info->handle = handle;
 
        info = mono_thread_info_attach (&result);
-       MONO_PREPARE_BLOCKING
+       MONO_PREPARE_BLOCKING;
 
        info->runtime_thread = TRUE;
        info->handle = handle;
@@ -92,7 +87,7 @@ inner_start_thread (void *arg)
                MONO_SEM_DESTROY (&info->create_suspended_sem);
        }
 
-       MONO_FINISH_BLOCKING
+       MONO_FINISH_BLOCKING;
        /* Run the actual main function of the thread */
        result = start_func (t_arg);
 
@@ -145,10 +140,13 @@ mono_threads_core_create_thread (LPTHREAD_START_ROUTINE start_routine, gpointer
                return NULL;
        }
 
+       MONO_TRY_BLOCKING;
        /* Wait until the thread register itself in various places */
        while (MONO_SEM_WAIT (&(start_info.registered)) != 0) {
                /*if (EINTR != errno) ABORT("sem_wait failed"); */
        }
+       MONO_FINISH_TRY_BLOCKING;
+
        MONO_SEM_DESTROY (&(start_info.registered));
 
        if (out_tid)
@@ -236,30 +234,6 @@ mono_threads_core_open_thread_handle (HANDLE handle, MonoNativeThreadId tid)
        return handle;
 }
 
-gpointer
-mono_threads_core_prepare_interrupt (HANDLE thread_handle)
-{
-       return wapi_prepare_interrupt_thread (thread_handle);
-}
-
-void
-mono_threads_core_finish_interrupt (gpointer wait_handle)
-{
-       wapi_finish_interrupt_thread (wait_handle);
-}
-
-void
-mono_threads_core_self_interrupt (void)
-{
-       wapi_self_interrupt ();
-}
-
-void
-mono_threads_core_clear_interruption (void)
-{
-       wapi_clear_interruption ();
-}
-
 int
 mono_threads_pthread_kill (MonoThreadInfo *info, int signum)
 {
@@ -321,272 +295,14 @@ mono_threads_core_set_name (MonoNativeThreadId tid, const char *name)
 #endif
 }
 
+#endif /* defined(_POSIX_VERSION) || defined(__native_client__) */
 
-#if defined (USE_POSIX_BACKEND) && !defined (USE_COOP_GC)
-
-static int suspend_signal_num;
-static int restart_signal_num;
-static int abort_signal_num;
-static sigset_t suspend_signal_mask;
-static sigset_t suspend_ack_signal_mask;
-
-
-#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
-#define DEFAULT_SUSPEND_SIGNAL SIGXFSZ
-#else
-#define DEFAULT_SUSPEND_SIGNAL SIGPWR
-#endif
-#define DEFAULT_RESTART_SIGNAL SIGXCPU
-
-static int
-mono_thread_search_alt_signal (int min_signal)
-{
-#if !defined (SIGRTMIN)
-       g_error ("signal search only works with RTMIN");
-#else
-       int i;
-       /* we try to avoid SIGRTMIN and any one that might have been set already, see bug #75387 */
-       for (i = MAX (min_signal, SIGRTMIN) + 1; i < SIGRTMAX; ++i) {
-               struct sigaction sinfo;
-               sigaction (i, NULL, &sinfo);
-               if (sinfo.sa_handler == SIG_DFL && (void*)sinfo.sa_sigaction == (void*)SIG_DFL) {
-                       return i;
-               }
-       }
-       g_error ("Could not find an available signal");
-#endif
-}
-
-static int
-mono_thread_get_alt_suspend_signal (void)
-{
-#if defined(PLATFORM_ANDROID)
-       return SIGUNUSED;
-#elif !defined (SIGRTMIN)
-#ifdef SIGUSR1
-       return SIGUSR1;
-#else
-       return -1;
-#endif /* SIGUSR1 */
-#else
-       static int suspend_signum = -1;
-       if (suspend_signum == -1)
-               suspend_signum = mono_thread_search_alt_signal (-1);
-       return suspend_signum;
-#endif /* SIGRTMIN */
-}
-
-static int
-mono_thread_get_alt_resume_signal (void)
-{
-#if defined(PLATFORM_ANDROID)
-       return SIGTTOU;
-#elif !defined (SIGRTMIN)
-#ifdef SIGUSR2
-       return SIGUSR2;
-#else
-       return -1;
-#endif /* SIGUSR1 */
-#else
-       static int resume_signum = -1;
-       if (resume_signum == -1)
-               resume_signum = mono_thread_search_alt_signal (mono_thread_get_alt_suspend_signal () + 1);
-       return resume_signum;
-#endif /* SIGRTMIN */
-}
-
-
-static int
-mono_threads_get_abort_signal (void)
-{
-#if defined(PLATFORM_ANDROID)
-       return SIGTTIN;
-#elif !defined (SIGRTMIN)
-#ifdef SIGTTIN
-       return SIGTTIN;
-#else
-       return -1;
-#endif /* SIGRTMIN */
-#else
-       static int abort_signum = -1;
-       if (abort_signum == -1)
-               abort_signum = mono_thread_search_alt_signal (mono_thread_get_alt_resume_signal () + 1);
-       return abort_signum;
-#endif /* SIGRTMIN */
-}
-
-
-#if !defined(__native_client__)
-static void
-restart_signal_handler (int _dummy, siginfo_t *_info, void *context)
-{
-       MonoThreadInfo *info;
-       int old_errno = errno;
-
-       info = mono_thread_info_current ();
-       info->signal = restart_signal_num;
-       errno = old_errno;
-}
-
-static void
-suspend_signal_handler (int _dummy, siginfo_t *info, void *context)
-{
-       int old_errno = errno;
-       int hp_save_index = mono_hazard_pointer_save_for_signal_handler ();
-
-
-       MonoThreadInfo *current = mono_thread_info_current ();
-       gboolean ret;
-
-       THREADS_SUSPEND_DEBUG ("SIGNAL HANDLER FOR %p [%p]\n", current, (void*)current->native_handle);
-       if (current->syscall_break_signal) {
-               current->syscall_break_signal = FALSE;
-               THREADS_SUSPEND_DEBUG ("\tsyscall break for %p\n", current);
-               mono_threads_notify_initiator_of_abort (current);
-               goto done;
-       }
-
-       /* Have we raced with self suspend? */
-       if (!mono_threads_transition_finish_async_suspend (current)) {
-               current->suspend_can_continue = TRUE;
-               THREADS_SUSPEND_DEBUG ("\tlost race with self suspend %p\n", current);
-               goto done;
-       }
-
-       ret = mono_threads_get_runtime_callbacks ()->thread_state_init_from_sigctx (&current->thread_saved_state [ASYNC_SUSPEND_STATE_INDEX], context);
-
-       /* thread_state_init_from_sigctx return FALSE if the current thread is detaching and suspend can't continue. */
-       current->suspend_can_continue = ret;
-
-
-       /*
-       Block the restart signal.
-       We need to block the restart signal while posting to the suspend_ack semaphore or we race to sigsuspend,
-       which might miss the signal and get stuck.
-       */
-       pthread_sigmask (SIG_BLOCK, &suspend_ack_signal_mask, NULL);
-
-       /* We're done suspending */
-       mono_threads_notify_initiator_of_suspend (current);
-
-       /* This thread is doomed, all we can do is give up and let the suspender recover. */
-       if (!ret) {
-               THREADS_SUSPEND_DEBUG ("\tThread is dying, failed to capture state %p\n", current);
-               mono_threads_transition_async_suspend_compensation (current);
-               /* Unblock the restart signal. */
-               pthread_sigmask (SIG_UNBLOCK, &suspend_ack_signal_mask, NULL);
-
-               goto done;
-       }
-
-       do {
-               current->signal = 0;
-               sigsuspend (&suspend_signal_mask);
-       } while (current->signal != restart_signal_num);
-
-       /* Unblock the restart signal. */
-       pthread_sigmask (SIG_UNBLOCK, &suspend_ack_signal_mask, NULL);
-
-       if (current->async_target) {
-#if MONO_ARCH_HAS_MONO_CONTEXT
-               MonoContext tmp = current->thread_saved_state [ASYNC_SUSPEND_STATE_INDEX].ctx;
-               mono_threads_get_runtime_callbacks ()->setup_async_callback (&tmp, current->async_target, current->user_data);
-               current->async_target = current->user_data = NULL;
-               mono_monoctx_to_sigctx (&tmp, context);
-#else
-               g_error ("The new interruption machinery requires a working mono-context");
-#endif
-       }
-
-       /* We're done resuming */
-       mono_threads_notify_initiator_of_resume (current);
-
-done:
-       mono_hazard_pointer_restore_for_signal_handler (hp_save_index);
-       errno = old_errno;
-}
-
-static void
-abort_signal_handler (int _dummy, siginfo_t *info, void *context)
-{
-       suspend_signal_handler (_dummy, info, context);
-}
-
-#endif
-
-static void
-mono_posix_add_signal_handler (int signo, gpointer handler, int flags)
-{
-#if !defined(__native_client__)
-       /*FIXME, move the code from mini to utils and do the right thing!*/
-       struct sigaction sa;
-       struct sigaction previous_sa;
-       int ret;
-
-       sa.sa_sigaction = handler;
-       sigfillset (&sa.sa_mask);
-
-       sa.sa_flags = SA_SIGINFO | flags;
-       ret = sigaction (signo, &sa, &previous_sa);
-
-       g_assert (ret != -1);
-#endif
-}
-
-void
-mono_threads_init_platform (void)
-{
-       sigset_t signal_set;
-
-       abort_signal_num = mono_threads_get_abort_signal ();
-       if (mono_thread_info_unified_management_enabled ()) {
-               suspend_signal_num = DEFAULT_SUSPEND_SIGNAL;
-               restart_signal_num = DEFAULT_RESTART_SIGNAL;
-       } else {
-               suspend_signal_num = mono_thread_get_alt_suspend_signal ();
-               restart_signal_num = mono_thread_get_alt_resume_signal ();
-       }
-
-       sigfillset (&suspend_signal_mask);
-       sigdelset (&suspend_signal_mask, restart_signal_num);
-
-       sigemptyset (&suspend_ack_signal_mask);
-       sigaddset (&suspend_ack_signal_mask, restart_signal_num);
-
-       mono_posix_add_signal_handler (suspend_signal_num, suspend_signal_handler, SA_RESTART);
-       mono_posix_add_signal_handler (restart_signal_num, restart_signal_handler, SA_RESTART);
-       mono_posix_add_signal_handler (abort_signal_num, abort_signal_handler, 0);
-
-       /* ensure all the new signals are unblocked */
-       sigemptyset (&signal_set);
-       sigaddset (&signal_set, suspend_signal_num);
-       sigaddset (&signal_set, restart_signal_num);
-       sigaddset (&signal_set, abort_signal_num);
-       sigprocmask (SIG_UNBLOCK, &signal_set, NULL);
-}
-
-void
-mono_threads_core_abort_syscall (MonoThreadInfo *info)
-{
-       /*
-       We signal a thread to break it from the urrent syscall.
-       This signal should not be interpreted as a suspend request.
-       */
-       info->syscall_break_signal = TRUE;
-       if (!mono_threads_pthread_kill (info, abort_signal_num))
-               mono_threads_add_to_pending_operation_set (info);
-}
-
-gboolean
-mono_threads_core_needs_abort_syscall (void)
-{
-       return TRUE;
-}
+#if defined(USE_POSIX_BACKEND)
 
 gboolean
 mono_threads_core_begin_async_suspend (MonoThreadInfo *info, gboolean interrupt_kernel)
 {
-       int sig = interrupt_kernel ? abort_signal_num :  suspend_signal_num;
+       int sig = interrupt_kernel ? mono_threads_posix_get_abort_signal () :  mono_threads_posix_get_suspend_signal ();
 
        if (!mono_threads_pthread_kill (info, sig)) {
                mono_threads_add_to_pending_operation_set (info);
@@ -611,7 +327,7 @@ gboolean
 mono_threads_core_begin_async_resume (MonoThreadInfo *info)
 {
        mono_threads_add_to_pending_operation_set (info);
-       return mono_threads_pthread_kill (info, restart_signal_num) == 0;
+       return mono_threads_pthread_kill (info, mono_threads_posix_get_restart_signal ()) == 0;
 }
 
 void
@@ -637,6 +353,10 @@ mono_threads_core_end_global_suspend (void)
 {
 }
 
-#endif /*defined (USE_POSIX_BACKEND)*/
+void
+mono_threads_init_platform (void)
+{
+       mono_threads_posix_init_signals (MONO_THREADS_POSIX_INIT_SIGNALS_SUSPEND_RESTART);
+}
 
-#endif
+#endif /* defined(USE_POSIX_BACKEND) */
index 9f5792c1d9c1d1d6c9da640b2807920440729006..098e02c7ee32e1a558cd6c103ac6a8a03e70a486 100644 (file)
@@ -5,6 +5,7 @@
 #include <mono/utils/mono-tls.h>
 #include <mono/utils/mono-memory-model.h>
 #include <mono/utils/atomic.h>
+#include <mono/utils/checked-build.h>
 
 #include <errno.h>
 
@@ -89,6 +90,8 @@ trace_state_change (const char *transition, MonoThreadInfo *info, int cur_raw_st
                state_name (next_state),
                get_thread_suspend_count (cur_raw_state),
                get_thread_suspend_count (cur_raw_state) + suspend_count_delta);
+
+       CHECKED_BUILD_THREAD_TRANSITION (transition, info, get_thread_state (cur_raw_state), get_thread_suspend_count (cur_raw_state), next_state, suspend_count_delta);
 }
 
 /*
@@ -187,7 +190,7 @@ STATE_BLOCKING_AND_SUSPENDED: Self suspension cannot be started when the thread
 If this turns to be an issue we can introduce a new suspend request state for when both have been requested.
 */
        default:
-               g_error ("Cannot transition thread %p from %s with SUSPEND_REQUEST", info, state_name (cur_state));
+               g_error ("Cannot transition thread %p from %s with SUSPEND_REQUEST", mono_thread_info_get_tid (info), state_name (cur_state));
        }
 }
 
@@ -248,7 +251,7 @@ The expected behavior is that the target should poll its state very soon so the
 STATE_ASYNC_SUSPEND_REQUESTED: Since there can only be one async suspend in progress and it must finish, it should not be possible to witness this.
 */
        default:
-               g_error ("Cannot transition thread %p from %s with ASYNC_SUSPEND_REQUESTED", info, state_name (cur_state));
+               g_error ("Cannot transition thread %p from %s with ASYNC_SUSPEND_REQUESTED", mono_thread_info_get_tid (info), state_name (cur_state));
        }
        return (MonoRequestAsyncSuspendResult) FALSE;
 }
@@ -297,7 +300,7 @@ STATE_BLOCKING:
 STATE_BLOCKING_AND_SUSPENDED: Pool is a local state transition. No VM activities are allowed while in blocking mode.
 */
        default:
-               g_error ("Cannot transition thread %p from %s with STATE_POLL", info, state_name (cur_state));
+               g_error ("Cannot transition thread %p from %s with STATE_POLL", mono_thread_info_get_tid (info), state_name (cur_state));
        }
 }
 
@@ -397,7 +400,7 @@ If this turns to be a problem we should either implement [2] or make this an inv
 
 */
        default:
-               g_error ("Cannot transition thread %p from %s with REQUEST_RESUME", info, state_name (cur_state));
+               g_error ("Cannot transition thread %p from %s with REQUEST_RESUME", mono_thread_info_get_tid (info), state_name (cur_state));
        }
 }
 
@@ -433,7 +436,7 @@ STATE_SELF_SUSPEND_REQUESTED: When self suspend and async suspend happen togethe
 STATE_BLOCKING: Async suspend only begins if a transition to async suspend requested happened. Blocking would have put us into blocking with positive suspend count if it raced with async finish.
 */
        default:
-               g_error ("Cannot transition thread %p from %s with FINISH_ASYNC_SUSPEND", info, state_name (cur_state));
+               g_error ("Cannot transition thread %p from %s with FINISH_ASYNC_SUSPEND", mono_thread_info_get_tid (info), state_name (cur_state));
        }
 }
 
@@ -477,7 +480,7 @@ STATE_BLOCKING_AND_SUSPENDED
 STATE_SELF_SUSPEND_REQUESTED: All those are invalid end states of a sucessfull finish async suspend
 */
        default:
-               g_error ("Cannot transition thread %p from %s with COMPENSATE_FINISH_ASYNC_SUSPEND", info, state_name (cur_state));
+               g_error ("Cannot transition thread %p from %s with COMPENSATE_FINISH_ASYNC_SUSPEND", mono_thread_info_get_tid (info), state_name (cur_state));
 
        }
 }
@@ -522,7 +525,7 @@ STATE_BLOCKING:
 STATE_BLOCKING_AND_SUSPENDED: Blocking is not nestabled
 */
        default:
-               g_error ("Cannot transition thread %p from %s with DO_BLOCKING", info, state_name (cur_state));
+               g_error ("Cannot transition thread %p from %s with DO_BLOCKING", mono_thread_info_get_tid (info), state_name (cur_state));
        }
 }
 
@@ -570,7 +573,7 @@ STATE_SELF_SUSPEND_REQUESTED: A blocking operation must not be done while trying
 STATE_BLOCKING_AND_SUSPENDED: This an exit state of done blocking
 */
        default:
-               g_error ("Cannot transition thread %p from %s with DONE_BLOCKING", info, state_name (cur_state));
+               g_error ("Cannot transition thread %p from %s with DONE_BLOCKING", mono_thread_info_get_tid (info), state_name (cur_state));
        }
 }
 
@@ -608,9 +611,9 @@ retry_state_change:
                        trace_state_change ("ABORT_BLOCKING", info, raw_state, STATE_RUNNING, 0);
                        return AbortBlockingOk;
                } else {
-                       if (InterlockedCompareExchange (&info->thread_state, build_thread_state (STATE_ASYNC_SUSPEND_REQUESTED, suspend_count), raw_state) != raw_state)
+                       if (InterlockedCompareExchange (&info->thread_state, build_thread_state (STATE_SELF_SUSPEND_REQUESTED, suspend_count), raw_state) != raw_state)
                                goto retry_state_change;
-                       trace_state_change ("ABORT_BLOCKING", info, raw_state, STATE_ASYNC_SUSPEND_REQUESTED, 0);
+                       trace_state_change ("ABORT_BLOCKING", info, raw_state, STATE_SELF_SUSPEND_REQUESTED, 0);
                        return AbortBlockingOkAndPool;
                }
 /*
@@ -620,7 +623,7 @@ STATE_SELF_SUSPEND_REQUESTED: A blocking operation must not be done while trying
 STATE_BLOCKING_AND_SUSPENDED: This is an exit state of done blocking, can't happen here.
 */
        default:
-               g_error ("Cannot transition thread %p from %s with DONE_BLOCKING", info, state_name (cur_state));
+               g_error ("Cannot transition thread %p from %s with DONE_BLOCKING", mono_thread_info_get_tid (info), state_name (cur_state));
        }
 }
 
@@ -691,3 +694,9 @@ mono_thread_info_current_state (MonoThreadInfo *info)
 {
        return get_thread_state (info->thread_state);
 }
+
+const char*
+mono_thread_state_name (int state)
+{
+       return state_name (state);
+}
diff --git a/mono/utils/mono-threads-windows-abort-syscall.c b/mono/utils/mono-threads-windows-abort-syscall.c
new file mode 100644 (file)
index 0000000..13d0b3d
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * mono-threads-windows-abort-syscall.c: Low-level syscall aborting
+ *
+ * Author:
+ *     Ludovic Henry (ludovic@xamarin.com)
+ *
+ * (C) 2015 Xamarin, Inc
+ */
+
+#include "config.h"
+#include <glib.h>
+
+#include <mono/utils/mono-threads.h>
+
+#if defined(USE_WINDOWS_SYSCALL_ABORT)
+
+#include <limits.h>
+
+void
+mono_threads_init_abort_syscall (void)
+{
+}
+
+static void CALLBACK
+abort_apc (ULONG_PTR param)
+{
+}
+
+void
+mono_threads_core_abort_syscall (MonoThreadInfo *info)
+{
+       DWORD id = mono_thread_info_get_tid (info);
+       HANDLE handle;
+
+       handle = OpenThread (THREAD_ALL_ACCESS, FALSE, id);
+       g_assert (handle);
+
+       QueueUserAPC ((PAPCFUNC)abort_apc, handle, (ULONG_PTR)NULL);
+
+       CloseHandle (handle);
+}
+
+gboolean
+mono_threads_core_needs_abort_syscall (void)
+{
+       return TRUE;
+}
+
+#endif
old mode 100755 (executable)
new mode 100644 (file)
index 9f3581e..29703b1
@@ -25,26 +25,6 @@ interrupt_apc (ULONG_PTR param)
 {
 }
 
-void
-mono_threads_core_abort_syscall (MonoThreadInfo *info)
-{
-       DWORD id = mono_thread_info_get_tid (info);
-       HANDLE handle;
-
-       handle = OpenThread (THREAD_ALL_ACCESS, FALSE, id);
-       g_assert (handle);
-
-       QueueUserAPC ((PAPCFUNC)interrupt_apc, handle, (ULONG_PTR)NULL);
-
-       CloseHandle (handle);
-}
-
-gboolean
-mono_threads_core_needs_abort_syscall (void)
-{
-       return TRUE;
-}
-
 gboolean
 mono_threads_core_begin_async_suspend (MonoThreadInfo *info, gboolean interrupt_kernel)
 {
@@ -395,26 +375,4 @@ mono_threads_core_set_name (MonoNativeThreadId tid, const char *name)
 #endif
 }
 
-
-gpointer
-mono_threads_core_prepare_interrupt (HANDLE thread_handle)
-{
-       return NULL;
-}
-
-void
-mono_threads_core_finish_interrupt (gpointer wait_handle)
-{
-}
-
-void
-mono_threads_core_self_interrupt (void)
-{
-}
-
-void
-mono_threads_core_clear_interruption (void)
-{
-}
-
 #endif
index 366f09468e952c5882802b4dd0edf07d8655bd73..b1d5da9b917e85ca0aeca67f7abf4d2c87214874 100644 (file)
 
 #include <config.h>
 
+/* enable pthread extensions */
+#ifdef TARGET_MACH
+#define _DARWIN_C_SOURCE
+#endif
+
 #include <mono/utils/mono-compiler.h>
 #include <mono/utils/mono-semaphore.h>
 #include <mono/utils/mono-threads.h>
@@ -70,24 +75,24 @@ void
 mono_threads_notify_initiator_of_abort (MonoThreadInfo* info)
 {
        THREADS_SUSPEND_DEBUG ("[INITIATOR-NOTIFY-ABORT] %p\n", mono_thread_info_get_tid (info));
-       MONO_SEM_POST (&suspend_semaphore);
        InterlockedIncrement (&abort_posts);
+       MONO_SEM_POST (&suspend_semaphore);
 }
 
 void
 mono_threads_notify_initiator_of_suspend (MonoThreadInfo* info)
 {
        THREADS_SUSPEND_DEBUG ("[INITIATOR-NOTIFY-SUSPEND] %p\n", mono_thread_info_get_tid (info));
-       MONO_SEM_POST (&suspend_semaphore);
        InterlockedIncrement (&suspend_posts);
+       MONO_SEM_POST (&suspend_semaphore);
 }
 
 void
 mono_threads_notify_initiator_of_resume (MonoThreadInfo* info)
 {
        THREADS_SUSPEND_DEBUG ("[INITIATOR-NOTIFY-RESUME] %p\n", mono_thread_info_get_tid (info));
-       MONO_SEM_POST (&suspend_semaphore);
        InterlockedIncrement (&resume_posts);
+       MONO_SEM_POST (&suspend_semaphore);
 }
 
 static void
@@ -129,8 +134,9 @@ void
 mono_threads_begin_global_suspend (void)
 {
        g_assert (pending_suspends == 0);
-       THREADS_SUSPEND_DEBUG ("------ BEGIN GLOBAL OP sp %d rp %d ap %d wd %d po %d\n", suspend_posts, resume_posts,
+       THREADS_SUSPEND_DEBUG ("------ BEGIN GLOBAL OP sp %d rp %d ap %d wd %d po %d (sp + rp + ap == wd) (wd == po)\n", suspend_posts, resume_posts,
                abort_posts, waits_done, pending_ops);
+       g_assert ((suspend_posts + resume_posts + abort_posts) == waits_done);
        mono_threads_core_begin_global_suspend ();
 }
 
@@ -140,6 +146,7 @@ mono_threads_end_global_suspend (void)
        g_assert (pending_suspends == 0);
        THREADS_SUSPEND_DEBUG ("------ END GLOBAL OP sp %d rp %d ap %d wd %d po %d\n", suspend_posts, resume_posts,
                abort_posts, waits_done, pending_ops);
+       g_assert ((suspend_posts + resume_posts + abort_posts) == waits_done);
        mono_threads_core_end_global_suspend ();
 }
 
@@ -149,7 +156,7 @@ dump_threads (void)
        MonoThreadInfo *info;
        MonoThreadInfo *cur = mono_thread_info_current ();
 
-       MOSTLY_ASYNC_SAFE_PRINTF ("STATE CUE CARD: (? means a positive number, usually 1 or 2)\n");
+       MOSTLY_ASYNC_SAFE_PRINTF ("STATE CUE CARD: (? means a positive number, usually 1 or 2, * means any number)\n");
        MOSTLY_ASYNC_SAFE_PRINTF ("\t0x0\t- starting (GOOD, unless the thread is running managed code)\n");
        MOSTLY_ASYNC_SAFE_PRINTF ("\t0x1\t- running (BAD, unless it's the gc thread)\n");
        MOSTLY_ASYNC_SAFE_PRINTF ("\t0x2\t- detached (GOOD, unless the thread is running managed code)\n");
@@ -157,11 +164,19 @@ dump_threads (void)
        MOSTLY_ASYNC_SAFE_PRINTF ("\t0x?04\t- self suspended (GOOD)\n");
        MOSTLY_ASYNC_SAFE_PRINTF ("\t0x?05\t- async suspend requested (BAD)\n");
        MOSTLY_ASYNC_SAFE_PRINTF ("\t0x?06\t- self suspend requested (BAD)\n");
-       MOSTLY_ASYNC_SAFE_PRINTF ("\t0x07\t- blocking (GOOD)\n");
+       MOSTLY_ASYNC_SAFE_PRINTF ("\t0x*07\t- blocking (GOOD)\n");
        MOSTLY_ASYNC_SAFE_PRINTF ("\t0x?08\t- blocking with pending suspend (GOOD)\n");
 
        FOREACH_THREAD_SAFE (info) {
+#ifdef TARGET_MACH
+               char thread_name [256] = { 0 };
+               pthread_getname_np (mono_thread_info_get_tid (info), thread_name, 255);
+
+               MOSTLY_ASYNC_SAFE_PRINTF ("--thread %p id %p [%p] (%s) state %x  %s\n", info, (void *) mono_thread_info_get_tid (info), (void*)(size_t)info->native_handle, thread_name, info->thread_state, info == cur ? "GC INITIATOR" : "" );
+#else
                MOSTLY_ASYNC_SAFE_PRINTF ("--thread %p id %p [%p] state %x  %s\n", info, (void *) mono_thread_info_get_tid (info), (void*)(size_t)info->native_handle, info->thread_state, info == cur ? "GC INITIATOR" : "" );
+#endif
+
        } END_FOREACH_THREAD_SAFE
 }
 
@@ -172,10 +187,10 @@ mono_threads_wait_pending_operations (void)
        int c = pending_suspends;
 
        /* Wait threads to park */
+       THREADS_SUSPEND_DEBUG ("[INITIATOR-WAIT-COUNT] %d\n", c);
        if (pending_suspends) {
                MonoStopwatch suspension_time;
                mono_stopwatch_start (&suspension_time);
-               THREADS_SUSPEND_DEBUG ("[INITIATOR-WAIT-COUNT] %d\n", c);
                for (i = 0; i < pending_suspends; ++i) {
                        THREADS_SUSPEND_DEBUG ("[INITIATOR-WAIT-WAITING]\n");
                        InterlockedIncrement (&waits_done);
@@ -357,14 +372,7 @@ unregister_thread (void *arg)
        if (threads_callbacks.thread_detach)
                threads_callbacks.thread_detach (info);
 
-       /*
-       Since the thread info lock is taken from within blocking sections, we can't check from there, so it must be done here.
-       This ensures that we won't lose any suspend requests as a suspend initiator must hold the lock.
-       Once we're holding the suspend lock, no threads can suspend us and once we unregister, no thread can find us. 
-       */
-       MONO_PREPARE_BLOCKING
        mono_thread_info_suspend_lock ();
-       MONO_FINISH_BLOCKING
 
        /*
        Now perform the callback that must be done under locks.
@@ -422,7 +430,7 @@ mono_threads_unregister_current_thread (MonoThreadInfo *info)
 MonoThreadInfo*
 mono_thread_info_current_unchecked (void)
 {
-       return (MonoThreadInfo*)mono_native_tls_get_value (thread_info_key);
+       return mono_threads_inited ? (MonoThreadInfo*)mono_native_tls_get_value (thread_info_key) : NULL;
 }
 
 
@@ -578,6 +586,7 @@ mono_threads_init (MonoThreadInfoCallbacks *callbacks, size_t info_size)
        res = mono_native_tls_alloc (&thread_info_key, (void *) unregister_thread);
        res = mono_native_tls_alloc (&thread_exited_key, (void *) thread_exited_dtor);
 #endif
+
        g_assert (res);
 
 #ifndef HAVE_KW_THREAD
@@ -593,6 +602,7 @@ mono_threads_init (MonoThreadInfoCallbacks *callbacks, size_t info_size)
        mono_lls_init (&thread_list, NULL);
        mono_thread_smr_init ();
        mono_threads_init_platform ();
+       mono_threads_init_abort_syscall ();
 
 #if defined(__MACH__)
        mono_mach_init (thread_info_key);
@@ -681,7 +691,7 @@ mono_thread_info_end_self_suspend (void)
                return;
        THREADS_SUSPEND_DEBUG ("FINISH SELF SUSPEND OF %p\n", info);
 
-       g_assert (mono_threads_get_runtime_callbacks ()->thread_state_init_from_sigctx (&info->thread_saved_state [SELF_SUSPEND_STATE_INDEX], NULL));
+       mono_threads_get_runtime_callbacks ()->thread_state_init (&info->thread_saved_state [SELF_SUSPEND_STATE_INDEX]);
 
        /* commit the saved state and notify others if needed */
        switch (mono_threads_transition_state_poll (info)) {
@@ -884,6 +894,7 @@ mono_thread_info_safe_suspend_and_run (MonoNativeThreadId id, gboolean interrupt
        /*FIXME: unify this with self-suspend*/
        g_assert (id != mono_native_thread_id_get ());
 
+       /* This can block during stw */
        mono_thread_info_suspend_lock ();
        mono_threads_begin_global_suspend ();
 
@@ -968,7 +979,9 @@ STW to make sure no unsafe pending suspend is in progress.
 void
 mono_thread_info_suspend_lock (void)
 {
+       MONO_TRY_BLOCKING;
        MONO_SEM_WAIT_UNITERRUPTIBLE (&global_suspend_semaphore);
+       MONO_FINISH_TRY_BLOCKING;
 }
 
 void
@@ -1153,42 +1166,204 @@ mono_thread_info_set_name (MonoNativeThreadId tid, const char *name)
        mono_threads_core_set_name (tid, name);
 }
 
+#define INTERRUPT_STATE ((MonoThreadInfoInterruptToken*) (size_t) -1)
+
+struct _MonoThreadInfoInterruptToken {
+       void (*callback) (gpointer data);
+       gpointer data;
+};
+
 /*
- * mono_thread_info_prepare_interrupt:
+ * mono_thread_info_install_interrupt: install an interruption token for the current thread.
  *
- *   See wapi_prepare_interrupt ().
+ *  - @callback: must be able to be called from another thread and always cancel the wait
+ *  - @data: passed to the callback
+ *  - @interrupted: will be set to TRUE if a token is already installed, FALSE otherwise
+ *     if set to TRUE, it must mean that the thread is in interrupted state
  */
-gpointer
-mono_thread_info_prepare_interrupt (HANDLE thread_handle)
+void
+mono_thread_info_install_interrupt (void (*callback) (gpointer data), gpointer data, gboolean *interrupted)
 {
-       return mono_threads_core_prepare_interrupt (thread_handle);
+       MonoThreadInfo *info;
+       MonoThreadInfoInterruptToken *previous_token, *token;
+
+       g_assert (callback);
+
+       g_assert (interrupted);
+       *interrupted = FALSE;
+
+       info = mono_thread_info_current ();
+       g_assert (info);
+
+       /* The memory of this token can be freed at 2 places:
+        *  - if the token is not interrupted: it will be freed in uninstall, as info->interrupt_token has not been replaced
+        *     by the INTERRUPT_STATE flag value, and it still contains the pointer to the memory location
+        *  - if the token is interrupted: it will be freed in finish, as the token is now owned by the prepare/finish
+        *     functions, and info->interrupt_token does not contains a pointer to the memory anymore */
+       token = g_new0 (MonoThreadInfoInterruptToken, 1);
+       token->callback = callback;
+       token->data = data;
+
+       previous_token = InterlockedCompareExchangePointer ((gpointer*) &info->interrupt_token, token, NULL);
+
+       if (previous_token) {
+               if (previous_token != INTERRUPT_STATE)
+                       g_error ("mono_thread_info_install_interrupt: previous_token should be INTERRUPT_STATE (%p), but it was %p", INTERRUPT_STATE, previous_token);
+
+               g_free (token);
+
+               *interrupted = TRUE;
+       }
+
+       THREADS_INTERRUPT_DEBUG ("interrupt install    tid %p token %p previous_token %p interrupted %s\n",
+               mono_thread_info_get_tid (info), token, previous_token, *interrupted ? "TRUE" : "FALSE");
 }
 
 void
-mono_thread_info_finish_interrupt (gpointer wait_handle)
+mono_thread_info_uninstall_interrupt (gboolean *interrupted)
 {
-       mono_threads_core_finish_interrupt (wait_handle);
+       MonoThreadInfo *info;
+       MonoThreadInfoInterruptToken *previous_token;
+
+       g_assert (interrupted);
+       *interrupted = FALSE;
+
+       info = mono_thread_info_current ();
+       g_assert (info);
+
+       previous_token = InterlockedExchangePointer ((gpointer*) &info->interrupt_token, NULL);
+
+       /* only the installer can uninstall the token */
+       g_assert (previous_token);
+
+       if (previous_token == INTERRUPT_STATE) {
+               /* if it is interrupted, then it is going to be freed in finish interrupt */
+               *interrupted = TRUE;
+       } else {
+               g_free (previous_token);
+       }
+
+       THREADS_INTERRUPT_DEBUG ("interrupt uninstall  tid %p previous_token %p interrupted %s\n",
+               mono_thread_info_get_tid (info), previous_token, *interrupted ? "TRUE" : "FALSE");
+}
+
+static MonoThreadInfoInterruptToken*
+set_interrupt_state (MonoThreadInfo *info)
+{
+       MonoThreadInfoInterruptToken *token, *previous_token;
+
+       g_assert (info);
+
+       /* Atomically obtain the token the thread is
+       * waiting on, and change it to a flag value. */
+
+       do {
+               previous_token = info->interrupt_token;
+
+               /* Already interrupted */
+               if (previous_token == INTERRUPT_STATE) {
+                       token = NULL;
+                       break;
+               }
+
+               token = previous_token;
+       } while (InterlockedCompareExchangePointer ((gpointer*) &info->interrupt_token, INTERRUPT_STATE, previous_token) != previous_token);
+
+       return token;
+}
+
+/*
+ * mono_thread_info_prepare_interrupt:
+ *
+ * The state of the thread info interrupt token is set to 'interrupted' which means that :
+ *  - if the thread calls one of the WaitFor functions, the function will return with
+ *     WAIT_IO_COMPLETION instead of waiting
+ *  - if the thread was waiting when this function was called, the wait will be broken
+ *
+ * It is possible that the wait functions return WAIT_IO_COMPLETION, but the target thread
+ * didn't receive the interrupt signal yet, in this case it should call the wait function
+ * again. This essentially means that the target thread will busy wait until it is ready to
+ * process the interruption.
+ */
+MonoThreadInfoInterruptToken*
+mono_thread_info_prepare_interrupt (MonoThreadInfo *info)
+{
+       MonoThreadInfoInterruptToken *token;
+
+       token = set_interrupt_state (info);
+
+       THREADS_INTERRUPT_DEBUG ("interrupt prepare    tid %p token %p\n",
+               mono_thread_info_get_tid (info), token);
+
+       return token;
 }
 
 void
-mono_thread_info_interrupt (HANDLE thread_handle)
+mono_thread_info_finish_interrupt (MonoThreadInfoInterruptToken *token)
 {
-       gpointer wait_handle;
+       THREADS_INTERRUPT_DEBUG ("interrupt finish     token %p\n", token);
 
-       wait_handle = mono_thread_info_prepare_interrupt (thread_handle);
-       mono_thread_info_finish_interrupt (wait_handle);
+       if (token == NULL)
+               return;
+
+       g_assert (token->callback);
+
+       token->callback (token->data);
+
+       g_free (token);
 }
-       
+
 void
 mono_thread_info_self_interrupt (void)
 {
-       mono_threads_core_self_interrupt ();
+       MonoThreadInfo *info;
+       MonoThreadInfoInterruptToken *token;
+
+       info = mono_thread_info_current ();
+       g_assert (info);
+
+       token = set_interrupt_state (info);
+       g_assert (!token);
+
+       THREADS_INTERRUPT_DEBUG ("interrupt self       tid %p\n",
+               mono_thread_info_get_tid (info));
+}
+
+/* Clear the interrupted flag of the current thread, set with
+ * mono_thread_info_self_interrupt, so it can wait again */
+void
+mono_thread_info_clear_self_interrupt ()
+{
+       MonoThreadInfo *info;
+       MonoThreadInfoInterruptToken *previous_token;
+
+       info = mono_thread_info_current ();
+       g_assert (info);
+
+       previous_token = InterlockedCompareExchangePointer ((gpointer*) &info->interrupt_token, NULL, INTERRUPT_STATE);
+       g_assert (previous_token == NULL || previous_token == INTERRUPT_STATE);
+
+       THREADS_INTERRUPT_DEBUG ("interrupt clear self tid %p previous_token %p\n", mono_thread_info_get_tid (info), previous_token);
+}
+
+gboolean
+mono_thread_info_is_interrupt_state (MonoThreadInfo *info)
+{
+       g_assert (info);
+       return InterlockedReadPointer ((gpointer*) &info->interrupt_token) == INTERRUPT_STATE;
 }
 
 void
-mono_thread_info_clear_interruption (void)
+mono_thread_info_describe_interrupt_token (MonoThreadInfo *info, GString *text)
 {
-       mono_threads_core_clear_interruption ();
+       g_assert (info);
+
+       if (!InterlockedReadPointer ((gpointer*) &info->interrupt_token))
+               g_string_append_printf (text, "not waiting");
+       else if (InterlockedReadPointer ((gpointer*) &info->interrupt_token) == INTERRUPT_STATE)
+               g_string_append_printf (text, "interrupted state");
+       else
+               g_string_append_printf (text, "waiting");
 }
 
 /* info must be self or be held in a hazard pointer. */
index edbf934ac9bf7321a524a47459231121c00d9f40..d153ca83c4e73635aaaea4cf63e2d080d76a0aed 100644 (file)
@@ -16,6 +16,7 @@
 #include <mono/utils/mono-mutex.h>
 #include <mono/utils/mono-tls.h>
 #include <mono/utils/mono-threads-coop.h>
+#include <mono/utils/mono-threads-api.h>
 
 #include <glib.h>
 #include <config.h>
@@ -117,6 +118,12 @@ and reduce the number of casts drastically.
 #define THREADS_STATE_MACHINE_DEBUG MOSTLY_ASYNC_SAFE_PRINTF
 #endif
 
+#if 1
+#define THREADS_INTERRUPT_DEBUG(...)
+#else
+#define THREADS_INTERRUPT_DEBUG MOSTLY_ASYNC_SAFE_PRINTF
+#endif
+
 /* If this is defined, use the signals backed on Mach. Debug only as signals can't be made usable on OSX. */
 // #define USE_SIGNALS_ON_MACH
 
@@ -138,8 +145,24 @@ and reduce the number of casts drastically.
 #define MONO_THREADS_PLATFORM_REQUIRES_UNIFIED_SUSPEND 0
 #define USE_WINDOWS_BACKEND
 
+#else
+#error "no backend support for current platform"
+#endif /* defined (USE_COOP_GC) */
+
+#if defined (_POSIX_VERSION) || defined (__native_client__)
+#if defined (__MACH__) && !defined (USE_SIGNALS_ON_MACH)
+#define USE_MACH_SYSCALL_ABORT
+#else
+#define USE_POSIX_SYSCALL_ABORT
 #endif
 
+#elif HOST_WIN32
+#define USE_WINDOWS_SYSCALL_ABORT
+
+#else
+#error "no syscall abort support for current platform"
+#endif /* defined (_POSIX_VERSION) || defined (__native_client__) */
+
 enum {
        STATE_STARTING                          = 0x00,
        STATE_RUNNING                           = 0x01,
@@ -170,6 +193,8 @@ typedef enum {
        MONO_SERVICE_REQUEST_SAMPLE = 1,
 } MonoAsyncJob;
 
+typedef struct _MonoThreadInfoInterruptToken MonoThreadInfoInterruptToken;
+
 typedef struct {
        MonoLinkedListSetNode node;
        guint32 small_id; /*Used by hazard pointers */
@@ -191,13 +216,12 @@ typedef struct {
 
        MonoSemType resume_semaphore;
 
-       /* only needed by the posix backend */ 
-#if defined(USE_POSIX_BACKEND)
+       /* only needed by the posix backend */
+#if defined(USE_POSIX_BACKEND) || defined(USE_POSIX_SYSCALL_ABORT)
        MonoSemType finish_resume_semaphore;
        gboolean syscall_break_signal;
        gboolean suspend_can_continue;
        int signal;
-
 #endif
 
        /*In theory, only the posix backend needs this, but having it on mach/win32 simplifies things a lot.*/
@@ -243,6 +267,8 @@ typedef struct {
        volatile gint32 service_requests;
 
        void *jit_data;
+
+       MonoThreadInfoInterruptToken *interrupt_token;
 } MonoThreadInfo;
 
 typedef struct {
@@ -270,6 +296,7 @@ typedef struct {
        void (*setup_async_callback) (MonoContext *ctx, void (*async_cb)(void *fun), gpointer user_data);
        gboolean (*thread_state_init_from_sigctx) (MonoThreadUnwindState *state, void *sigctx);
        gboolean (*thread_state_init_from_handle) (MonoThreadUnwindState *tctx, MonoThreadInfo *info);
+       void (*thread_state_init) (MonoThreadUnwindState *tctx);
 } MonoThreadInfoRuntimeCallbacks;
 
 //Not using 0 and 1 to ensure callbacks are not returning bad data
@@ -401,20 +428,29 @@ mono_thread_info_exit (void);
 HANDLE
 mono_thread_info_open_handle (void);
 
-gpointer
-mono_thread_info_prepare_interrupt (HANDLE thread_handle);
+void
+mono_thread_info_install_interrupt (void (*callback) (gpointer data), gpointer data, gboolean *interrupted);
 
 void
-mono_thread_info_finish_interrupt (gpointer wait_handle);
+mono_thread_info_uninstall_interrupt (gboolean *interrupted);
+
+MonoThreadInfoInterruptToken*
+mono_thread_info_prepare_interrupt (THREAD_INFO_TYPE *info);
 
 void
-mono_thread_info_interrupt (HANDLE thread_handle);
+mono_thread_info_finish_interrupt (MonoThreadInfoInterruptToken *token);
 
 void
 mono_thread_info_self_interrupt (void);
 
 void
-mono_thread_info_clear_interruption (void);
+mono_thread_info_clear_self_interrupt (void);
+
+gboolean
+mono_thread_info_is_interrupt_state (THREAD_INFO_TYPE *info);
+
+void
+mono_thread_info_describe_interrupt_token (THREAD_INFO_TYPE *info, GString *text);
 
 gboolean
 mono_thread_info_is_live (THREAD_INFO_TYPE *info);
@@ -451,28 +487,6 @@ mono_threads_pthread_kill (THREAD_INFO_TYPE *info, int signum);
 
 #endif /* !defined(HOST_WIN32) */
 
-/* Plartform specific functions DON'T use them */
-void mono_threads_init_platform (void); //ok
-gboolean mono_threads_core_suspend (THREAD_INFO_TYPE *info, gboolean interrupt_kernel);
-gboolean mono_threads_core_resume (THREAD_INFO_TYPE *info);
-void mono_threads_platform_register (THREAD_INFO_TYPE *info); //ok
-void mono_threads_platform_free (THREAD_INFO_TYPE *info);
-void mono_threads_core_interrupt (THREAD_INFO_TYPE *info);
-void mono_threads_core_abort_syscall (THREAD_INFO_TYPE *info);
-gboolean mono_threads_core_needs_abort_syscall (void);
-HANDLE mono_threads_core_create_thread (LPTHREAD_START_ROUTINE start, gpointer arg, guint32 stack_size, guint32 creation_flags, MonoNativeThreadId *out_tid);
-void mono_threads_core_resume_created (THREAD_INFO_TYPE *info, MonoNativeThreadId tid);
-void mono_threads_core_get_stack_bounds (guint8 **staddr, size_t *stsize);
-gboolean mono_threads_core_yield (void);
-void mono_threads_core_exit (int exit_code);
-void mono_threads_core_unregister (THREAD_INFO_TYPE *info);
-HANDLE mono_threads_core_open_handle (void);
-HANDLE mono_threads_core_open_thread_handle (HANDLE handle, MonoNativeThreadId tid);
-void mono_threads_core_set_name (MonoNativeThreadId tid, const char *name);
-
-void mono_threads_core_begin_global_suspend (void);
-void mono_threads_core_end_global_suspend (void);
-
 /* Internal API between mono-threads and its backends. */
 
 /* Backend functions - a backend must implement all of the following */
@@ -482,6 +496,8 @@ This is called very early in the runtime, it cannot access any runtime facilitie
 */
 void mono_threads_init_platform (void); //ok
 
+void mono_threads_init_abort_syscall (void);
+
 /*
 This begins async suspend. This function must do the following:
 
@@ -523,10 +539,9 @@ void mono_threads_core_unregister (THREAD_INFO_TYPE *info);
 HANDLE mono_threads_core_open_handle (void);
 HANDLE mono_threads_core_open_thread_handle (HANDLE handle, MonoNativeThreadId tid);
 void mono_threads_core_set_name (MonoNativeThreadId tid, const char *name);
-gpointer mono_threads_core_prepare_interrupt (HANDLE thread_handle);
-void mono_threads_core_finish_interrupt (gpointer wait_handle);
-void mono_threads_core_self_interrupt (void);
-void mono_threads_core_clear_interruption (void);
+
+void mono_threads_core_begin_global_suspend (void);
+void mono_threads_core_end_global_suspend (void);
 
 MonoNativeThreadId mono_native_thread_id_get (void);
 
@@ -617,6 +632,7 @@ gboolean mono_thread_info_is_running (THREAD_INFO_TYPE *info);
 gboolean mono_thread_info_is_live (THREAD_INFO_TYPE *info);
 int mono_thread_info_suspend_count (THREAD_INFO_TYPE *info);
 int mono_thread_info_current_state (THREAD_INFO_TYPE *info);
+const char* mono_thread_state_name (int state);
 
 gboolean mono_thread_info_in_critical_location (THREAD_INFO_TYPE *info);
 gboolean mono_thread_info_begin_suspend (THREAD_INFO_TYPE *info, gboolean interrupt_kernel);
index 6954d751d5eb0c4f47b9f05622a92e00a9609d7a..a8b3ce55cce59f500ebfdf52e5bc6da651d8350a 100644 (file)
@@ -451,7 +451,7 @@ typedef
 
 #if defined(PLAT_amd64_win64) && !defined(__GNUC__)
 
-#error Unsupported compiler.
+//#error Unsupported compiler.
 
 #endif /* PLAT_amd64_win64 */
 
index b1692556f80b275d93911a9097be4e230f06f122..b3d0229f79d09827dabf9277216c18ab9caae03a 100644 (file)
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\lib\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\lib\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\lib\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\lib\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
index 4b2af22d19036e17be43016de27653b2d5f04976..001463f7af21b3eadd9fc8e0a0516b34bb01a61a 100644 (file)
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\bin\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\bin\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\bin\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\bin\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
   </PropertyGroup>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>eglib.lib;libmonoutils.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <SuppressStartupBanner>true</SuppressStartupBanner>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>eglib.lib;libmonoutils.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <SuppressStartupBanner>true</SuppressStartupBanner>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>eglib.lib;libmonoutils.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <SuppressStartupBanner>true</SuppressStartupBanner>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <SubSystem>Console</SubSystem>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>eglib.lib;libmonoutils.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <SuppressStartupBanner>true</SuppressStartupBanner>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <SubSystem>Console</SubSystem>\r
   <ItemGroup>\r
     <ProjectReference Include="eglib.vcxproj">\r
       <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>\r
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+      <Private>false</Private>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
     </ProjectReference>\r
   </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
index d3dd9ffd2fa8c2687bcf7a2b92fc9837c9e27871..2be0904f02ff1167dd55961a015e7ff56cc5b356 100644 (file)
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\lib\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\lib\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\lib\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\lib\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\lib\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
index 925a6158311bc2b4253c34945cc98c3a90759464..d7f4e0787414dc902e880f04a0be6cfc8fe76f30 100644 (file)
@@ -38,6 +38,7 @@
   <ItemGroup>\r
     <ClCompile Include="..\mono\metadata\remoting.c" />\r
     <ClCompile Include="..\mono\mini\alias-analysis.c" />\r
+    <ClCompile Include="..\mono\mini\arch-stubs.c" />\r
     <ClCompile Include="..\mono\mini\exceptions-amd64.c">\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">true</ExcludedFromBuild>\r
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">monosgen-2.0</TargetName>\r
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|x64'">mono-2.0</TargetName>\r
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">monosgen-2.0</TargetName>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\bin\</OutDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\</OutDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\bin\</OutDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\</OutDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\bin\</OutDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\</OutDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\bin\</OutDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>libgc.lib;libmonoruntime.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <ModuleDefinitionFile>mono.def</ModuleDefinitionFile>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
       <DataExecutionPrevention>\r
       </DataExecutionPrevention>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <ProgramDatabaseFile>$(TargetDir)$(TargetName).pdb</ProgramDatabaseFile>\r
     </Link>\r
+    <PostBuildEvent>\r
+      <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>\r
+    </PostBuildEvent>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">\r
     <PreBuildEvent>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>libmonoruntimesgen.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <ModuleDefinitionFile>monosgen.def</ModuleDefinitionFile>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
       <DataExecutionPrevention>\r
       </DataExecutionPrevention>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <ProgramDatabaseFile>$(TargetDir)$(TargetName).pdb</ProgramDatabaseFile>\r
     </Link>\r
+    <PostBuildEvent>\r
+      <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>\r
+    </PostBuildEvent>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
     <PreBuildEvent>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>libgc.lib;libmonoruntime.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <ModuleDefinitionFile>mono.def</ModuleDefinitionFile>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <TargetMachine>MachineX64</TargetMachine>\r
     </Link>\r
+    <PostBuildEvent>\r
+      <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>\r
+    </PostBuildEvent>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">\r
     <PreBuildEvent>\r
     <Link>\r
       <AdditionalDependencies>libgc.lib;libmonoruntimesgen.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
-      <ModuleDefinitionFile>monosgen64.def</ModuleDefinitionFile>\r
+      <ModuleDefinitionFile>monosgen.def</ModuleDefinitionFile>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <TargetMachine>MachineX64</TargetMachine>\r
     </Link>\r
+    <PostBuildEvent>\r
+      <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>\r
+    </PostBuildEvent>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
     <PreBuildEvent>\r
       <FunctionLevelLinking>true</FunctionLevelLinking>\r
       <PrecompiledHeader>\r
       </PrecompiledHeader>\r
-      <PrecompiledHeaderOutputFile>.\Release/libmono.pch</PrecompiledHeaderOutputFile>\r
+      <PrecompiledHeaderOutputFile>\r
+      </PrecompiledHeaderOutputFile>\r
       <CompileAs>CompileAsC</CompileAs>\r
     </ClCompile>\r
     <ResourceCompile>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>libgc.lib;libmonoruntime.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <ModuleDefinitionFile>mono.def</ModuleDefinitionFile>\r
       <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
       <DataExecutionPrevention>\r
       </DataExecutionPrevention>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
     </Link>\r
+    <PostBuildEvent>\r
+      <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>\r
+    </PostBuildEvent>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">\r
     <PreBuildEvent>\r
       <FunctionLevelLinking>true</FunctionLevelLinking>\r
       <PrecompiledHeader>\r
       </PrecompiledHeader>\r
-      <PrecompiledHeaderOutputFile>.\Release/libmono.pch</PrecompiledHeaderOutputFile>\r
+      <PrecompiledHeaderOutputFile>\r
+      </PrecompiledHeaderOutputFile>\r
       <CompileAs>CompileAsC</CompileAs>\r
     </ClCompile>\r
     <ResourceCompile>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>libgc.lib;libmonoruntimesgen.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <ModuleDefinitionFile>monosgen.def</ModuleDefinitionFile>\r
       <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
       <DataExecutionPrevention>\r
       </DataExecutionPrevention>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <ProgramDatabaseFile>$(TargetDir)$(TargetName).pdb</ProgramDatabaseFile>\r
     </Link>\r
+    <PostBuildEvent>\r
+      <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>\r
+    </PostBuildEvent>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
     <PreBuildEvent>\r
       <FunctionLevelLinking>true</FunctionLevelLinking>\r
       <PrecompiledHeader>\r
       </PrecompiledHeader>\r
-      <PrecompiledHeaderOutputFile>.\Release/libmono.pch</PrecompiledHeaderOutputFile>\r
+      <PrecompiledHeaderOutputFile>\r
+      </PrecompiledHeaderOutputFile>\r
       <CompileAs>CompileAsC</CompileAs>\r
     </ClCompile>\r
     <ResourceCompile>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>libgc.lib;libmonoruntime.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <ModuleDefinitionFile>mono.def</ModuleDefinitionFile>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <TargetMachine>MachineX64</TargetMachine>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
     </Link>\r
+    <PostBuildEvent>\r
+      <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>\r
+    </PostBuildEvent>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">\r
     <PreBuildEvent>\r
       <FunctionLevelLinking>true</FunctionLevelLinking>\r
       <PrecompiledHeader>\r
       </PrecompiledHeader>\r
-      <PrecompiledHeaderOutputFile>.\Release/libmono.pch</PrecompiledHeaderOutputFile>\r
+      <PrecompiledHeaderOutputFile>\r
+      </PrecompiledHeaderOutputFile>\r
       <CompileAs>CompileAsC</CompileAs>\r
     </ClCompile>\r
     <ResourceCompile>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>libgc.lib;libmonoruntimesgen.lib;libmonoutils.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
-      <ModuleDefinitionFile>monosgen64.def</ModuleDefinitionFile>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ModuleDefinitionFile>monosgen.def</ModuleDefinitionFile>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <TargetMachine>MachineX64</TargetMachine>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
     </Link>\r
+    <PostBuildEvent>\r
+      <Command>xcopy /F /Y "$(SolutionDir)..\mono\cil\opcode.def" "$(SolutionDir)include\mono\cil\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\mini\jit.h" "$(SolutionDir)include\mono\jit\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\metadata\*.h" "$(SolutionDir)include\mono\metadata\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-counters.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-dl-fallback.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-error.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-logger.h" "$(SolutionDir)include\mono\utils\"\r
+xcopy /F /Y "$(SolutionDir)..\mono\utils\mono-publib.h" "$(SolutionDir)include\mono\utils\"</Command>\r
+    </PostBuildEvent>\r
   </ItemDefinitionGroup>\r
   <ItemGroup>\r
     <CustomBuildStep Include="..\mono\mini\mini-x86.h">\r
   <ItemGroup>\r
     <ProjectReference Include="eglib.vcxproj">\r
       <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>\r
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
-    </ProjectReference>\r
-    <ProjectReference Include="genmdesc.vcxproj">\r
-      <Project>{b7098dfa-31e6-4006-8a15-1c9a4e925149}</Project>\r
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+      <Private>false</Private>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
     </ProjectReference>\r
     <ProjectReference Include="libgc.vcxproj">\r
       <Project>{eb56000b-c80b-4e8b-908d-d84d31b517d3}</Project>\r
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <Private>false</Private>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
+    </ProjectReference>\r
+    <ProjectReference Include="libmonoruntime.vcxproj">\r
+      <Project>{c36612bd-22d3-4b95-85e2-7fdc4fc5d739}</Project>\r
+      <Private>false</Private>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
+    </ProjectReference>\r
+    <ProjectReference Include="libmonoutils.vcxproj">\r
+      <Project>{8fc2b0c8-51ad-49df-851f-5d01a77a75e4}</Project>\r
+      <Private>false</Private>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
     </ProjectReference>\r
   </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
index 84ed279abfc550bf76a7a46a09958757ed9d2074..c2791b7f497c0832067bef443cd24e6ce5f76396 100644 (file)
     <ClCompile Include="..\mono\metadata\mono-basic-block.c" />\r
     <ClCompile Include="..\mono\metadata\mono-config.c" />\r
     <ClCompile Include="..\mono\metadata\mono-config-dirs.c" />\r
-    <ClCompile Include="..\mono\metadata\mono-cq.c" />\r
     <ClCompile Include="..\mono\metadata\mono-debug.c" />\r
     <ClCompile Include="..\mono\metadata\mono-endian.c" />\r
     <ClCompile Include="..\mono\metadata\mono-hash.c" />\r
     <ClCompile Include="..\mono\metadata\mono-mlist.c" />\r
     <ClCompile Include="..\mono\metadata\mono-perfcounters.c" />\r
-    <ClCompile Include="..\mono\metadata\mono-wsq.c" />\r
     <ClCompile Include="..\mono\metadata\nacl-stub.c" />\r
     <ClCompile Include="..\mono\metadata\null-gc.c" />\r
     <ClCompile Include="..\mono\metadata\number-ms.c" />\r
     <ClCompile Include="..\mono\sgen\sgen-debug.c" />\r
     <ClCompile Include="..\mono\sgen\sgen-descriptor.c" />\r
     <ClCompile Include="..\mono\sgen\sgen-gc.c" />\r
+    <ClCompile Include="..\mono\sgen\sgen-gchandles.c" />\r
     <ClCompile Include="..\mono\sgen\sgen-gray.c" />\r
     <ClCompile Include="..\mono\sgen\sgen-hash-table.c" />\r
     <ClCompile Include="..\mono\sgen\sgen-internal.c" />\r
     <ClCompile Include="..\mono\metadata\socket-io.c" />\r
     <ClCompile Include="..\mono\metadata\string-icalls.c" />\r
     <ClCompile Include="..\mono\metadata\sysmath.c" />\r
-    <ClCompile Include="..\mono\metadata\threadpool.c" />\r
-    <ClCompile Include="..\mono\metadata\tpool-poll.c" />\r
     <ClCompile Include="..\mono\metadata\threads.c" />\r
     <ClCompile Include="..\mono\metadata\verify.c" />\r
     <ClCompile Include="..\mono\mini\mini-cross-helpers.c" />\r
     <ClInclude Include="..\mono\metadata\mono-basic-block.h" />\r
     <ClInclude Include="..\mono\metadata\mono-config.h" />\r
     <ClInclude Include="..\mono\metadata\mono-config-dirs.h" />\r
-    <ClInclude Include="..\mono\metadata\mono-cq.h" />\r
     <ClInclude Include="..\mono\metadata\mono-debug-debugger.h" />\r
     <ClInclude Include="..\mono\metadata\mono-debug.h" />\r
     <ClInclude Include="..\mono\metadata\mono-endian.h" />\r
     <ClInclude Include="..\mono\metadata\mono-perfcounters-def.h" />\r
     <ClInclude Include="..\mono\metadata\mono-perfcounters.h" />\r
     <ClInclude Include="..\mono\metadata\mono-ptr-array.h" />\r
-    <ClInclude Include="..\mono\metadata\mono-wsq.h" />\r
     <ClInclude Include="..\mono\metadata\normalization-tables.h" />\r
     <ClInclude Include="..\mono\metadata\number-formatter.h" />\r
     <ClInclude Include="..\mono\metadata\object-internals.h" />\r
     <ClInclude Include="..\mono\metadata\string-icalls.h" />\r
     <ClInclude Include="..\mono\metadata\sysmath.h" />\r
     <ClInclude Include="..\mono\metadata\tabledefs.h" />\r
-    <ClInclude Include="..\mono\metadata\threadpool-internals.h" />\r
-    <ClInclude Include="..\mono\metadata\threadpool.h" />\r
     <ClInclude Include="..\mono\metadata\threads-types.h" />\r
     <ClInclude Include="..\mono\metadata\verify-internals.h" />\r
     <ClInclude Include="..\mono\metadata\verify.h" />\r
   </ImportGroup>\r
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
-    <OutDir>$(Platform)\lib\</OutDir>\r
+    <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
   </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">\r
-    <OutDir>$(Platform)\lib\</OutDir>\r
+    <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <TargetName>$(ProjectName)sgen</TargetName>\r
   </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
-    <OutDir>$(Platform)\lib\</OutDir>\r
+    <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
   </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">\r
-    <OutDir>$(Platform)\lib\</OutDir>\r
+    <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <TargetName>$(ProjectName)sgen</TargetName>\r
   </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
-    <OutDir>$(Platform)\lib\</OutDir>\r
+    <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
   </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">\r
-    <OutDir>$(Platform)\lib\</OutDir>\r
+    <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <TargetName>$(ProjectName)sgen</TargetName>\r
   </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
-    <OutDir>$(Platform)\lib\</OutDir>\r
+    <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
   </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">\r
-    <OutDir>$(Platform)\lib\</OutDir>\r
+    <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <TargetName>$(ProjectName)sgen</TargetName>\r
   </PropertyGroup>\r
       <Optimization>Disabled</Optimization>\r
       <PreprocessorDefinitions>WIN32;$(BOEHM_DEFINES);_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <AdditionalIncludeDirectories>$(top_srcdir);$(top_srcdir)/mono;$(LIBGC_CPPFLAGS_INCLUDE);$(GLIB_CFLAGS_INCLUDE)</AdditionalIncludeDirectories>\r
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
     </ClCompile>\r
     <Link>\r
       <SubSystem>Windows</SubSystem>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
   <ImportGroup Label="ExtensionTargets">\r
   </ImportGroup>\r
-</Project>\r
+</Project>
\ No newline at end of file
index 52e3dc4bc47fa8e341b87e8c279c8dfa56b647af..939f52048d73e8025bf515d850da7fb8096683c0 100644 (file)
     <ClCompile Include="..\mono\utils\mono-stdlib.c" />\r
     <ClCompile Include="..\mono\utils\mono-threads-mach.c" />\r
     <ClCompile Include="..\mono\utils\mono-threads-posix.c" />\r
+    <ClCompile Include="..\mono\utils\mono-threads-posix-signals.c" />\r
     <ClCompile Include="..\mono\utils\mono-threads-windows.c" />\r
     <ClCompile Include="..\mono\utils\mono-threads.c" />\r
+    <ClCompile Include="..\mono\utils\mono-threads-posix-abort-syscall.c" />\r
+    <ClCompile Include="..\mono\utils\mono-threads-mach-abort-syscall.c" />\r
+    <ClCompile Include="..\mono\utils\mono-threads-windows-abort-syscall.c" />\r
     <ClCompile Include="..\mono\utils\mono-time.c" />\r
     <ClCompile Include="..\mono\utils\mono-tls.c" />\r
     <ClCompile Include="..\mono\utils\mono-uri.c" />\r
     <ClInclude Include="..\mono\utils\mono-stdlib.h" />\r
     <ClInclude Include="..\mono\utils\mono-string.h" />\r
     <ClInclude Include="..\mono\utils\mono-threads.h" />\r
+    <ClCompile Include="..\mono\utils\mono-threads-posix-signals.h" />\r
     <ClInclude Include="..\mono\utils\mono-time.h" />\r
     <ClInclude Include="..\mono\utils\mono-tls.h" />\r
     <ClInclude Include="..\mono\utils\mono-uri.h" />\r
   </PropertyGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />\r
   <ImportGroup Label="ExtensionSettings">\r
-    <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.props" />\r
+    <Import Project=".\masm.fixed.props" />\r
   </ImportGroup>\r
   <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
-    <OutDir>$(Platform)\lib\</OutDir>\r
+    <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
   </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
-    <OutDir>$(Platform)\lib\</OutDir>\r
+    <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
   </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
-    <OutDir>$(Platform)\lib\</OutDir>\r
+    <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
   </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">\r
-    <OutDir>$(Platform)\lib\</OutDir>\r
+    <OutDir>$(Platform)\lib\$(Configuration)\</OutDir>\r
     <IntDir>$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
   </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
   <ImportGroup Label="ExtensionTargets">\r
     <Import Project="$(VCTargetsPath)\BuildCustomizations\masm.targets" />\r
   </ImportGroup>\r
-</Project>
\ No newline at end of file
+</Project>\r
index 49eba7f2e5abc997d7cd0d422a214c77e0080a9f..64aaae18a4a7460a573e0c5dcb51fab88bf6251d 100644 (file)
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>\r
   </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>eglib.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Windows</SubSystem>\r
       <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
       <DataExecutionPrevention>\r
       </DataExecutionPrevention>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <TargetMachine>MachineX86</TargetMachine>\r
     </Link>\r
   </ItemDefinitionGroup>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>eglib.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Windows</SubSystem>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <TargetMachine>MachineX64</TargetMachine>\r
     </Link>\r
   </ItemDefinitionGroup>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>eglib.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Windows</SubSystem>\r
       <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
       <DataExecutionPrevention>\r
       </DataExecutionPrevention>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <TargetMachine>MachineX86</TargetMachine>\r
     </Link>\r
   </ItemDefinitionGroup>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>eglib.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Windows</SubSystem>\r
       <OptimizeReferences>true</OptimizeReferences>\r
       <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <TargetMachine>MachineX64</TargetMachine>\r
     </Link>\r
   </ItemDefinitionGroup>\r
   <ItemGroup>\r
     <ProjectReference Include="eglib.vcxproj">\r
       <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>\r
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <Private>false</Private>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
     </ProjectReference>\r
   </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
diff --git a/msvc/masm.fixed.props b/msvc/masm.fixed.props
new file mode 100644 (file)
index 0000000..4bfa792
--- /dev/null
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup
+    Condition="'$(MASMBeforeTargets)' == '' and '$(MASMAfterTargets)' == '' and '$(ConfigurationType)' != 'Makefile'">
+    <MASMBeforeTargets>Midl</MASMBeforeTargets>
+    <MASMAfterTargets>CustomBuild</MASMAfterTargets>
+  </PropertyGroup>
+  <ItemDefinitionGroup>
+    <MASM>
+      <NoLogo>true</NoLogo>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ObjectFileName>$(IntDir)%(FileName).obj</ObjectFileName>
+      <PreserveIdentifierCase>0</PreserveIdentifierCase>
+      <WarningLevel>3</WarningLevel>
+      <PackAlignmentBoundary>0</PackAlignmentBoundary>
+      <CallingConvention>0</CallingConvention>
+      <ErrorReporting>0</ErrorReporting>
+      <CommandLineTemplate Condition="'$(Platform)' == 'Win32'">"$(VCInstallDir)bin\ml.exe" /c [AllOptions] [AdditionalOptions] /Ta[Inputs]</CommandLineTemplate>
+      <CommandLineTemplate Condition="'$(Platform)' == 'X64'">"$(VCInstallDir)bin\ml64.exe" /c [AllOptions] [AdditionalOptions] /Ta[Inputs]</CommandLineTemplate>
+      <CommandLineTemplate Condition="'$(Platform)' != 'Win32' and '$(Platform)' != 'X64'">echo MASM not supported on this platform</CommandLineTemplate>
+      <ExecutionDescription>Assembling %(Identity)...</ExecutionDescription>
+    </MASM>
+  </ItemDefinitionGroup>
+</Project>
index d98ead82b479a38b8a48d2d14c84825fb4a28c8e..97aa760a07e65fd67418ee0d363a6a711c28c060 100644 (file)
@@ -317,8 +317,6 @@ mono_g_hash_table_foreach_remove
 mono_g_hash_table_insert
 mono_g_hash_table_lookup
 mono_g_hash_table_lookup_extended
-mono_g_hash_table_new
-mono_g_hash_table_new_full
 mono_g_hash_table_new_type
 mono_g_hash_table_print_stats
 mono_g_hash_table_remove
@@ -472,9 +470,6 @@ mono_install_assembly_refonly_preload_hook
 mono_install_assembly_refonly_search_hook
 mono_install_assembly_search_hook
 mono_install_runtime_cleanup
-mono_install_threadpool_item_hooks
-mono_install_threadpool_thread_hooks
-mono_install_unhandled_exception_hook
 mono_invoke_unhandled_exception_hook
 mono_is_debugger_attached
 mono_jit_cleanup
@@ -829,11 +824,9 @@ mono_thread_detach_if_exiting
 mono_thread_exit
 mono_thread_get_main
 mono_thread_get_undeniable_exception
-mono_thread_info_clear_interruption
 mono_thread_info_exit
 mono_thread_info_finish_interrupt
 mono_thread_info_get_stack_bounds
-mono_thread_info_interrupt
 mono_thread_info_open_handle
 mono_thread_info_prepare_interrupt
 mono_thread_info_self_interrupt
@@ -847,10 +840,6 @@ mono_thread_set_main
 mono_thread_set_manage_callback
 mono_thread_stop
 mono_threads_attach_tools_thread
-mono_threads_core_clear_interruption
-mono_threads_core_finish_interrupt
-mono_threads_core_prepare_interrupt
-mono_threads_core_self_interrupt
 mono_threads_create_thread
 mono_threads_get_default_stacksize
 mono_threads_request_thread_dump
@@ -904,4 +893,3 @@ mono_win32_compat_CopyMemory
 mono_win32_compat_FillMemory
 mono_win32_compat_MoveMemory
 mono_win32_compat_ZeroMemory
-mono_xdebug_flush
index 3ecf25bff1e7ea2cac166a736f947f6a5ce88391..84edfbbe9333ad20aba79b038b5ad20c425c1397 100644 (file)
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\</OutDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\</OutDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\</OutDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\</OutDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\bin\$(Configuration)</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\bin\$(Configuration)</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\bin\$(Configuration)</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)</OutDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\bin\$(Configuration)</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)</IntDir>\r
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Release_SGen|Win32'">$(ProjectName)-sgen</TargetName>\r
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug_SGen|Win32'">$(ProjectName)-sgen</TargetName>\r
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Release_SGen|x64'">$(ProjectName)-sgen</TargetName>\r
     </ClCompile>\r
     <ProjectReference />\r
     <Link>\r
-      <AdditionalDependencies>mono-2.0.lib;libgc.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
     </ClCompile>\r
     <ProjectReference />\r
     <Link>\r
-      <AdditionalDependencies>monosgen-2.0.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>mono-2.0.lib;libgc.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>mono-2.0.lib;libgc.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <SubSystem>Console</SubSystem>\r
       <OptimizeReferences>true</OptimizeReferences>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>monosgen-2.0.lib;libgc.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>mono-2.0.lib;libgc.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
   <ItemGroup>\r
     <ProjectReference Include="eglib.vcxproj">\r
       <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>\r
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <Private>false</Private>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
     </ProjectReference>\r
     <ProjectReference Include="libmono.vcxproj">\r
       <Project>{cb0d9e92-293c-439c-9ac7-c5f59b6e0771}</Project>\r
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <Private>false</Private>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
     </ProjectReference>\r
   </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
index b4b2c4e5d80ff5c1a97820c2774a9a6a27eabadc..8f6320705186b24a25c3b93159d8454b11718175 100644 (file)
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>\r
   </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
@@ -82,7 +82,7 @@
       <PreprocessorDefinitions>_DEBUG;WIN32;_WINDOWS;__WIN32__;HAVE_CONFIG_H;__i386__;TARGET_X86;HOST_WIN32;TARGET_WIN32;GC_NOT_DLL;GC_GCJ_SUPPORT;GC_WIN32_THREADS;_CRT_SECURE_NO_DEPRECATE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\r
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <BufferSecurityCheck>true</BufferSecurityCheck>\r
       <PrecompiledHeader>\r
       </PrecompiledHeader>\r
index b9cae332c8e15b2f6857590b2f797d5dc4381b44..9a739c622b362a421674251b9cdd62456b6e8b1a 100644 (file)
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>\r
   </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WINDOWS;__WIN32__;HOST_WIN32;TARGET_WIN32;__i386__;TARGET_X86;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\r
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <BufferSecurityCheck>true</BufferSecurityCheck>\r
       <PrecompiledHeader>\r
       </PrecompiledHeader>\r
       <DisableSpecificWarnings>4996;4018;4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
     </ClCompile>\r
     <ProjectReference>\r
-      <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>glib-2.0.lib;gmodule-2.0.lib;ws2_32.lib;gthread-2.0.lib;gobject-2.0.lib;mono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>\r
+      </AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
     <ClCompile>\r
       <Optimization>MinSpace</Optimization>\r
-      <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <BufferSecurityCheck>true</BufferSecurityCheck>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
     </ClCompile>\r
     <ProjectReference>\r
-      <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
       <AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <DataExecutionPrevention>\r
       </DataExecutionPrevention>\r
       <TargetMachine>MachineX86</TargetMachine>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
     </Link>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">\r
     </Midl>\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WINDOWS;__WIN32__;HOST_WIN32;TARGET_WIN32;__i386__;TARGET_X86;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
       <DisableSpecificWarnings>4996;4018;4244;%(DisableSpecificWarnings)</DisableSpecificWarnings>\r
     </ClCompile>\r
     <ProjectReference>\r
-      <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>glib-2.0.lib;gmodule-2.0.lib;ws2_32.lib;gthread-2.0.lib;gobject-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>\r
+      </AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
     </Midl>\r
     <ClCompile>\r
       <Optimization>MinSpace</Optimization>\r
-      <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <BufferSecurityCheck>true</BufferSecurityCheck>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
     </ClCompile>\r
     <ProjectReference>\r
-      <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
       <AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <OptimizeReferences>true</OptimizeReferences>\r
       <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
       <TargetMachine>MachineX64</TargetMachine>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
     </Link>\r
   </ItemDefinitionGroup>\r
   <ItemGroup>\r
     <ClInclude Include="..\mono\dis\util.h" />\r
   </ItemGroup>\r
   <ItemGroup>\r
+    <ProjectReference Include="eglib.vcxproj">\r
+      <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>\r
+      <Private>false</Private>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
+    </ProjectReference>\r
     <ProjectReference Include="libmono.vcxproj">\r
       <Project>{cb0d9e92-293c-439c-9ac7-c5f59b6e0771}</Project>\r
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
     </ProjectReference>\r
   </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
index f77df6ffae81890739e5eadd50d0029204d392c4..962d5bacf515679a4d14793cf9b3ec324692db47 100644 (file)
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>\r
   </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WINDOWS;__WIN32__;HOST_WIN32;TARGET_WIN32;__i386__;TARGET_X86;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
-      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>\r
+      <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>\r
       <BufferSecurityCheck>true</BufferSecurityCheck>\r
       <PrecompiledHeader>\r
       </PrecompiledHeader>\r
@@ -95,7 +95,7 @@
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>glib-2.0.lib;gmodule-2.0.lib;ws2_32.lib;gthread-2.0.lib;gobject-2.0.lib;mono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
     <ClCompile>\r
       <Optimization>MinSpace</Optimization>\r
-      <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <BufferSecurityCheck>true</BufferSecurityCheck>\r
     </Midl>\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WINDOWS;__WIN32__;HOST_WIN32;TARGET_WIN32;__i386__;TARGET_X86;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>glib-2.0.lib;gmodule-2.0.lib;ws2_32.lib;gthread-2.0.lib;gobject-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>ws2_32.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
     </Midl>\r
     <ClCompile>\r
       <Optimization>MinSpace</Optimization>\r
-      <AdditionalIncludeDirectories>..\;..\VSDependancies\include\glib-2.0;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\VSDependancies\lib\glib-2.0\include;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>..\;..\eglib\src;..\mono\;..\mono\jit;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
       <BufferSecurityCheck>true</BufferSecurityCheck>\r
     </Link>\r
   </ItemDefinitionGroup>\r
   <ItemGroup>\r
-    <ClCompile Include="..\mono\monograph\monograph.c" />\r
     <ClCompile Include="..\mono\metadata\opcodes.c" />\r
+    <ClCompile Include="..\tools\monograph\monograph.c" />\r
   </ItemGroup>\r
   <ItemGroup>\r
+    <ProjectReference Include="eglib.vcxproj">\r
+      <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>\r
+      <Private>false</Private>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
+    </ProjectReference>\r
     <ProjectReference Include="libmono.vcxproj">\r
       <Project>{cb0d9e92-293c-439c-9ac7-c5f59b6e0771}</Project>\r
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+      <Private>false</Private>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
     </ProjectReference>\r
   </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
index 8fd2d718c9090383136ee828abc03868c31fd7b1..df216b7622ccae357b321e8ac672676996079786 100644 (file)
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>\r
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">MonoPosixHelper</TargetName>\r
     <TargetName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">MonoPosixHelper</TargetName>\r
@@ -94,7 +94,7 @@
       <CompileAs>CompileAsC</CompileAs>\r
     </ClCompile>\r
     <Link>\r
-      <AdditionalDependencies>$(TargetDir)..\lib\eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>\r
       <ModuleDefinitionFile>monoposixhelper.def</ModuleDefinitionFile>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
       <DataExecutionPrevention>\r
       </DataExecutionPrevention>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <TargetMachine>MachineX86</TargetMachine>\r
     </Link>\r
   </ItemDefinitionGroup>\r
       <ModuleDefinitionFile>monoposixhelper.def</ModuleDefinitionFile>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Windows</SubSystem>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <TargetMachine>MachineX64</TargetMachine>\r
-      <AdditionalDependencies>$(TargetDir)..\lib\eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
     </Link>\r
   </ItemDefinitionGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
       <CompileAs>CompileAsC</CompileAs>\r
     </ClCompile>\r
     <Link>\r
-      <AdditionalDependencies>$(TargetDir)..\lib\eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
       <OutputFile>$(OutDir)$(TargetName)$(TargetExt)</OutputFile>\r
       <ModuleDefinitionFile>monoposixhelper.def</ModuleDefinitionFile>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
       <DataExecutionPrevention>\r
       </DataExecutionPrevention>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <TargetMachine>MachineX86</TargetMachine>\r
     </Link>\r
   </ItemDefinitionGroup>\r
       <SubSystem>Windows</SubSystem>\r
       <OptimizeReferences>true</OptimizeReferences>\r
       <EnableCOMDATFolding>true</EnableCOMDATFolding>\r
-      <ImportLibrary>$(Platform)\lib\$(TargetName).lib</ImportLibrary>\r
+      <ImportLibrary>$(Platform)\lib\$(Configuration)\$(TargetName).lib</ImportLibrary>\r
       <TargetMachine>MachineX64</TargetMachine>\r
-      <AdditionalDependencies>$(TargetDir)..\lib\eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>%(AdditionalDependencies)</AdditionalDependencies>\r
     </Link>\r
   </ItemDefinitionGroup>\r
   <ItemGroup>\r
     <None Include="monoposixhelper.def" />\r
   </ItemGroup>\r
   <ItemGroup>\r
+    <ProjectReference Include="eglib.vcxproj">\r
+      <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>\r
+    </ProjectReference>\r
     <ProjectReference Include="genmdesc.vcxproj">\r
       <Project>{b7098dfa-31e6-4006-8a15-1c9a4e925149}</Project>\r
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
index eb44f062a3faea6fb3254903257c48c375eedffc..215e64142f1f1bcd82fc1549991954e4b191a10b 100644 (file)
@@ -317,8 +317,6 @@ mono_g_hash_table_foreach_remove
 mono_g_hash_table_insert
 mono_g_hash_table_lookup
 mono_g_hash_table_lookup_extended
-mono_g_hash_table_new
-mono_g_hash_table_new_full
 mono_g_hash_table_new_type
 mono_g_hash_table_print_stats
 mono_g_hash_table_remove
@@ -474,8 +472,6 @@ mono_install_assembly_refonly_preload_hook
 mono_install_assembly_refonly_search_hook
 mono_install_assembly_search_hook
 mono_install_runtime_cleanup
-mono_install_threadpool_item_hooks
-mono_install_threadpool_thread_hooks
 mono_install_unhandled_exception_hook
 mono_invoke_unhandled_exception_hook
 mono_is_debugger_attached
@@ -831,11 +827,8 @@ mono_thread_detach_if_exiting
 mono_thread_exit
 mono_thread_get_main
 mono_thread_get_undeniable_exception
-mono_thread_info_clear_interruption
 mono_thread_info_exit
-mono_thread_info_finish_interrupt
 mono_thread_info_get_stack_bounds
-mono_thread_info_interrupt
 mono_thread_info_open_handle
 mono_thread_info_prepare_interrupt
 mono_thread_info_self_interrupt
@@ -849,10 +842,6 @@ mono_thread_set_main
 mono_thread_set_manage_callback
 mono_thread_stop
 mono_threads_attach_tools_thread
-mono_threads_core_clear_interruption
-mono_threads_core_finish_interrupt
-mono_threads_core_prepare_interrupt
-mono_threads_core_self_interrupt
 mono_threads_create_thread
 mono_threads_get_default_stacksize
 mono_threads_request_thread_dump
@@ -906,4 +895,3 @@ mono_win32_compat_CopyMemory
 mono_win32_compat_FillMemory
 mono_win32_compat_MoveMemory
 mono_win32_compat_ZeroMemory
-mono_xdebug_flush
diff --git a/msvc/monosgen64.def b/msvc/monosgen64.def
deleted file mode 100644 (file)
index f77f019..0000000
+++ /dev/null
@@ -1,862 +0,0 @@
-; file generated by create-windef.pl
-LIBRARY monosgen-2.0.dll
-EXPORTS
-MonoFixupCorEE
-mono_add_internal_call
-mono_aot_register_globals
-mono_aot_register_module
-mono_array_addr_with_size
-mono_array_class_get
-mono_array_clone
-mono_array_element_size
-mono_array_length
-mono_array_new
-mono_array_new_full
-mono_array_new_specific
-mono_assemblies_cleanup
-mono_assemblies_init
-mono_assembly_close
-mono_assembly_fill_assembly_name
-mono_assembly_foreach
-mono_assembly_get_assemblyref
-mono_assembly_get_image
-mono_assembly_get_main
-mono_assembly_get_object
-mono_assembly_getrootdir
-mono_assembly_invoke_load_hook
-mono_assembly_invoke_search_hook
-mono_assembly_load
-mono_assembly_load_from
-mono_assembly_load_from_full
-mono_assembly_load_full
-mono_assembly_load_module
-mono_assembly_load_reference
-mono_assembly_load_references
-mono_assembly_load_with_partial_name
-mono_assembly_loaded
-mono_assembly_loaded_full
-mono_assembly_name_free
-mono_assembly_name_get_culture
-mono_assembly_name_get_name
-mono_assembly_name_get_pubkeytoken
-mono_assembly_name_get_version
-mono_assembly_name_new
-mono_assembly_names_equal
-mono_assembly_open
-mono_assembly_open_full
-mono_assembly_set_main
-mono_assembly_setrootdir
-mono_binary_search
-mono_bitset_alloc_size
-mono_bitset_clear
-mono_bitset_clear_all
-mono_bitset_clone
-mono_bitset_copyto
-mono_bitset_count
-mono_bitset_equal
-mono_bitset_find_first
-mono_bitset_find_first_unset
-mono_bitset_find_last
-mono_bitset_find_start
-mono_bitset_foreach
-mono_bitset_free
-mono_bitset_intersection
-mono_bitset_intersection_2
-mono_bitset_invert
-mono_bitset_mem_new
-mono_bitset_new
-mono_bitset_set
-mono_bitset_set_all
-mono_bitset_size
-mono_bitset_sub
-mono_bitset_test
-mono_bitset_test_bulk
-mono_bitset_union
-mono_bounded_array_class_get
-mono_breakpoint_clean_code
-mono_check_corlib_version
-mono_class_array_element_size
-mono_class_data_size
-mono_class_describe_statics
-mono_class_enum_basetype
-mono_class_from_generic_parameter
-mono_class_from_mono_type
-mono_class_from_name
-mono_class_from_name_case
-mono_class_from_typeref
-mono_class_get
-mono_class_get_byref_type
-mono_class_get_com_object_class
-mono_class_get_element_class
-mono_class_get_event_token
-mono_class_get_events
-mono_class_get_field
-mono_class_get_field_from_name
-mono_class_get_field_token
-mono_class_get_fields
-mono_class_get_flags
-mono_class_get_full
-mono_class_get_idispatch_class
-mono_class_get_image
-mono_class_get_interfaces
-mono_class_get_interop_proxy_class
-mono_class_get_iunknown_class
-mono_class_get_method_from_name
-mono_class_get_method_from_name_flags
-mono_class_get_methods
-mono_class_get_name
-mono_class_get_namespace
-mono_class_get_nested_types
-mono_class_get_nesting_type
-mono_class_get_parent
-mono_class_get_properties
-mono_class_get_property_from_name
-mono_class_get_property_token
-mono_class_get_rank
-mono_class_get_type
-mono_class_get_type_token
-mono_class_get_variant_class
-mono_class_implements_interface
-mono_class_inflate_generic_method
-mono_class_inflate_generic_type
-mono_class_init
-mono_class_instance_size
-mono_class_interface_offset
-mono_class_is_assignable_from
-mono_class_is_delegate
-mono_class_is_enum
-mono_class_is_subclass_of
-mono_class_is_valid_enum
-mono_class_is_valuetype
-mono_class_min_align
-mono_class_name_from_token
-mono_class_num_events
-mono_class_num_fields
-mono_class_num_methods
-mono_class_num_properties
-mono_class_value_size
-mono_class_vtable
-mono_cli_rva_image_map
-mono_code_manager_cleanup
-mono_code_manager_commit
-mono_code_manager_destroy
-mono_code_manager_foreach
-mono_code_manager_init
-mono_code_manager_invalidate
-mono_code_manager_new
-mono_code_manager_new_dynamic
-mono_code_manager_reserve
-mono_code_manager_reserve_align
-mono_code_manager_set_read_only
-mono_code_manager_size
-mono_compile_method
-mono_config_cleanup
-mono_config_for_assembly
-mono_config_is_server_mode
-mono_config_parse
-mono_config_parse_memory
-mono_config_set_server_mode
-mono_config_string_for_assembly_file
-mono_context_get
-mono_context_get_desc
-mono_context_init
-mono_context_set
-mono_counters_cleanup
-mono_counters_dump
-mono_counters_enable
-mono_counters_register
-mono_custom_attrs_construct
-mono_custom_attrs_free
-mono_custom_attrs_from_assembly
-mono_custom_attrs_from_class
-mono_custom_attrs_from_event
-mono_custom_attrs_from_field
-mono_custom_attrs_from_index
-mono_custom_attrs_from_method
-mono_custom_attrs_from_param
-mono_custom_attrs_from_property
-mono_custom_attrs_get_attr
-mono_custom_attrs_has_attr
-mono_debug_add_delegate_trampoline
-mono_debug_add_method
-mono_debug_cleanup
-mono_debug_close_image
-mono_debug_close_mono_symbol_file
-mono_debug_domain_create
-mono_debug_domain_unload
-mono_debug_enabled
-mono_debug_find_method
-mono_debug_free_method_jit_info
-mono_debug_free_source_location
-mono_debug_il_offset_from_address
-mono_debug_init
-mono_debug_list_add
-mono_debug_list_remove
-mono_debug_lookup_locals
-mono_debug_lookup_method
-mono_debug_lookup_method_addresses
-mono_debug_lookup_source_location
-mono_debug_open_image_from_memory
-mono_debug_open_mono_symbols
-mono_debug_print_stack_frame
-mono_debug_print_vars
-mono_debug_remove_method
-mono_debug_symfile_free_locals
-mono_debug_symfile_free_location
-mono_debug_symfile_get_line_numbers
-mono_debug_symfile_get_line_numbers_full
-mono_debug_symfile_is_loaded
-mono_debug_symfile_lookup_locals
-mono_debug_symfile_lookup_location
-mono_debug_symfile_lookup_method
-mono_debugger_insert_breakpoint
-mono_debugger_method_has_breakpoint
-mono_debugger_run_finally
-mono_declsec_flags_from_assembly
-mono_declsec_flags_from_class
-mono_declsec_flags_from_method
-mono_declsec_get_assembly_action
-mono_declsec_get_class_action
-mono_declsec_get_demands
-mono_declsec_get_inheritdemands_class
-mono_declsec_get_inheritdemands_method
-mono_declsec_get_linkdemands
-mono_declsec_get_method_action
-mono_digest_get_public_token
-mono_disasm_code
-mono_disasm_code_one
-mono_dl_fallback_register
-mono_dl_fallback_unregister
-mono_dllmap_insert
-mono_domain_add_class_static_data
-mono_domain_assembly_open
-mono_domain_create
-mono_domain_create_appdomain
-mono_domain_finalize
-mono_domain_foreach
-mono_domain_free
-mono_domain_from_appdomain
-mono_domain_get
-mono_domain_get_by_id
-mono_domain_get_id
-mono_domain_has_type_resolve
-mono_domain_is_unloading
-mono_domain_owns_vtable_slot
-mono_domain_set
-mono_domain_set_config
-mono_domain_set_internal
-mono_domain_try_type_resolve
-mono_domain_try_unload
-mono_domain_unload
-mono_dwarf_escape_path
-mono_emit_native_call
-mono_environment_exitcode_get
-mono_environment_exitcode_set
-mono_error_cleanup
-mono_error_get_error_code
-mono_error_get_message
-mono_error_init
-mono_error_init_flags
-mono_error_ok
-mono_escape_uri_string
-mono_event_get_add_method
-mono_event_get_flags
-mono_event_get_name
-mono_event_get_object
-mono_event_get_parent
-mono_event_get_raise_method
-mono_event_get_remove_method
-mono_exception_from_name
-mono_exception_from_name_domain
-mono_exception_from_name_msg
-mono_exception_from_name_two_strings
-mono_exception_from_token
-mono_exception_from_token_two_strings
-mono_exception_walk_trace
-mono_field_from_token
-mono_field_full_name
-mono_field_get_data
-mono_field_get_flags
-mono_field_get_name
-mono_field_get_object
-mono_field_get_offset
-mono_field_get_parent
-mono_field_get_type
-mono_field_get_value
-mono_field_get_value_object
-mono_field_set_value
-mono_field_static_get_value
-mono_field_static_set_value
-mono_file_map
-mono_file_map_close
-mono_file_map_fd
-mono_file_map_open
-mono_file_map_size
-mono_file_unmap
-mono_free
-mono_free_bstr
-mono_free_method
-mono_free_verify_list
-mono_g_hash_table_destroy
-mono_g_hash_table_find
-mono_g_hash_table_foreach
-mono_g_hash_table_foreach_remove
-mono_g_hash_table_insert
-mono_g_hash_table_lookup
-mono_g_hash_table_lookup_extended
-mono_g_hash_table_new
-mono_g_hash_table_new_full
-mono_g_hash_table_new_type
-mono_g_hash_table_print_stats
-mono_g_hash_table_remove
-mono_g_hash_table_replace
-mono_g_hash_table_size
-mono_gc_collect
-mono_gc_collection_count
-mono_gc_get_generation
-mono_gc_get_heap_size
-mono_gc_get_used_size
-mono_gc_invoke_finalizers
-mono_gc_max_generation
-mono_gc_reference_queue_add
-mono_gc_reference_queue_free
-mono_gc_reference_queue_new
-mono_gc_toggleref_add
-mono_gc_toggleref_register_callback
-mono_gc_walk_heap
-mono_gc_wbarrier_arrayref_copy
-mono_gc_wbarrier_generic_nostore
-mono_gc_wbarrier_generic_store
-mono_gc_wbarrier_generic_store_atomic
-mono_gc_wbarrier_object_copy
-mono_gc_wbarrier_set_arrayref
-mono_gc_wbarrier_set_field
-mono_gc_wbarrier_value_copy
-mono_gchandle_free
-mono_gchandle_get_target
-mono_gchandle_new
-mono_gchandle_new_weakref
-mono_get_array_class
-mono_get_boolean_class
-mono_get_byte_class
-mono_get_char_class
-mono_get_config_dir
-mono_get_corlib
-mono_get_dbnull_object
-mono_get_delegate_begin_invoke
-mono_get_delegate_end_invoke
-mono_get_delegate_invoke
-mono_get_double_class
-mono_get_enum_class
-mono_get_exception_appdomain_unloaded
-mono_get_exception_argument
-mono_get_exception_argument_null
-mono_get_exception_argument_out_of_range
-mono_get_exception_arithmetic
-mono_get_exception_array_type_mismatch
-mono_get_exception_bad_image_format
-mono_get_exception_bad_image_format2
-mono_get_exception_cannot_unload_appdomain
-mono_get_exception_class
-mono_get_exception_divide_by_zero
-mono_get_exception_execution_engine
-mono_get_exception_field_access
-mono_get_exception_file_not_found
-mono_get_exception_file_not_found2
-mono_get_exception_index_out_of_range
-mono_get_exception_invalid_cast
-mono_get_exception_invalid_operation
-mono_get_exception_io
-mono_get_exception_method_access
-mono_get_exception_missing_field
-mono_get_exception_missing_method
-mono_get_exception_not_implemented
-mono_get_exception_not_supported
-mono_get_exception_null_reference
-mono_get_exception_out_of_memory
-mono_get_exception_overflow
-mono_get_exception_reflection_type_load
-mono_get_exception_runtime_wrapped
-mono_get_exception_security
-mono_get_exception_serialization
-mono_get_exception_stack_overflow
-mono_get_exception_synchronization_lock
-mono_get_exception_thread_abort
-mono_get_exception_thread_interrupted
-mono_get_exception_thread_state
-mono_get_exception_type_initialization
-mono_get_exception_type_load
-mono_get_inflated_method
-mono_get_int16_class
-mono_get_int32_class
-mono_get_int64_class
-mono_get_intptr_class
-mono_get_machine_config
-mono_get_method
-mono_get_method_constrained
-mono_get_method_full
-mono_get_object_class
-mono_get_root_domain
-mono_get_runtime_build_info
-mono_get_sbyte_class
-mono_get_single_class
-mono_get_string_class
-mono_get_thread_class
-mono_get_trampoline_func
-mono_get_uint16_class
-mono_get_uint32_class
-mono_get_uint64_class
-mono_get_uintptr_class
-mono_get_void_class
-mono_guid_to_string
-mono_image_add_to_name_cache
-mono_image_addref
-mono_image_close
-mono_image_ensure_section
-mono_image_ensure_section_idx
-mono_image_fixup_vtable
-mono_image_get_assembly
-mono_image_get_entry_point
-mono_image_get_filename
-mono_image_get_guid
-mono_image_get_name
-mono_image_get_public_key
-mono_image_get_resource
-mono_image_get_strong_name
-mono_image_get_table_info
-mono_image_get_table_rows
-mono_image_has_authenticode_entry
-mono_image_init
-mono_image_init_name_cache
-mono_image_is_dynamic
-mono_image_load_file_for_image
-mono_image_load_module
-mono_image_loaded
-mono_image_loaded_by_guid
-mono_image_loaded_by_guid_full
-mono_image_loaded_full
-mono_image_lookup_resource
-mono_image_open
-mono_image_open_from_data
-mono_image_open_from_data_full
-mono_image_open_from_data_with_name
-mono_image_open_full
-mono_image_rva_map
-mono_image_strerror
-mono_image_strong_name_position
-mono_images_cleanup
-mono_images_init
-mono_init
-mono_init_from_assembly
-mono_init_version
-mono_inst_name
-mono_install_assembly_load_hook
-mono_install_assembly_postload_refonly_search_hook
-mono_install_assembly_postload_search_hook
-mono_install_assembly_preload_hook
-mono_install_assembly_refonly_preload_hook
-mono_install_assembly_refonly_search_hook
-mono_install_assembly_search_hook
-mono_install_runtime_cleanup
-mono_install_threadpool_item_hooks
-mono_install_threadpool_thread_hooks
-mono_install_unhandled_exception_hook
-mono_invoke_unhandled_exception_hook
-mono_is_debugger_attached
-mono_jit_cleanup
-mono_jit_exec
-mono_jit_info_get_code_size
-mono_jit_info_get_code_start
-mono_jit_info_get_method
-mono_jit_info_table_find
-mono_jit_init
-mono_jit_init_version
-mono_jit_parse_options
-mono_jit_set_aot_only
-mono_jit_set_domain
-mono_jit_set_trace_options
-mono_jit_thread_attach
-mono_ldstr
-mono_ldtoken
-mono_lls_init
-mono_load_remote_field
-mono_load_remote_field_new
-mono_local_deadce
-mono_locks_dump
-mono_lookup_icall_symbol
-mono_lookup_internal_call
-mono_lookup_pinvoke_call
-mono_main
-mono_marshal_string_to_utf16
-mono_md5_final
-mono_md5_get_digest
-mono_md5_get_digest_from_file
-mono_md5_init
-mono_md5_update
-mono_mempool_alloc
-mono_mempool_alloc0
-mono_mempool_contains_addr
-mono_mempool_destroy
-mono_mempool_empty
-mono_mempool_get_allocated
-mono_mempool_invalidate
-mono_mempool_new
-mono_mempool_new_size
-mono_mempool_stats
-mono_mempool_strdup
-mono_metadata_blob_heap
-mono_metadata_cleanup
-mono_metadata_compute_size
-mono_metadata_custom_attrs_from_index
-mono_metadata_declsec_from_index
-mono_metadata_decode_blob_size
-mono_metadata_decode_row
-mono_metadata_decode_row_col
-mono_metadata_decode_signed_value
-mono_metadata_decode_table_row
-mono_metadata_decode_table_row_col
-mono_metadata_decode_value
-mono_metadata_encode_value
-mono_metadata_events_from_typedef
-mono_metadata_field_info
-mono_metadata_field_info_with_mempool
-mono_metadata_free_array
-mono_metadata_free_inflated_signature
-mono_metadata_free_marshal_spec
-mono_metadata_free_method_signature
-mono_metadata_free_mh
-mono_metadata_free_type
-mono_metadata_generic_class_is_valuetype
-mono_metadata_get_constant_index
-mono_metadata_get_generic_param_row
-mono_metadata_get_inflated_signature
-mono_metadata_get_marshal_info
-mono_metadata_guid_heap
-mono_metadata_implmap_from_method
-mono_metadata_init
-mono_metadata_interfaces_from_typedef
-mono_metadata_load_generic_param_constraints
-mono_metadata_load_generic_params
-mono_metadata_locate
-mono_metadata_locate_token
-mono_metadata_methods_from_event
-mono_metadata_methods_from_property
-mono_metadata_nested_in_typedef
-mono_metadata_nesting_typedef
-mono_metadata_packing_from_typedef
-mono_metadata_parse_array
-mono_metadata_parse_custom_mod
-mono_metadata_parse_field_type
-mono_metadata_parse_marshal_spec
-mono_metadata_parse_method_signature
-mono_metadata_parse_method_signature_full
-mono_metadata_parse_mh
-mono_metadata_parse_mh_full
-mono_metadata_parse_param
-mono_metadata_parse_signature
-mono_metadata_parse_type
-mono_metadata_parse_type_full
-mono_metadata_parse_typedef_or_ref
-mono_metadata_properties_from_typedef
-mono_metadata_signature_alloc
-mono_metadata_signature_dup
-mono_metadata_signature_equal
-mono_metadata_string_heap
-mono_metadata_token_from_dor
-mono_metadata_translate_token_index
-mono_metadata_type_equal
-mono_metadata_type_hash
-mono_metadata_typedef_from_field
-mono_metadata_typedef_from_method
-mono_metadata_user_string
-mono_method_body_get_object
-mono_method_can_access_field
-mono_method_can_access_method
-mono_method_desc_free
-mono_method_desc_from_method
-mono_method_desc_full_match
-mono_method_desc_match
-mono_method_desc_new
-mono_method_desc_search_in_class
-mono_method_desc_search_in_image
-mono_method_full_name
-mono_method_get_class
-mono_method_get_flags
-mono_method_get_generic_container
-mono_method_get_header
-mono_method_get_index
-mono_method_get_last_managed
-mono_method_get_marshal_info
-mono_method_get_name
-mono_method_get_object
-mono_method_get_param_names
-mono_method_get_param_token
-mono_method_get_signature
-mono_method_get_signature_full
-mono_method_get_token
-mono_method_get_unmanaged_thunk
-mono_method_has_marshal_info
-mono_method_header_get_clauses
-mono_method_header_get_code
-mono_method_header_get_locals
-mono_method_header_get_num_clauses
-mono_method_signature
-mono_method_verify
-mono_mlist_alloc
-mono_mlist_append
-mono_mlist_get_data
-mono_mlist_last
-mono_mlist_length
-mono_mlist_next
-mono_mlist_prepend
-mono_mlist_remove_item
-mono_mlist_set_data
-mono_mlist_set_next
-mono_module_file_get_object
-mono_module_get_object
-mono_monitor_enter
-mono_monitor_exit
-mono_monitor_try_enter
-mono_mprotect
-mono_mutex_init_suspend_safe
-mono_object_castclass_mbyref
-mono_object_castclass_with_cache
-mono_object_clone
-mono_object_describe
-mono_object_describe_fields
-mono_object_get_class
-mono_object_get_domain
-mono_object_get_size
-mono_object_get_virtual_method
-mono_object_hash
-mono_object_isinst
-mono_object_isinst_mbyref
-mono_object_isinst_with_cache
-mono_object_new
-mono_object_new_alloc_specific
-mono_object_new_fast
-mono_object_new_from_token
-mono_object_new_specific
-mono_object_to_string
-mono_object_unbox
-mono_op_to_op_imm_noemul
-mono_opcode_name
-mono_opcode_value
-mono_pagesize
-mono_param_get_objects
-mono_parse_default_optimizations
-mono_path_canonicalize
-mono_path_resolve_symlinks
-mono_pe_file_open
-mono_perfcounters_init
-mono_pmip
-mono_poll
-mono_print_method_from_ip
-mono_print_thread_dump
-mono_print_thread_dump_from_ctx
-mono_print_unhandled_exception
-mono_profiler_coverage_get
-mono_profiler_get_events
-mono_profiler_install
-mono_profiler_install_allocation
-mono_profiler_install_appdomain
-mono_profiler_install_assembly
-mono_profiler_install_class
-mono_profiler_install_code_buffer_new
-mono_profiler_install_code_chunk_destroy
-mono_profiler_install_code_chunk_new
-mono_profiler_install_coverage_filter
-mono_profiler_install_enter_leave
-mono_profiler_install_exception
-mono_profiler_install_gc
-mono_profiler_install_gc_moves
-mono_profiler_install_gc_roots
-mono_profiler_install_iomap
-mono_profiler_install_jit_compile
-mono_profiler_install_jit_end
-mono_profiler_install_method_free
-mono_profiler_install_method_invoke
-mono_profiler_install_module
-mono_profiler_install_monitor
-mono_profiler_install_runtime_initialized
-mono_profiler_install_statistical
-mono_profiler_install_statistical_call_chain
-mono_profiler_install_thread
-mono_profiler_install_thread_name
-mono_profiler_install_transition
-mono_profiler_load
-mono_profiler_set_events
-mono_property_get_flags
-mono_property_get_get_method
-mono_property_get_name
-mono_property_get_object
-mono_property_get_parent
-mono_property_get_set_method
-mono_property_get_value
-mono_property_hash_destroy
-mono_property_hash_insert
-mono_property_hash_lookup
-mono_property_hash_new
-mono_property_hash_remove_object
-mono_property_set_value
-mono_ptr_class_get
-mono_raise_exception
-mono_realloc_native_code
-mono_reflection_free_type_info
-mono_reflection_get_custom_attrs
-mono_reflection_get_custom_attrs_blob
-mono_reflection_get_custom_attrs_by_type
-mono_reflection_get_custom_attrs_data
-mono_reflection_get_custom_attrs_info
-mono_reflection_get_token
-mono_reflection_get_type
-mono_reflection_parse_type
-mono_reflection_type_from_name
-mono_reflection_type_get_type
-mono_register_bundled_assemblies
-mono_register_config_for_assembly
-mono_register_machine_config
-mono_register_symfile_for_assembly
-mono_replace_ins
-mono_runtime_class_init
-mono_runtime_cleanup
-mono_runtime_delegate_invoke
-mono_runtime_exec_main
-mono_runtime_exec_managed_code
-mono_runtime_get_main_args
-mono_runtime_init
-mono_runtime_invoke
-mono_runtime_invoke_array
-mono_runtime_is_shutting_down
-mono_runtime_object_init
-mono_runtime_quit
-mono_runtime_resource_check_limit
-mono_runtime_resource_limit
-mono_runtime_resource_set_callback
-mono_runtime_run_main
-mono_runtime_set_shutting_down
-mono_security_core_clr_get_options
-mono_security_core_clr_require_elevated_permissions
-mono_security_core_clr_set_options
-mono_security_enable_core_clr
-mono_security_set_core_clr_platform_callback
-mono_sem_post
-mono_sem_timedwait
-mono_sem_wait
-mono_set_assemblies_path
-mono_set_break_policy
-mono_set_config_dir
-mono_set_defaults
-mono_set_dirs
-mono_set_is_debugger_attached
-mono_set_rootdir
-mono_set_signal_chaining
-mono_sha1_final
-mono_sha1_get_digest
-mono_sha1_get_digest_from_file
-mono_sha1_init
-mono_sha1_update
-mono_shared_area
-mono_shared_area_for_pid
-mono_shared_area_instances
-mono_shared_area_remove
-mono_shared_area_unload
-mono_signature_explicit_this
-mono_signature_get_call_conv
-mono_signature_get_desc
-mono_signature_get_param_count
-mono_signature_get_params
-mono_signature_get_return_type
-mono_signature_hash
-mono_signature_is_instance
-mono_signature_param_is_out
-mono_signature_vararg_start
-mono_signbit_double
-mono_signbit_float
-mono_stack_walk
-mono_stack_walk_no_il
-mono_store_remote_field
-mono_store_remote_field_new
-mono_string_chars
-mono_string_equal
-mono_string_from_bstr
-mono_string_from_utf16
-mono_string_hash
-mono_string_intern
-mono_string_is_interned
-mono_string_length
-mono_string_new
-mono_string_new_len
-mono_string_new_size
-mono_string_new_utf16
-mono_string_new_wrapper
-mono_string_to_utf16
-mono_string_to_utf8
-mono_string_to_utf8_checked
-mono_stringify_assembly_name
-mono_table_info_get_rows
-mono_thread_attach
-mono_thread_cleanup
-mono_thread_create
-mono_thread_current
-mono_thread_detach
-mono_thread_exit
-mono_thread_get_main
-mono_thread_get_undeniable_exception
-mono_thread_init
-mono_thread_is_foreign
-mono_thread_manage
-mono_thread_new_init
-mono_thread_set_main
-mono_thread_set_manage_callback
-mono_thread_stop
-mono_threads_get_default_stacksize
-mono_threads_request_thread_dump
-mono_threads_set_default_stacksize
-mono_tls_key_get_offset
-mono_tls_key_set_offset
-mono_trace_set_level_string
-mono_trace_set_mask_string
-mono_type_create_from_typespec
-mono_type_full_name
-mono_type_generic_inst_is_valuetype
-mono_type_get_array_type
-mono_type_get_class
-mono_type_get_desc
-mono_type_get_modifiers
-mono_type_get_name
-mono_type_get_object
-mono_type_get_ptr_type
-mono_type_get_signature
-mono_type_get_type
-mono_type_get_underlying_type
-mono_type_is_byref
-mono_type_is_pointer
-mono_type_is_reference
-mono_type_is_struct
-mono_type_is_valid_enum_basetype
-mono_type_is_void
-mono_type_size
-mono_type_stack_size
-mono_type_to_unmanaged
-mono_unhandled_exception
-mono_unicode_from_external
-mono_unicode_to_external
-mono_upgrade_remote_class_wrapper
-mono_utf8_from_external
-mono_utf8_validate_and_len
-mono_utf8_validate_and_len_with_bounds
-mono_valloc
-mono_valloc_aligned
-mono_value_box
-mono_value_copy
-mono_value_copy_array
-mono_value_describe_fields
-mono_verify_corlib
-mono_vfree
-mono_vtable_get_static_field_data
-mono_win32_compat_CopyMemory
-mono_win32_compat_FillMemory
-mono_win32_compat_MoveMemory
-mono_win32_compat_ZeroMemory
-mono_xdebug_flush
index 5e57c01b5dd91ad006d1752bfd865ecd40daa186..275e4c17c95efe7c35b181ead4fa308851e7bf6e 100644 (file)
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>\r
   </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>..\;..\libgc\include;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\mono\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src\;$(SolutionDir)..\;$(SolutionDir)..\mono\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WINDOWS;__WIN32__;HOST_WIN32;TARGET_WIN32;__i386__;TARGET_X86;GC_NOT_DLL;GC_GCJ_SUPPORT;GC_WIN32_THREADS;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
@@ -98,7 +98,7 @@
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>glib-2.0.lib;ws2_32.lib;gthread-2.0.lib;libgc.lib;mono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>Psapi.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
       </PrecompiledHeader>\r
       <WarningLevel>Level3</WarningLevel>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src\;$(SolutionDir)..\;$(SolutionDir)..\mono\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
     </ClCompile>\r
     <ProjectReference>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>glib-2.0.lib;ws2_32.lib;gthread-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>Psapi.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
     </Midl>\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>..\;..\libgc\include;..\VSDependancies\include\glib-2.0\glib;..\VSDependancies\include;..\mono\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src\;$(SolutionDir)..\;$(SolutionDir)..\mono\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_WINDOWS;__WIN32__;HOST_WIN32;TARGET_WIN32;__i386__;TARGET_X86;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>glib-2.0.lib;ws2_32.lib;gthread-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>Psapi.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
       </PrecompiledHeader>\r
       <WarningLevel>Level3</WarningLevel>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src\;$(SolutionDir)..\;$(SolutionDir)..\mono\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
     </ClCompile>\r
     <ProjectReference>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>glib-2.0.lib;ws2_32.lib;gthread-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>Psapi.lib;Ws2_32.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
     </Link>\r
   </ItemDefinitionGroup>\r
   <ItemGroup>\r
-    <ClCompile Include="..\mono\utils\strtod.c" />\r
     <ClCompile Include="..\mono\metadata\appdomain.c" />\r
     <ClCompile Include="..\mono\metadata\assembly.c" />\r
     <ClCompile Include="..\mono\metadata\boehm-gc.c" />\r
     <ClCompile Include="..\mono\metadata\class.c" />\r
     <ClCompile Include="..\mono\metadata\console-win32.c" />\r
-    <ClCompile Include="..\mono\metadata\decimal.c" />\r
     <ClCompile Include="..\mono\metadata\domain.c" />\r
     <ClCompile Include="..\mono\metadata\environment.c" />\r
     <ClCompile Include="..\mono\metadata\file-io.c" />\r
     <ClCompile Include="..\mono\metadata\process.c" />\r
     <ClCompile Include="..\mono\metadata\profiler.c" />\r
     <ClCompile Include="..\mono\metadata\rand.c" />\r
-    <ClCompile Include="..\mono\metadata\rawbuffer.c" />\r
     <ClCompile Include="..\mono\metadata\reflection.c" />\r
     <ClCompile Include="..\mono\metadata\security-manager.c" />\r
-    <ClCompile Include="..\mono\metadata\security.c" />\r
     <ClCompile Include="..\mono\metadata\socket-io.c" />\r
     <ClCompile Include="..\mono\metadata\string-icalls.c" />\r
     <ClCompile Include="..\mono\metadata\sysmath.c" />\r
-    <ClCompile Include="..\mono\metadata\threadpool.c" />\r
     <ClCompile Include="..\mono\metadata\threads.c" />\r
   </ItemGroup>\r
   <ItemGroup>\r
+    <ProjectReference Include="eglib.vcxproj">\r
+      <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>\r
+      <Private>false</Private>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
+    </ProjectReference>\r
+    <ProjectReference Include="libgc.vcxproj">\r
+      <Project>{eb56000b-c80b-4e8b-908d-d84d31b517d3}</Project>\r
+      <Private>false</Private>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
+    </ProjectReference>\r
     <ProjectReference Include="libmono.vcxproj">\r
       <Project>{cb0d9e92-293c-439c-9ac7-c5f59b6e0771}</Project>\r
-      <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <Private>false</Private>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
+    </ProjectReference>\r
+    <ProjectReference Include="libmonoruntime.vcxproj">\r
+      <Project>{c36612bd-22d3-4b95-85e2-7fdc4fc5d739}</Project>\r
+      <Private>false</Private>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
+    </ProjectReference>\r
+    <ProjectReference Include="libmonoutils.vcxproj">\r
+      <Project>{8fc2b0c8-51ad-49df-851f-5d01a77a75e4}</Project>\r
+      <Private>false</Private>\r
+      <ReferenceOutputAssembly>true</ReferenceOutputAssembly>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
     </ProjectReference>\r
   </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
index 872748e7f476b3e8b1fcd378b222d1a95d5828aa..16fab9278c9f10c81333841b7e59a80e61542c83 100644 (file)
@@ -25,7 +25,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>@DISABLEDWARNINGS@</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>DEBUG;TRACE;@DEFINECONSTANTS@</DefineConstants>\r
+    <DefineConstants>TRACE;@DEFINECONSTANTS@</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
index 32d6d8574b31add493ef6ccdba2d132f41a86920..e4276cf6b176ba08a52c2f3da7f6aa6b47fda972 100644 (file)
@@ -104,7 +104,7 @@ class MsbuildGenerator {
        public const string profile_2_0 = "_2_0";
        public const string profile_3_5 = "_3_5";
        public const string profile_4_0 = "_4_0";
-       public const string profile_4_5 = "_4_5";
+       public const string profile_4_x = "_4_x";
 
        static void Usage ()
        {
@@ -663,9 +663,9 @@ class MsbuildGenerator {
                        } else if (response.Contains (profile_4_0)) {
                                fx_version = "4.0";
                                profile = "net_4_0";
-                       } else if (response.Contains (profile_4_5)) {
+                       } else if (response.Contains (profile_4_x)) {
                                fx_version = "4.5";
-                               profile = "net_4_5";
+                               profile = "net_4_x";
                        }
                }
                //
@@ -934,7 +934,7 @@ class MsbuildGenerator {
 
        MsbuildGenerator GetMatchingCsproj (string dllReferenceName, Dictionary<string,MsbuildGenerator> projects, bool explicitPath = false)
        {
-               // libDir would be "./../../class/lib/net_4_5 for example
+               // libDir would be "./../../class/lib/net_4_x for example
                // project 
                if (!dllReferenceName.EndsWith (".dll"))
                        dllReferenceName += ".dll";
@@ -977,6 +977,14 @@ public class Driver {
                        string library = project.Attribute ("library").Value;
                        var profile = project.Element ("profile").Value;
 
+                       // Skip facades for now, the tool doesn't know how to deal with them yet.
+                       if (dir.Contains ("Facades"))
+                               continue;
+
+                       // These are currently broken, skip until they're fixed.
+                       if (dir.StartsWith ("mcs") || dir.Contains ("Microsoft.Web.Infrastructure"))
+                               continue;
+
                        //
                        // Do only class libraries for now
                        //
@@ -999,7 +1007,7 @@ public class Driver {
                        // The next ones are to make debugging easier for now
                        if (profile == "basic")
                                continue;
-                       if (profile != "net_4_5" || library.Contains ("tests"))
+                       if (profile != "net_4_x" || library.Contains ("tests"))
                                continue;
 
                        yield return project;
@@ -1061,7 +1069,7 @@ public class Driver {
                Func<MsbuildGenerator.VsCsproj, bool> additionalFilter;
                additionalFilter = fullSolutions ? (Func<MsbuildGenerator.VsCsproj, bool>)null : IsCommonLibrary;
 
-               FillSolution (four_five_sln_gen, MsbuildGenerator.profile_4_5, projects.Values, additionalFilter);
+               FillSolution (four_five_sln_gen, MsbuildGenerator.profile_4_x, projects.Values, additionalFilter);
 
                var sb = new StringBuilder ();
                sb.AppendLine ("WARNING: Skipped some project references, apparent duplicates in order.xml:");
@@ -1070,7 +1078,7 @@ public class Driver {
                }
                Console.WriteLine (sb.ToString ());
 
-               WriteSolution (four_five_sln_gen, MakeSolutionName (MsbuildGenerator.profile_4_5));
+               WriteSolution (four_five_sln_gen, MakeSolutionName (MsbuildGenerator.profile_4_x));
 
                if (makefileDeps){
                        const string classDirPrefix = "./../../";
diff --git a/msvc/scripts/net_4_5.sln b/msvc/scripts/net_4_5.sln
deleted file mode 100644 (file)
index 8541f77..0000000
+++ /dev/null
@@ -1,1160 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00\r
-# Visual Studio 2012
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mcs-net_4_5", "..\..\mcs\mcs\mcs-net_4_5.csproj", "{96874A7F-2F4E-4900-B812-1A61610DECE3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "corlib-net_4_5", "..\..\mcs\class/corlib\corlib-net_4_5.csproj", "{33BF0182-AC5C-464C-995B-C9CFE74E1A95}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System-net_4_5", "..\..\mcs\class/System\System-net_4_5.csproj", "{FFAC0B73-D997-493B-9C62-27656CD858BB}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Configuration-net_4_5", "..\..\mcs\class/System.Configuration\System.Configuration-net_4_5.csproj", "{D52A2CEA-245E-4877-950E-3EAC5F541B8E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System-secxml-net_4_5", "..\..\mcs\class/System\System-secxml-net_4_5.csproj", "{46F151F2-A422-4A1B-9D29-2E148CE73629}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Xml-bare-net_4_5", "..\..\mcs\class/System.XML\System.Xml-bare-net_4_5.csproj", "{21FB091E-0F84-479E-AB16-6503D36852F9}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System-bare-net_4_5", "..\..\mcs\class/System\System-bare-net_4_5.csproj", "{91CDF14E-F60F-4AB7-BC9D-5CBD7E669076}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Security-net_4_5", "..\..\mcs\class/Mono.Security\Mono.Security-net_4_5.csproj", "{D68D4FED-CA32-4800-A628-58BAE485562C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Security-net_4_5", "..\..\mcs\class/System.Security\System.Security-net_4_5.csproj", "{B55E59B2-31CA-438B-ADB8-4B9A9A547830}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Xml-net_4_5", "..\..\mcs\class/System.XML\System.Xml-net_4_5.csproj", "{2951DEC2-4393-4A78-83F9-42EB39CB708F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.CompilerServices.SymbolWriter-net_4_5", "..\..\mcs\class/Mono.CompilerServices.SymbolWriter\Mono.CompilerServices.SymbolWriter-net_4_5.csproj", "{7980DE5E-4B22-4E00-AD22-7A570D207828}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Posix-net_4_5", "..\..\mcs\class/Mono.Posix\Mono.Posix-net_4_5.csproj", "{85A9B29B-58FF-4FBE-8998-B0A89AC22880}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Core-net_4_5", "..\..\mcs\class/System.Core\System.Core-net_4_5.csproj", "{D92530F4-3F2B-4351-BD21-9D6BEE6D2A4E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Core-plaincore-net_4_5", "..\..\mcs\class/System.Core\System.Core-plaincore-net_4_5.csproj", "{7503D2B9-9ABB-451B-9193-08223A29603F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Drawing-net_4_5", "..\..\mcs\class/System.Drawing\System.Drawing-net_4_5.csproj", "{CB1CB976-AA54-4553-B0E7-05665B199EC4}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Transactions-net_4_5", "..\..\mcs\class/System.Transactions\System.Transactions-net_4_5.csproj", "{AF2BBF50-AB57-4CA1-8EF5-2B54C7418434}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.EnterpriseServices-net_4_5", "..\..\mcs\class/System.EnterpriseServices\System.EnterpriseServices-net_4_5.csproj", "{773D8BA7-9A88-49AC-81C9-740436270588}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Data.Tds-net_4_5", "..\..\mcs\class/Mono.Data.Tds\Mono.Data.Tds-net_4_5.csproj", "{CB7949AC-5FA7-4FAB-893A-8FAF436BF514}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Numerics-net_4_5", "..\..\mcs\class/System.Numerics\System.Numerics-net_4_5.csproj", "{14631AC9-FDC6-4561-A04C-6913947C939E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data-net_4_5", "..\..\mcs\class/System.Data\System.Data-net_4_5.csproj", "{9A33954F-57A8-4D75-B1D8-0F81808A0DD4}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ComponentModel.DataAnnotations-net_4_5", "..\..\mcs\class/System.ComponentModel.DataAnnotations\System.ComponentModel.DataAnnotations-net_4_5.csproj", "{63EC4158-FFAC-4867-8003-CF6054C8DF0B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Accessibility-net_4_5", "..\..\mcs\class/Accessibility\Accessibility-net_4_5.csproj", "{FACE8136-C95A-4788-90B2-DB0ECF7A020A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.WebBrowser-net_4_5", "..\..\mcs\class/Mono.WebBrowser\Mono.WebBrowser-net_4_5.csproj", "{1D660912-8164-4499-A2D7-A3B2FE742E17}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Serialization.Formatters.Soap-net_4_5", "..\..\mcs\class/System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_4_5.csproj", "{B12AABBC-30D1-4885-BF3F-A53B970F68FB}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Windows.Forms-net_4_5", "..\..\mcs\class/System.Windows.Forms\System.Windows.Forms-net_4_5.csproj", "{B102F27C-1A07-487F-BA5B-D5155D201112}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Data.Sqlite-net_4_5", "..\..\mcs\class/Mono.Data.Sqlite\Mono.Data.Sqlite-net_4_5.csproj", "{41476FBD-C1CB-4B3C-8078-3281EB1E0EAB}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.ApplicationServices-net_4_5", "..\..\mcs\class/System.Web.ApplicationServices\System.Web.ApplicationServices-net_4_5.csproj", "{B4E6806D-1B38-4CEE-8ADB-2D0A4D1AF25F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Novell.Directory.Ldap-net_4_5", "..\..\mcs\class/Novell.Directory.Ldap\Novell.Directory.Ldap-net_4_5.csproj", "{E6070FFA-2CBA-4C24-99C1-63A4F5052821}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.DirectoryServices-net_4_5", "..\..\mcs\class/System.DirectoryServices\System.DirectoryServices-net_4_5.csproj", "{EC4E43E7-63C0-4D64-8B7A-E00C097872A5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web-net_4_5", "..\..\mcs\class/System.Web\System.Web-net_4_5.csproj", "{B489C3DE-3ED3-4EDC-B42B-82B38E101857}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Services-net_4_5", "..\..\mcs\class/System.Web.Services\System.Web.Services-net_4_5.csproj", "{251DB111-FEE1-4080-8411-0AD1CC9BA94B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web-plainweb-net_4_5", "..\..\mcs\class/System.Web\System.Web-plainweb-net_4_5.csproj", "{21892B00-1C9F-44F3-AE4C-A6A9A210CEC7}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Design-net_4_5", "..\..\mcs\class/System.Design\System.Design-net_4_5.csproj", "{D4E6A482-761B-4B41-8B63-C930CA84D268}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Remoting-net_4_5", "..\..\mcs\class/System.Runtime.Remoting\System.Runtime.Remoting-net_4_5.csproj", "{AD033C6B-F765-4B4D-B8D0-7C81C4194DAB}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Configuration.Install-net_4_5", "..\..\mcs\class/System.Configuration.Install\System.Configuration.Install-net_4_5.csproj", "{E6E1740E-37DD-487C-8947-F1C0612D4738}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Management-net_4_5", "..\..\mcs\class/System.Management\System.Management-net_4_5.csproj", "{6F650EE0-43D3-4875-92E8-E3FA07E18575}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.OracleClient-net_4_5", "..\..\mcs\class/System.Data.OracleClient\System.Data.OracleClient-net_4_5.csproj", "{DB464643-D49E-43CE-B565-FE5446A79FC1}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cscompmgd-net_4_5", "..\..\mcs\class/Cscompmgd\Cscompmgd-net_4_5.csproj", "{7CC1624B-EBC8-45E6-A30B-951A31ADC150}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commons.Xml.Relaxng-net_4_5", "..\..\mcs\class/Commons.Xml.Relaxng\Commons.Xml.Relaxng-net_4_5.csproj", "{4399F601-CF0A-4D5B-9FCB-2EFB8A5D982E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Messaging-net_4_5", "..\..\mcs\class/Mono.Messaging\Mono.Messaging-net_4_5.csproj", "{DDCC93B5-9425-4E9A-95DC-3400D0028508}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Messaging-net_4_5", "..\..\mcs\class/System.Messaging\System.Messaging-net_4_5.csproj", "{1CBEC0FC-5926-42FA-A0CF-A19617FABB78}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceProcess-net_4_5", "..\..\mcs\class/System.ServiceProcess\System.ServiceProcess-net_4_5.csproj", "{FE889BD6-43E6-435E-90CE-A39F65A4AA5A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Drawing.Design-net_4_5", "..\..\mcs\class/System.Drawing.Design\System.Drawing.Design-net_4_5.csproj", "{DAEBD561-068A-4730-9F8C-98EC20DDEE78}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpZipLib-net_4_5", "..\..\mcs\class/ICSharpCode.SharpZipLib\ICSharpCode.SharpZipLib-net_4_5.csproj", "{0B587DBA-BA92-4B92-821A-AA200C612A7E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IBM.Data.DB2-net_4_5", "..\..\mcs\class/IBM.Data.DB2\IBM.Data.DB2-net_4_5.csproj", "{7A0D9630-19F1-4AC0-951C-D0F1EA609049}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomMarshalers-net_4_5", "..\..\mcs\class/CustomMarshalers\CustomMarshalers-net_4_5.csproj", "{E957A4A5-677B-44C9-93A7-C11CE514C07B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SystemWebTestShim-net_4_5", "..\..\mcs\class/SystemWebTestShim\SystemWebTestShim-net_4_5.csproj", "{337A92C8-EB50-43A9-9435-CB268AC147DC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel.Internals-net_4_5", "..\..\mcs\class/System.ServiceModel.Internals\System.ServiceModel.Internals-net_4_5.csproj", "{9C41A885-1D86-4508-B6F7-155D4B7BF441}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SMDiagnostics-net_4_5", "..\..\mcs\class/SMDiagnostics\SMDiagnostics-net_4_5.csproj", "{643FEEB8-DDEB-4204-9C95-344BAA753C58}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Serialization-net_4_5", "..\..\mcs\class/System.Runtime.Serialization\System.Runtime.Serialization-net_4_5.csproj", "{08FF4C26-9C12-433D-AE90-43370046387A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Xml.Linq-net_4_5", "..\..\mcs\class/System.Xml.Linq\System.Xml.Linq-net_4_5.csproj", "{8328796E-8A15-4972-8F1E-2F15E7D57C42}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.Linq-net_4_5", "..\..\mcs\class/System.Data.Linq\System.Data.Linq-net_4_5.csproj", "{8AC5471F-9515-4D01-87B9-7974F2CBD6F1}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Abstractions-net_4_5", "..\..\mcs\class/System.Web.Abstractions\System.Web.Abstractions-net_4_5.csproj", "{94BD3939-6937-47AA-86CF-5C3E4C59E272}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Routing-net_4_5", "..\..\mcs\class/System.Web.Routing\System.Web.Routing-net_4_5.csproj", "{A28F2A14-901C-452C-82B6-75ECE5C7E714}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.DurableInstancing-net_4_5", "..\..\mcs\class/System.Runtime.DurableInstancing\System.Runtime.DurableInstancing-net_4_5.csproj", "{04DAD425-06C0-481B-9787-D2D4BFF196F5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.IdentityModel-net_4_5", "..\..\mcs\class/System.IdentityModel\System.IdentityModel-net_4_5.csproj", "{F056C062-E467-4989-9366-440E8CD23C0C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.IdentityModel.Selectors-net_4_5", "..\..\mcs\class/System.IdentityModel.Selectors\System.IdentityModel.Selectors-net_4_5.csproj", "{AB4F77BB-4340-4A79-9B66-EF5B4221E1F2}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel-net_4_5", "..\..\mcs\class/System.ServiceModel\System.ServiceModel-net_4_5.csproj", "{F2156C09-C377-4945-A690-39CFBF3319B3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel.Activation-net_4_5", "..\..\mcs\class/System.ServiceModel.Activation\System.ServiceModel.Activation-net_4_5.csproj", "{E537F31B-BCB7-4935-ABF3-DF2FAC48DCB3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel-plainservice-net_4_5", "..\..\mcs\class/System.ServiceModel\System.ServiceModel-plainservice-net_4_5.csproj", "{0E3CFD7E-2F93-4B5B-B7FA-2AEBE0F850C0}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Extensions-net_4_5", "..\..\mcs\class/System.Web.Extensions\System.Web.Extensions-net_4_5.csproj", "{74D281D8-F725-4D79-B218-2DFCCFD44FA2}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Extensions.Design-net_4_5", "..\..\mcs\class/System.Web.Extensions.Design\System.Web.Extensions.Design-net_4_5.csproj", "{D1A53FE0-3EE3-43FD-8472-29B6E0FAA21D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.DynamicData-net_4_5", "..\..\mcs\class/System.Web.DynamicData\System.Web.DynamicData-net_4_5.csproj", "{EAE6491A-1C73-432A-A0C2-60940B6AA2B8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.CSharp-net_4_5", "..\..\mcs\class/Mono.CSharp\Mono.CSharp-net_4_5.csproj", "{811AC316-9CC2-497D-A45E-7B6B1E0E481B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Net-net_4_5", "..\..\mcs\class/System.Net\System.Net-net_4_5.csproj", "{E41631CD-605D-46BE-9D4B-46AAD7EE5599}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Json-net_4_5", "..\..\mcs\class/System.Json\System.Json-net_4_5.csproj", "{A062944C-09A6-4C2C-A2DC-60BB1EB19766}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CSharp-net_4_5", "..\..\mcs\class/Microsoft.CSharp\Microsoft.CSharp-net_4_5.csproj", "{D554618C-5D38-413A-82BA-7A70B6FC61A3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Xaml-net_4_5", "..\..\mcs\class/System.Xaml\System.Xaml-net_4_5.csproj", "{F574F9BD-1838-4C13-8722-7D6D33DE1781}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsBase-net_4_5", "..\..\mcs\class/WindowsBase\WindowsBase-net_4_5.csproj", "{8E6ED7D5-3B08-4A83-905E-8FB4CF0C160D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel.Routing-net_4_5", "..\..\mcs\class/System.ServiceModel.Routing\System.ServiceModel.Routing-net_4_5.csproj", "{6546230C-B2F4-4F79-8E57-6B4867997D77}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel.Discovery-net_4_5", "..\..\mcs\class/System.ServiceModel.Discovery\System.ServiceModel.Discovery-net_4_5.csproj", "{DAF033A4-D1CF-464F-B581-578259BF3F8F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Caching-net_4_5", "..\..\mcs\class/System.Runtime.Caching\System.Runtime.Caching-net_4_5.csproj", "{CB3E9225-3DFF-4930-BFED-1E8AE5319C32}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Web.Infrastructure-net_4_5", "..\..\mcs\class/Microsoft.Web.Infrastructure\Microsoft.Web.Infrastructure-net_4_5.csproj", "{50DC9191-2D18-4EDB-A929-4ECAB7981A1C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel.Web-net_4_5", "..\..\mcs\class/System.ServiceModel.Web\System.ServiceModel.Web-net_4_5.csproj", "{BD4DF654-42EE-40E8-A3F4-8A80959E7879}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Net.Http-net_4_5", "..\..\mcs\class/System.Net.Http\System.Net.Http-net_4_5.csproj", "{E36C154B-A0AC-4721-B06A-AFE31D357CE5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Net.Http.WebRequest-net_4_5", "..\..\mcs\class/System.Net.Http.WebRequest\System.Net.Http.WebRequest-net_4_5.csproj", "{28DE6988-8E54-4D16-B9B6-4A5BB796FB15}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Razor-net_4_5", "..\..\mcs\class/System.Web.Razor\System.Web.Razor-net_4_5.csproj", "{FF61AB24-4492-47FA-B4D3-8D961113DD08}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.WebPages.Deployment-net_4_5", "..\..\mcs\class/System.Web.WebPages.Deployment\System.Web.WebPages.Deployment-net_4_5.csproj", "{CFBE1EF0-4B98-4752-9F6A-4D61CF9DA0EF}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.WebPages-net_4_5", "..\..\mcs\class/System.Web.WebPages\System.Web.WebPages-net_4_5.csproj", "{FFDF7B0A-BD62-4E39-8A80-A42B560149C5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.WebPages.Razor-net_4_5", "..\..\mcs\class/System.Web.WebPages.Razor\System.Web.WebPages.Razor-net_4_5.csproj", "{4E601800-644F-49B2-B1C9-60D3489AAC38}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Mvc3-net_4_5", "..\..\mcs\class/System.Web.Mvc3\System.Web.Mvc3-net_4_5.csproj", "{AED34264-9E46-4F38-8BBF-6ECB69DE8FD8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Net.Http.Formatting-net_4_5", "..\..\mcs\class/System.Net.Http.Formatting\System.Net.Http.Formatting-net_4_5.csproj", "{BFBE5444-4F21-45CF-929E-C8FBEF302F5E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Http-net_4_5", "..\..\mcs\class/System.Web.Http\System.Web.Http-net_4_5.csproj", "{2EFF8684-99DB-4DD6-B3BC-7E7AA42A15FC}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Http.SelfHost-net_4_5", "..\..\mcs\class/System.Web.Http.SelfHost\System.Web.Http.SelfHost-net_4_5.csproj", "{A7DC51E3-AB8D-4FE4-B25F-4C16F3CCCB5C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Http.WebHost-net_4_5", "..\..\mcs\class/System.Web.Http.WebHost\System.Web.Http.WebHost-net_4_5.csproj", "{73DBB6D8-132F-4E3B-B437-2F65CBDEF5DE}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Framework-net_4_5", "..\..\mcs\class/Microsoft.Build.Framework\Microsoft.Build.Framework-net_4_5.csproj", "{DA3B9FEE-8FBD-4587-B760-65420765256A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Utilities-net_4_5", "..\..\mcs\class/Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_4_5.csproj", "{6E1C7BDE-7B9E-47B0-A7B2-1561822FE922}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Engine-net_4_5", "..\..\mcs\class/Microsoft.Build.Engine\Microsoft.Build.Engine-net_4_5.csproj", "{54DFC5A7-7C1D-4BA5-A0F7-F0B312E1E076}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.XBuild.Tasks-net_4_5", "..\..\mcs\class/Mono.XBuild.Tasks\Mono.XBuild.Tasks-net_4_5.csproj", "{73FB1B7E-09F9-4E7F-A63A-C407A93BCA59}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Tasks-net_4_5", "..\..\mcs\class/Microsoft.Build.Tasks\Microsoft.Build.Tasks-net_4_5.csproj", "{A76A398F-08C0-4B3D-A624-690717233736}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build-net_4_5", "..\..\mcs\class/Microsoft.Build\Microsoft.Build-net_4_5.csproj", "{1379065B-9195-4ED3-95A7-9508211A7A7E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PEAPI-net_4_5", "..\..\mcs\class/PEAPI\PEAPI-net_4_5.csproj", "{127B367D-2E2C-4F7F-A13E-0F7307D96F2D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "I18N-net_4_5", "..\..\mcs\class/I18N/Common\I18N-net_4_5.csproj", "{C337A9A4-3797-4339-AD23-493DF062CD76}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "I18N.West-net_4_5", "..\..\mcs\class/I18N/West\I18N.West-net_4_5.csproj", "{C95AC6B1-7D75-40D5-8B6D-F62278587227}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "I18N.MidEast-net_4_5", "..\..\mcs\class/I18N/MidEast\I18N.MidEast-net_4_5.csproj", "{C2ADDD2F-602B-4787-8688-F06C3DED0DA5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "I18N.Other-net_4_5", "..\..\mcs\class/I18N/Other\I18N.Other-net_4_5.csproj", "{B77661D6-F5C9-4FB2-8613-06F645D6E227}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "I18N.Rare-net_4_5", "..\..\mcs\class/I18N/Rare\I18N.Rare-net_4_5.csproj", "{ED2E80E0-D1B2-48D3-8EF9-F20CB9D0FA98}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "I18N.CJK-net_4_5", "..\..\mcs\class/I18N/CJK\I18N.CJK-net_4_5.csproj", "{E1E28FDB-826D-4FEB-B3B9-3FF98BD2E43F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Http-net_4_5", "..\..\mcs\class/Mono.Http\Mono.Http-net_4_5.csproj", "{8D430163-3294-4930-B9BA-510385010CE1}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cairo-net_4_5", "..\..\mcs\class/Mono.Cairo\Mono.Cairo-net_4_5.csproj", "{C07C4C90-8F45-49A8-8F22-919577916756}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil-net_4_5", "..\..\mcs\class/Mono.Cecil\Mono.Cecil-net_4_5.csproj", "{F6DD456E-ADE4-419D-997F-41ECA0CE79F7}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil.Mdb-net_4_5", "..\..\mcs\class/Mono.Cecil.Mdb\Mono.Cecil.Mdb-net_4_5.csproj", "{9ABB7BB9-5EA1-4081-B205-5658A602C1F5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Debugger.Soft-net_4_5", "..\..\mcs\class/Mono.Debugger.Soft\Mono.Debugger.Soft-net_4_5.csproj", "{7DFAE255-C562-4F72-8DE4-4D578491A10A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.C5-net_4_5", "..\..\mcs\class/Mono.C5\Mono.C5-net_4_5.csproj", "{4A54C7EC-01F3-4C6E-9181-84F178FD0F97}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Management-net_4_5", "..\..\mcs\class/Mono.Management\Mono.Management-net_4_5.csproj", "{38262197-48BD-4D8A-9968-4C6E60C814BB}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Options-net_4_5", "..\..\mcs\class/Mono.Options\Mono.Options-net_4_5.csproj", "{6DAA3E35-6FC9-477B-9D4D-538D9ECE7283}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Simd-net_4_5", "..\..\mcs\class/Mono.Simd\Mono.Simd-net_4_5.csproj", "{DA829B50-E4EF-40B3-9156-F1CB488D1D73}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Tasklets-net_4_5", "..\..\mcs\class/Mono.Tasklets\Mono.Tasklets-net_4_5.csproj", "{03182F0E-A8A9-42FE-B4BD-915B16DF8B16}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.CodeContracts-net_4_5", "..\..\mcs\class/Mono.CodeContracts\Mono.CodeContracts-net_4_5.csproj", "{5A56819B-A874-42CF-991C-8DD1B97115B3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Parallel-net_4_5", "..\..\mcs\class/Mono.Parallel\Mono.Parallel-net_4_5.csproj", "{CA0DDCCE-2190-4D9B-88D6-237682D21BC3}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Security.Win32-net_4_5", "..\..\mcs\class/Mono.Security.Win32\Mono.Security.Win32-net_4_5.csproj", "{1DEB5FAA-15BC-46F1-BAFA-EE6DF0BB6F76}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RabbitMQ.Client.Apigen-net_4_5", "..\..\mcs\class/RabbitMQ.Client/src/apigen\RabbitMQ.Client.Apigen-net_4_5.csproj", "{71FBB832-7D96-4B79-A7F6-CCC43FE70291}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RabbitMQ.Client-net_4_5", "..\..\mcs\class/RabbitMQ.Client/src/client\RabbitMQ.Client-net_4_5.csproj", "{55AA0C89-63D9-438E-A139-3ED9F72AE295}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Messaging.RabbitMQ-net_4_5", "..\..\mcs\class/Mono.Messaging.RabbitMQ\Mono.Messaging.RabbitMQ-net_4_5.csproj", "{B96416B1-91AE-466C-BDD0-9A8FF4331E61}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Dynamic-net_4_5", "..\..\mcs\class/System.Dynamic\System.Dynamic-net_4_5.csproj", "{5F5C22E0-4AD5-4F78-94A7-038F823E1E3D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Windows.Forms.DataVisualization-net_4_5", "..\..\mcs\class/System.Windows.Forms.DataVisualization\System.Windows.Forms.DataVisualization-net_4_5.csproj", "{5D72C9D5-37E8-4B93-A634-919A3B251C9B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Interfaces-net_4_5", "..\..\mcs\class/System.Reactive.Interfaces\System.Reactive.Interfaces-net_4_5.csproj", "{EFA38650-CE13-4BF3-993D-70B238DB1C9E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Core-net_4_5", "..\..\mcs\class/System.Reactive.Core\System.Reactive.Core-net_4_5.csproj", "{4EF3C775-C516-4897-AB1D-DC9F8862A4D9}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Linq-net_4_5", "..\..\mcs\class/System.Reactive.Linq\System.Reactive.Linq-net_4_5.csproj", "{EE831E49-3F84-4A05-9417-A9C8BD36E164}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.PlatformServices-net_4_5", "..\..\mcs\class/System.Reactive.PlatformServices\System.Reactive.PlatformServices-net_4_5.csproj", "{4C2D4246-D4F5-420B-B1B5-031853AC47F4}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Providers-net_4_5", "..\..\mcs\class/System.Reactive.Providers\System.Reactive.Providers-net_4_5.csproj", "{8D27108A-3DD4-46D7-917E-7833A3C4D479}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Runtime.Remoting-net_4_5", "..\..\mcs\class/System.Reactive.Runtime.Remoting\System.Reactive.Runtime.Remoting-net_4_5.csproj", "{895BA5F6-E27F-46C4-B045-58DD0F14BF90}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Windows.Forms-net_4_5", "..\..\mcs\class/System.Reactive.Windows.Forms\System.Reactive.Windows.Forms-net_4_5.csproj", "{E85DF38F-D4F6-4B04-9962-32B0CCC8AC5E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Windows.Threading-net_4_5", "..\..\mcs\class/System.Reactive.Windows.Threading\System.Reactive.Windows.Threading-net_4_5.csproj", "{FC7ACFC5-81E9-4798-9D7F-067AEAD8A4D4}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Observable.Aliases-net_4_5", "..\..\mcs\class/System.Reactive.Observable.Aliases\System.Reactive.Observable.Aliases-net_4_5.csproj", "{91A70A1D-36C5-49BC-92CC-A04D7C2C6EE1}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Experimental-net_4_5", "..\..\mcs\class/System.Reactive.Experimental\System.Reactive.Experimental-net_4_5.csproj", "{1A49E00D-F0FB-430A-A540-1545DD999B36}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Debugger-net_4_5", "..\..\mcs\class/System.Reactive.Debugger\System.Reactive.Debugger-net_4_5.csproj", "{6A059733-FAF1-4125-8BE6-C58A4E3714CE}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.Services.Client-net_4_5", "..\..\mcs\class/System.Data.Services.Client\System.Data.Services.Client-net_4_5.csproj", "{E9B87AE3-9A05-4146-83CC-082BE32D8EB2}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.Services-net_4_5", "..\..\mcs\class/System.Data.Services\System.Data.Services-net_4_5.csproj", "{F3B101A1-2CC5-416E-9C64-AABAB5D4A625}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.Entity-net_4_5", "..\..\mcs\class/System.Data.Entity\System.Data.Entity-net_4_5.csproj", "{E902CD82-23AC-456B-9F4B-51CC193275F8}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.DataSetExtensions-net_4_5", "..\..\mcs\class/System.Data.DataSetExtensions\System.Data.DataSetExtensions-net_4_5.csproj", "{9D2DBCBA-6C1E-405B-BCBA-20406EA9501F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Json.Microsoft-net_4_5", "..\..\mcs\class/System.Json.Microsoft\System.Json.Microsoft-net_4_5.csproj", "{3694FAEB-90F5-46E8-AD30-E91FF97B401A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Threading.Tasks.Dataflow-net_4_5", "..\..\mcs\class/System.Threading.Tasks.Dataflow\System.Threading.Tasks.Dataflow-net_4_5.csproj", "{19831BAF-44E6-4F3E-B46E-B1BD09398232}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ComponentModel.Composition-net_4_5", "..\..\mcs\class/System.ComponentModel.Composition.4.5\System.ComponentModel.Composition-net_4_5.csproj", "{81352E26-6AB7-4AA3-8FB1-28A476E82748}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.IO.Compression-net_4_5", "..\..\mcs\class/System.IO.Compression\System.IO.Compression-net_4_5.csproj", "{BDF04E30-60D9-4279-A1DF-3291328A5AFD}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.IO.Compression.FileSystem-net_4_5", "..\..\mcs\class/System.IO.Compression.FileSystem\System.IO.Compression.FileSystem-net_4_5.csproj", "{4124933B-9DE6-4D76-8ABB-AEAE814CFB26}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Windows-net_4_5", "..\..\mcs\class/System.Windows\System.Windows-net_4_5.csproj", "{050D4277-82D2-4544-A929-EDCBEA5FD69D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Xml.Serialization-net_4_5", "..\..\mcs\class/System.Xml.Serialization\System.Xml.Serialization-net_4_5.csproj", "{8888F00F-4ADC-4C1E-B542-7A8FA406CD98}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.DirectoryServices.Protocols-net_4_5", "..\..\mcs\class/System.DirectoryServices.Protocols\System.DirectoryServices.Protocols-net_4_5.csproj", "{34031168-8F0D-431D-A1DE-044B3D89C7A2}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.VisualC-net_4_5", "..\..\mcs\class/Microsoft.VisualC\Microsoft.VisualC-net_4_5.csproj", "{D2B40179-234C-4709-82A2-AE91FA7AD106}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebMatrix.Data-net_4_5", "..\..\mcs\class/WebMatrix.Data\WebMatrix.Data-net_4_5.csproj", "{9732089B-32BB-43FC-BB72-3EE9BBBE796A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "monodoc-net_4_5", "..\..\mcs\class/monodoc\monodoc-net_4_5.csproj", "{141D4A4E-C16C-4FF6-9E35-54AF58BE6080}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Collections.Concurrent-net_4_5", "..\..\mcs\class/Facades/System.Collections.Concurrent\System.Collections.Concurrent-net_4_5.csproj", "{675F041D-3D9F-4195-B713-8BD1CA16E16E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Collections-net_4_5", "..\..\mcs\class/Facades/System.Collections\System.Collections-net_4_5.csproj", "{64CA4DB7-C8DA-49CC-A114-1C20038A0469}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ComponentModel.Annotations-net_4_5", "..\..\mcs\class/Facades/System.ComponentModel.Annotations\System.ComponentModel.Annotations-net_4_5.csproj", "{7B94E990-3BC4-44B6-98FF-102A3459AF92}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ComponentModel.EventBasedAsync-net_4_5", "..\..\mcs\class/Facades/System.ComponentModel.EventBasedAsync\System.ComponentModel.EventBasedAsync-net_4_5.csproj", "{F550AB44-48A5-47F1-8EBB-5BA1CAF3366E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ComponentModel-net_4_5", "..\..\mcs\class/Facades/System.ComponentModel\System.ComponentModel-net_4_5.csproj", "{A13F59CB-1F71-4ECE-82A1-9A3D6760E5D2}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Diagnostics.Contracts-net_4_5", "..\..\mcs\class/Facades/System.Diagnostics.Contracts\System.Diagnostics.Contracts-net_4_5.csproj", "{BDCFB32D-9CCE-4A2F-ABBB-490C3D49BBE0}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Diagnostics.Debug-net_4_5", "..\..\mcs\class/Facades/System.Diagnostics.Debug\System.Diagnostics.Debug-net_4_5.csproj", "{37D2FA30-09B8-4E38-982A-1890D7275F42}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Diagnostics.Tracing-net_4_5", "..\..\mcs\class/Facades/System.Diagnostics.Tracing\System.Diagnostics.Tracing-net_4_5.csproj", "{34C2ACED-602C-41CD-AB40-3813B3420625}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Diagnostics.Tools-net_4_5", "..\..\mcs\class/Facades/System.Diagnostics.Tools\System.Diagnostics.Tools-net_4_5.csproj", "{3A324F98-B121-44F2-B1AD-6DC4D3D27A89}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Dynamic.Runtime-net_4_5", "..\..\mcs\class/Facades/System.Dynamic.Runtime\System.Dynamic.Runtime-net_4_5.csproj", "{6E17967A-FBC5-4F44-AE4F-CBE1E70F862E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Globalization-net_4_5", "..\..\mcs\class/Facades/System.Globalization\System.Globalization-net_4_5.csproj", "{5DF5E924-6F3B-42DB-A3E0-1FB63028F189}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.IO-net_4_5", "..\..\mcs\class/Facades/System.IO\System.IO-net_4_5.csproj", "{188DBB84-D591-48CC-B8B2-E7E12A0EE0BE}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Linq.Expressions-net_4_5", "..\..\mcs\class/Facades/System.Linq.Expressions\System.Linq.Expressions-net_4_5.csproj", "{FD626146-F48C-4E29-9D4C-872FB5AEA5C1}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Linq.Parallel-net_4_5", "..\..\mcs\class/Facades/System.Linq.Parallel\System.Linq.Parallel-net_4_5.csproj", "{F8EB53BB-0BD5-4775-9EE7-2D4C7403B898}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Linq.Queryable-net_4_5", "..\..\mcs\class/Facades/System.Linq.Queryable\System.Linq.Queryable-net_4_5.csproj", "{C2025B80-1555-4CBE-8982-8E0DFCFC9F16}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Linq-net_4_5", "..\..\mcs\class/Facades/System.Linq\System.Linq-net_4_5.csproj", "{F97C589C-5F94-4C4F-B465-13432ABF4744}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Net.NetworkInformation-net_4_5", "..\..\mcs\class/Facades/System.Net.NetworkInformation\System.Net.NetworkInformation-net_4_5.csproj", "{A2069635-0635-40BA-B82C-DC458AFB3A9E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Net.Primitives-net_4_5", "..\..\mcs\class/Facades/System.Net.Primitives\System.Net.Primitives-net_4_5.csproj", "{D5541A16-CFFD-4699-BC6D-EE859A38737F}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Net.Requests-net_4_5", "..\..\mcs\class/Facades/System.Net.Requests\System.Net.Requests-net_4_5.csproj", "{5DC73C5F-E943-473B-BE4D-0EB115C3F1AF}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ObjectModel-net_4_5", "..\..\mcs\class/Facades/System.ObjectModel\System.ObjectModel-net_4_5.csproj", "{9A11D4E5-5C4C-471C-9912-AAB6C9851CF9}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reflection.Extensions-net_4_5", "..\..\mcs\class/Facades/System.Reflection.Extensions\System.Reflection.Extensions-net_4_5.csproj", "{670D61FE-7031-4734-87FB-E7DC401F7D99}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reflection.Primitives-net_4_5", "..\..\mcs\class/Facades/System.Reflection.Primitives\System.Reflection.Primitives-net_4_5.csproj", "{080E1A07-4A13-4D86-966E-4BED488972E9}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reflection-net_4_5", "..\..\mcs\class/Facades/System.Reflection\System.Reflection-net_4_5.csproj", "{00F1AED2-A30C-4FE4-9B8C-1DCB271AD050}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Resources.ResourceManager-net_4_5", "..\..\mcs\class/Facades/System.Resources.ResourceManager\System.Resources.ResourceManager-net_4_5.csproj", "{4A4281A7-0EBB-4FA4-ABC8-354253A9DDAF}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Extensions-net_4_5", "..\..\mcs\class/Facades/System.Runtime.Extensions\System.Runtime.Extensions-net_4_5.csproj", "{CD67F8F0-C543-4BBA-AB81-F6A9FCD4BD62}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.InteropServices-net_4_5", "..\..\mcs\class/Facades/System.Runtime.InteropServices\System.Runtime.InteropServices-net_4_5.csproj", "{516204B8-800B-4508-8DA1-E103A1985B5A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.InteropServices.WindowsRuntime-net_4_5", "..\..\mcs\class/Facades/System.Runtime.InteropServices.WindowsRuntime\System.Runtime.InteropServices.WindowsRuntime-net_4_5.csproj", "{045F952B-9AB3-4DB1-ADBB-D260B4B5E0E1}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Numerics-net_4_5", "..\..\mcs\class/Facades/System.Runtime.Numerics\System.Runtime.Numerics-net_4_5.csproj", "{798C666E-FA52-4B49-B8E3-49167F2E0D26}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Serialization.Json-net_4_5", "..\..\mcs\class/Facades/System.Runtime.Serialization.Json\System.Runtime.Serialization.Json-net_4_5.csproj", "{66CACE39-45D9-4F11-9606-CEDC9F4FB94E}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Serialization.Primitives-net_4_5", "..\..\mcs\class/Facades/System.Runtime.Serialization.Primitives\System.Runtime.Serialization.Primitives-net_4_5.csproj", "{F113ADCC-80CA-4CCC-A59B-3628CB0F534C}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Serialization.Xml-net_4_5", "..\..\mcs\class/Facades/System.Runtime.Serialization.Xml\System.Runtime.Serialization.Xml-net_4_5.csproj", "{5EC82F0C-7FAF-44DE-BD77-57CFE2FEB1D5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime-net_4_5", "..\..\mcs\class/Facades/System.Runtime\System.Runtime-net_4_5.csproj", "{FE41441F-91F5-48AC-84DA-23056DD7386B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Security.Principal-net_4_5", "..\..\mcs\class/Facades/System.Security.Principal\System.Security.Principal-net_4_5.csproj", "{09F21748-CA1B-49EF-BE06-64542DBDD927}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel.Http-net_4_5", "..\..\mcs\class/Facades/System.ServiceModel.Http\System.ServiceModel.Http-net_4_5.csproj", "{5FB7CE3D-3BF8-4539-AC0B-37A473DA75C6}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel.Primitives-net_4_5", "..\..\mcs\class/Facades/System.ServiceModel.Primitives\System.ServiceModel.Primitives-net_4_5.csproj", "{339D127E-6EC9-4DC2-A6E9-1306B4AAC18A}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel.Security-net_4_5", "..\..\mcs\class/Facades/System.ServiceModel.Security\System.ServiceModel.Security-net_4_5.csproj", "{EF11BD41-8AF8-4A15-A6B7-344BC9852EF6}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Text.Encoding.Extensions-net_4_5", "..\..\mcs\class/Facades/System.Text.Encoding.Extensions\System.Text.Encoding.Extensions-net_4_5.csproj", "{DEAA541C-1414-4C17-9DB1-F63F83B0C182}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Text.Encoding-net_4_5", "..\..\mcs\class/Facades/System.Text.Encoding\System.Text.Encoding-net_4_5.csproj", "{4AB957DC-5A83-40D2-AB0B-DA1583C40181}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Text.RegularExpressions-net_4_5", "..\..\mcs\class/Facades/System.Text.RegularExpressions\System.Text.RegularExpressions-net_4_5.csproj", "{189011AC-76B3-4364-B999-A54B72B69DF7}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Threading.Tasks.Parallel-net_4_5", "..\..\mcs\class/Facades/System.Threading.Tasks.Parallel\System.Threading.Tasks.Parallel-net_4_5.csproj", "{3FC77F23-AFB8-4FB6-A18F-5E76D6B4A309}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Threading.Tasks-net_4_5", "..\..\mcs\class/Facades/System.Threading.Tasks\System.Threading.Tasks-net_4_5.csproj", "{CA73F804-277A-40B5-A9F7-5E3FD913629B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Threading.Timer-net_4_5", "..\..\mcs\class/Facades/System.Threading.Timer\System.Threading.Timer-net_4_5.csproj", "{93FB6CF4-26B5-4D43-A485-E9A052A82749}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Threading-net_4_5", "..\..\mcs\class/Facades/System.Threading\System.Threading-net_4_5.csproj", "{4DE82EEA-1FE0-4D13-B1DA-7221E52CD3EE}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Xml.ReaderWriter-net_4_5", "..\..\mcs\class/Facades/System.Xml.ReaderWriter\System.Xml.ReaderWriter-net_4_5.csproj", "{32D7A81F-E7B5-4E08-BE4C-2BC0FF902C66}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Xml.XDocument-net_4_5", "..\..\mcs\class/Facades/System.Xml.XDocument\System.Xml.XDocument-net_4_5.csproj", "{F47D56BD-BA6E-4503-B2FA-435A331338B5}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Xml.XmlSerializer-net_4_5", "..\..\mcs\class/Facades/System.Xml.XmlSerializer\System.Xml.XmlSerializer-net_4_5.csproj", "{799C90EA-628C-40EB-8C8C-6EA21B2ECE80}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reflection.Emit.ILGeneration-net_4_5", "..\..\mcs\class/Facades/System.Reflection.Emit.ILGeneration\System.Reflection.Emit.ILGeneration-net_4_5.csproj", "{71E1B60C-1AF2-4AE8-B5F5-118AC38B64DB}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reflection.Emit.Lightweight-net_4_5", "..\..\mcs\class/Facades/System.Reflection.Emit.Lightweight\System.Reflection.Emit.Lightweight-net_4_5.csproj", "{56035DDD-F2DD-46ED-88EF-DF8636198D36}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reflection.Emit-net_4_5", "..\..\mcs\class/Facades/System.Reflection.Emit\System.Reflection.Emit-net_4_5.csproj", "{6ABB9197-8B7B-4566-B42A-5B7A8CDE3D4E}"
-EndProject
-Global
-       GlobalSection(SolutionConfigurationPlatforms) = preSolution
-               Debug|Any CPU = Debug|Any CPU
-               Release|Any CPU = Release|Any CPU
-       EndGlobalSection
-       GlobalSection(ProjectConfigurationPlatforms) = postSolution
-               {96874A7F-2F4E-4900-B812-1A61610DECE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {96874A7F-2F4E-4900-B812-1A61610DECE3}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {96874A7F-2F4E-4900-B812-1A61610DECE3}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {96874A7F-2F4E-4900-B812-1A61610DECE3}.Release|Any CPU.Build.0 = Release|Any CPU
-               {33BF0182-AC5C-464C-995B-C9CFE74E1A95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {33BF0182-AC5C-464C-995B-C9CFE74E1A95}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {33BF0182-AC5C-464C-995B-C9CFE74E1A95}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {33BF0182-AC5C-464C-995B-C9CFE74E1A95}.Release|Any CPU.Build.0 = Release|Any CPU
-               {FFAC0B73-D997-493B-9C62-27656CD858BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {FFAC0B73-D997-493B-9C62-27656CD858BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {FFAC0B73-D997-493B-9C62-27656CD858BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {FFAC0B73-D997-493B-9C62-27656CD858BB}.Release|Any CPU.Build.0 = Release|Any CPU
-               {D52A2CEA-245E-4877-950E-3EAC5F541B8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {D52A2CEA-245E-4877-950E-3EAC5F541B8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {D52A2CEA-245E-4877-950E-3EAC5F541B8E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {D52A2CEA-245E-4877-950E-3EAC5F541B8E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {46F151F2-A422-4A1B-9D29-2E148CE73629}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {46F151F2-A422-4A1B-9D29-2E148CE73629}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {46F151F2-A422-4A1B-9D29-2E148CE73629}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {46F151F2-A422-4A1B-9D29-2E148CE73629}.Release|Any CPU.Build.0 = Release|Any CPU
-               {21FB091E-0F84-479E-AB16-6503D36852F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {21FB091E-0F84-479E-AB16-6503D36852F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {21FB091E-0F84-479E-AB16-6503D36852F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {21FB091E-0F84-479E-AB16-6503D36852F9}.Release|Any CPU.Build.0 = Release|Any CPU
-               {91CDF14E-F60F-4AB7-BC9D-5CBD7E669076}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {91CDF14E-F60F-4AB7-BC9D-5CBD7E669076}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {91CDF14E-F60F-4AB7-BC9D-5CBD7E669076}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {91CDF14E-F60F-4AB7-BC9D-5CBD7E669076}.Release|Any CPU.Build.0 = Release|Any CPU
-               {D68D4FED-CA32-4800-A628-58BAE485562C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {D68D4FED-CA32-4800-A628-58BAE485562C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {D68D4FED-CA32-4800-A628-58BAE485562C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {D68D4FED-CA32-4800-A628-58BAE485562C}.Release|Any CPU.Build.0 = Release|Any CPU
-               {B55E59B2-31CA-438B-ADB8-4B9A9A547830}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {B55E59B2-31CA-438B-ADB8-4B9A9A547830}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {B55E59B2-31CA-438B-ADB8-4B9A9A547830}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {B55E59B2-31CA-438B-ADB8-4B9A9A547830}.Release|Any CPU.Build.0 = Release|Any CPU
-               {2951DEC2-4393-4A78-83F9-42EB39CB708F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {2951DEC2-4393-4A78-83F9-42EB39CB708F}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {2951DEC2-4393-4A78-83F9-42EB39CB708F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {2951DEC2-4393-4A78-83F9-42EB39CB708F}.Release|Any CPU.Build.0 = Release|Any CPU
-               {7980DE5E-4B22-4E00-AD22-7A570D207828}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {7980DE5E-4B22-4E00-AD22-7A570D207828}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {7980DE5E-4B22-4E00-AD22-7A570D207828}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {7980DE5E-4B22-4E00-AD22-7A570D207828}.Release|Any CPU.Build.0 = Release|Any CPU
-               {85A9B29B-58FF-4FBE-8998-B0A89AC22880}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {85A9B29B-58FF-4FBE-8998-B0A89AC22880}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {85A9B29B-58FF-4FBE-8998-B0A89AC22880}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {85A9B29B-58FF-4FBE-8998-B0A89AC22880}.Release|Any CPU.Build.0 = Release|Any CPU
-               {D92530F4-3F2B-4351-BD21-9D6BEE6D2A4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {D92530F4-3F2B-4351-BD21-9D6BEE6D2A4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {D92530F4-3F2B-4351-BD21-9D6BEE6D2A4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {D92530F4-3F2B-4351-BD21-9D6BEE6D2A4E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {7503D2B9-9ABB-451B-9193-08223A29603F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {7503D2B9-9ABB-451B-9193-08223A29603F}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {7503D2B9-9ABB-451B-9193-08223A29603F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {7503D2B9-9ABB-451B-9193-08223A29603F}.Release|Any CPU.Build.0 = Release|Any CPU
-               {CB1CB976-AA54-4553-B0E7-05665B199EC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {CB1CB976-AA54-4553-B0E7-05665B199EC4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {CB1CB976-AA54-4553-B0E7-05665B199EC4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {CB1CB976-AA54-4553-B0E7-05665B199EC4}.Release|Any CPU.Build.0 = Release|Any CPU
-               {AF2BBF50-AB57-4CA1-8EF5-2B54C7418434}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {AF2BBF50-AB57-4CA1-8EF5-2B54C7418434}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {AF2BBF50-AB57-4CA1-8EF5-2B54C7418434}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {AF2BBF50-AB57-4CA1-8EF5-2B54C7418434}.Release|Any CPU.Build.0 = Release|Any CPU
-               {773D8BA7-9A88-49AC-81C9-740436270588}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {773D8BA7-9A88-49AC-81C9-740436270588}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {773D8BA7-9A88-49AC-81C9-740436270588}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {773D8BA7-9A88-49AC-81C9-740436270588}.Release|Any CPU.Build.0 = Release|Any CPU
-               {CB7949AC-5FA7-4FAB-893A-8FAF436BF514}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {CB7949AC-5FA7-4FAB-893A-8FAF436BF514}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {CB7949AC-5FA7-4FAB-893A-8FAF436BF514}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {CB7949AC-5FA7-4FAB-893A-8FAF436BF514}.Release|Any CPU.Build.0 = Release|Any CPU
-               {14631AC9-FDC6-4561-A04C-6913947C939E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {14631AC9-FDC6-4561-A04C-6913947C939E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {14631AC9-FDC6-4561-A04C-6913947C939E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {14631AC9-FDC6-4561-A04C-6913947C939E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {9A33954F-57A8-4D75-B1D8-0F81808A0DD4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {9A33954F-57A8-4D75-B1D8-0F81808A0DD4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {9A33954F-57A8-4D75-B1D8-0F81808A0DD4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {9A33954F-57A8-4D75-B1D8-0F81808A0DD4}.Release|Any CPU.Build.0 = Release|Any CPU
-               {63EC4158-FFAC-4867-8003-CF6054C8DF0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {63EC4158-FFAC-4867-8003-CF6054C8DF0B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {63EC4158-FFAC-4867-8003-CF6054C8DF0B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {63EC4158-FFAC-4867-8003-CF6054C8DF0B}.Release|Any CPU.Build.0 = Release|Any CPU
-               {FACE8136-C95A-4788-90B2-DB0ECF7A020A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {FACE8136-C95A-4788-90B2-DB0ECF7A020A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {FACE8136-C95A-4788-90B2-DB0ECF7A020A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {FACE8136-C95A-4788-90B2-DB0ECF7A020A}.Release|Any CPU.Build.0 = Release|Any CPU
-               {1D660912-8164-4499-A2D7-A3B2FE742E17}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {1D660912-8164-4499-A2D7-A3B2FE742E17}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {1D660912-8164-4499-A2D7-A3B2FE742E17}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {1D660912-8164-4499-A2D7-A3B2FE742E17}.Release|Any CPU.Build.0 = Release|Any CPU
-               {B12AABBC-30D1-4885-BF3F-A53B970F68FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {B12AABBC-30D1-4885-BF3F-A53B970F68FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {B12AABBC-30D1-4885-BF3F-A53B970F68FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {B12AABBC-30D1-4885-BF3F-A53B970F68FB}.Release|Any CPU.Build.0 = Release|Any CPU
-               {B102F27C-1A07-487F-BA5B-D5155D201112}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {B102F27C-1A07-487F-BA5B-D5155D201112}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {B102F27C-1A07-487F-BA5B-D5155D201112}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {B102F27C-1A07-487F-BA5B-D5155D201112}.Release|Any CPU.Build.0 = Release|Any CPU
-               {41476FBD-C1CB-4B3C-8078-3281EB1E0EAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {41476FBD-C1CB-4B3C-8078-3281EB1E0EAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {41476FBD-C1CB-4B3C-8078-3281EB1E0EAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {41476FBD-C1CB-4B3C-8078-3281EB1E0EAB}.Release|Any CPU.Build.0 = Release|Any CPU
-               {B4E6806D-1B38-4CEE-8ADB-2D0A4D1AF25F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {B4E6806D-1B38-4CEE-8ADB-2D0A4D1AF25F}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {B4E6806D-1B38-4CEE-8ADB-2D0A4D1AF25F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {B4E6806D-1B38-4CEE-8ADB-2D0A4D1AF25F}.Release|Any CPU.Build.0 = Release|Any CPU
-               {E6070FFA-2CBA-4C24-99C1-63A4F5052821}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {E6070FFA-2CBA-4C24-99C1-63A4F5052821}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {E6070FFA-2CBA-4C24-99C1-63A4F5052821}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {E6070FFA-2CBA-4C24-99C1-63A4F5052821}.Release|Any CPU.Build.0 = Release|Any CPU
-               {EC4E43E7-63C0-4D64-8B7A-E00C097872A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {EC4E43E7-63C0-4D64-8B7A-E00C097872A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {EC4E43E7-63C0-4D64-8B7A-E00C097872A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {EC4E43E7-63C0-4D64-8B7A-E00C097872A5}.Release|Any CPU.Build.0 = Release|Any CPU
-               {B489C3DE-3ED3-4EDC-B42B-82B38E101857}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {B489C3DE-3ED3-4EDC-B42B-82B38E101857}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {B489C3DE-3ED3-4EDC-B42B-82B38E101857}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {B489C3DE-3ED3-4EDC-B42B-82B38E101857}.Release|Any CPU.Build.0 = Release|Any CPU
-               {251DB111-FEE1-4080-8411-0AD1CC9BA94B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {251DB111-FEE1-4080-8411-0AD1CC9BA94B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {251DB111-FEE1-4080-8411-0AD1CC9BA94B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {251DB111-FEE1-4080-8411-0AD1CC9BA94B}.Release|Any CPU.Build.0 = Release|Any CPU
-               {21892B00-1C9F-44F3-AE4C-A6A9A210CEC7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {21892B00-1C9F-44F3-AE4C-A6A9A210CEC7}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {21892B00-1C9F-44F3-AE4C-A6A9A210CEC7}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {21892B00-1C9F-44F3-AE4C-A6A9A210CEC7}.Release|Any CPU.Build.0 = Release|Any CPU
-               {D4E6A482-761B-4B41-8B63-C930CA84D268}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {D4E6A482-761B-4B41-8B63-C930CA84D268}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {D4E6A482-761B-4B41-8B63-C930CA84D268}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {D4E6A482-761B-4B41-8B63-C930CA84D268}.Release|Any CPU.Build.0 = Release|Any CPU
-               {AD033C6B-F765-4B4D-B8D0-7C81C4194DAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {AD033C6B-F765-4B4D-B8D0-7C81C4194DAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {AD033C6B-F765-4B4D-B8D0-7C81C4194DAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {AD033C6B-F765-4B4D-B8D0-7C81C4194DAB}.Release|Any CPU.Build.0 = Release|Any CPU
-               {E6E1740E-37DD-487C-8947-F1C0612D4738}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {E6E1740E-37DD-487C-8947-F1C0612D4738}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {E6E1740E-37DD-487C-8947-F1C0612D4738}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {E6E1740E-37DD-487C-8947-F1C0612D4738}.Release|Any CPU.Build.0 = Release|Any CPU
-               {6F650EE0-43D3-4875-92E8-E3FA07E18575}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {6F650EE0-43D3-4875-92E8-E3FA07E18575}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {6F650EE0-43D3-4875-92E8-E3FA07E18575}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {6F650EE0-43D3-4875-92E8-E3FA07E18575}.Release|Any CPU.Build.0 = Release|Any CPU
-               {DB464643-D49E-43CE-B565-FE5446A79FC1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {DB464643-D49E-43CE-B565-FE5446A79FC1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {DB464643-D49E-43CE-B565-FE5446A79FC1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {DB464643-D49E-43CE-B565-FE5446A79FC1}.Release|Any CPU.Build.0 = Release|Any CPU
-               {7CC1624B-EBC8-45E6-A30B-951A31ADC150}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {7CC1624B-EBC8-45E6-A30B-951A31ADC150}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {7CC1624B-EBC8-45E6-A30B-951A31ADC150}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {7CC1624B-EBC8-45E6-A30B-951A31ADC150}.Release|Any CPU.Build.0 = Release|Any CPU
-               {4399F601-CF0A-4D5B-9FCB-2EFB8A5D982E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {4399F601-CF0A-4D5B-9FCB-2EFB8A5D982E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {4399F601-CF0A-4D5B-9FCB-2EFB8A5D982E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {4399F601-CF0A-4D5B-9FCB-2EFB8A5D982E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {DDCC93B5-9425-4E9A-95DC-3400D0028508}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {DDCC93B5-9425-4E9A-95DC-3400D0028508}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {DDCC93B5-9425-4E9A-95DC-3400D0028508}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {DDCC93B5-9425-4E9A-95DC-3400D0028508}.Release|Any CPU.Build.0 = Release|Any CPU
-               {1CBEC0FC-5926-42FA-A0CF-A19617FABB78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {1CBEC0FC-5926-42FA-A0CF-A19617FABB78}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {1CBEC0FC-5926-42FA-A0CF-A19617FABB78}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {1CBEC0FC-5926-42FA-A0CF-A19617FABB78}.Release|Any CPU.Build.0 = Release|Any CPU
-               {FE889BD6-43E6-435E-90CE-A39F65A4AA5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {FE889BD6-43E6-435E-90CE-A39F65A4AA5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {FE889BD6-43E6-435E-90CE-A39F65A4AA5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {FE889BD6-43E6-435E-90CE-A39F65A4AA5A}.Release|Any CPU.Build.0 = Release|Any CPU
-               {DAEBD561-068A-4730-9F8C-98EC20DDEE78}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {DAEBD561-068A-4730-9F8C-98EC20DDEE78}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {DAEBD561-068A-4730-9F8C-98EC20DDEE78}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {DAEBD561-068A-4730-9F8C-98EC20DDEE78}.Release|Any CPU.Build.0 = Release|Any CPU
-               {0B587DBA-BA92-4B92-821A-AA200C612A7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {0B587DBA-BA92-4B92-821A-AA200C612A7E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {0B587DBA-BA92-4B92-821A-AA200C612A7E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {0B587DBA-BA92-4B92-821A-AA200C612A7E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {7A0D9630-19F1-4AC0-951C-D0F1EA609049}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {7A0D9630-19F1-4AC0-951C-D0F1EA609049}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {7A0D9630-19F1-4AC0-951C-D0F1EA609049}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {7A0D9630-19F1-4AC0-951C-D0F1EA609049}.Release|Any CPU.Build.0 = Release|Any CPU
-               {E957A4A5-677B-44C9-93A7-C11CE514C07B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {E957A4A5-677B-44C9-93A7-C11CE514C07B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {E957A4A5-677B-44C9-93A7-C11CE514C07B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {E957A4A5-677B-44C9-93A7-C11CE514C07B}.Release|Any CPU.Build.0 = Release|Any CPU
-               {337A92C8-EB50-43A9-9435-CB268AC147DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {337A92C8-EB50-43A9-9435-CB268AC147DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {337A92C8-EB50-43A9-9435-CB268AC147DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {337A92C8-EB50-43A9-9435-CB268AC147DC}.Release|Any CPU.Build.0 = Release|Any CPU
-               {9C41A885-1D86-4508-B6F7-155D4B7BF441}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {9C41A885-1D86-4508-B6F7-155D4B7BF441}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {9C41A885-1D86-4508-B6F7-155D4B7BF441}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {9C41A885-1D86-4508-B6F7-155D4B7BF441}.Release|Any CPU.Build.0 = Release|Any CPU
-               {643FEEB8-DDEB-4204-9C95-344BAA753C58}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {643FEEB8-DDEB-4204-9C95-344BAA753C58}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {643FEEB8-DDEB-4204-9C95-344BAA753C58}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {643FEEB8-DDEB-4204-9C95-344BAA753C58}.Release|Any CPU.Build.0 = Release|Any CPU
-               {08FF4C26-9C12-433D-AE90-43370046387A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {08FF4C26-9C12-433D-AE90-43370046387A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {08FF4C26-9C12-433D-AE90-43370046387A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {08FF4C26-9C12-433D-AE90-43370046387A}.Release|Any CPU.Build.0 = Release|Any CPU
-               {8328796E-8A15-4972-8F1E-2F15E7D57C42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {8328796E-8A15-4972-8F1E-2F15E7D57C42}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {8328796E-8A15-4972-8F1E-2F15E7D57C42}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {8328796E-8A15-4972-8F1E-2F15E7D57C42}.Release|Any CPU.Build.0 = Release|Any CPU
-               {8AC5471F-9515-4D01-87B9-7974F2CBD6F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {8AC5471F-9515-4D01-87B9-7974F2CBD6F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {8AC5471F-9515-4D01-87B9-7974F2CBD6F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {8AC5471F-9515-4D01-87B9-7974F2CBD6F1}.Release|Any CPU.Build.0 = Release|Any CPU
-               {94BD3939-6937-47AA-86CF-5C3E4C59E272}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {94BD3939-6937-47AA-86CF-5C3E4C59E272}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {94BD3939-6937-47AA-86CF-5C3E4C59E272}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {94BD3939-6937-47AA-86CF-5C3E4C59E272}.Release|Any CPU.Build.0 = Release|Any CPU
-               {A28F2A14-901C-452C-82B6-75ECE5C7E714}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {A28F2A14-901C-452C-82B6-75ECE5C7E714}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {A28F2A14-901C-452C-82B6-75ECE5C7E714}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {A28F2A14-901C-452C-82B6-75ECE5C7E714}.Release|Any CPU.Build.0 = Release|Any CPU
-               {04DAD425-06C0-481B-9787-D2D4BFF196F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {04DAD425-06C0-481B-9787-D2D4BFF196F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {04DAD425-06C0-481B-9787-D2D4BFF196F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {04DAD425-06C0-481B-9787-D2D4BFF196F5}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F056C062-E467-4989-9366-440E8CD23C0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F056C062-E467-4989-9366-440E8CD23C0C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F056C062-E467-4989-9366-440E8CD23C0C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F056C062-E467-4989-9366-440E8CD23C0C}.Release|Any CPU.Build.0 = Release|Any CPU
-               {AB4F77BB-4340-4A79-9B66-EF5B4221E1F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {AB4F77BB-4340-4A79-9B66-EF5B4221E1F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {AB4F77BB-4340-4A79-9B66-EF5B4221E1F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {AB4F77BB-4340-4A79-9B66-EF5B4221E1F2}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F2156C09-C377-4945-A690-39CFBF3319B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F2156C09-C377-4945-A690-39CFBF3319B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F2156C09-C377-4945-A690-39CFBF3319B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F2156C09-C377-4945-A690-39CFBF3319B3}.Release|Any CPU.Build.0 = Release|Any CPU
-               {E537F31B-BCB7-4935-ABF3-DF2FAC48DCB3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {E537F31B-BCB7-4935-ABF3-DF2FAC48DCB3}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {E537F31B-BCB7-4935-ABF3-DF2FAC48DCB3}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {E537F31B-BCB7-4935-ABF3-DF2FAC48DCB3}.Release|Any CPU.Build.0 = Release|Any CPU
-               {0E3CFD7E-2F93-4B5B-B7FA-2AEBE0F850C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {0E3CFD7E-2F93-4B5B-B7FA-2AEBE0F850C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {0E3CFD7E-2F93-4B5B-B7FA-2AEBE0F850C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {0E3CFD7E-2F93-4B5B-B7FA-2AEBE0F850C0}.Release|Any CPU.Build.0 = Release|Any CPU
-               {74D281D8-F725-4D79-B218-2DFCCFD44FA2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {74D281D8-F725-4D79-B218-2DFCCFD44FA2}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {74D281D8-F725-4D79-B218-2DFCCFD44FA2}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {74D281D8-F725-4D79-B218-2DFCCFD44FA2}.Release|Any CPU.Build.0 = Release|Any CPU
-               {D1A53FE0-3EE3-43FD-8472-29B6E0FAA21D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {D1A53FE0-3EE3-43FD-8472-29B6E0FAA21D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {D1A53FE0-3EE3-43FD-8472-29B6E0FAA21D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {D1A53FE0-3EE3-43FD-8472-29B6E0FAA21D}.Release|Any CPU.Build.0 = Release|Any CPU
-               {EAE6491A-1C73-432A-A0C2-60940B6AA2B8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {EAE6491A-1C73-432A-A0C2-60940B6AA2B8}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {EAE6491A-1C73-432A-A0C2-60940B6AA2B8}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {EAE6491A-1C73-432A-A0C2-60940B6AA2B8}.Release|Any CPU.Build.0 = Release|Any CPU
-               {811AC316-9CC2-497D-A45E-7B6B1E0E481B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {811AC316-9CC2-497D-A45E-7B6B1E0E481B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {811AC316-9CC2-497D-A45E-7B6B1E0E481B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {811AC316-9CC2-497D-A45E-7B6B1E0E481B}.Release|Any CPU.Build.0 = Release|Any CPU
-               {E41631CD-605D-46BE-9D4B-46AAD7EE5599}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {E41631CD-605D-46BE-9D4B-46AAD7EE5599}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {E41631CD-605D-46BE-9D4B-46AAD7EE5599}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {E41631CD-605D-46BE-9D4B-46AAD7EE5599}.Release|Any CPU.Build.0 = Release|Any CPU
-               {A062944C-09A6-4C2C-A2DC-60BB1EB19766}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {A062944C-09A6-4C2C-A2DC-60BB1EB19766}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {A062944C-09A6-4C2C-A2DC-60BB1EB19766}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {A062944C-09A6-4C2C-A2DC-60BB1EB19766}.Release|Any CPU.Build.0 = Release|Any CPU
-               {D554618C-5D38-413A-82BA-7A70B6FC61A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {D554618C-5D38-413A-82BA-7A70B6FC61A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {D554618C-5D38-413A-82BA-7A70B6FC61A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {D554618C-5D38-413A-82BA-7A70B6FC61A3}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F574F9BD-1838-4C13-8722-7D6D33DE1781}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F574F9BD-1838-4C13-8722-7D6D33DE1781}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F574F9BD-1838-4C13-8722-7D6D33DE1781}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F574F9BD-1838-4C13-8722-7D6D33DE1781}.Release|Any CPU.Build.0 = Release|Any CPU
-               {8E6ED7D5-3B08-4A83-905E-8FB4CF0C160D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {8E6ED7D5-3B08-4A83-905E-8FB4CF0C160D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {8E6ED7D5-3B08-4A83-905E-8FB4CF0C160D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {8E6ED7D5-3B08-4A83-905E-8FB4CF0C160D}.Release|Any CPU.Build.0 = Release|Any CPU
-               {6546230C-B2F4-4F79-8E57-6B4867997D77}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {6546230C-B2F4-4F79-8E57-6B4867997D77}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {6546230C-B2F4-4F79-8E57-6B4867997D77}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {6546230C-B2F4-4F79-8E57-6B4867997D77}.Release|Any CPU.Build.0 = Release|Any CPU
-               {DAF033A4-D1CF-464F-B581-578259BF3F8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {DAF033A4-D1CF-464F-B581-578259BF3F8F}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {DAF033A4-D1CF-464F-B581-578259BF3F8F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {DAF033A4-D1CF-464F-B581-578259BF3F8F}.Release|Any CPU.Build.0 = Release|Any CPU
-               {CB3E9225-3DFF-4930-BFED-1E8AE5319C32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {CB3E9225-3DFF-4930-BFED-1E8AE5319C32}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {CB3E9225-3DFF-4930-BFED-1E8AE5319C32}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {CB3E9225-3DFF-4930-BFED-1E8AE5319C32}.Release|Any CPU.Build.0 = Release|Any CPU
-               {50DC9191-2D18-4EDB-A929-4ECAB7981A1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {50DC9191-2D18-4EDB-A929-4ECAB7981A1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {50DC9191-2D18-4EDB-A929-4ECAB7981A1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {50DC9191-2D18-4EDB-A929-4ECAB7981A1C}.Release|Any CPU.Build.0 = Release|Any CPU
-               {BD4DF654-42EE-40E8-A3F4-8A80959E7879}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {BD4DF654-42EE-40E8-A3F4-8A80959E7879}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {BD4DF654-42EE-40E8-A3F4-8A80959E7879}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {BD4DF654-42EE-40E8-A3F4-8A80959E7879}.Release|Any CPU.Build.0 = Release|Any CPU
-               {E36C154B-A0AC-4721-B06A-AFE31D357CE5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {E36C154B-A0AC-4721-B06A-AFE31D357CE5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {E36C154B-A0AC-4721-B06A-AFE31D357CE5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {E36C154B-A0AC-4721-B06A-AFE31D357CE5}.Release|Any CPU.Build.0 = Release|Any CPU
-               {28DE6988-8E54-4D16-B9B6-4A5BB796FB15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {28DE6988-8E54-4D16-B9B6-4A5BB796FB15}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {28DE6988-8E54-4D16-B9B6-4A5BB796FB15}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {28DE6988-8E54-4D16-B9B6-4A5BB796FB15}.Release|Any CPU.Build.0 = Release|Any CPU
-               {FF61AB24-4492-47FA-B4D3-8D961113DD08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {FF61AB24-4492-47FA-B4D3-8D961113DD08}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {FF61AB24-4492-47FA-B4D3-8D961113DD08}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {FF61AB24-4492-47FA-B4D3-8D961113DD08}.Release|Any CPU.Build.0 = Release|Any CPU
-               {CFBE1EF0-4B98-4752-9F6A-4D61CF9DA0EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {CFBE1EF0-4B98-4752-9F6A-4D61CF9DA0EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {CFBE1EF0-4B98-4752-9F6A-4D61CF9DA0EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {CFBE1EF0-4B98-4752-9F6A-4D61CF9DA0EF}.Release|Any CPU.Build.0 = Release|Any CPU
-               {FFDF7B0A-BD62-4E39-8A80-A42B560149C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {FFDF7B0A-BD62-4E39-8A80-A42B560149C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {FFDF7B0A-BD62-4E39-8A80-A42B560149C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {FFDF7B0A-BD62-4E39-8A80-A42B560149C5}.Release|Any CPU.Build.0 = Release|Any CPU
-               {4E601800-644F-49B2-B1C9-60D3489AAC38}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {4E601800-644F-49B2-B1C9-60D3489AAC38}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {4E601800-644F-49B2-B1C9-60D3489AAC38}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {4E601800-644F-49B2-B1C9-60D3489AAC38}.Release|Any CPU.Build.0 = Release|Any CPU
-               {AED34264-9E46-4F38-8BBF-6ECB69DE8FD8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {AED34264-9E46-4F38-8BBF-6ECB69DE8FD8}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {AED34264-9E46-4F38-8BBF-6ECB69DE8FD8}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {AED34264-9E46-4F38-8BBF-6ECB69DE8FD8}.Release|Any CPU.Build.0 = Release|Any CPU
-               {BFBE5444-4F21-45CF-929E-C8FBEF302F5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {BFBE5444-4F21-45CF-929E-C8FBEF302F5E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {BFBE5444-4F21-45CF-929E-C8FBEF302F5E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {BFBE5444-4F21-45CF-929E-C8FBEF302F5E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {2EFF8684-99DB-4DD6-B3BC-7E7AA42A15FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {2EFF8684-99DB-4DD6-B3BC-7E7AA42A15FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {2EFF8684-99DB-4DD6-B3BC-7E7AA42A15FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {2EFF8684-99DB-4DD6-B3BC-7E7AA42A15FC}.Release|Any CPU.Build.0 = Release|Any CPU
-               {A7DC51E3-AB8D-4FE4-B25F-4C16F3CCCB5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {A7DC51E3-AB8D-4FE4-B25F-4C16F3CCCB5C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {A7DC51E3-AB8D-4FE4-B25F-4C16F3CCCB5C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {A7DC51E3-AB8D-4FE4-B25F-4C16F3CCCB5C}.Release|Any CPU.Build.0 = Release|Any CPU
-               {73DBB6D8-132F-4E3B-B437-2F65CBDEF5DE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {73DBB6D8-132F-4E3B-B437-2F65CBDEF5DE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {73DBB6D8-132F-4E3B-B437-2F65CBDEF5DE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {73DBB6D8-132F-4E3B-B437-2F65CBDEF5DE}.Release|Any CPU.Build.0 = Release|Any CPU
-               {DA3B9FEE-8FBD-4587-B760-65420765256A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {DA3B9FEE-8FBD-4587-B760-65420765256A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {DA3B9FEE-8FBD-4587-B760-65420765256A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {DA3B9FEE-8FBD-4587-B760-65420765256A}.Release|Any CPU.Build.0 = Release|Any CPU
-               {6E1C7BDE-7B9E-47B0-A7B2-1561822FE922}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {6E1C7BDE-7B9E-47B0-A7B2-1561822FE922}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {6E1C7BDE-7B9E-47B0-A7B2-1561822FE922}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {6E1C7BDE-7B9E-47B0-A7B2-1561822FE922}.Release|Any CPU.Build.0 = Release|Any CPU
-               {54DFC5A7-7C1D-4BA5-A0F7-F0B312E1E076}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {54DFC5A7-7C1D-4BA5-A0F7-F0B312E1E076}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {54DFC5A7-7C1D-4BA5-A0F7-F0B312E1E076}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {54DFC5A7-7C1D-4BA5-A0F7-F0B312E1E076}.Release|Any CPU.Build.0 = Release|Any CPU
-               {73FB1B7E-09F9-4E7F-A63A-C407A93BCA59}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {73FB1B7E-09F9-4E7F-A63A-C407A93BCA59}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {73FB1B7E-09F9-4E7F-A63A-C407A93BCA59}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {73FB1B7E-09F9-4E7F-A63A-C407A93BCA59}.Release|Any CPU.Build.0 = Release|Any CPU
-               {A76A398F-08C0-4B3D-A624-690717233736}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {A76A398F-08C0-4B3D-A624-690717233736}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {A76A398F-08C0-4B3D-A624-690717233736}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {A76A398F-08C0-4B3D-A624-690717233736}.Release|Any CPU.Build.0 = Release|Any CPU
-               {1379065B-9195-4ED3-95A7-9508211A7A7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {1379065B-9195-4ED3-95A7-9508211A7A7E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {1379065B-9195-4ED3-95A7-9508211A7A7E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {1379065B-9195-4ED3-95A7-9508211A7A7E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {127B367D-2E2C-4F7F-A13E-0F7307D96F2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {127B367D-2E2C-4F7F-A13E-0F7307D96F2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {127B367D-2E2C-4F7F-A13E-0F7307D96F2D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {127B367D-2E2C-4F7F-A13E-0F7307D96F2D}.Release|Any CPU.Build.0 = Release|Any CPU
-               {C337A9A4-3797-4339-AD23-493DF062CD76}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {C337A9A4-3797-4339-AD23-493DF062CD76}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {C337A9A4-3797-4339-AD23-493DF062CD76}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {C337A9A4-3797-4339-AD23-493DF062CD76}.Release|Any CPU.Build.0 = Release|Any CPU
-               {C95AC6B1-7D75-40D5-8B6D-F62278587227}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {C95AC6B1-7D75-40D5-8B6D-F62278587227}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {C95AC6B1-7D75-40D5-8B6D-F62278587227}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {C95AC6B1-7D75-40D5-8B6D-F62278587227}.Release|Any CPU.Build.0 = Release|Any CPU
-               {C2ADDD2F-602B-4787-8688-F06C3DED0DA5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {C2ADDD2F-602B-4787-8688-F06C3DED0DA5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {C2ADDD2F-602B-4787-8688-F06C3DED0DA5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {C2ADDD2F-602B-4787-8688-F06C3DED0DA5}.Release|Any CPU.Build.0 = Release|Any CPU
-               {B77661D6-F5C9-4FB2-8613-06F645D6E227}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {B77661D6-F5C9-4FB2-8613-06F645D6E227}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {B77661D6-F5C9-4FB2-8613-06F645D6E227}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {B77661D6-F5C9-4FB2-8613-06F645D6E227}.Release|Any CPU.Build.0 = Release|Any CPU
-               {ED2E80E0-D1B2-48D3-8EF9-F20CB9D0FA98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {ED2E80E0-D1B2-48D3-8EF9-F20CB9D0FA98}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {ED2E80E0-D1B2-48D3-8EF9-F20CB9D0FA98}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {ED2E80E0-D1B2-48D3-8EF9-F20CB9D0FA98}.Release|Any CPU.Build.0 = Release|Any CPU
-               {E1E28FDB-826D-4FEB-B3B9-3FF98BD2E43F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {E1E28FDB-826D-4FEB-B3B9-3FF98BD2E43F}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {E1E28FDB-826D-4FEB-B3B9-3FF98BD2E43F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {E1E28FDB-826D-4FEB-B3B9-3FF98BD2E43F}.Release|Any CPU.Build.0 = Release|Any CPU
-               {8D430163-3294-4930-B9BA-510385010CE1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {8D430163-3294-4930-B9BA-510385010CE1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {8D430163-3294-4930-B9BA-510385010CE1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {8D430163-3294-4930-B9BA-510385010CE1}.Release|Any CPU.Build.0 = Release|Any CPU
-               {C07C4C90-8F45-49A8-8F22-919577916756}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {C07C4C90-8F45-49A8-8F22-919577916756}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {C07C4C90-8F45-49A8-8F22-919577916756}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {C07C4C90-8F45-49A8-8F22-919577916756}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F6DD456E-ADE4-419D-997F-41ECA0CE79F7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F6DD456E-ADE4-419D-997F-41ECA0CE79F7}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F6DD456E-ADE4-419D-997F-41ECA0CE79F7}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F6DD456E-ADE4-419D-997F-41ECA0CE79F7}.Release|Any CPU.Build.0 = Release|Any CPU
-               {9ABB7BB9-5EA1-4081-B205-5658A602C1F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {9ABB7BB9-5EA1-4081-B205-5658A602C1F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {9ABB7BB9-5EA1-4081-B205-5658A602C1F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {9ABB7BB9-5EA1-4081-B205-5658A602C1F5}.Release|Any CPU.Build.0 = Release|Any CPU
-               {7DFAE255-C562-4F72-8DE4-4D578491A10A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {7DFAE255-C562-4F72-8DE4-4D578491A10A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {7DFAE255-C562-4F72-8DE4-4D578491A10A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {7DFAE255-C562-4F72-8DE4-4D578491A10A}.Release|Any CPU.Build.0 = Release|Any CPU
-               {4A54C7EC-01F3-4C6E-9181-84F178FD0F97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {4A54C7EC-01F3-4C6E-9181-84F178FD0F97}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {4A54C7EC-01F3-4C6E-9181-84F178FD0F97}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {4A54C7EC-01F3-4C6E-9181-84F178FD0F97}.Release|Any CPU.Build.0 = Release|Any CPU
-               {38262197-48BD-4D8A-9968-4C6E60C814BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {38262197-48BD-4D8A-9968-4C6E60C814BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {38262197-48BD-4D8A-9968-4C6E60C814BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {38262197-48BD-4D8A-9968-4C6E60C814BB}.Release|Any CPU.Build.0 = Release|Any CPU
-               {6DAA3E35-6FC9-477B-9D4D-538D9ECE7283}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {6DAA3E35-6FC9-477B-9D4D-538D9ECE7283}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {6DAA3E35-6FC9-477B-9D4D-538D9ECE7283}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {6DAA3E35-6FC9-477B-9D4D-538D9ECE7283}.Release|Any CPU.Build.0 = Release|Any CPU
-               {DA829B50-E4EF-40B3-9156-F1CB488D1D73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {DA829B50-E4EF-40B3-9156-F1CB488D1D73}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {DA829B50-E4EF-40B3-9156-F1CB488D1D73}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {DA829B50-E4EF-40B3-9156-F1CB488D1D73}.Release|Any CPU.Build.0 = Release|Any CPU
-               {03182F0E-A8A9-42FE-B4BD-915B16DF8B16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {03182F0E-A8A9-42FE-B4BD-915B16DF8B16}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {03182F0E-A8A9-42FE-B4BD-915B16DF8B16}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {03182F0E-A8A9-42FE-B4BD-915B16DF8B16}.Release|Any CPU.Build.0 = Release|Any CPU
-               {5A56819B-A874-42CF-991C-8DD1B97115B3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {5A56819B-A874-42CF-991C-8DD1B97115B3}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {5A56819B-A874-42CF-991C-8DD1B97115B3}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {5A56819B-A874-42CF-991C-8DD1B97115B3}.Release|Any CPU.Build.0 = Release|Any CPU
-               {CA0DDCCE-2190-4D9B-88D6-237682D21BC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {CA0DDCCE-2190-4D9B-88D6-237682D21BC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {CA0DDCCE-2190-4D9B-88D6-237682D21BC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {CA0DDCCE-2190-4D9B-88D6-237682D21BC3}.Release|Any CPU.Build.0 = Release|Any CPU
-               {1DEB5FAA-15BC-46F1-BAFA-EE6DF0BB6F76}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {1DEB5FAA-15BC-46F1-BAFA-EE6DF0BB6F76}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {1DEB5FAA-15BC-46F1-BAFA-EE6DF0BB6F76}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {1DEB5FAA-15BC-46F1-BAFA-EE6DF0BB6F76}.Release|Any CPU.Build.0 = Release|Any CPU
-               {71FBB832-7D96-4B79-A7F6-CCC43FE70291}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {71FBB832-7D96-4B79-A7F6-CCC43FE70291}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {71FBB832-7D96-4B79-A7F6-CCC43FE70291}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {71FBB832-7D96-4B79-A7F6-CCC43FE70291}.Release|Any CPU.Build.0 = Release|Any CPU
-               {55AA0C89-63D9-438E-A139-3ED9F72AE295}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {55AA0C89-63D9-438E-A139-3ED9F72AE295}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {55AA0C89-63D9-438E-A139-3ED9F72AE295}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {55AA0C89-63D9-438E-A139-3ED9F72AE295}.Release|Any CPU.Build.0 = Release|Any CPU
-               {B96416B1-91AE-466C-BDD0-9A8FF4331E61}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {B96416B1-91AE-466C-BDD0-9A8FF4331E61}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {B96416B1-91AE-466C-BDD0-9A8FF4331E61}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {B96416B1-91AE-466C-BDD0-9A8FF4331E61}.Release|Any CPU.Build.0 = Release|Any CPU
-               {5F5C22E0-4AD5-4F78-94A7-038F823E1E3D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {5F5C22E0-4AD5-4F78-94A7-038F823E1E3D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {5F5C22E0-4AD5-4F78-94A7-038F823E1E3D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {5F5C22E0-4AD5-4F78-94A7-038F823E1E3D}.Release|Any CPU.Build.0 = Release|Any CPU
-               {5D72C9D5-37E8-4B93-A634-919A3B251C9B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {5D72C9D5-37E8-4B93-A634-919A3B251C9B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {5D72C9D5-37E8-4B93-A634-919A3B251C9B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {5D72C9D5-37E8-4B93-A634-919A3B251C9B}.Release|Any CPU.Build.0 = Release|Any CPU
-               {EFA38650-CE13-4BF3-993D-70B238DB1C9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {EFA38650-CE13-4BF3-993D-70B238DB1C9E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {EFA38650-CE13-4BF3-993D-70B238DB1C9E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {EFA38650-CE13-4BF3-993D-70B238DB1C9E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {4EF3C775-C516-4897-AB1D-DC9F8862A4D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {4EF3C775-C516-4897-AB1D-DC9F8862A4D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {4EF3C775-C516-4897-AB1D-DC9F8862A4D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {4EF3C775-C516-4897-AB1D-DC9F8862A4D9}.Release|Any CPU.Build.0 = Release|Any CPU
-               {EE831E49-3F84-4A05-9417-A9C8BD36E164}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {EE831E49-3F84-4A05-9417-A9C8BD36E164}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {EE831E49-3F84-4A05-9417-A9C8BD36E164}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {EE831E49-3F84-4A05-9417-A9C8BD36E164}.Release|Any CPU.Build.0 = Release|Any CPU
-               {4C2D4246-D4F5-420B-B1B5-031853AC47F4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {4C2D4246-D4F5-420B-B1B5-031853AC47F4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {4C2D4246-D4F5-420B-B1B5-031853AC47F4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {4C2D4246-D4F5-420B-B1B5-031853AC47F4}.Release|Any CPU.Build.0 = Release|Any CPU
-               {8D27108A-3DD4-46D7-917E-7833A3C4D479}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {8D27108A-3DD4-46D7-917E-7833A3C4D479}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {8D27108A-3DD4-46D7-917E-7833A3C4D479}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {8D27108A-3DD4-46D7-917E-7833A3C4D479}.Release|Any CPU.Build.0 = Release|Any CPU
-               {895BA5F6-E27F-46C4-B045-58DD0F14BF90}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {895BA5F6-E27F-46C4-B045-58DD0F14BF90}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {895BA5F6-E27F-46C4-B045-58DD0F14BF90}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {895BA5F6-E27F-46C4-B045-58DD0F14BF90}.Release|Any CPU.Build.0 = Release|Any CPU
-               {E85DF38F-D4F6-4B04-9962-32B0CCC8AC5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {E85DF38F-D4F6-4B04-9962-32B0CCC8AC5E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {E85DF38F-D4F6-4B04-9962-32B0CCC8AC5E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {E85DF38F-D4F6-4B04-9962-32B0CCC8AC5E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {FC7ACFC5-81E9-4798-9D7F-067AEAD8A4D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {FC7ACFC5-81E9-4798-9D7F-067AEAD8A4D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {FC7ACFC5-81E9-4798-9D7F-067AEAD8A4D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {FC7ACFC5-81E9-4798-9D7F-067AEAD8A4D4}.Release|Any CPU.Build.0 = Release|Any CPU
-               {91A70A1D-36C5-49BC-92CC-A04D7C2C6EE1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {91A70A1D-36C5-49BC-92CC-A04D7C2C6EE1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {91A70A1D-36C5-49BC-92CC-A04D7C2C6EE1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {91A70A1D-36C5-49BC-92CC-A04D7C2C6EE1}.Release|Any CPU.Build.0 = Release|Any CPU
-               {1A49E00D-F0FB-430A-A540-1545DD999B36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {1A49E00D-F0FB-430A-A540-1545DD999B36}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {1A49E00D-F0FB-430A-A540-1545DD999B36}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {1A49E00D-F0FB-430A-A540-1545DD999B36}.Release|Any CPU.Build.0 = Release|Any CPU
-               {6A059733-FAF1-4125-8BE6-C58A4E3714CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {6A059733-FAF1-4125-8BE6-C58A4E3714CE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {6A059733-FAF1-4125-8BE6-C58A4E3714CE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {6A059733-FAF1-4125-8BE6-C58A4E3714CE}.Release|Any CPU.Build.0 = Release|Any CPU
-               {E9B87AE3-9A05-4146-83CC-082BE32D8EB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {E9B87AE3-9A05-4146-83CC-082BE32D8EB2}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {E9B87AE3-9A05-4146-83CC-082BE32D8EB2}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {E9B87AE3-9A05-4146-83CC-082BE32D8EB2}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F3B101A1-2CC5-416E-9C64-AABAB5D4A625}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F3B101A1-2CC5-416E-9C64-AABAB5D4A625}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F3B101A1-2CC5-416E-9C64-AABAB5D4A625}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F3B101A1-2CC5-416E-9C64-AABAB5D4A625}.Release|Any CPU.Build.0 = Release|Any CPU
-               {E902CD82-23AC-456B-9F4B-51CC193275F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {E902CD82-23AC-456B-9F4B-51CC193275F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {E902CD82-23AC-456B-9F4B-51CC193275F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {E902CD82-23AC-456B-9F4B-51CC193275F8}.Release|Any CPU.Build.0 = Release|Any CPU
-               {9D2DBCBA-6C1E-405B-BCBA-20406EA9501F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {9D2DBCBA-6C1E-405B-BCBA-20406EA9501F}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {9D2DBCBA-6C1E-405B-BCBA-20406EA9501F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {9D2DBCBA-6C1E-405B-BCBA-20406EA9501F}.Release|Any CPU.Build.0 = Release|Any CPU
-               {3694FAEB-90F5-46E8-AD30-E91FF97B401A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {3694FAEB-90F5-46E8-AD30-E91FF97B401A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {3694FAEB-90F5-46E8-AD30-E91FF97B401A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {3694FAEB-90F5-46E8-AD30-E91FF97B401A}.Release|Any CPU.Build.0 = Release|Any CPU
-               {19831BAF-44E6-4F3E-B46E-B1BD09398232}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {19831BAF-44E6-4F3E-B46E-B1BD09398232}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {19831BAF-44E6-4F3E-B46E-B1BD09398232}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {19831BAF-44E6-4F3E-B46E-B1BD09398232}.Release|Any CPU.Build.0 = Release|Any CPU
-               {81352E26-6AB7-4AA3-8FB1-28A476E82748}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {81352E26-6AB7-4AA3-8FB1-28A476E82748}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {81352E26-6AB7-4AA3-8FB1-28A476E82748}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {81352E26-6AB7-4AA3-8FB1-28A476E82748}.Release|Any CPU.Build.0 = Release|Any CPU
-               {BDF04E30-60D9-4279-A1DF-3291328A5AFD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {BDF04E30-60D9-4279-A1DF-3291328A5AFD}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {BDF04E30-60D9-4279-A1DF-3291328A5AFD}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {BDF04E30-60D9-4279-A1DF-3291328A5AFD}.Release|Any CPU.Build.0 = Release|Any CPU
-               {4124933B-9DE6-4D76-8ABB-AEAE814CFB26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {4124933B-9DE6-4D76-8ABB-AEAE814CFB26}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {4124933B-9DE6-4D76-8ABB-AEAE814CFB26}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {4124933B-9DE6-4D76-8ABB-AEAE814CFB26}.Release|Any CPU.Build.0 = Release|Any CPU
-               {050D4277-82D2-4544-A929-EDCBEA5FD69D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {050D4277-82D2-4544-A929-EDCBEA5FD69D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {050D4277-82D2-4544-A929-EDCBEA5FD69D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {050D4277-82D2-4544-A929-EDCBEA5FD69D}.Release|Any CPU.Build.0 = Release|Any CPU
-               {8888F00F-4ADC-4C1E-B542-7A8FA406CD98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {8888F00F-4ADC-4C1E-B542-7A8FA406CD98}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {8888F00F-4ADC-4C1E-B542-7A8FA406CD98}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {8888F00F-4ADC-4C1E-B542-7A8FA406CD98}.Release|Any CPU.Build.0 = Release|Any CPU
-               {34031168-8F0D-431D-A1DE-044B3D89C7A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {34031168-8F0D-431D-A1DE-044B3D89C7A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {34031168-8F0D-431D-A1DE-044B3D89C7A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {34031168-8F0D-431D-A1DE-044B3D89C7A2}.Release|Any CPU.Build.0 = Release|Any CPU
-               {D2B40179-234C-4709-82A2-AE91FA7AD106}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {D2B40179-234C-4709-82A2-AE91FA7AD106}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {D2B40179-234C-4709-82A2-AE91FA7AD106}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {D2B40179-234C-4709-82A2-AE91FA7AD106}.Release|Any CPU.Build.0 = Release|Any CPU
-               {9732089B-32BB-43FC-BB72-3EE9BBBE796A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {9732089B-32BB-43FC-BB72-3EE9BBBE796A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {9732089B-32BB-43FC-BB72-3EE9BBBE796A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {9732089B-32BB-43FC-BB72-3EE9BBBE796A}.Release|Any CPU.Build.0 = Release|Any CPU
-               {141D4A4E-C16C-4FF6-9E35-54AF58BE6080}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {141D4A4E-C16C-4FF6-9E35-54AF58BE6080}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {141D4A4E-C16C-4FF6-9E35-54AF58BE6080}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {141D4A4E-C16C-4FF6-9E35-54AF58BE6080}.Release|Any CPU.Build.0 = Release|Any CPU
-               {675F041D-3D9F-4195-B713-8BD1CA16E16E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {675F041D-3D9F-4195-B713-8BD1CA16E16E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {675F041D-3D9F-4195-B713-8BD1CA16E16E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {675F041D-3D9F-4195-B713-8BD1CA16E16E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {64CA4DB7-C8DA-49CC-A114-1C20038A0469}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {64CA4DB7-C8DA-49CC-A114-1C20038A0469}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {64CA4DB7-C8DA-49CC-A114-1C20038A0469}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {64CA4DB7-C8DA-49CC-A114-1C20038A0469}.Release|Any CPU.Build.0 = Release|Any CPU
-               {7B94E990-3BC4-44B6-98FF-102A3459AF92}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {7B94E990-3BC4-44B6-98FF-102A3459AF92}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {7B94E990-3BC4-44B6-98FF-102A3459AF92}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {7B94E990-3BC4-44B6-98FF-102A3459AF92}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F550AB44-48A5-47F1-8EBB-5BA1CAF3366E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F550AB44-48A5-47F1-8EBB-5BA1CAF3366E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F550AB44-48A5-47F1-8EBB-5BA1CAF3366E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F550AB44-48A5-47F1-8EBB-5BA1CAF3366E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {A13F59CB-1F71-4ECE-82A1-9A3D6760E5D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {A13F59CB-1F71-4ECE-82A1-9A3D6760E5D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {A13F59CB-1F71-4ECE-82A1-9A3D6760E5D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {A13F59CB-1F71-4ECE-82A1-9A3D6760E5D2}.Release|Any CPU.Build.0 = Release|Any CPU
-               {BDCFB32D-9CCE-4A2F-ABBB-490C3D49BBE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {BDCFB32D-9CCE-4A2F-ABBB-490C3D49BBE0}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {BDCFB32D-9CCE-4A2F-ABBB-490C3D49BBE0}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {BDCFB32D-9CCE-4A2F-ABBB-490C3D49BBE0}.Release|Any CPU.Build.0 = Release|Any CPU
-               {37D2FA30-09B8-4E38-982A-1890D7275F42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {37D2FA30-09B8-4E38-982A-1890D7275F42}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {37D2FA30-09B8-4E38-982A-1890D7275F42}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {37D2FA30-09B8-4E38-982A-1890D7275F42}.Release|Any CPU.Build.0 = Release|Any CPU
-               {34C2ACED-602C-41CD-AB40-3813B3420625}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {34C2ACED-602C-41CD-AB40-3813B3420625}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {34C2ACED-602C-41CD-AB40-3813B3420625}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {34C2ACED-602C-41CD-AB40-3813B3420625}.Release|Any CPU.Build.0 = Release|Any CPU
-               {3A324F98-B121-44F2-B1AD-6DC4D3D27A89}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {3A324F98-B121-44F2-B1AD-6DC4D3D27A89}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {3A324F98-B121-44F2-B1AD-6DC4D3D27A89}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {3A324F98-B121-44F2-B1AD-6DC4D3D27A89}.Release|Any CPU.Build.0 = Release|Any CPU
-               {6E17967A-FBC5-4F44-AE4F-CBE1E70F862E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {6E17967A-FBC5-4F44-AE4F-CBE1E70F862E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {6E17967A-FBC5-4F44-AE4F-CBE1E70F862E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {6E17967A-FBC5-4F44-AE4F-CBE1E70F862E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {5DF5E924-6F3B-42DB-A3E0-1FB63028F189}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {5DF5E924-6F3B-42DB-A3E0-1FB63028F189}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {5DF5E924-6F3B-42DB-A3E0-1FB63028F189}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {5DF5E924-6F3B-42DB-A3E0-1FB63028F189}.Release|Any CPU.Build.0 = Release|Any CPU
-               {188DBB84-D591-48CC-B8B2-E7E12A0EE0BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {188DBB84-D591-48CC-B8B2-E7E12A0EE0BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {188DBB84-D591-48CC-B8B2-E7E12A0EE0BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {188DBB84-D591-48CC-B8B2-E7E12A0EE0BE}.Release|Any CPU.Build.0 = Release|Any CPU
-               {FD626146-F48C-4E29-9D4C-872FB5AEA5C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {FD626146-F48C-4E29-9D4C-872FB5AEA5C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {FD626146-F48C-4E29-9D4C-872FB5AEA5C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {FD626146-F48C-4E29-9D4C-872FB5AEA5C1}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F8EB53BB-0BD5-4775-9EE7-2D4C7403B898}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F8EB53BB-0BD5-4775-9EE7-2D4C7403B898}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F8EB53BB-0BD5-4775-9EE7-2D4C7403B898}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F8EB53BB-0BD5-4775-9EE7-2D4C7403B898}.Release|Any CPU.Build.0 = Release|Any CPU
-               {C2025B80-1555-4CBE-8982-8E0DFCFC9F16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {C2025B80-1555-4CBE-8982-8E0DFCFC9F16}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {C2025B80-1555-4CBE-8982-8E0DFCFC9F16}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {C2025B80-1555-4CBE-8982-8E0DFCFC9F16}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F97C589C-5F94-4C4F-B465-13432ABF4744}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F97C589C-5F94-4C4F-B465-13432ABF4744}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F97C589C-5F94-4C4F-B465-13432ABF4744}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F97C589C-5F94-4C4F-B465-13432ABF4744}.Release|Any CPU.Build.0 = Release|Any CPU
-               {A2069635-0635-40BA-B82C-DC458AFB3A9E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {A2069635-0635-40BA-B82C-DC458AFB3A9E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {A2069635-0635-40BA-B82C-DC458AFB3A9E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {A2069635-0635-40BA-B82C-DC458AFB3A9E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {D5541A16-CFFD-4699-BC6D-EE859A38737F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {D5541A16-CFFD-4699-BC6D-EE859A38737F}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {D5541A16-CFFD-4699-BC6D-EE859A38737F}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {D5541A16-CFFD-4699-BC6D-EE859A38737F}.Release|Any CPU.Build.0 = Release|Any CPU
-               {5DC73C5F-E943-473B-BE4D-0EB115C3F1AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {5DC73C5F-E943-473B-BE4D-0EB115C3F1AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {5DC73C5F-E943-473B-BE4D-0EB115C3F1AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {5DC73C5F-E943-473B-BE4D-0EB115C3F1AF}.Release|Any CPU.Build.0 = Release|Any CPU
-               {9A11D4E5-5C4C-471C-9912-AAB6C9851CF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {9A11D4E5-5C4C-471C-9912-AAB6C9851CF9}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {9A11D4E5-5C4C-471C-9912-AAB6C9851CF9}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {9A11D4E5-5C4C-471C-9912-AAB6C9851CF9}.Release|Any CPU.Build.0 = Release|Any CPU
-               {670D61FE-7031-4734-87FB-E7DC401F7D99}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {670D61FE-7031-4734-87FB-E7DC401F7D99}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {670D61FE-7031-4734-87FB-E7DC401F7D99}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {670D61FE-7031-4734-87FB-E7DC401F7D99}.Release|Any CPU.Build.0 = Release|Any CPU
-               {080E1A07-4A13-4D86-966E-4BED488972E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {080E1A07-4A13-4D86-966E-4BED488972E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {080E1A07-4A13-4D86-966E-4BED488972E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {080E1A07-4A13-4D86-966E-4BED488972E9}.Release|Any CPU.Build.0 = Release|Any CPU
-               {00F1AED2-A30C-4FE4-9B8C-1DCB271AD050}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {00F1AED2-A30C-4FE4-9B8C-1DCB271AD050}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {00F1AED2-A30C-4FE4-9B8C-1DCB271AD050}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {00F1AED2-A30C-4FE4-9B8C-1DCB271AD050}.Release|Any CPU.Build.0 = Release|Any CPU
-               {4A4281A7-0EBB-4FA4-ABC8-354253A9DDAF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {4A4281A7-0EBB-4FA4-ABC8-354253A9DDAF}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {4A4281A7-0EBB-4FA4-ABC8-354253A9DDAF}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {4A4281A7-0EBB-4FA4-ABC8-354253A9DDAF}.Release|Any CPU.Build.0 = Release|Any CPU
-               {CD67F8F0-C543-4BBA-AB81-F6A9FCD4BD62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {CD67F8F0-C543-4BBA-AB81-F6A9FCD4BD62}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {CD67F8F0-C543-4BBA-AB81-F6A9FCD4BD62}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {CD67F8F0-C543-4BBA-AB81-F6A9FCD4BD62}.Release|Any CPU.Build.0 = Release|Any CPU
-               {516204B8-800B-4508-8DA1-E103A1985B5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {516204B8-800B-4508-8DA1-E103A1985B5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {516204B8-800B-4508-8DA1-E103A1985B5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {516204B8-800B-4508-8DA1-E103A1985B5A}.Release|Any CPU.Build.0 = Release|Any CPU
-               {045F952B-9AB3-4DB1-ADBB-D260B4B5E0E1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {045F952B-9AB3-4DB1-ADBB-D260B4B5E0E1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {045F952B-9AB3-4DB1-ADBB-D260B4B5E0E1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {045F952B-9AB3-4DB1-ADBB-D260B4B5E0E1}.Release|Any CPU.Build.0 = Release|Any CPU
-               {798C666E-FA52-4B49-B8E3-49167F2E0D26}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {798C666E-FA52-4B49-B8E3-49167F2E0D26}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {798C666E-FA52-4B49-B8E3-49167F2E0D26}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {798C666E-FA52-4B49-B8E3-49167F2E0D26}.Release|Any CPU.Build.0 = Release|Any CPU
-               {66CACE39-45D9-4F11-9606-CEDC9F4FB94E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {66CACE39-45D9-4F11-9606-CEDC9F4FB94E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {66CACE39-45D9-4F11-9606-CEDC9F4FB94E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {66CACE39-45D9-4F11-9606-CEDC9F4FB94E}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F113ADCC-80CA-4CCC-A59B-3628CB0F534C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F113ADCC-80CA-4CCC-A59B-3628CB0F534C}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F113ADCC-80CA-4CCC-A59B-3628CB0F534C}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F113ADCC-80CA-4CCC-A59B-3628CB0F534C}.Release|Any CPU.Build.0 = Release|Any CPU
-               {5EC82F0C-7FAF-44DE-BD77-57CFE2FEB1D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {5EC82F0C-7FAF-44DE-BD77-57CFE2FEB1D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {5EC82F0C-7FAF-44DE-BD77-57CFE2FEB1D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {5EC82F0C-7FAF-44DE-BD77-57CFE2FEB1D5}.Release|Any CPU.Build.0 = Release|Any CPU
-               {FE41441F-91F5-48AC-84DA-23056DD7386B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {FE41441F-91F5-48AC-84DA-23056DD7386B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {FE41441F-91F5-48AC-84DA-23056DD7386B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {FE41441F-91F5-48AC-84DA-23056DD7386B}.Release|Any CPU.Build.0 = Release|Any CPU
-               {09F21748-CA1B-49EF-BE06-64542DBDD927}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {09F21748-CA1B-49EF-BE06-64542DBDD927}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {09F21748-CA1B-49EF-BE06-64542DBDD927}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {09F21748-CA1B-49EF-BE06-64542DBDD927}.Release|Any CPU.Build.0 = Release|Any CPU
-               {5FB7CE3D-3BF8-4539-AC0B-37A473DA75C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {5FB7CE3D-3BF8-4539-AC0B-37A473DA75C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {5FB7CE3D-3BF8-4539-AC0B-37A473DA75C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {5FB7CE3D-3BF8-4539-AC0B-37A473DA75C6}.Release|Any CPU.Build.0 = Release|Any CPU
-               {339D127E-6EC9-4DC2-A6E9-1306B4AAC18A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {339D127E-6EC9-4DC2-A6E9-1306B4AAC18A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {339D127E-6EC9-4DC2-A6E9-1306B4AAC18A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {339D127E-6EC9-4DC2-A6E9-1306B4AAC18A}.Release|Any CPU.Build.0 = Release|Any CPU
-               {EF11BD41-8AF8-4A15-A6B7-344BC9852EF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {EF11BD41-8AF8-4A15-A6B7-344BC9852EF6}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {EF11BD41-8AF8-4A15-A6B7-344BC9852EF6}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {EF11BD41-8AF8-4A15-A6B7-344BC9852EF6}.Release|Any CPU.Build.0 = Release|Any CPU
-               {DEAA541C-1414-4C17-9DB1-F63F83B0C182}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {DEAA541C-1414-4C17-9DB1-F63F83B0C182}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {DEAA541C-1414-4C17-9DB1-F63F83B0C182}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {DEAA541C-1414-4C17-9DB1-F63F83B0C182}.Release|Any CPU.Build.0 = Release|Any CPU
-               {4AB957DC-5A83-40D2-AB0B-DA1583C40181}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {4AB957DC-5A83-40D2-AB0B-DA1583C40181}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {4AB957DC-5A83-40D2-AB0B-DA1583C40181}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {4AB957DC-5A83-40D2-AB0B-DA1583C40181}.Release|Any CPU.Build.0 = Release|Any CPU
-               {189011AC-76B3-4364-B999-A54B72B69DF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {189011AC-76B3-4364-B999-A54B72B69DF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {189011AC-76B3-4364-B999-A54B72B69DF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {189011AC-76B3-4364-B999-A54B72B69DF7}.Release|Any CPU.Build.0 = Release|Any CPU
-               {3FC77F23-AFB8-4FB6-A18F-5E76D6B4A309}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {3FC77F23-AFB8-4FB6-A18F-5E76D6B4A309}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {3FC77F23-AFB8-4FB6-A18F-5E76D6B4A309}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {3FC77F23-AFB8-4FB6-A18F-5E76D6B4A309}.Release|Any CPU.Build.0 = Release|Any CPU
-               {CA73F804-277A-40B5-A9F7-5E3FD913629B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {CA73F804-277A-40B5-A9F7-5E3FD913629B}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {CA73F804-277A-40B5-A9F7-5E3FD913629B}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {CA73F804-277A-40B5-A9F7-5E3FD913629B}.Release|Any CPU.Build.0 = Release|Any CPU
-               {93FB6CF4-26B5-4D43-A485-E9A052A82749}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {93FB6CF4-26B5-4D43-A485-E9A052A82749}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {93FB6CF4-26B5-4D43-A485-E9A052A82749}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {93FB6CF4-26B5-4D43-A485-E9A052A82749}.Release|Any CPU.Build.0 = Release|Any CPU
-               {4DE82EEA-1FE0-4D13-B1DA-7221E52CD3EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {4DE82EEA-1FE0-4D13-B1DA-7221E52CD3EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {4DE82EEA-1FE0-4D13-B1DA-7221E52CD3EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {4DE82EEA-1FE0-4D13-B1DA-7221E52CD3EE}.Release|Any CPU.Build.0 = Release|Any CPU
-               {32D7A81F-E7B5-4E08-BE4C-2BC0FF902C66}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {32D7A81F-E7B5-4E08-BE4C-2BC0FF902C66}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {32D7A81F-E7B5-4E08-BE4C-2BC0FF902C66}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {32D7A81F-E7B5-4E08-BE4C-2BC0FF902C66}.Release|Any CPU.Build.0 = Release|Any CPU
-               {F47D56BD-BA6E-4503-B2FA-435A331338B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {F47D56BD-BA6E-4503-B2FA-435A331338B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {F47D56BD-BA6E-4503-B2FA-435A331338B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {F47D56BD-BA6E-4503-B2FA-435A331338B5}.Release|Any CPU.Build.0 = Release|Any CPU
-               {799C90EA-628C-40EB-8C8C-6EA21B2ECE80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {799C90EA-628C-40EB-8C8C-6EA21B2ECE80}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {799C90EA-628C-40EB-8C8C-6EA21B2ECE80}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {799C90EA-628C-40EB-8C8C-6EA21B2ECE80}.Release|Any CPU.Build.0 = Release|Any CPU
-               {71E1B60C-1AF2-4AE8-B5F5-118AC38B64DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {71E1B60C-1AF2-4AE8-B5F5-118AC38B64DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {71E1B60C-1AF2-4AE8-B5F5-118AC38B64DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {71E1B60C-1AF2-4AE8-B5F5-118AC38B64DB}.Release|Any CPU.Build.0 = Release|Any CPU
-               {56035DDD-F2DD-46ED-88EF-DF8636198D36}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {56035DDD-F2DD-46ED-88EF-DF8636198D36}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {56035DDD-F2DD-46ED-88EF-DF8636198D36}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {56035DDD-F2DD-46ED-88EF-DF8636198D36}.Release|Any CPU.Build.0 = Release|Any CPU
-               {6ABB9197-8B7B-4566-B42A-5B7A8CDE3D4E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-               {6ABB9197-8B7B-4566-B42A-5B7A8CDE3D4E}.Debug|Any CPU.Build.0 = Debug|Any CPU
-               {6ABB9197-8B7B-4566-B42A-5B7A8CDE3D4E}.Release|Any CPU.ActiveCfg = Release|Any CPU
-               {6ABB9197-8B7B-4566-B42A-5B7A8CDE3D4E}.Release|Any CPU.Build.0 = Release|Any CPU
-       EndGlobalSection
-       GlobalSection(SolutionProperties) = preSolution
-               HideSolutionNode = FALSE
-       EndGlobalSection
-EndGlobal
diff --git a/msvc/scripts/net_4_x.sln b/msvc/scripts/net_4_x.sln
new file mode 100644 (file)
index 0000000..035004a
--- /dev/null
@@ -0,0 +1,860 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00\r
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "corlib-net_4_x", "..\..\mcs\class/corlib\corlib-net_4_x.csproj", "{2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System-net_4_x", "..\..\mcs\class/System\System-net_4_x.csproj", "{2762E921-91A8-4C87-91E9-BA628013F753}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Configuration-net_4_x", "..\..\mcs\class/System.Configuration\System.Configuration-net_4_x.csproj", "{D5CDC09C-F19A-4811-A6C8-70F51CBFB644}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System-secxml-net_4_x", "..\..\mcs\class/System\System-secxml-net_4_x.csproj", "{19954F80-065E-4D46-8FEF-62BA4D6CFDAD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Xml-bare-net_4_x", "..\..\mcs\class/System.XML\System.Xml-bare-net_4_x.csproj", "{A5216031-11A3-44DD-B2FF-A14AE63BD0C3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System-bare-net_4_x", "..\..\mcs\class/System\System-bare-net_4_x.csproj", "{483DB7F6-9145-4AE2-B9B2-2B5EE6FDEFB4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Security-net_4_x", "..\..\mcs\class/Mono.Security\Mono.Security-net_4_x.csproj", "{42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Security-net_4_x", "..\..\mcs\class/System.Security\System.Security-net_4_x.csproj", "{3ED36717-A9D1-4289-8949-9B7F39766DEB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Xml-net_4_x", "..\..\mcs\class/System.XML\System.Xml-net_4_x.csproj", "{87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.CompilerServices.SymbolWriter-net_4_x", "..\..\mcs\class/Mono.CompilerServices.SymbolWriter\Mono.CompilerServices.SymbolWriter-net_4_x.csproj", "{88177C4B-894F-485D-B95A-44199C06BE9F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Posix-net_4_x", "..\..\mcs\class/Mono.Posix\Mono.Posix-net_4_x.csproj", "{66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Core-net_4_x", "..\..\mcs\class/System.Core\System.Core-net_4_x.csproj", "{359142A1-D80F-401E-AA64-7167C9317649}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Core-plaincore-net_4_x", "..\..\mcs\class/System.Core\System.Core-plaincore-net_4_x.csproj", "{1EC0EBC0-0B35-454C-89AE-3F8F0FDD9705}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Drawing-net_4_x", "..\..\mcs\class/System.Drawing\System.Drawing-net_4_x.csproj", "{584A5E46-2958-4CB2-8DF9-188B420D0BB0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Transactions-net_4_x", "..\..\mcs\class/System.Transactions\System.Transactions-net_4_x.csproj", "{3821C69F-220D-4231-992C-0FE05311A005}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.EnterpriseServices-net_4_x", "..\..\mcs\class/System.EnterpriseServices\System.EnterpriseServices-net_4_x.csproj", "{61E3D008-E273-4E12-860A-8ADA031098C2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Data.Tds-net_4_x", "..\..\mcs\class/Mono.Data.Tds\Mono.Data.Tds-net_4_x.csproj", "{39F59AE4-1381-4275-B14E-16D786F40B93}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Numerics-net_4_x", "..\..\mcs\class/System.Numerics\System.Numerics-net_4_x.csproj", "{BD2FFDDC-BD89-4041-82F5-A696C941C7BE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Numerics.Vectors-net_4_x", "..\..\mcs\class/System.Numerics.Vectors\System.Numerics.Vectors-net_4_x.csproj", "{B05362C2-C85F-43A5-93D7-49A45892438D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data-net_4_x", "..\..\mcs\class/System.Data\System.Data-net_4_x.csproj", "{EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ComponentModel.DataAnnotations-net_4_x", "..\..\mcs\class/System.ComponentModel.DataAnnotations\System.ComponentModel.DataAnnotations-net_4_x.csproj", "{8F86C287-38A5-49F8-BE6D-1E0E3D74AF39}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Accessibility-net_4_x", "..\..\mcs\class/Accessibility\Accessibility-net_4_x.csproj", "{E51283DC-7090-479E-B723-01C0953F18EA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.WebBrowser-net_4_x", "..\..\mcs\class/Mono.WebBrowser\Mono.WebBrowser-net_4_x.csproj", "{B6DD737B-421C-4201-A852-8022328FE59D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Serialization.Formatters.Soap-net_4_x", "..\..\mcs\class/System.Runtime.Serialization.Formatters.Soap\System.Runtime.Serialization.Formatters.Soap-net_4_x.csproj", "{A157AD69-59D4-49DE-94B3-DB883B2BEAA5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Windows.Forms-net_4_x", "..\..\mcs\class/System.Windows.Forms\System.Windows.Forms-net_4_x.csproj", "{108227C7-8ED9-4483-949D-07BF0DA1A201}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Data.Sqlite-net_4_x", "..\..\mcs\class/Mono.Data.Sqlite\Mono.Data.Sqlite-net_4_x.csproj", "{371560EA-7BD3-4025-90CB-F1B112403CF2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.ApplicationServices-net_4_x", "..\..\mcs\class/System.Web.ApplicationServices\System.Web.ApplicationServices-net_4_x.csproj", "{928432BE-3518-4103-97F6-48B9658588A6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Novell.Directory.Ldap-net_4_x", "..\..\mcs\class/Novell.Directory.Ldap\Novell.Directory.Ldap-net_4_x.csproj", "{B424FF7F-8F49-45F5-BFD5-6319F818816F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.DirectoryServices-net_4_x", "..\..\mcs\class/System.DirectoryServices\System.DirectoryServices-net_4_x.csproj", "{CC4F3F73-E0A6-49EE-8F7D-BD8B9F293A72}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web-net_4_x", "..\..\mcs\class/System.Web\System.Web-net_4_x.csproj", "{9DB806CB-B828-49B7-BAE2-2E52402CB4DC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Services-net_4_x", "..\..\mcs\class/System.Web.Services\System.Web.Services-net_4_x.csproj", "{E43ADBA7-5DB9-466B-90C6-FFFDA520848D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web-plainweb-net_4_x", "..\..\mcs\class/System.Web\System.Web-plainweb-net_4_x.csproj", "{DE51B021-D51C-4F26-99EE-B0729D97631E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Design-net_4_x", "..\..\mcs\class/System.Design\System.Design-net_4_x.csproj", "{EFEDC380-2CB0-4B40-9566-D2302867A4D9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Remoting-net_4_x", "..\..\mcs\class/System.Runtime.Remoting\System.Runtime.Remoting-net_4_x.csproj", "{F19F77AE-1A81-4676-BAB8-6C1DA243A961}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Configuration.Install-net_4_x", "..\..\mcs\class/System.Configuration.Install\System.Configuration.Install-net_4_x.csproj", "{B144ACD4-089D-4769-8605-583FBEDB5B7C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Management-net_4_x", "..\..\mcs\class/System.Management\System.Management-net_4_x.csproj", "{A81C8BB6-5799-49BC-849A-CB422D3F8DB9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.OracleClient-net_4_x", "..\..\mcs\class/System.Data.OracleClient\System.Data.OracleClient-net_4_x.csproj", "{0029417C-ED54-4162-8D8C-D935C760D89D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Cscompmgd-net_4_x", "..\..\mcs\class/Cscompmgd\Cscompmgd-net_4_x.csproj", "{2AB43CEE-0BE1-46EF-971E-3678330BEA13}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Commons.Xml.Relaxng-net_4_x", "..\..\mcs\class/Commons.Xml.Relaxng\Commons.Xml.Relaxng-net_4_x.csproj", "{FFFE76FE-98EE-4FF7-81D9-35C0FE1D3718}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Messaging-net_4_x", "..\..\mcs\class/Mono.Messaging\Mono.Messaging-net_4_x.csproj", "{F89761CF-5915-45E5-8C9C-E4F883EC5FA5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Messaging-net_4_x", "..\..\mcs\class/System.Messaging\System.Messaging-net_4_x.csproj", "{4AC19C4C-5998-4F55-9C65-55ACB8D71AB2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceProcess-net_4_x", "..\..\mcs\class/System.ServiceProcess\System.ServiceProcess-net_4_x.csproj", "{CF24A609-AEF3-4E7A-95FC-C7A3CEAA7CC3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Drawing.Design-net_4_x", "..\..\mcs\class/System.Drawing.Design\System.Drawing.Design-net_4_x.csproj", "{BAC9BBAE-661E-4B6E-97BC-4045D34E887E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ICSharpCode.SharpZipLib-net_4_x", "..\..\mcs\class/ICSharpCode.SharpZipLib\ICSharpCode.SharpZipLib-net_4_x.csproj", "{4903F98F-B4C9-467A-8FBA-39E7F91D9327}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IBM.Data.DB2-net_4_x", "..\..\mcs\class/IBM.Data.DB2\IBM.Data.DB2-net_4_x.csproj", "{83DC05C9-3C7E-44D9-8D56-5619CF832BC5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CustomMarshalers-net_4_x", "..\..\mcs\class/CustomMarshalers\CustomMarshalers-net_4_x.csproj", "{6D021ADB-0407-42C9-9CC9-6613D94C61AE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SystemWebTestShim-net_4_x", "..\..\mcs\class/SystemWebTestShim\SystemWebTestShim-net_4_x.csproj", "{F0A0BBA8-FFB1-4278-B4EF-84BCEAF69133}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel.Internals-net_4_x", "..\..\mcs\class/System.ServiceModel.Internals\System.ServiceModel.Internals-net_4_x.csproj", "{5769B536-7E8E-4C2A-8671-6B256D0F620B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SMDiagnostics-net_4_x", "..\..\mcs\class/SMDiagnostics\SMDiagnostics-net_4_x.csproj", "{8B8C3ED9-96F9-49B3-B355-9FD3D29DD3AD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Serialization-net_4_x", "..\..\mcs\class/System.Runtime.Serialization\System.Runtime.Serialization-net_4_x.csproj", "{D845AD9D-3CCB-49CB-9543-028678E94938}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Xml.Linq-net_4_x", "..\..\mcs\class/System.Xml.Linq\System.Xml.Linq-net_4_x.csproj", "{526286D5-38D9-4579-B001-471440D57752}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.Linq-net_4_x", "..\..\mcs\class/System.Data.Linq\System.Data.Linq-net_4_x.csproj", "{E6EE9E9A-42BA-4202-8813-FCF40E9061BF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Abstractions-net_4_x", "..\..\mcs\class/System.Web.Abstractions\System.Web.Abstractions-net_4_x.csproj", "{79D6E70D-8FD8-4EAA-9E81-B32B5C2815FB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Routing-net_4_x", "..\..\mcs\class/System.Web.Routing\System.Web.Routing-net_4_x.csproj", "{EBD67AE3-F249-4768-A143-6B2F9E56BC39}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.DurableInstancing-net_4_x", "..\..\mcs\class/System.Runtime.DurableInstancing\System.Runtime.DurableInstancing-net_4_x.csproj", "{67822258-3D1E-449F-ACDD-BE1918B44458}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.IdentityModel-net_4_x", "..\..\mcs\class/System.IdentityModel\System.IdentityModel-net_4_x.csproj", "{FA718FA9-32C2-4BAC-BAAB-DB3A7A326D4C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.IdentityModel.Selectors-net_4_x", "..\..\mcs\class/System.IdentityModel.Selectors\System.IdentityModel.Selectors-net_4_x.csproj", "{BBA32980-B28C-476D-AEB0-892F1B1DFB5E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel-net_4_x", "..\..\mcs\class/System.ServiceModel\System.ServiceModel-net_4_x.csproj", "{FE596C31-BDA2-4850-8F79-F8F4DF70F44A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel.Activation-net_4_x", "..\..\mcs\class/System.ServiceModel.Activation\System.ServiceModel.Activation-net_4_x.csproj", "{7A23227C-591B-4F80-9D62-4D0271073D82}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel-plainservice-net_4_x", "..\..\mcs\class/System.ServiceModel\System.ServiceModel-plainservice-net_4_x.csproj", "{88C258E1-F0AF-47DA-96C8-7FA6421067CD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Extensions-net_4_x", "..\..\mcs\class/System.Web.Extensions\System.Web.Extensions-net_4_x.csproj", "{EE582CE1-A692-47AC-B838-3A78955898BE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Extensions.Design-net_4_x", "..\..\mcs\class/System.Web.Extensions.Design\System.Web.Extensions.Design-net_4_x.csproj", "{288BFBFF-D78E-4EB3-ABF4-A5BCBB1BD9C9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.DynamicData-net_4_x", "..\..\mcs\class/System.Web.DynamicData\System.Web.DynamicData-net_4_x.csproj", "{E5E3F230-57CA-4685-B1C4-A164F0876755}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.CSharp-net_4_x", "..\..\mcs\class/Mono.CSharp\Mono.CSharp-net_4_x.csproj", "{BEFCA993-98B4-48E9-8D68-1ACCB1FA7200}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Net-net_4_x", "..\..\mcs\class/System.Net\System.Net-net_4_x.csproj", "{A455F1BB-6273-4BAE-985C-563BED11D529}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Json-net_4_x", "..\..\mcs\class/System.Json\System.Json-net_4_x.csproj", "{D315DFE8-0E95-45D9-9EDB-9DCF70E5152F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.CSharp-net_4_x", "..\..\mcs\class/Microsoft.CSharp\Microsoft.CSharp-net_4_x.csproj", "{DABF9F75-63AD-4991-9D2B-9234E7032B32}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Xaml-net_4_x", "..\..\mcs\class/System.Xaml\System.Xaml-net_4_x.csproj", "{4E79FA59-8344-4053-8E3B-B9619BA26513}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WindowsBase-net_4_x", "..\..\mcs\class/WindowsBase\WindowsBase-net_4_x.csproj", "{A8F39368-ECD9-41A5-A562-CC7C82B3CC86}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel.Routing-net_4_x", "..\..\mcs\class/System.ServiceModel.Routing\System.ServiceModel.Routing-net_4_x.csproj", "{55BBC4F8-6DA2-4B3D-8714-F45A255F8BCC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel.Discovery-net_4_x", "..\..\mcs\class/System.ServiceModel.Discovery\System.ServiceModel.Discovery-net_4_x.csproj", "{2D03C898-0B45-4CAA-A333-B2463B81C37B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Caching-net_4_x", "..\..\mcs\class/System.Runtime.Caching\System.Runtime.Caching-net_4_x.csproj", "{2FE2D8C6-B7B8-4067-A2C0-9D1DEA020FD8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ServiceModel.Web-net_4_x", "..\..\mcs\class/System.ServiceModel.Web\System.ServiceModel.Web-net_4_x.csproj", "{54F4FA23-5AF3-4312-9294-3DB109F644CC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Net.Http-net_4_x", "..\..\mcs\class/System.Net.Http\System.Net.Http-net_4_x.csproj", "{F1636C0A-FC68-4362-918F-9CCC789FED13}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Net.Http.WebRequest-net_4_x", "..\..\mcs\class/System.Net.Http.WebRequest\System.Net.Http.WebRequest-net_4_x.csproj", "{A98B5CC3-EAFC-4EFD-ABC6-2F2A65BE98F5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Razor-net_4_x", "..\..\mcs\class/System.Web.Razor\System.Web.Razor-net_4_x.csproj", "{11928A85-4C26-4258-AC86-2AFB0A69DED2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.WebPages.Deployment-net_4_x", "..\..\mcs\class/System.Web.WebPages.Deployment\System.Web.WebPages.Deployment-net_4_x.csproj", "{12C344E9-64D1-4F94-BAB6-1231B863EE6C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.WebPages-net_4_x", "..\..\mcs\class/System.Web.WebPages\System.Web.WebPages-net_4_x.csproj", "{D4EAC129-92AB-432C-941D-4B8481097060}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.WebPages.Razor-net_4_x", "..\..\mcs\class/System.Web.WebPages.Razor\System.Web.WebPages.Razor-net_4_x.csproj", "{55F0BCD6-4B0B-408C-BE98-4BFF82157048}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Mvc3-net_4_x", "..\..\mcs\class/System.Web.Mvc3\System.Web.Mvc3-net_4_x.csproj", "{14D0E9AA-AF30-4E40-983F-8BE66423E6AF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Net.Http.Formatting-net_4_x", "..\..\mcs\class/System.Net.Http.Formatting\System.Net.Http.Formatting-net_4_x.csproj", "{5883D056-B748-4D13-A7E3-2D2756CDC6BC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Http-net_4_x", "..\..\mcs\class/System.Web.Http\System.Web.Http-net_4_x.csproj", "{6DDAE502-A602-410C-B182-C18D5100DDB0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Http.SelfHost-net_4_x", "..\..\mcs\class/System.Web.Http.SelfHost\System.Web.Http.SelfHost-net_4_x.csproj", "{0E705D1C-A4C4-41C2-832D-C812F3D4CB3C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Web.Http.WebHost-net_4_x", "..\..\mcs\class/System.Web.Http.WebHost\System.Web.Http.WebHost-net_4_x.csproj", "{2AF7E697-07BA-439E-89BF-076AEE4AE04C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Framework-net_4_x", "..\..\mcs\class/Microsoft.Build.Framework\Microsoft.Build.Framework-net_4_x.csproj", "{5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Utilities-net_4_x", "..\..\mcs\class/Microsoft.Build.Utilities\Microsoft.Build.Utilities-net_4_x.csproj", "{8E5728E0-CEAF-431F-963E-EB1DEE15C506}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Engine-net_4_x", "..\..\mcs\class/Microsoft.Build.Engine\Microsoft.Build.Engine-net_4_x.csproj", "{75DFF196-FA56-48CD-9A1A-CEA3BEC618AB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.XBuild.Tasks-net_4_x", "..\..\mcs\class/Mono.XBuild.Tasks\Mono.XBuild.Tasks-net_4_x.csproj", "{3FA2C1F8-62D9-421D-8EEE-B4E651B8588C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build.Tasks-net_4_x", "..\..\mcs\class/Microsoft.Build.Tasks\Microsoft.Build.Tasks-net_4_x.csproj", "{979FCA08-E170-4BA6-969B-30213135BEA3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.Build-net_4_x", "..\..\mcs\class/Microsoft.Build\Microsoft.Build-net_4_x.csproj", "{124B6594-F3EC-4FE3-B5A8-2A5CB4D5BC5A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PEAPI-net_4_x", "..\..\mcs\class/PEAPI\PEAPI-net_4_x.csproj", "{34443C71-09F1-4F21-ABB4-82822376F74F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "I18N-net_4_x", "..\..\mcs\class/I18N/Common\I18N-net_4_x.csproj", "{E831A310-28EE-4433-B916-FF38A0FCDBE6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "I18N.West-net_4_x", "..\..\mcs\class/I18N/West\I18N.West-net_4_x.csproj", "{3516F613-9194-4B95-B7B2-3F9B37A87B30}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "I18N.MidEast-net_4_x", "..\..\mcs\class/I18N/MidEast\I18N.MidEast-net_4_x.csproj", "{CF9EC4FE-1FBF-4583-ADE9-D0E6554D4528}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "I18N.Other-net_4_x", "..\..\mcs\class/I18N/Other\I18N.Other-net_4_x.csproj", "{990903B9-BEDF-472C-97B8-221F8AA0A731}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "I18N.Rare-net_4_x", "..\..\mcs\class/I18N/Rare\I18N.Rare-net_4_x.csproj", "{83227E53-5469-412F-B936-74AD08CDD9D9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "I18N.CJK-net_4_x", "..\..\mcs\class/I18N/CJK\I18N.CJK-net_4_x.csproj", "{4742C0FA-2C03-4598-A3F2-4E7D9CDFF81B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Http-net_4_x", "..\..\mcs\class/Mono.Http\Mono.Http-net_4_x.csproj", "{11DD6F15-65AB-4CBD-9EFE-2C9626388C53}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cairo-net_4_x", "..\..\mcs\class/Mono.Cairo\Mono.Cairo-net_4_x.csproj", "{D76A0C93-56FE-4339-99A8-B7A3D49D6DDE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil-net_4_x", "..\..\mcs\class/Mono.Cecil\Mono.Cecil-net_4_x.csproj", "{2C0D558F-0B38-4691-967E-A910A1B995C1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Cecil.Mdb-net_4_x", "..\..\mcs\class/Mono.Cecil.Mdb\Mono.Cecil.Mdb-net_4_x.csproj", "{CF14D34A-F69B-47FB-A99C-D25C77198F30}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Debugger.Soft-net_4_x", "..\..\mcs\class/Mono.Debugger.Soft\Mono.Debugger.Soft-net_4_x.csproj", "{57B5039F-30CC-4EAA-9D55-1B9A07AC8A69}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.C5-net_4_x", "..\..\mcs\class/Mono.C5\Mono.C5-net_4_x.csproj", "{61B86230-B170-4B03-A8CA-D5AF77858D7E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Management-net_4_x", "..\..\mcs\class/Mono.Management\Mono.Management-net_4_x.csproj", "{1A2B6016-1EEF-4C06-943D-EB3E94A31EB9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Options-net_4_x", "..\..\mcs\class/Mono.Options\Mono.Options-net_4_x.csproj", "{115711B0-D1F2-4E50-83F9-63128E70CE05}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Simd-net_4_x", "..\..\mcs\class/Mono.Simd\Mono.Simd-net_4_x.csproj", "{9DD41BEA-E086-42C4-9FB8-85ABEDDA7F37}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Tasklets-net_4_x", "..\..\mcs\class/Mono.Tasklets\Mono.Tasklets-net_4_x.csproj", "{85EC1EAD-8AA5-4CF8-A0CE-3882FEB7C57B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.CodeContracts-net_4_x", "..\..\mcs\class/Mono.CodeContracts\Mono.CodeContracts-net_4_x.csproj", "{9BE8D62B-471D-4538-8287-691B4ECE3209}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Parallel-net_4_x", "..\..\mcs\class/Mono.Parallel\Mono.Parallel-net_4_x.csproj", "{18E55AE4-6B9B-44EF-94C9-1084D5472E63}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Security.Win32-net_4_x", "..\..\mcs\class/Mono.Security.Win32\Mono.Security.Win32-net_4_x.csproj", "{994BF3A4-85FD-4FDB-9120-C3A3B44A57CD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RabbitMQ.Client.Apigen-net_4_x", "..\..\mcs\class/RabbitMQ.Client/src/apigen\RabbitMQ.Client.Apigen-net_4_x.csproj", "{D2A49790-9CFD-492B-9CFA-58B9AEDA1B75}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RabbitMQ.Client-net_4_x", "..\..\mcs\class/RabbitMQ.Client/src/client\RabbitMQ.Client-net_4_x.csproj", "{8A378E82-8FA2-4DC9-A2F7-CD5CACC3F8F6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Messaging.RabbitMQ-net_4_x", "..\..\mcs\class/Mono.Messaging.RabbitMQ\Mono.Messaging.RabbitMQ-net_4_x.csproj", "{FF19FF42-C95D-4BB7-A0D7-05A94C07276E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Dynamic-net_4_x", "..\..\mcs\class/System.Dynamic\System.Dynamic-net_4_x.csproj", "{5428F1E0-B0ED-46D6-B429-27D1A1C175C0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Windows.Forms.DataVisualization-net_4_x", "..\..\mcs\class/System.Windows.Forms.DataVisualization\System.Windows.Forms.DataVisualization-net_4_x.csproj", "{C6A36476-0B2B-45BA-B4DD-05C39E63F3BE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Interfaces-net_4_x", "..\..\mcs\class/System.Reactive.Interfaces\System.Reactive.Interfaces-net_4_x.csproj", "{0DA7868F-C598-4E45-B33C-86FBB482DB76}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Core-net_4_x", "..\..\mcs\class/System.Reactive.Core\System.Reactive.Core-net_4_x.csproj", "{52F7F1BD-9D67-494E-A53A-C291FF5424B4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Linq-net_4_x", "..\..\mcs\class/System.Reactive.Linq\System.Reactive.Linq-net_4_x.csproj", "{EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.PlatformServices-net_4_x", "..\..\mcs\class/System.Reactive.PlatformServices\System.Reactive.PlatformServices-net_4_x.csproj", "{00CF93F7-B48C-4AF7-B8D5-58DFFAD22845}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Providers-net_4_x", "..\..\mcs\class/System.Reactive.Providers\System.Reactive.Providers-net_4_x.csproj", "{22187CB5-7451-45B4-B21B-337D956FF05D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Runtime.Remoting-net_4_x", "..\..\mcs\class/System.Reactive.Runtime.Remoting\System.Reactive.Runtime.Remoting-net_4_x.csproj", "{7675D4A6-F017-4D20-BFE3-295B86F166CD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Windows.Forms-net_4_x", "..\..\mcs\class/System.Reactive.Windows.Forms\System.Reactive.Windows.Forms-net_4_x.csproj", "{9DA5F2F9-AF47-4D48-BA58-2FAFD12538C7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Windows.Threading-net_4_x", "..\..\mcs\class/System.Reactive.Windows.Threading\System.Reactive.Windows.Threading-net_4_x.csproj", "{52C2AE83-A947-42CC-ADEF-9F54042D85D5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Observable.Aliases-net_4_x", "..\..\mcs\class/System.Reactive.Observable.Aliases\System.Reactive.Observable.Aliases-net_4_x.csproj", "{7D16E76F-3B1D-415E-AD93-5D4D86B451A0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Experimental-net_4_x", "..\..\mcs\class/System.Reactive.Experimental\System.Reactive.Experimental-net_4_x.csproj", "{20E6619C-E88D-442C-AFA8-2216A73CF8D2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Reactive.Debugger-net_4_x", "..\..\mcs\class/System.Reactive.Debugger\System.Reactive.Debugger-net_4_x.csproj", "{8EB36024-5DB5-4854-8425-8D95A8059F2D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.Services.Client-net_4_x", "..\..\mcs\class/System.Data.Services.Client\System.Data.Services.Client-net_4_x.csproj", "{2FFB9A8F-DB7B-41FF-9398-15DF81AE1BC8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.Services-net_4_x", "..\..\mcs\class/System.Data.Services\System.Data.Services-net_4_x.csproj", "{5A287CAF-8FA4-42F7-976D-EE16D76CF2F1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.Entity-net_4_x", "..\..\mcs\class/System.Data.Entity\System.Data.Entity-net_4_x.csproj", "{A559EE60-2FE6-47DD-B4B8-0097BD242D86}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Data.DataSetExtensions-net_4_x", "..\..\mcs\class/System.Data.DataSetExtensions\System.Data.DataSetExtensions-net_4_x.csproj", "{64D286EF-32EA-4494-9DD6-36609597A11A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Json.Microsoft-net_4_x", "..\..\mcs\class/System.Json.Microsoft\System.Json.Microsoft-net_4_x.csproj", "{E6A6B9F7-BD0C-4F8D-8AFE-2EF76A2FB3AD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Threading.Tasks.Dataflow-net_4_x", "..\..\mcs\class/System.Threading.Tasks.Dataflow\System.Threading.Tasks.Dataflow-net_4_x.csproj", "{70A422C5-17AF-48EE-8DD8-CF88D482606C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.ComponentModel.Composition-net_4_x", "..\..\mcs\class/System.ComponentModel.Composition.4.5\System.ComponentModel.Composition-net_4_x.csproj", "{9091B5ED-8AFF-4B93-801A-9A33E0895A2B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.IO.Compression-net_4_x", "..\..\mcs\class/System.IO.Compression\System.IO.Compression-net_4_x.csproj", "{6187D26C-54C8-4298-829E-A99B0E6036B1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.IO.Compression.FileSystem-net_4_x", "..\..\mcs\class/System.IO.Compression.FileSystem\System.IO.Compression.FileSystem-net_4_x.csproj", "{9E61FF2E-493E-4CA0-BBDA-2EF96A4CB058}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Windows-net_4_x", "..\..\mcs\class/System.Windows\System.Windows-net_4_x.csproj", "{3F6EB6D4-602E-43C2-A3E1-4AD98E8C86EE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Xml.Serialization-net_4_x", "..\..\mcs\class/System.Xml.Serialization\System.Xml.Serialization-net_4_x.csproj", "{2210873E-99FC-48A2-A261-D650BAE33A1C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.DirectoryServices.Protocols-net_4_x", "..\..\mcs\class/System.DirectoryServices.Protocols\System.DirectoryServices.Protocols-net_4_x.csproj", "{EF08F249-31A1-4E62-8391-ECBA5227B686}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Microsoft.VisualC-net_4_x", "..\..\mcs\class/Microsoft.VisualC\Microsoft.VisualC-net_4_x.csproj", "{ACA2694D-9F07-4AE2-9171-9AB5DD1A8C18}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebMatrix.Data-net_4_x", "..\..\mcs\class/WebMatrix.Data\WebMatrix.Data-net_4_x.csproj", "{25552E1C-6EE1-4D73-A309-A1ED7FA26E94}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "monodoc-net_4_x", "..\..\mcs\class/monodoc\monodoc-net_4_x.csproj", "{0248869F-8D3B-4AB2-B976-B2A9AF1319A9}"
+EndProject
+Global
+       GlobalSection(SolutionConfigurationPlatforms) = preSolution
+               Debug|Any CPU = Debug|Any CPU
+               Release|Any CPU = Release|Any CPU
+       EndGlobalSection
+       GlobalSection(ProjectConfigurationPlatforms) = postSolution
+               {2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {2CA6026B-2DC8-4C4C-A12C-1E8234049DB7}.Release|Any CPU.Build.0 = Release|Any CPU
+               {2762E921-91A8-4C87-91E9-BA628013F753}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {2762E921-91A8-4C87-91E9-BA628013F753}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {2762E921-91A8-4C87-91E9-BA628013F753}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {2762E921-91A8-4C87-91E9-BA628013F753}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D5CDC09C-F19A-4811-A6C8-70F51CBFB644}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D5CDC09C-F19A-4811-A6C8-70F51CBFB644}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D5CDC09C-F19A-4811-A6C8-70F51CBFB644}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D5CDC09C-F19A-4811-A6C8-70F51CBFB644}.Release|Any CPU.Build.0 = Release|Any CPU
+               {19954F80-065E-4D46-8FEF-62BA4D6CFDAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {19954F80-065E-4D46-8FEF-62BA4D6CFDAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {19954F80-065E-4D46-8FEF-62BA4D6CFDAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {19954F80-065E-4D46-8FEF-62BA4D6CFDAD}.Release|Any CPU.Build.0 = Release|Any CPU
+               {A5216031-11A3-44DD-B2FF-A14AE63BD0C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {A5216031-11A3-44DD-B2FF-A14AE63BD0C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {A5216031-11A3-44DD-B2FF-A14AE63BD0C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {A5216031-11A3-44DD-B2FF-A14AE63BD0C3}.Release|Any CPU.Build.0 = Release|Any CPU
+               {483DB7F6-9145-4AE2-B9B2-2B5EE6FDEFB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {483DB7F6-9145-4AE2-B9B2-2B5EE6FDEFB4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {483DB7F6-9145-4AE2-B9B2-2B5EE6FDEFB4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {483DB7F6-9145-4AE2-B9B2-2B5EE6FDEFB4}.Release|Any CPU.Build.0 = Release|Any CPU
+               {42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}.Release|Any CPU.Build.0 = Release|Any CPU
+               {3ED36717-A9D1-4289-8949-9B7F39766DEB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {3ED36717-A9D1-4289-8949-9B7F39766DEB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {3ED36717-A9D1-4289-8949-9B7F39766DEB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {3ED36717-A9D1-4289-8949-9B7F39766DEB}.Release|Any CPU.Build.0 = Release|Any CPU
+               {87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {87FD2F0F-5222-4AE6-BD63-2D4975E11E5B}.Release|Any CPU.Build.0 = Release|Any CPU
+               {88177C4B-894F-485D-B95A-44199C06BE9F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {88177C4B-894F-485D-B95A-44199C06BE9F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {88177C4B-894F-485D-B95A-44199C06BE9F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {88177C4B-894F-485D-B95A-44199C06BE9F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {66DBB049-785B-4C2E-9EF6-C9E163F7DDD1}.Release|Any CPU.Build.0 = Release|Any CPU
+               {359142A1-D80F-401E-AA64-7167C9317649}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {359142A1-D80F-401E-AA64-7167C9317649}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {359142A1-D80F-401E-AA64-7167C9317649}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {359142A1-D80F-401E-AA64-7167C9317649}.Release|Any CPU.Build.0 = Release|Any CPU
+               {1EC0EBC0-0B35-454C-89AE-3F8F0FDD9705}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {1EC0EBC0-0B35-454C-89AE-3F8F0FDD9705}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {1EC0EBC0-0B35-454C-89AE-3F8F0FDD9705}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {1EC0EBC0-0B35-454C-89AE-3F8F0FDD9705}.Release|Any CPU.Build.0 = Release|Any CPU
+               {584A5E46-2958-4CB2-8DF9-188B420D0BB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {584A5E46-2958-4CB2-8DF9-188B420D0BB0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {584A5E46-2958-4CB2-8DF9-188B420D0BB0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {584A5E46-2958-4CB2-8DF9-188B420D0BB0}.Release|Any CPU.Build.0 = Release|Any CPU
+               {3821C69F-220D-4231-992C-0FE05311A005}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {3821C69F-220D-4231-992C-0FE05311A005}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {3821C69F-220D-4231-992C-0FE05311A005}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {3821C69F-220D-4231-992C-0FE05311A005}.Release|Any CPU.Build.0 = Release|Any CPU
+               {61E3D008-E273-4E12-860A-8ADA031098C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {61E3D008-E273-4E12-860A-8ADA031098C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {61E3D008-E273-4E12-860A-8ADA031098C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {61E3D008-E273-4E12-860A-8ADA031098C2}.Release|Any CPU.Build.0 = Release|Any CPU
+               {39F59AE4-1381-4275-B14E-16D786F40B93}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {39F59AE4-1381-4275-B14E-16D786F40B93}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {39F59AE4-1381-4275-B14E-16D786F40B93}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {39F59AE4-1381-4275-B14E-16D786F40B93}.Release|Any CPU.Build.0 = Release|Any CPU
+               {BD2FFDDC-BD89-4041-82F5-A696C941C7BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {BD2FFDDC-BD89-4041-82F5-A696C941C7BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {BD2FFDDC-BD89-4041-82F5-A696C941C7BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {BD2FFDDC-BD89-4041-82F5-A696C941C7BE}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B05362C2-C85F-43A5-93D7-49A45892438D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B05362C2-C85F-43A5-93D7-49A45892438D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B05362C2-C85F-43A5-93D7-49A45892438D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B05362C2-C85F-43A5-93D7-49A45892438D}.Release|Any CPU.Build.0 = Release|Any CPU
+               {EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {EC439BB8-FFED-4A32-A05D-2FA3A70CAD64}.Release|Any CPU.Build.0 = Release|Any CPU
+               {8F86C287-38A5-49F8-BE6D-1E0E3D74AF39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {8F86C287-38A5-49F8-BE6D-1E0E3D74AF39}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {8F86C287-38A5-49F8-BE6D-1E0E3D74AF39}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {8F86C287-38A5-49F8-BE6D-1E0E3D74AF39}.Release|Any CPU.Build.0 = Release|Any CPU
+               {E51283DC-7090-479E-B723-01C0953F18EA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {E51283DC-7090-479E-B723-01C0953F18EA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {E51283DC-7090-479E-B723-01C0953F18EA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {E51283DC-7090-479E-B723-01C0953F18EA}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B6DD737B-421C-4201-A852-8022328FE59D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B6DD737B-421C-4201-A852-8022328FE59D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B6DD737B-421C-4201-A852-8022328FE59D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B6DD737B-421C-4201-A852-8022328FE59D}.Release|Any CPU.Build.0 = Release|Any CPU
+               {A157AD69-59D4-49DE-94B3-DB883B2BEAA5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {A157AD69-59D4-49DE-94B3-DB883B2BEAA5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {A157AD69-59D4-49DE-94B3-DB883B2BEAA5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {A157AD69-59D4-49DE-94B3-DB883B2BEAA5}.Release|Any CPU.Build.0 = Release|Any CPU
+               {108227C7-8ED9-4483-949D-07BF0DA1A201}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {108227C7-8ED9-4483-949D-07BF0DA1A201}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {108227C7-8ED9-4483-949D-07BF0DA1A201}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {108227C7-8ED9-4483-949D-07BF0DA1A201}.Release|Any CPU.Build.0 = Release|Any CPU
+               {371560EA-7BD3-4025-90CB-F1B112403CF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {371560EA-7BD3-4025-90CB-F1B112403CF2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {371560EA-7BD3-4025-90CB-F1B112403CF2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {371560EA-7BD3-4025-90CB-F1B112403CF2}.Release|Any CPU.Build.0 = Release|Any CPU
+               {928432BE-3518-4103-97F6-48B9658588A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {928432BE-3518-4103-97F6-48B9658588A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {928432BE-3518-4103-97F6-48B9658588A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {928432BE-3518-4103-97F6-48B9658588A6}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B424FF7F-8F49-45F5-BFD5-6319F818816F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B424FF7F-8F49-45F5-BFD5-6319F818816F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B424FF7F-8F49-45F5-BFD5-6319F818816F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B424FF7F-8F49-45F5-BFD5-6319F818816F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {CC4F3F73-E0A6-49EE-8F7D-BD8B9F293A72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {CC4F3F73-E0A6-49EE-8F7D-BD8B9F293A72}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {CC4F3F73-E0A6-49EE-8F7D-BD8B9F293A72}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {CC4F3F73-E0A6-49EE-8F7D-BD8B9F293A72}.Release|Any CPU.Build.0 = Release|Any CPU
+               {9DB806CB-B828-49B7-BAE2-2E52402CB4DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {9DB806CB-B828-49B7-BAE2-2E52402CB4DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {9DB806CB-B828-49B7-BAE2-2E52402CB4DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {9DB806CB-B828-49B7-BAE2-2E52402CB4DC}.Release|Any CPU.Build.0 = Release|Any CPU
+               {E43ADBA7-5DB9-466B-90C6-FFFDA520848D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {E43ADBA7-5DB9-466B-90C6-FFFDA520848D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {E43ADBA7-5DB9-466B-90C6-FFFDA520848D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {E43ADBA7-5DB9-466B-90C6-FFFDA520848D}.Release|Any CPU.Build.0 = Release|Any CPU
+               {DE51B021-D51C-4F26-99EE-B0729D97631E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {DE51B021-D51C-4F26-99EE-B0729D97631E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {DE51B021-D51C-4F26-99EE-B0729D97631E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {DE51B021-D51C-4F26-99EE-B0729D97631E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {EFEDC380-2CB0-4B40-9566-D2302867A4D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {EFEDC380-2CB0-4B40-9566-D2302867A4D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {EFEDC380-2CB0-4B40-9566-D2302867A4D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {EFEDC380-2CB0-4B40-9566-D2302867A4D9}.Release|Any CPU.Build.0 = Release|Any CPU
+               {F19F77AE-1A81-4676-BAB8-6C1DA243A961}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {F19F77AE-1A81-4676-BAB8-6C1DA243A961}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {F19F77AE-1A81-4676-BAB8-6C1DA243A961}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {F19F77AE-1A81-4676-BAB8-6C1DA243A961}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B144ACD4-089D-4769-8605-583FBEDB5B7C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B144ACD4-089D-4769-8605-583FBEDB5B7C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B144ACD4-089D-4769-8605-583FBEDB5B7C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B144ACD4-089D-4769-8605-583FBEDB5B7C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {A81C8BB6-5799-49BC-849A-CB422D3F8DB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {A81C8BB6-5799-49BC-849A-CB422D3F8DB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {A81C8BB6-5799-49BC-849A-CB422D3F8DB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {A81C8BB6-5799-49BC-849A-CB422D3F8DB9}.Release|Any CPU.Build.0 = Release|Any CPU
+               {0029417C-ED54-4162-8D8C-D935C760D89D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {0029417C-ED54-4162-8D8C-D935C760D89D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {0029417C-ED54-4162-8D8C-D935C760D89D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {0029417C-ED54-4162-8D8C-D935C760D89D}.Release|Any CPU.Build.0 = Release|Any CPU
+               {2AB43CEE-0BE1-46EF-971E-3678330BEA13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {2AB43CEE-0BE1-46EF-971E-3678330BEA13}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {2AB43CEE-0BE1-46EF-971E-3678330BEA13}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {2AB43CEE-0BE1-46EF-971E-3678330BEA13}.Release|Any CPU.Build.0 = Release|Any CPU
+               {FFFE76FE-98EE-4FF7-81D9-35C0FE1D3718}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {FFFE76FE-98EE-4FF7-81D9-35C0FE1D3718}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {FFFE76FE-98EE-4FF7-81D9-35C0FE1D3718}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {FFFE76FE-98EE-4FF7-81D9-35C0FE1D3718}.Release|Any CPU.Build.0 = Release|Any CPU
+               {F89761CF-5915-45E5-8C9C-E4F883EC5FA5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {F89761CF-5915-45E5-8C9C-E4F883EC5FA5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {F89761CF-5915-45E5-8C9C-E4F883EC5FA5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {F89761CF-5915-45E5-8C9C-E4F883EC5FA5}.Release|Any CPU.Build.0 = Release|Any CPU
+               {4AC19C4C-5998-4F55-9C65-55ACB8D71AB2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {4AC19C4C-5998-4F55-9C65-55ACB8D71AB2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {4AC19C4C-5998-4F55-9C65-55ACB8D71AB2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {4AC19C4C-5998-4F55-9C65-55ACB8D71AB2}.Release|Any CPU.Build.0 = Release|Any CPU
+               {CF24A609-AEF3-4E7A-95FC-C7A3CEAA7CC3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {CF24A609-AEF3-4E7A-95FC-C7A3CEAA7CC3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {CF24A609-AEF3-4E7A-95FC-C7A3CEAA7CC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {CF24A609-AEF3-4E7A-95FC-C7A3CEAA7CC3}.Release|Any CPU.Build.0 = Release|Any CPU
+               {BAC9BBAE-661E-4B6E-97BC-4045D34E887E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {BAC9BBAE-661E-4B6E-97BC-4045D34E887E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {BAC9BBAE-661E-4B6E-97BC-4045D34E887E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {BAC9BBAE-661E-4B6E-97BC-4045D34E887E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {4903F98F-B4C9-467A-8FBA-39E7F91D9327}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {4903F98F-B4C9-467A-8FBA-39E7F91D9327}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {4903F98F-B4C9-467A-8FBA-39E7F91D9327}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {4903F98F-B4C9-467A-8FBA-39E7F91D9327}.Release|Any CPU.Build.0 = Release|Any CPU
+               {83DC05C9-3C7E-44D9-8D56-5619CF832BC5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {83DC05C9-3C7E-44D9-8D56-5619CF832BC5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {83DC05C9-3C7E-44D9-8D56-5619CF832BC5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {83DC05C9-3C7E-44D9-8D56-5619CF832BC5}.Release|Any CPU.Build.0 = Release|Any CPU
+               {6D021ADB-0407-42C9-9CC9-6613D94C61AE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {6D021ADB-0407-42C9-9CC9-6613D94C61AE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {6D021ADB-0407-42C9-9CC9-6613D94C61AE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {6D021ADB-0407-42C9-9CC9-6613D94C61AE}.Release|Any CPU.Build.0 = Release|Any CPU
+               {F0A0BBA8-FFB1-4278-B4EF-84BCEAF69133}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {F0A0BBA8-FFB1-4278-B4EF-84BCEAF69133}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {F0A0BBA8-FFB1-4278-B4EF-84BCEAF69133}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {F0A0BBA8-FFB1-4278-B4EF-84BCEAF69133}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5769B536-7E8E-4C2A-8671-6B256D0F620B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5769B536-7E8E-4C2A-8671-6B256D0F620B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5769B536-7E8E-4C2A-8671-6B256D0F620B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5769B536-7E8E-4C2A-8671-6B256D0F620B}.Release|Any CPU.Build.0 = Release|Any CPU
+               {8B8C3ED9-96F9-49B3-B355-9FD3D29DD3AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {8B8C3ED9-96F9-49B3-B355-9FD3D29DD3AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {8B8C3ED9-96F9-49B3-B355-9FD3D29DD3AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {8B8C3ED9-96F9-49B3-B355-9FD3D29DD3AD}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D845AD9D-3CCB-49CB-9543-028678E94938}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D845AD9D-3CCB-49CB-9543-028678E94938}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D845AD9D-3CCB-49CB-9543-028678E94938}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D845AD9D-3CCB-49CB-9543-028678E94938}.Release|Any CPU.Build.0 = Release|Any CPU
+               {526286D5-38D9-4579-B001-471440D57752}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {526286D5-38D9-4579-B001-471440D57752}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {526286D5-38D9-4579-B001-471440D57752}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {526286D5-38D9-4579-B001-471440D57752}.Release|Any CPU.Build.0 = Release|Any CPU
+               {E6EE9E9A-42BA-4202-8813-FCF40E9061BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {E6EE9E9A-42BA-4202-8813-FCF40E9061BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {E6EE9E9A-42BA-4202-8813-FCF40E9061BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {E6EE9E9A-42BA-4202-8813-FCF40E9061BF}.Release|Any CPU.Build.0 = Release|Any CPU
+               {79D6E70D-8FD8-4EAA-9E81-B32B5C2815FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {79D6E70D-8FD8-4EAA-9E81-B32B5C2815FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {79D6E70D-8FD8-4EAA-9E81-B32B5C2815FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {79D6E70D-8FD8-4EAA-9E81-B32B5C2815FB}.Release|Any CPU.Build.0 = Release|Any CPU
+               {EBD67AE3-F249-4768-A143-6B2F9E56BC39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {EBD67AE3-F249-4768-A143-6B2F9E56BC39}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {EBD67AE3-F249-4768-A143-6B2F9E56BC39}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {EBD67AE3-F249-4768-A143-6B2F9E56BC39}.Release|Any CPU.Build.0 = Release|Any CPU
+               {67822258-3D1E-449F-ACDD-BE1918B44458}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {67822258-3D1E-449F-ACDD-BE1918B44458}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {67822258-3D1E-449F-ACDD-BE1918B44458}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {67822258-3D1E-449F-ACDD-BE1918B44458}.Release|Any CPU.Build.0 = Release|Any CPU
+               {FA718FA9-32C2-4BAC-BAAB-DB3A7A326D4C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {FA718FA9-32C2-4BAC-BAAB-DB3A7A326D4C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {FA718FA9-32C2-4BAC-BAAB-DB3A7A326D4C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {FA718FA9-32C2-4BAC-BAAB-DB3A7A326D4C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {BBA32980-B28C-476D-AEB0-892F1B1DFB5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {BBA32980-B28C-476D-AEB0-892F1B1DFB5E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {BBA32980-B28C-476D-AEB0-892F1B1DFB5E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {BBA32980-B28C-476D-AEB0-892F1B1DFB5E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {FE596C31-BDA2-4850-8F79-F8F4DF70F44A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {FE596C31-BDA2-4850-8F79-F8F4DF70F44A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {FE596C31-BDA2-4850-8F79-F8F4DF70F44A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {FE596C31-BDA2-4850-8F79-F8F4DF70F44A}.Release|Any CPU.Build.0 = Release|Any CPU
+               {7A23227C-591B-4F80-9D62-4D0271073D82}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {7A23227C-591B-4F80-9D62-4D0271073D82}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {7A23227C-591B-4F80-9D62-4D0271073D82}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {7A23227C-591B-4F80-9D62-4D0271073D82}.Release|Any CPU.Build.0 = Release|Any CPU
+               {88C258E1-F0AF-47DA-96C8-7FA6421067CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {88C258E1-F0AF-47DA-96C8-7FA6421067CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {88C258E1-F0AF-47DA-96C8-7FA6421067CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {88C258E1-F0AF-47DA-96C8-7FA6421067CD}.Release|Any CPU.Build.0 = Release|Any CPU
+               {EE582CE1-A692-47AC-B838-3A78955898BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {EE582CE1-A692-47AC-B838-3A78955898BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {EE582CE1-A692-47AC-B838-3A78955898BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {EE582CE1-A692-47AC-B838-3A78955898BE}.Release|Any CPU.Build.0 = Release|Any CPU
+               {288BFBFF-D78E-4EB3-ABF4-A5BCBB1BD9C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {288BFBFF-D78E-4EB3-ABF4-A5BCBB1BD9C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {288BFBFF-D78E-4EB3-ABF4-A5BCBB1BD9C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {288BFBFF-D78E-4EB3-ABF4-A5BCBB1BD9C9}.Release|Any CPU.Build.0 = Release|Any CPU
+               {E5E3F230-57CA-4685-B1C4-A164F0876755}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {E5E3F230-57CA-4685-B1C4-A164F0876755}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {E5E3F230-57CA-4685-B1C4-A164F0876755}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {E5E3F230-57CA-4685-B1C4-A164F0876755}.Release|Any CPU.Build.0 = Release|Any CPU
+               {BEFCA993-98B4-48E9-8D68-1ACCB1FA7200}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {BEFCA993-98B4-48E9-8D68-1ACCB1FA7200}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {BEFCA993-98B4-48E9-8D68-1ACCB1FA7200}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {BEFCA993-98B4-48E9-8D68-1ACCB1FA7200}.Release|Any CPU.Build.0 = Release|Any CPU
+               {A455F1BB-6273-4BAE-985C-563BED11D529}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {A455F1BB-6273-4BAE-985C-563BED11D529}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {A455F1BB-6273-4BAE-985C-563BED11D529}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {A455F1BB-6273-4BAE-985C-563BED11D529}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D315DFE8-0E95-45D9-9EDB-9DCF70E5152F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D315DFE8-0E95-45D9-9EDB-9DCF70E5152F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D315DFE8-0E95-45D9-9EDB-9DCF70E5152F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D315DFE8-0E95-45D9-9EDB-9DCF70E5152F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {DABF9F75-63AD-4991-9D2B-9234E7032B32}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {DABF9F75-63AD-4991-9D2B-9234E7032B32}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {DABF9F75-63AD-4991-9D2B-9234E7032B32}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {DABF9F75-63AD-4991-9D2B-9234E7032B32}.Release|Any CPU.Build.0 = Release|Any CPU
+               {4E79FA59-8344-4053-8E3B-B9619BA26513}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {4E79FA59-8344-4053-8E3B-B9619BA26513}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {4E79FA59-8344-4053-8E3B-B9619BA26513}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {4E79FA59-8344-4053-8E3B-B9619BA26513}.Release|Any CPU.Build.0 = Release|Any CPU
+               {A8F39368-ECD9-41A5-A562-CC7C82B3CC86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {A8F39368-ECD9-41A5-A562-CC7C82B3CC86}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {A8F39368-ECD9-41A5-A562-CC7C82B3CC86}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {A8F39368-ECD9-41A5-A562-CC7C82B3CC86}.Release|Any CPU.Build.0 = Release|Any CPU
+               {55BBC4F8-6DA2-4B3D-8714-F45A255F8BCC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {55BBC4F8-6DA2-4B3D-8714-F45A255F8BCC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {55BBC4F8-6DA2-4B3D-8714-F45A255F8BCC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {55BBC4F8-6DA2-4B3D-8714-F45A255F8BCC}.Release|Any CPU.Build.0 = Release|Any CPU
+               {2D03C898-0B45-4CAA-A333-B2463B81C37B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {2D03C898-0B45-4CAA-A333-B2463B81C37B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {2D03C898-0B45-4CAA-A333-B2463B81C37B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {2D03C898-0B45-4CAA-A333-B2463B81C37B}.Release|Any CPU.Build.0 = Release|Any CPU
+               {2FE2D8C6-B7B8-4067-A2C0-9D1DEA020FD8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {2FE2D8C6-B7B8-4067-A2C0-9D1DEA020FD8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {2FE2D8C6-B7B8-4067-A2C0-9D1DEA020FD8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {2FE2D8C6-B7B8-4067-A2C0-9D1DEA020FD8}.Release|Any CPU.Build.0 = Release|Any CPU
+               {54F4FA23-5AF3-4312-9294-3DB109F644CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {54F4FA23-5AF3-4312-9294-3DB109F644CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {54F4FA23-5AF3-4312-9294-3DB109F644CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {54F4FA23-5AF3-4312-9294-3DB109F644CC}.Release|Any CPU.Build.0 = Release|Any CPU
+               {F1636C0A-FC68-4362-918F-9CCC789FED13}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {F1636C0A-FC68-4362-918F-9CCC789FED13}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {F1636C0A-FC68-4362-918F-9CCC789FED13}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {F1636C0A-FC68-4362-918F-9CCC789FED13}.Release|Any CPU.Build.0 = Release|Any CPU
+               {A98B5CC3-EAFC-4EFD-ABC6-2F2A65BE98F5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {A98B5CC3-EAFC-4EFD-ABC6-2F2A65BE98F5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {A98B5CC3-EAFC-4EFD-ABC6-2F2A65BE98F5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {A98B5CC3-EAFC-4EFD-ABC6-2F2A65BE98F5}.Release|Any CPU.Build.0 = Release|Any CPU
+               {11928A85-4C26-4258-AC86-2AFB0A69DED2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {11928A85-4C26-4258-AC86-2AFB0A69DED2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {11928A85-4C26-4258-AC86-2AFB0A69DED2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {11928A85-4C26-4258-AC86-2AFB0A69DED2}.Release|Any CPU.Build.0 = Release|Any CPU
+               {12C344E9-64D1-4F94-BAB6-1231B863EE6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {12C344E9-64D1-4F94-BAB6-1231B863EE6C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {12C344E9-64D1-4F94-BAB6-1231B863EE6C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {12C344E9-64D1-4F94-BAB6-1231B863EE6C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D4EAC129-92AB-432C-941D-4B8481097060}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D4EAC129-92AB-432C-941D-4B8481097060}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D4EAC129-92AB-432C-941D-4B8481097060}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D4EAC129-92AB-432C-941D-4B8481097060}.Release|Any CPU.Build.0 = Release|Any CPU
+               {55F0BCD6-4B0B-408C-BE98-4BFF82157048}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {55F0BCD6-4B0B-408C-BE98-4BFF82157048}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {55F0BCD6-4B0B-408C-BE98-4BFF82157048}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {55F0BCD6-4B0B-408C-BE98-4BFF82157048}.Release|Any CPU.Build.0 = Release|Any CPU
+               {14D0E9AA-AF30-4E40-983F-8BE66423E6AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {14D0E9AA-AF30-4E40-983F-8BE66423E6AF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {14D0E9AA-AF30-4E40-983F-8BE66423E6AF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {14D0E9AA-AF30-4E40-983F-8BE66423E6AF}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5883D056-B748-4D13-A7E3-2D2756CDC6BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5883D056-B748-4D13-A7E3-2D2756CDC6BC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5883D056-B748-4D13-A7E3-2D2756CDC6BC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5883D056-B748-4D13-A7E3-2D2756CDC6BC}.Release|Any CPU.Build.0 = Release|Any CPU
+               {6DDAE502-A602-410C-B182-C18D5100DDB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {6DDAE502-A602-410C-B182-C18D5100DDB0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {6DDAE502-A602-410C-B182-C18D5100DDB0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {6DDAE502-A602-410C-B182-C18D5100DDB0}.Release|Any CPU.Build.0 = Release|Any CPU
+               {0E705D1C-A4C4-41C2-832D-C812F3D4CB3C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {0E705D1C-A4C4-41C2-832D-C812F3D4CB3C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {0E705D1C-A4C4-41C2-832D-C812F3D4CB3C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {0E705D1C-A4C4-41C2-832D-C812F3D4CB3C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {2AF7E697-07BA-439E-89BF-076AEE4AE04C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {2AF7E697-07BA-439E-89BF-076AEE4AE04C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {2AF7E697-07BA-439E-89BF-076AEE4AE04C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {2AF7E697-07BA-439E-89BF-076AEE4AE04C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5E39A911-F4E6-4B4B-B8AC-111BB1DD80C6}.Release|Any CPU.Build.0 = Release|Any CPU
+               {8E5728E0-CEAF-431F-963E-EB1DEE15C506}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {8E5728E0-CEAF-431F-963E-EB1DEE15C506}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {8E5728E0-CEAF-431F-963E-EB1DEE15C506}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {8E5728E0-CEAF-431F-963E-EB1DEE15C506}.Release|Any CPU.Build.0 = Release|Any CPU
+               {75DFF196-FA56-48CD-9A1A-CEA3BEC618AB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {75DFF196-FA56-48CD-9A1A-CEA3BEC618AB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {75DFF196-FA56-48CD-9A1A-CEA3BEC618AB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {75DFF196-FA56-48CD-9A1A-CEA3BEC618AB}.Release|Any CPU.Build.0 = Release|Any CPU
+               {3FA2C1F8-62D9-421D-8EEE-B4E651B8588C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {3FA2C1F8-62D9-421D-8EEE-B4E651B8588C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {3FA2C1F8-62D9-421D-8EEE-B4E651B8588C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {3FA2C1F8-62D9-421D-8EEE-B4E651B8588C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {979FCA08-E170-4BA6-969B-30213135BEA3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {979FCA08-E170-4BA6-969B-30213135BEA3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {979FCA08-E170-4BA6-969B-30213135BEA3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {979FCA08-E170-4BA6-969B-30213135BEA3}.Release|Any CPU.Build.0 = Release|Any CPU
+               {124B6594-F3EC-4FE3-B5A8-2A5CB4D5BC5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {124B6594-F3EC-4FE3-B5A8-2A5CB4D5BC5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {124B6594-F3EC-4FE3-B5A8-2A5CB4D5BC5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {124B6594-F3EC-4FE3-B5A8-2A5CB4D5BC5A}.Release|Any CPU.Build.0 = Release|Any CPU
+               {34443C71-09F1-4F21-ABB4-82822376F74F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {34443C71-09F1-4F21-ABB4-82822376F74F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {34443C71-09F1-4F21-ABB4-82822376F74F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {34443C71-09F1-4F21-ABB4-82822376F74F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {E831A310-28EE-4433-B916-FF38A0FCDBE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {E831A310-28EE-4433-B916-FF38A0FCDBE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {E831A310-28EE-4433-B916-FF38A0FCDBE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {E831A310-28EE-4433-B916-FF38A0FCDBE6}.Release|Any CPU.Build.0 = Release|Any CPU
+               {3516F613-9194-4B95-B7B2-3F9B37A87B30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {3516F613-9194-4B95-B7B2-3F9B37A87B30}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {3516F613-9194-4B95-B7B2-3F9B37A87B30}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {3516F613-9194-4B95-B7B2-3F9B37A87B30}.Release|Any CPU.Build.0 = Release|Any CPU
+               {CF9EC4FE-1FBF-4583-ADE9-D0E6554D4528}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {CF9EC4FE-1FBF-4583-ADE9-D0E6554D4528}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {CF9EC4FE-1FBF-4583-ADE9-D0E6554D4528}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {CF9EC4FE-1FBF-4583-ADE9-D0E6554D4528}.Release|Any CPU.Build.0 = Release|Any CPU
+               {990903B9-BEDF-472C-97B8-221F8AA0A731}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {990903B9-BEDF-472C-97B8-221F8AA0A731}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {990903B9-BEDF-472C-97B8-221F8AA0A731}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {990903B9-BEDF-472C-97B8-221F8AA0A731}.Release|Any CPU.Build.0 = Release|Any CPU
+               {83227E53-5469-412F-B936-74AD08CDD9D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {83227E53-5469-412F-B936-74AD08CDD9D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {83227E53-5469-412F-B936-74AD08CDD9D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {83227E53-5469-412F-B936-74AD08CDD9D9}.Release|Any CPU.Build.0 = Release|Any CPU
+               {4742C0FA-2C03-4598-A3F2-4E7D9CDFF81B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {4742C0FA-2C03-4598-A3F2-4E7D9CDFF81B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {4742C0FA-2C03-4598-A3F2-4E7D9CDFF81B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {4742C0FA-2C03-4598-A3F2-4E7D9CDFF81B}.Release|Any CPU.Build.0 = Release|Any CPU
+               {11DD6F15-65AB-4CBD-9EFE-2C9626388C53}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {11DD6F15-65AB-4CBD-9EFE-2C9626388C53}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {11DD6F15-65AB-4CBD-9EFE-2C9626388C53}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {11DD6F15-65AB-4CBD-9EFE-2C9626388C53}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D76A0C93-56FE-4339-99A8-B7A3D49D6DDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D76A0C93-56FE-4339-99A8-B7A3D49D6DDE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D76A0C93-56FE-4339-99A8-B7A3D49D6DDE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D76A0C93-56FE-4339-99A8-B7A3D49D6DDE}.Release|Any CPU.Build.0 = Release|Any CPU
+               {2C0D558F-0B38-4691-967E-A910A1B995C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {2C0D558F-0B38-4691-967E-A910A1B995C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {2C0D558F-0B38-4691-967E-A910A1B995C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {2C0D558F-0B38-4691-967E-A910A1B995C1}.Release|Any CPU.Build.0 = Release|Any CPU
+               {CF14D34A-F69B-47FB-A99C-D25C77198F30}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {CF14D34A-F69B-47FB-A99C-D25C77198F30}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {CF14D34A-F69B-47FB-A99C-D25C77198F30}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {CF14D34A-F69B-47FB-A99C-D25C77198F30}.Release|Any CPU.Build.0 = Release|Any CPU
+               {57B5039F-30CC-4EAA-9D55-1B9A07AC8A69}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {57B5039F-30CC-4EAA-9D55-1B9A07AC8A69}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {57B5039F-30CC-4EAA-9D55-1B9A07AC8A69}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {57B5039F-30CC-4EAA-9D55-1B9A07AC8A69}.Release|Any CPU.Build.0 = Release|Any CPU
+               {61B86230-B170-4B03-A8CA-D5AF77858D7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {61B86230-B170-4B03-A8CA-D5AF77858D7E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {61B86230-B170-4B03-A8CA-D5AF77858D7E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {61B86230-B170-4B03-A8CA-D5AF77858D7E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {1A2B6016-1EEF-4C06-943D-EB3E94A31EB9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {1A2B6016-1EEF-4C06-943D-EB3E94A31EB9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {1A2B6016-1EEF-4C06-943D-EB3E94A31EB9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {1A2B6016-1EEF-4C06-943D-EB3E94A31EB9}.Release|Any CPU.Build.0 = Release|Any CPU
+               {115711B0-D1F2-4E50-83F9-63128E70CE05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {115711B0-D1F2-4E50-83F9-63128E70CE05}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {115711B0-D1F2-4E50-83F9-63128E70CE05}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {115711B0-D1F2-4E50-83F9-63128E70CE05}.Release|Any CPU.Build.0 = Release|Any CPU
+               {9DD41BEA-E086-42C4-9FB8-85ABEDDA7F37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {9DD41BEA-E086-42C4-9FB8-85ABEDDA7F37}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {9DD41BEA-E086-42C4-9FB8-85ABEDDA7F37}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {9DD41BEA-E086-42C4-9FB8-85ABEDDA7F37}.Release|Any CPU.Build.0 = Release|Any CPU
+               {85EC1EAD-8AA5-4CF8-A0CE-3882FEB7C57B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {85EC1EAD-8AA5-4CF8-A0CE-3882FEB7C57B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {85EC1EAD-8AA5-4CF8-A0CE-3882FEB7C57B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {85EC1EAD-8AA5-4CF8-A0CE-3882FEB7C57B}.Release|Any CPU.Build.0 = Release|Any CPU
+               {9BE8D62B-471D-4538-8287-691B4ECE3209}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {9BE8D62B-471D-4538-8287-691B4ECE3209}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {9BE8D62B-471D-4538-8287-691B4ECE3209}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {9BE8D62B-471D-4538-8287-691B4ECE3209}.Release|Any CPU.Build.0 = Release|Any CPU
+               {18E55AE4-6B9B-44EF-94C9-1084D5472E63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {18E55AE4-6B9B-44EF-94C9-1084D5472E63}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {18E55AE4-6B9B-44EF-94C9-1084D5472E63}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {18E55AE4-6B9B-44EF-94C9-1084D5472E63}.Release|Any CPU.Build.0 = Release|Any CPU
+               {994BF3A4-85FD-4FDB-9120-C3A3B44A57CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {994BF3A4-85FD-4FDB-9120-C3A3B44A57CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {994BF3A4-85FD-4FDB-9120-C3A3B44A57CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {994BF3A4-85FD-4FDB-9120-C3A3B44A57CD}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D2A49790-9CFD-492B-9CFA-58B9AEDA1B75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D2A49790-9CFD-492B-9CFA-58B9AEDA1B75}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D2A49790-9CFD-492B-9CFA-58B9AEDA1B75}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D2A49790-9CFD-492B-9CFA-58B9AEDA1B75}.Release|Any CPU.Build.0 = Release|Any CPU
+               {8A378E82-8FA2-4DC9-A2F7-CD5CACC3F8F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {8A378E82-8FA2-4DC9-A2F7-CD5CACC3F8F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {8A378E82-8FA2-4DC9-A2F7-CD5CACC3F8F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {8A378E82-8FA2-4DC9-A2F7-CD5CACC3F8F6}.Release|Any CPU.Build.0 = Release|Any CPU
+               {FF19FF42-C95D-4BB7-A0D7-05A94C07276E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {FF19FF42-C95D-4BB7-A0D7-05A94C07276E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {FF19FF42-C95D-4BB7-A0D7-05A94C07276E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {FF19FF42-C95D-4BB7-A0D7-05A94C07276E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5428F1E0-B0ED-46D6-B429-27D1A1C175C0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5428F1E0-B0ED-46D6-B429-27D1A1C175C0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5428F1E0-B0ED-46D6-B429-27D1A1C175C0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5428F1E0-B0ED-46D6-B429-27D1A1C175C0}.Release|Any CPU.Build.0 = Release|Any CPU
+               {C6A36476-0B2B-45BA-B4DD-05C39E63F3BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {C6A36476-0B2B-45BA-B4DD-05C39E63F3BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {C6A36476-0B2B-45BA-B4DD-05C39E63F3BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {C6A36476-0B2B-45BA-B4DD-05C39E63F3BE}.Release|Any CPU.Build.0 = Release|Any CPU
+               {0DA7868F-C598-4E45-B33C-86FBB482DB76}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {0DA7868F-C598-4E45-B33C-86FBB482DB76}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {0DA7868F-C598-4E45-B33C-86FBB482DB76}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {0DA7868F-C598-4E45-B33C-86FBB482DB76}.Release|Any CPU.Build.0 = Release|Any CPU
+               {52F7F1BD-9D67-494E-A53A-C291FF5424B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {52F7F1BD-9D67-494E-A53A-C291FF5424B4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {52F7F1BD-9D67-494E-A53A-C291FF5424B4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {52F7F1BD-9D67-494E-A53A-C291FF5424B4}.Release|Any CPU.Build.0 = Release|Any CPU
+               {EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {EE5FC05D-135B-460A-9F0D-7F5084F4DBD7}.Release|Any CPU.Build.0 = Release|Any CPU
+               {00CF93F7-B48C-4AF7-B8D5-58DFFAD22845}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {00CF93F7-B48C-4AF7-B8D5-58DFFAD22845}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {00CF93F7-B48C-4AF7-B8D5-58DFFAD22845}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {00CF93F7-B48C-4AF7-B8D5-58DFFAD22845}.Release|Any CPU.Build.0 = Release|Any CPU
+               {22187CB5-7451-45B4-B21B-337D956FF05D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {22187CB5-7451-45B4-B21B-337D956FF05D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {22187CB5-7451-45B4-B21B-337D956FF05D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {22187CB5-7451-45B4-B21B-337D956FF05D}.Release|Any CPU.Build.0 = Release|Any CPU
+               {7675D4A6-F017-4D20-BFE3-295B86F166CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {7675D4A6-F017-4D20-BFE3-295B86F166CD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {7675D4A6-F017-4D20-BFE3-295B86F166CD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {7675D4A6-F017-4D20-BFE3-295B86F166CD}.Release|Any CPU.Build.0 = Release|Any CPU
+               {9DA5F2F9-AF47-4D48-BA58-2FAFD12538C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {9DA5F2F9-AF47-4D48-BA58-2FAFD12538C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {9DA5F2F9-AF47-4D48-BA58-2FAFD12538C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {9DA5F2F9-AF47-4D48-BA58-2FAFD12538C7}.Release|Any CPU.Build.0 = Release|Any CPU
+               {52C2AE83-A947-42CC-ADEF-9F54042D85D5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {52C2AE83-A947-42CC-ADEF-9F54042D85D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {52C2AE83-A947-42CC-ADEF-9F54042D85D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {52C2AE83-A947-42CC-ADEF-9F54042D85D5}.Release|Any CPU.Build.0 = Release|Any CPU
+               {7D16E76F-3B1D-415E-AD93-5D4D86B451A0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {7D16E76F-3B1D-415E-AD93-5D4D86B451A0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {7D16E76F-3B1D-415E-AD93-5D4D86B451A0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {7D16E76F-3B1D-415E-AD93-5D4D86B451A0}.Release|Any CPU.Build.0 = Release|Any CPU
+               {20E6619C-E88D-442C-AFA8-2216A73CF8D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {20E6619C-E88D-442C-AFA8-2216A73CF8D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {20E6619C-E88D-442C-AFA8-2216A73CF8D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {20E6619C-E88D-442C-AFA8-2216A73CF8D2}.Release|Any CPU.Build.0 = Release|Any CPU
+               {8EB36024-5DB5-4854-8425-8D95A8059F2D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {8EB36024-5DB5-4854-8425-8D95A8059F2D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {8EB36024-5DB5-4854-8425-8D95A8059F2D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {8EB36024-5DB5-4854-8425-8D95A8059F2D}.Release|Any CPU.Build.0 = Release|Any CPU
+               {2FFB9A8F-DB7B-41FF-9398-15DF81AE1BC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {2FFB9A8F-DB7B-41FF-9398-15DF81AE1BC8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {2FFB9A8F-DB7B-41FF-9398-15DF81AE1BC8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {2FFB9A8F-DB7B-41FF-9398-15DF81AE1BC8}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5A287CAF-8FA4-42F7-976D-EE16D76CF2F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5A287CAF-8FA4-42F7-976D-EE16D76CF2F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5A287CAF-8FA4-42F7-976D-EE16D76CF2F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5A287CAF-8FA4-42F7-976D-EE16D76CF2F1}.Release|Any CPU.Build.0 = Release|Any CPU
+               {A559EE60-2FE6-47DD-B4B8-0097BD242D86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {A559EE60-2FE6-47DD-B4B8-0097BD242D86}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {A559EE60-2FE6-47DD-B4B8-0097BD242D86}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {A559EE60-2FE6-47DD-B4B8-0097BD242D86}.Release|Any CPU.Build.0 = Release|Any CPU
+               {64D286EF-32EA-4494-9DD6-36609597A11A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {64D286EF-32EA-4494-9DD6-36609597A11A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {64D286EF-32EA-4494-9DD6-36609597A11A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {64D286EF-32EA-4494-9DD6-36609597A11A}.Release|Any CPU.Build.0 = Release|Any CPU
+               {E6A6B9F7-BD0C-4F8D-8AFE-2EF76A2FB3AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {E6A6B9F7-BD0C-4F8D-8AFE-2EF76A2FB3AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {E6A6B9F7-BD0C-4F8D-8AFE-2EF76A2FB3AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {E6A6B9F7-BD0C-4F8D-8AFE-2EF76A2FB3AD}.Release|Any CPU.Build.0 = Release|Any CPU
+               {70A422C5-17AF-48EE-8DD8-CF88D482606C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {70A422C5-17AF-48EE-8DD8-CF88D482606C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {70A422C5-17AF-48EE-8DD8-CF88D482606C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {70A422C5-17AF-48EE-8DD8-CF88D482606C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {9091B5ED-8AFF-4B93-801A-9A33E0895A2B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {9091B5ED-8AFF-4B93-801A-9A33E0895A2B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {9091B5ED-8AFF-4B93-801A-9A33E0895A2B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {9091B5ED-8AFF-4B93-801A-9A33E0895A2B}.Release|Any CPU.Build.0 = Release|Any CPU
+               {6187D26C-54C8-4298-829E-A99B0E6036B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {6187D26C-54C8-4298-829E-A99B0E6036B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {6187D26C-54C8-4298-829E-A99B0E6036B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {6187D26C-54C8-4298-829E-A99B0E6036B1}.Release|Any CPU.Build.0 = Release|Any CPU
+               {9E61FF2E-493E-4CA0-BBDA-2EF96A4CB058}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {9E61FF2E-493E-4CA0-BBDA-2EF96A4CB058}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {9E61FF2E-493E-4CA0-BBDA-2EF96A4CB058}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {9E61FF2E-493E-4CA0-BBDA-2EF96A4CB058}.Release|Any CPU.Build.0 = Release|Any CPU
+               {3F6EB6D4-602E-43C2-A3E1-4AD98E8C86EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {3F6EB6D4-602E-43C2-A3E1-4AD98E8C86EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {3F6EB6D4-602E-43C2-A3E1-4AD98E8C86EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {3F6EB6D4-602E-43C2-A3E1-4AD98E8C86EE}.Release|Any CPU.Build.0 = Release|Any CPU
+               {2210873E-99FC-48A2-A261-D650BAE33A1C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {2210873E-99FC-48A2-A261-D650BAE33A1C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {2210873E-99FC-48A2-A261-D650BAE33A1C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {2210873E-99FC-48A2-A261-D650BAE33A1C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {EF08F249-31A1-4E62-8391-ECBA5227B686}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {EF08F249-31A1-4E62-8391-ECBA5227B686}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {EF08F249-31A1-4E62-8391-ECBA5227B686}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {EF08F249-31A1-4E62-8391-ECBA5227B686}.Release|Any CPU.Build.0 = Release|Any CPU
+               {ACA2694D-9F07-4AE2-9171-9AB5DD1A8C18}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {ACA2694D-9F07-4AE2-9171-9AB5DD1A8C18}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {ACA2694D-9F07-4AE2-9171-9AB5DD1A8C18}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {ACA2694D-9F07-4AE2-9171-9AB5DD1A8C18}.Release|Any CPU.Build.0 = Release|Any CPU
+               {25552E1C-6EE1-4D73-A309-A1ED7FA26E94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {25552E1C-6EE1-4D73-A309-A1ED7FA26E94}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {25552E1C-6EE1-4D73-A309-A1ED7FA26E94}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {25552E1C-6EE1-4D73-A309-A1ED7FA26E94}.Release|Any CPU.Build.0 = Release|Any CPU
+               {0248869F-8D3B-4AB2-B976-B2A9AF1319A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {0248869F-8D3B-4AB2-B976-B2A9AF1319A9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {0248869F-8D3B-4AB2-B976-B2A9AF1319A9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {0248869F-8D3B-4AB2-B976-B2A9AF1319A9}.Release|Any CPU.Build.0 = Release|Any CPU
+       EndGlobalSection
+       GlobalSection(SolutionProperties) = preSolution
+               HideSolutionNode = FALSE
+       EndGlobalSection
+EndGlobal
index ec5a9a9c9fcd130873547197a7d89f09027c385b..587a99b1c467f9a4d976a9092c811da2d222f102 100644 (file)
@@ -2,7 +2,7 @@
 <root>
     <project dir="mcs" library="basic-basic">
       <boot></boot>
-      <flags>/codepage:65001 -d:STATIC,NO_SYMBOL_WRITER,NO_AUTHENTICODE -d:NET_4_0 -d:NET_4_5 -d:MONO -d:BOOTSTRAP_BASIC -nowarn:1699 -d:DISABLE_CAS_USE -lib:./../class/lib/basic -optimize /noconfig</flags>
+      <flags>/codepage:65001 -d:STATIC,NO_SYMBOL_WRITER,NO_AUTHENTICODE -d:NET_4_0 -d:NET_4_5 -d:MONO -d:BOOTSTRAP_BASIC -nowarn:1699 -d:DISABLE_CAS_USE -lib:./../class/lib/basic -optimize /noconfig -r:System -r:System.Core -r:System.Xml</flags>
       <output>basic.exe</output>
       <built_sources></built_sources>
       <library_output>./../class/lib/basic/basic.exe</library_output>
@@ -12,7 +12,7 @@
     </project>
     <project dir="class/corlib" library="corlib-basic">
       <boot>true</boot>
-      <flags>/codepage:65001 -unsafe -nostdlib -nowarn:612,618 -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 -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -d:NET_4_0 -d:NET_4_5 -d:MONO -d:BOOTSTRAP_BASIC -nowarn:1699 -d:DISABLE_CAS_USE -lib:./../../class/lib/basic -optimize /noconfig -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 -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -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 --runtime:v4</flags>
+      <flags>/codepage:65001 -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 -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -d:NET_4_0 -d:NET_4_5 -d:MONO -d:BOOTSTRAP_BASIC -nowarn:1699 -d:DISABLE_CAS_USE -lib:./../../class/lib/basic -optimize /noconfig -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 -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -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 --runtime:v4</flags>
       <output>mscorlib.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/basic/mscorlib.dll</library_output>
@@ -72,7 +72,7 @@
     </project>
     <project dir="class/corlib" library="corlib-build">
       <boot>true</boot>
-      <flags>/codepage:65001 -unsafe -nostdlib -nowarn:612,618 -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 -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/build -optimize /noconfig -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 -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -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 --runtime:v4</flags>
+      <flags>/codepage:65001 -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 -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/build -optimize /noconfig -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 -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -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 --runtime:v4</flags>
       <output>mscorlib.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/build/mscorlib.dll</library_output>
     </project>
     <project dir="mcs" library="mcs-build">
       <boot></boot>
-      <flags>/codepage:65001 -lib:./../class/lib/build -debug -d:STATIC,NO_SYMBOL_WRITER,NO_AUTHENTICODE -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../class/lib/build -r:mscorlib.dll -optimize /noconfig</flags>
+      <flags>/codepage:65001 -lib:./../class/lib/build -debug -d:STATIC,NO_SYMBOL_WRITER,NO_AUTHENTICODE -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../class/lib/build -r:mscorlib.dll -optimize /noconfig -r:System -r:System.Core -r:System.Xml</flags>
       <output>mcs.exe</output>
       <built_sources></built_sources>
       <library_output>mcs.exe</library_output>
       <profile>build</profile>
       <response>culevel.exe.sources</response>
     </project>
-    <project dir="mcs" library="mcs-net_4_5">
+    <project dir="mcs" library="mcs-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -lib:./../class/lib/build -debug -d:STATIC,NO_SYMBOL_WRITER,NO_AUTHENTICODE -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -lib:./../class/lib/build -debug -d:STATIC,NO_SYMBOL_WRITER,NO_AUTHENTICODE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Core -r:System.Xml</flags>
       <output>mcs.exe</output>
       <built_sources></built_sources>
       <library_output>mcs.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>mcs.exe.sources</response>
     </project>
-    <project dir="class/corlib" library="corlib-net_4_5">
+    <project dir="class/corlib" library="corlib-net_4_x">
       <boot>true</boot>
-      <flags>/codepage:65001 -unsafe -nostdlib -nowarn:612,618 -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 -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -debug -optimize /noconfig -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 -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -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 --runtime:v4</flags>
+      <flags>/codepage:65001 -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 -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -debug -optimize /noconfig -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 -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -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 --runtime:v4</flags>
       <output>mscorlib.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/mscorlib.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/mscorlib.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_corlib.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/net_4_x_corlib.dll.sources</response>
     </project>
-    <project dir="class/corlib" library="corlib-tests-net_4_5">
+    <project dir="class/corlib" library="corlib-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -unsafe -nostdlib -nowarn:612,618 -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 -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -debug -optimize -r:./../../class/lib/net_4_5/mscorlib.dll -debug -nowarn:168,219,618,672 -unsafe -r:Mono.Posix.dll -r:System.Core.dll -define:MONO_DATACONVERTER_STATIC_METHODS -resource:Test/resources/Resources.resources</flags>
-      <output>corlib_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -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 -d:FEATURE_REMOTING,MONO_COM,FEATURE_COMINTEROP,FEATURE_ROLE_BASED_SECURITY -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -debug -optimize -r:./../../class/lib/net_4_x/mscorlib.dll -debug -nowarn:168,219,618,672 -unsafe -r:Mono.Posix.dll -r:System.Core.dll -define:MONO_DATACONVERTER_STATIC_METHODS -resource:Test/resources/Resources.resources</flags>
+      <output>corlib_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>corlib_test_net_4_5.dll</library_output>
+      <library_output>corlib_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/corlib_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/corlib_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System" library="System-net_4_5">
+    <project dir="class/System" library="System-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -d:SECURITY_DEP -d:XML_DEP -r:PrebuiltSystem=./../../class/lib/net_4_5/secxml/System.dll -r:System.Configuration.dll -d:CONFIGURATION_DEP -r:System.Xml -r:MonoSecurity=Mono.Security</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -d:SECURITY_DEP -d:XML_DEP -r:PrebuiltSystem=./../../class/lib/net_4_x/secxml/System.dll -r:System.Configuration.dll -d:CONFIGURATION_DEP -r:System.Xml -r:MonoSecurity=Mono.Security</flags>
       <output>System.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.dll.sources</response>
     </project>
-    <project dir="class/System" library="System-tests-net_4_5">
+    <project dir="class/System" library="System-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/bare -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/secxml/System.dll -r:System.Drawing.dll -r:Mono.Security.dll -r:System.Data -r:System.Xml.dll -r:System.Core.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 -r:System.Configuration</flags>
-      <output>System_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/bare -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -r:System.Drawing.dll -r:Mono.Security.dll -r:System.Data -r:System.Xml.dll -r:System.Core.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 -r:System.Configuration</flags>
+      <output>System_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System_test_net_4_5.dll</library_output>
+      <library_output>System_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System" library="System-bare-net_4_5">
+    <project dir="class/System" library="System-bare-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav</flags>
       <output>System.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/bare/System.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/bare/System.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.dll.sources</response>
     </project>
-    <project dir="class/System" library="System-tests-net_4_5">
+    <project dir="class/System" library="System-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/bare -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/secxml/System.dll -r:System.Drawing.dll -r:Mono.Security.dll -r:System.Data -r:System.Xml.dll -r:System.Core.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 -r:System.Configuration</flags>
-      <output>System_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/bare -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -r:System.Drawing.dll -r:Mono.Security.dll -r:System.Data -r:System.Xml.dll -r:System.Core.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 -r:System.Configuration</flags>
+      <output>System_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System_test_net_4_5.dll</library_output>
+      <library_output>System_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System" library="System-secxml-net_4_5">
+    <project dir="class/System" library="System-secxml-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/bare -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -d:SECURITY_DEP -d:XML_DEP -r:PrebuiltSystem=./../../class/lib/net_4_5/bare/System.dll -r:System.Xml -r:MonoSecurity=Mono.Security</flags>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/bare -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -d:SECURITY_DEP -d:XML_DEP -r:PrebuiltSystem=./../../class/lib/net_4_x/bare/System.dll -r:System.Xml -r:MonoSecurity=Mono.Security</flags>
       <output>System.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/secxml/System.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/secxml/System.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.dll.sources</response>
     </project>
-    <project dir="class/System" library="System-tests-net_4_5">
+    <project dir="class/System" library="System-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/bare -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/secxml/System.dll -r:System.Drawing.dll -r:Mono.Security.dll -r:System.Data -r:System.Xml.dll -r:System.Core.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 -r:System.Configuration</flags>
-      <output>System_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/bare -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -r:System.Drawing.dll -r:Mono.Security.dll -r:System.Data -r:System.Xml.dll -r:System.Core.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 -r:System.Configuration</flags>
+      <output>System_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System_test_net_4_5.dll</library_output>
+      <library_output>System_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.XML" library="System.Xml-net_4_5">
+    <project dir="class/System.XML" library="System.Xml-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/bare -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:mscorlib.dll -nowarn:219,414,649,1717 -unsafe -d:ASYNC -r:System.Configuration.dll -d:CONFIGURATION_DEP -r:System</flags>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/bare -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:mscorlib.dll -nowarn:219,414,649,1717 -unsafe -d:ASYNC -r:System.Configuration.dll -d:CONFIGURATION_DEP -r:System</flags>
       <output>System.Xml.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Xml.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Xml.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Xml.dll.sources</response>
     </project>
-    <project dir="class/System.XML" library="System.Xml-tests-net_4_5">
+    <project dir="class/System.XML" library="System.Xml-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/bare -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/bare/System.Xml.dll -r:mscorlib.dll -nowarn:219,414,649,1717 -unsafe -d:ASYNC -r:System -nowarn:0618 -nowarn:219 -nowarn:169 -r:System.Data.dll -r:System.Core.dll</flags>
-      <output>System.Xml_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/bare -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/bare/System.Xml.dll -r:mscorlib.dll -nowarn:219,414,649,1717 -unsafe -d:ASYNC -r:System -nowarn:0618 -nowarn:219 -nowarn:169 -r:System.Data.dll -r:System.Core.dll</flags>
+      <output>System.Xml_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Xml_test_net_4_5.dll</library_output>
+      <library_output>System.Xml_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Xml_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Xml_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.XML" library="System.Xml-bare-net_4_5">
+    <project dir="class/System.XML" library="System.Xml-bare-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/bare -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:mscorlib.dll -nowarn:219,414,649,1717 -unsafe -d:ASYNC -r:System</flags>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/bare -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:mscorlib.dll -nowarn:219,414,649,1717 -unsafe -d:ASYNC -r:System</flags>
       <output>System.Xml.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/bare/System.Xml.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/bare/System.Xml.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Xml.dll.sources</response>
     </project>
-    <project dir="class/System.XML" library="System.Xml-tests-net_4_5">
+    <project dir="class/System.XML" library="System.Xml-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/bare -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/bare/System.Xml.dll -r:mscorlib.dll -nowarn:219,414,649,1717 -unsafe -d:ASYNC -r:System -nowarn:0618 -nowarn:219 -nowarn:169 -r:System.Data.dll -r:System.Core.dll</flags>
-      <output>System.Xml_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/bare -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/bare/System.Xml.dll -r:mscorlib.dll -nowarn:219,414,649,1717 -unsafe -d:ASYNC -r:System -nowarn:0618 -nowarn:219 -nowarn:169 -r:System.Data.dll -r:System.Core.dll</flags>
+      <output>System.Xml_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Xml_test_net_4_5.dll</library_output>
+      <library_output>System.Xml_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Xml_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Xml_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Mono.CompilerServices.SymbolWriter" library="Mono.CompilerServices.SymbolWriter-net_4_5">
+    <project dir="class/Mono.CompilerServices.SymbolWriter" library="Mono.CompilerServices.SymbolWriter-net_4_x">
       <boot>true</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -lib:./../../class/lib/net_4_5/bare -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -lib:./../../class/lib/net_4_x/bare -r:System</flags>
       <output>Mono.CompilerServices.SymbolWriter.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.CompilerServices.SymbolWriter.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.CompilerServices.SymbolWriter.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.CompilerServices.SymbolWriter.dll.sources</response>
     </project>
-    <project dir="class/Mono.Posix" library="Mono.Posix-net_4_5">
+    <project dir="class/Mono.Posix" library="Mono.Posix-net_4_x">
       <boot>true</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /unsafe /r:mscorlib.dll /nowarn:0618,612 -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /unsafe /r:mscorlib.dll /nowarn:0618,612 -r:System</flags>
       <output>Mono.Posix.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Posix.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Posix.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Posix.dll.sources</response>
     </project>
-    <project dir="class/Mono.Posix" library="Mono.Posix-tests-net_4_5">
+    <project dir="class/Mono.Posix" library="Mono.Posix-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Mono.Posix.dll /r:Mono.Posix.dll /r:System.dll /nowarn:0219,0618</flags>
-      <output>Mono.Posix_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Mono.Posix.dll /r:Mono.Posix.dll /r:System.dll /nowarn:0219,0618</flags>
+      <output>Mono.Posix_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Mono.Posix_test_net_4_5.dll</library_output>
+      <library_output>Mono.Posix_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Mono.Posix_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Mono.Posix_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Core" library="System.Core-net_4_5">
+    <project dir="class/System.Core" library="System.Core-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE -d:INSIDE_SYSCORE -d:LIBC -unsafe -d:NET_3_5 -nowarn:1720 -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT -r:System -r:Mono.Posix</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE -d:INSIDE_SYSCORE -d:LIBC -unsafe -d:NET_3_5 -nowarn:1720 -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT -r:System -r:Mono.Posix</flags>
       <output>System.Core.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Core.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Core.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_System.Core.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/net_4_x_System.Core.dll.sources</response>
     </project>
-    <project dir="class/System.Core" library="System.Core-tests-net_4_5">
+    <project dir="class/System.Core" library="System.Core-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/plaincore/System.Core.dll -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE -d:INSIDE_SYSCORE -d:LIBC -unsafe -d:NET_3_5 -nowarn:1720 -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT -r:System -r:Mono.Posix</flags>
-      <output>System.Core_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/plaincore/System.Core.dll -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE -d:INSIDE_SYSCORE -d:LIBC -unsafe -d:NET_3_5 -nowarn:1720 -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT -r:System -r:Mono.Posix</flags>
+      <output>System.Core_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Core_test_net_4_5.dll</library_output>
+      <library_output>System.Core_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Core_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Core_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Core" library="System.Core-plaincore-net_4_5">
+    <project dir="class/System.Core" library="System.Core-plaincore-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE -d:INSIDE_SYSCORE -d:LIBC -unsafe -d:NET_3_5 -nowarn:1720 -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT -r:System -r:Mono.Posix</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE -d:INSIDE_SYSCORE -d:LIBC -unsafe -d:NET_3_5 -nowarn:1720 -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT -r:System -r:Mono.Posix</flags>
       <output>System.Core.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/plaincore/System.Core.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/plaincore/System.Core.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_System.Core.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/net_4_x_System.Core.dll.sources</response>
     </project>
-    <project dir="class/System.Core" library="System.Core-tests-net_4_5">
+    <project dir="class/System.Core" library="System.Core-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/plaincore/System.Core.dll -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE -d:INSIDE_SYSCORE -d:LIBC -unsafe -d:NET_3_5 -nowarn:1720 -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT -r:System -r:Mono.Posix</flags>
-      <output>System.Core_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/plaincore/System.Core.dll -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE -d:INSIDE_SYSCORE -d:LIBC -unsafe -d:NET_3_5 -nowarn:1720 -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT -r:System -r:Mono.Posix</flags>
+      <output>System.Core_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Core_test_net_4_5.dll</library_output>
+      <library_output>System.Core_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Core_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Core_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Mono.Security" library="Mono.Security-net_4_5">
+    <project dir="class/Mono.Security" library="Mono.Security-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/bare -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -unsafe -nowarn:1030 -r:System</flags>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/bare -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -unsafe -nowarn:1030 -r:System</flags>
       <output>Mono.Security.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Security.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Security.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Security.dll.sources</response>
     </project>
-    <project dir="class/Mono.Security" library="Mono.Security-tests-net_4_5">
+    <project dir="class/Mono.Security" library="Mono.Security-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/bare -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Mono.Security.dll -unsafe -nowarn:1030 -r:System -nowarn:169,219,618,672</flags>
-      <output>Mono.Security_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/bare -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Mono.Security.dll -unsafe -nowarn:1030 -r:System -nowarn:169,219,618,672</flags>
+      <output>Mono.Security_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Mono.Security_test_net_4_5.dll</library_output>
+      <library_output>Mono.Security_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Mono.Security_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Mono.Security_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Security" library="System.Security-net_4_5">
+    <project dir="class/System.Security" library="System.Security-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/secxml -lib:./../../class/lib/net_4_5/bare -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -nowarn:618 -d:SECURITY_DEP -r:mscorlib.dll -nowarn:414 -r:System -r:System.Xml -r:Mono.Security</flags>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/secxml -lib:./../../class/lib/net_4_x/bare -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -nowarn:618 -d:SECURITY_DEP -r:mscorlib.dll -nowarn:414 -r:System -r:System.Xml -r:Mono.Security</flags>
       <output>System.Security.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Security.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Security.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Security.dll.sources</response>
     </project>
-    <project dir="class/System.Security" library="System.Security-tests-net_4_5">
+    <project dir="class/System.Security" library="System.Security-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/secxml -lib:./../../class/lib/net_4_5/bare -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Security.dll -nowarn:618 -d:SECURITY_DEP -r:mscorlib.dll -nowarn:414 -r:System -r:System.Xml -r:Mono.Security -nowarn:168,169,183,219,414,1595</flags>
-      <output>System.Security_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/secxml -lib:./../../class/lib/net_4_x/bare -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Security.dll -nowarn:618 -d:SECURITY_DEP -r:mscorlib.dll -nowarn:414 -r:System -r:System.Xml -r:Mono.Security -nowarn:168,169,183,219,414</flags>
+      <output>System.Security_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Security_test_net_4_5.dll</library_output>
+      <library_output>System.Security_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Security_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Security_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Configuration" library="System.Configuration-net_4_5">
+    <project dir="class/System.Configuration" library="System.Configuration-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/secxml -lib:./../../class/lib/net_4_5/bare -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:mscorlib.dll -nowarn:618 -r:System -r:System.Xml -r:System.Security</flags>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/secxml -lib:./../../class/lib/net_4_x/bare -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:mscorlib.dll -nowarn:618 -r:System -r:System.Xml -r:System.Security</flags>
       <output>System.Configuration.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Configuration.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Configuration.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Configuration.dll.sources</response>
     </project>
-    <project dir="class/System.Configuration" library="System.Configuration-tests-net_4_5">
+    <project dir="class/System.Configuration" library="System.Configuration-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/secxml -lib:./../../class/lib/net_4_5/bare -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Configuration.dll -r:mscorlib.dll -nowarn:618 -r:System -r:System.Xml -r:System.Security</flags>
-      <output>System.Configuration_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/secxml -lib:./../../class/lib/net_4_x/bare -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Configuration.dll -r:mscorlib.dll -nowarn:618 -r:System -r:System.Xml -r:System.Security</flags>
+      <output>System.Configuration_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Configuration_test_net_4_5.dll</library_output>
+      <library_output>System.Configuration_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Configuration_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Configuration_test_net_4_x.dll.response</response>
     </project>
-    <project dir="tools/resgen" library="resgen-net_4_5">
+    <project dir="tools/resgen" library="resgen-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>resgen.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/resgen.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/resgen.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>resgen.exe.sources</response>
     </project>
-    <project dir="class/System.Drawing" library="System.Drawing-net_4_5">
+    <project dir="class/System.Drawing" library="System.Drawing-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /unsafe /r:mscorlib.dll -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 -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /unsafe /r:mscorlib.dll -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 -r:System</flags>
       <output>System.Drawing.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Drawing.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Drawing.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Drawing.dll.sources</response>
     </project>
-    <project dir="class/System.Drawing" library="System.Drawing-tests-net_4_5">
+    <project dir="class/System.Drawing" library="System.Drawing-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Drawing.dll /unsafe /r:mscorlib.dll -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 -r:System -define:TEST -resource:Test/resources/indexed.png,indexed.png -r:System.Drawing.dll -r:System.Runtime.Serialization.Formatters.Soap.dll -r:System.Xml.dll -nowarn:0618 -nowarn:219 -nowarn:169 -nowarn:1595</flags>
-      <output>System.Drawing_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Drawing.dll /unsafe /r:mscorlib.dll -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 -r:System -define:TEST -resource:Test/resources/indexed.png,indexed.png -r:System.Drawing.dll -r:System.Runtime.Serialization.Formatters.Soap.dll -r:System.Xml.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <output>System.Drawing_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Drawing_test_net_4_5.dll</library_output>
+      <library_output>System.Drawing_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Drawing_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Drawing_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Transactions" library="System.Transactions-net_4_5">
+    <project dir="class/System.Transactions" library="System.Transactions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:System.Configuration</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:System.Configuration</flags>
       <output>System.Transactions.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Transactions.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Transactions.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Transactions.dll.sources</response>
     </project>
-    <project dir="class/System.Transactions" library="System.Transactions-tests-net_4_5">
+    <project dir="class/System.Transactions" library="System.Transactions-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Transactions.dll /nowarn:1595 /r:mscorlib.dll -r:System -r:System.Configuration</flags>
-      <output>System.Transactions_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Transactions.dll /r:mscorlib.dll -r:System -r:System.Configuration</flags>
+      <output>System.Transactions_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Transactions_test_net_4_5.dll</library_output>
+      <library_output>System.Transactions_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Transactions_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Transactions_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.EnterpriseServices" library="System.EnterpriseServices-net_4_5">
+    <project dir="class/System.EnterpriseServices" library="System.EnterpriseServices-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /nowarn:0168 /nowarn:0162 /r:mscorlib.dll -r:System.Transactions</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /nowarn:0168 /nowarn:0162 /r:mscorlib.dll -r:System.Transactions</flags>
       <output>System.EnterpriseServices.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.EnterpriseServices.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.EnterpriseServices.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.EnterpriseServices.dll.sources</response>
     </project>
-    <project dir="class/Mono.Data.Tds" library="Mono.Data.Tds-net_4_5">
+    <project dir="class/Mono.Data.Tds" library="Mono.Data.Tds-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:System.Xml -r:Mono.Security</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:System.Xml -r:Mono.Security</flags>
       <output>Mono.Data.Tds.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Data.Tds.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Data.Tds.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Data.Tds.dll.sources</response>
     </project>
-    <project dir="class/Mono.Data.Tds" library="Mono.Data.Tds-tests-net_4_5">
+    <project dir="class/Mono.Data.Tds" library="Mono.Data.Tds-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Mono.Data.Tds.dll /r:System.dll /r:System.Net.dll</flags>
-      <output>Mono.Data.Tds_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Mono.Data.Tds.dll /r:System.dll /r:System.Net.dll</flags>
+      <output>Mono.Data.Tds_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Mono.Data.Tds_test_net_4_5.dll</library_output>
+      <library_output>Mono.Data.Tds_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Mono.Data.Tds_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Mono.Data.Tds_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Numerics" library="System.Numerics-net_4_5">
+    <project dir="class/System.Numerics" library="System.Numerics-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /unsafe -d:MONO -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /unsafe -d:MONO -r:System</flags>
       <output>System.Numerics.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Numerics.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Numerics.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Numerics.dll.sources</response>
     </project>
-    <project dir="class/System.Numerics" library="System.Numerics-tests-net_4_5">
+    <project dir="class/System.Numerics" library="System.Numerics-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Numerics.dll /unsafe -d:MONO -r:System</flags>
-      <output>System.Numerics_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Numerics.dll /unsafe -d:MONO -r:System</flags>
+      <output>System.Numerics_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Numerics_test_net_4_5.dll</library_output>
+      <library_output>System.Numerics_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Numerics_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Numerics_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Data" library="System.Data-net_4_5">
+    <project dir="class/System.Numerics.Vectors" library="System.Numerics.Vectors-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -nowarn:169,219,414,649 -d:PLATFORM_UNIX -d:USEOFFSET -d:MONO_PARTIAL_DATA_IMPORT -unsafe -r:System -r:System.Xml -r:System.Core -r:System.Numerics -r:System.EnterpriseServices -r:Mono.Data.Tds -r:System.Configuration -r:System.Transactions</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System</flags>
+      <output>System.Numerics.Vectors.dll</output>
+      <built_sources></built_sources>
+      <library_output>./../../class/lib/net_4_x/System.Numerics.Vectors.dll</library_output>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Numerics.Vectors.dll.sources</response>
+    </project>
+    <project dir="class/System.Data" library="System.Data-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -nowarn:169,219,414,649 -d:PLATFORM_UNIX -d:USEOFFSET -d:MONO_PARTIAL_DATA_IMPORT -unsafe -r:System -r:System.Xml -r:System.Core -r:System.Numerics -r:System.EnterpriseServices -r:Mono.Data.Tds -r:System.Configuration -r:System.Transactions</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_5/System.Data.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Data.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_System.Data.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/net_4_x_System.Data.dll.sources</response>
     </project>
-    <project dir="class/System.Data" library="System.Data-tests-net_4_5">
+    <project dir="class/System.Data" library="System.Data-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Data.dll -nowarn:169,219,414,649 -d:PLATFORM_UNIX -d:USEOFFSET -d:MONO_PARTIAL_DATA_IMPORT -unsafe -r:System -r:System.Xml -r:System.Core -r:System.Numerics -r:System.EnterpriseServices -r:Mono.Data.Tds -r:System.Configuration -r:System.Transactions -r:System.Core.dll -r:Mono.Data.Sqlite.dll -nowarn:618,169,612,219,168</flags>
-      <output>System.Data_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Data.dll -nowarn:169,219,414,649 -d:PLATFORM_UNIX -d:USEOFFSET -d:MONO_PARTIAL_DATA_IMPORT -unsafe -r:System -r:System.Xml -r:System.Core -r:System.Numerics -r:System.EnterpriseServices -r:Mono.Data.Tds -r:System.Configuration -r:System.Transactions -r:System.Core.dll -r:Mono.Data.Sqlite.dll -nowarn:618,169,612,219,168</flags>
+      <output>System.Data_test_net_4_x.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>System.Data_test_net_4_5.dll</library_output>
+      <library_output>System.Data_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Data_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Data_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.ComponentModel.DataAnnotations" library="System.ComponentModel.DataAnnotations-net_4_5">
+    <project dir="class/System.ComponentModel.DataAnnotations" library="System.ComponentModel.DataAnnotations-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -nowarn:414 -r:System -r:System.Core -r:System.Data -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -nowarn:414 -r:System -r:System.Core -r:System.Data -r:System.Xml</flags>
       <output>System.ComponentModel.DataAnnotations.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.ComponentModel.DataAnnotations.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.ComponentModel.DataAnnotations.dll.sources</response>
     </project>
-    <project dir="class/System.ComponentModel.DataAnnotations" library="System.ComponentModel.DataAnnotations-tests-net_4_5">
+    <project dir="class/System.ComponentModel.DataAnnotations" library="System.ComponentModel.DataAnnotations-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.ComponentModel.DataAnnotations.dll -nowarn:414 -r:System -r:System.Core -r:System.Data -r:System.Xml</flags>
-      <output>System.ComponentModel.DataAnnotations_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.ComponentModel.DataAnnotations.dll -nowarn:414 -r:System -r:System.Core -r:System.Data -r:System.Xml</flags>
+      <output>System.ComponentModel.DataAnnotations_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.ComponentModel.DataAnnotations_test_net_4_5.dll</library_output>
+      <library_output>System.ComponentModel.DataAnnotations_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.ComponentModel.DataAnnotations_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.ComponentModel.DataAnnotations_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Accessibility" library="Accessibility-net_4_5">
+    <project dir="class/Accessibility" library="Accessibility-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll</flags>
       <output>Accessibility.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Accessibility.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Accessibility.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Accessibility.dll.sources</response>
     </project>
-    <project dir="class/Mono.WebBrowser" library="Mono.WebBrowser-net_4_5">
+    <project dir="class/Mono.WebBrowser" library="Mono.WebBrowser-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -warn:1 -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -warn:1 -r:System</flags>
       <output>Mono.WebBrowser.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.WebBrowser.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.WebBrowser.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.WebBrowser.dll.sources</response>
     </project>
-    <project dir="class/System.Runtime.Serialization.Formatters.Soap" library="System.Runtime.Serialization.Formatters.Soap-net_4_5">
+    <project dir="class/System.Runtime.Serialization.Formatters.Soap" library="System.Runtime.Serialization.Formatters.Soap-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System.Xml</flags>
       <output>System.Runtime.Serialization.Formatters.Soap.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Runtime.Serialization.Formatters.Soap.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Runtime.Serialization.Formatters.Soap.dll.sources</response>
     </project>
-    <project dir="class/System.Runtime.Serialization.Formatters.Soap" library="System.Runtime.Serialization.Formatters.Soap-tests-net_4_5">
+    <project dir="class/System.Runtime.Serialization.Formatters.Soap" library="System.Runtime.Serialization.Formatters.Soap-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Runtime.Serialization.Formatters.Soap.dll /r:mscorlib.dll -r:System.Xml -r:System.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
-      <output>System.Runtime.Serialization.Formatters.Soap_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Runtime.Serialization.Formatters.Soap.dll /r:mscorlib.dll -r:System.Xml -r:System.dll -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <output>System.Runtime.Serialization.Formatters.Soap_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Runtime.Serialization.Formatters.Soap_test_net_4_5.dll</library_output>
+      <library_output>System.Runtime.Serialization.Formatters.Soap_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Runtime.Serialization.Formatters.Soap_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Runtime.Serialization.Formatters.Soap_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Windows.Forms" library="System.Windows.Forms-net_4_5">
+    <project dir="class/System.Windows.Forms" library="System.Windows.Forms-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /unsafe /r:mscorlib.dll @System.Windows.Forms.dll.resources -nowarn:618,612,809 -r:System -r:System.Xml -r:System.Drawing -r:Accessibility -r:System.Data -r:Mono.Posix -r:Mono.WebBrowser -r:System.Configuration -r:System.Runtime.Serialization.Formatters.Soap</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /unsafe /r:mscorlib.dll @System.Windows.Forms.dll.resources -nowarn:618,612,809 -r:System -r:System.Xml -r:System.Drawing -r:Accessibility -r:System.Data -r:Mono.Posix -r:Mono.WebBrowser -r:System.Configuration -r:System.Runtime.Serialization.Formatters.Soap</flags>
       <output>System.Windows.Forms.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Windows.Forms.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Windows.Forms.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Windows.Forms.dll.sources</response>
     </project>
-    <project dir="class/System.Windows.Forms" library="System.Windows.Forms-tests-net_4_5">
+    <project dir="class/System.Windows.Forms" library="System.Windows.Forms-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Windows.Forms.dll /r:System.Data.dll /r:System.Drawing.dll /r:Accessibility.dll -r:System.dll -r:System.Xml.dll -r:System.Runtime.Serialization.Formatters.Soap -resource:Test/resources/a.cur,a.cur -resource:Test/resources/32x32.ico,32x32.ico -nowarn:618,612</flags>
-      <output>System.Windows.Forms_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Windows.Forms.dll /r:System.Data.dll /r:System.Drawing.dll /r:Accessibility.dll -r:System.dll -r:System.Xml.dll -r:System.Runtime.Serialization.Formatters.Soap -resource:Test/resources/a.cur,a.cur -resource:Test/resources/32x32.ico,32x32.ico -nowarn:618,612</flags>
+      <output>System.Windows.Forms_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Windows.Forms_test_net_4_5.dll</library_output>
+      <library_output>System.Windows.Forms_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Windows.Forms_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Windows.Forms_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Mono.Data.Sqlite" library="Mono.Data.Sqlite-net_4_5">
+    <project dir="class/Mono.Data.Sqlite" library="Mono.Data.Sqlite-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /unsafe -resource:resources/SR.resources -resource:resources/SQLiteCommand.bmp -resource:resources/SQLiteConnection.bmp -resource:resources/SQLiteDataAdapter.bmp -d:SQLITE_STANDARD -r:System -r:System.Data -r:System.Transactions -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /unsafe -resource:resources/SR.resources -resource:resources/SQLiteCommand.bmp -resource:resources/SQLiteConnection.bmp -resource:resources/SQLiteDataAdapter.bmp -d:SQLITE_STANDARD -r:System -r:System.Data -r:System.Transactions -r:System.Xml</flags>
       <output>Mono.Data.Sqlite.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Data.Sqlite.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Data.Sqlite.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Data.Sqlite.dll.sources</response>
     </project>
-    <project dir="class/Mono.Data.Sqlite" library="Mono.Data.Sqlite-tests-net_4_5">
+    <project dir="class/Mono.Data.Sqlite" library="Mono.Data.Sqlite-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/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:System -r:System.Data -r:System.Transactions -r:System.Xml /nowarn:618</flags>
-      <output>Mono.Data.Sqlite_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -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:System -r:System.Data -r:System.Transactions -r:System.Xml /nowarn:618</flags>
+      <output>Mono.Data.Sqlite_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Mono.Data.Sqlite_test_net_4_5.dll</library_output>
+      <library_output>Mono.Data.Sqlite_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Mono.Data.Sqlite_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Mono.Data.Sqlite_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Web.ApplicationServices" library="System.Web.ApplicationServices-net_4_5">
+    <project dir="class/System.Web.ApplicationServices" library="System.Web.ApplicationServices-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -d:SYSTEM_WEB_APPLICATIONSERVICES -r:System -r:System.Configuration</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -d:SYSTEM_WEB_APPLICATIONSERVICES -r:System -r:System.Configuration</flags>
       <output>System.Web.ApplicationServices.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.ApplicationServices.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.ApplicationServices.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_System.Web.ApplicationServices.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>System.Web.ApplicationServices.dll.sources</response>
     </project>
-    <project dir="class/Novell.Directory.Ldap" library="Novell.Directory.Ldap-net_4_5">
+    <project dir="class/Novell.Directory.Ldap" library="Novell.Directory.Ldap-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -warn:1 -nowarn:612 -r:mscorlib.dll -r:System.dll -r:Mono.Security.dll /res:Novell.Directory.Ldap.Utilclass/ResultCodeMessages.resources -r:System -r:Mono.Security</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -warn:1 -nowarn:612 -r:mscorlib.dll -r:System.dll -r:Mono.Security.dll /res:Novell.Directory.Ldap.Utilclass/ResultCodeMessages.resources -r:System -r:Mono.Security</flags>
       <output>Novell.Directory.Ldap.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Novell.Directory.Ldap.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Novell.Directory.Ldap.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Novell.Directory.Ldap.dll.sources</response>
     </project>
-    <project dir="class/Novell.Directory.Ldap" library="Novell.Directory.Ldap-tests-net_4_5">
+    <project dir="class/Novell.Directory.Ldap" library="Novell.Directory.Ldap-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Novell.Directory.Ldap.dll</flags>
-      <output>Novell.Directory.Ldap_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Novell.Directory.Ldap.dll</flags>
+      <output>Novell.Directory.Ldap_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Novell.Directory.Ldap_test_net_4_5.dll</library_output>
+      <library_output>Novell.Directory.Ldap_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Novell.Directory.Ldap_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Novell.Directory.Ldap_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.DirectoryServices" library="System.DirectoryServices-net_4_5">
+    <project dir="class/System.DirectoryServices" library="System.DirectoryServices-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:Novell.Directory.Ldap</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:Novell.Directory.Ldap</flags>
       <output>System.DirectoryServices.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.DirectoryServices.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.DirectoryServices.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.DirectoryServices.dll.sources</response>
     </project>
-    <project dir="class/System.DirectoryServices" library="System.DirectoryServices-tests-net_4_5">
+    <project dir="class/System.DirectoryServices" library="System.DirectoryServices-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.DirectoryServices.dll /r:mscorlib.dll -r:System -r:Novell.Directory.Ldap -nowarn:0618 -nowarn:219 -nowarn:169</flags>
-      <output>System.DirectoryServices_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.DirectoryServices.dll /r:mscorlib.dll -r:System -r:Novell.Directory.Ldap -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <output>System.DirectoryServices_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.DirectoryServices_test_net_4_5.dll</library_output>
+      <library_output>System.DirectoryServices_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.DirectoryServices_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.DirectoryServices_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Web" library="System.Web-net_4_5">
+    <project dir="class/System.Web" library="System.Web-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -unsafe -nowarn:612,618 -r:mscorlib.dll -d:INSIDE_SYSTEM_WEB -nowarn:618 -r:System.Configuration.dll -r:Mono.Data.Sqlite.dll -r:System.Web.ApplicationServices.dll /resource:resources/TranslationResources.resources /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 -lib:./../../class/lib/net_4_5/plaindesign -r:System -r:System.Core -r:System.Drawing -r:System.Data -r:System.Xml -r:System.EnterpriseServices -r:System.Runtime.Serialization.Formatters.Soap -r:System.ComponentModel.DataAnnotations -r:System.Web.Services -r:System.Design</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -unsafe -nowarn:612,618 -r:mscorlib.dll -d:INSIDE_SYSTEM_WEB -nowarn:618 -r:System.Configuration.dll -r:Mono.Data.Sqlite.dll -r:System.Web.ApplicationServices.dll /resource:resources/TranslationResources.resources /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 -lib:./../../class/lib/net_4_x/plaindesign -r:System -r:System.Core -r:System.Drawing -r:System.Data -r:System.Xml -r:System.EnterpriseServices -r:System.Runtime.Serialization.Formatters.Soap -r:System.ComponentModel.DataAnnotations -r:System.Web.Services -r:System.Design</flags>
       <output>System.Web.dll</output>
       <built_sources>System.Web/UplevelHelper.cs</built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_System.Web.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>System.Web.dll.sources</response>
     </project>
-    <project dir="class/System.Web" library="System.Web-tests-net_4_5">
+    <project dir="class/System.Web" library="System.Web-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/plainweb/System.Web.dll -unsafe -nowarn:612,618 -r:mscorlib.dll -d:INSIDE_SYSTEM_WEB -nowarn:618 -r:System.Configuration.dll -r:Mono.Data.Sqlite.dll -r:System.Web.ApplicationServices.dll /resource:resources/TranslationResources.resources /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:System -r:System.Core -r:System.Drawing -r:System.Data -r:System.Xml -r:System.EnterpriseServices -r:System.Runtime.Serialization.Formatters.Soap -r:System.ComponentModel.DataAnnotations -doc:System.Web_test_net_4_5.xml -nowarn:219,169,1591 -r:SystemWebTestShim.dll /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>System.Web_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/plainweb/System.Web.dll -unsafe -nowarn:612,618 -r:mscorlib.dll -d:INSIDE_SYSTEM_WEB -nowarn:618 -r:System.Configuration.dll -r:Mono.Data.Sqlite.dll -r:System.Web.ApplicationServices.dll /resource:resources/TranslationResources.resources /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:System -r:System.Core -r:System.Drawing -r:System.Data -r:System.Xml -r:System.EnterpriseServices -r:System.Runtime.Serialization.Formatters.Soap -r:System.ComponentModel.DataAnnotations -doc:System.Web_test_net_4_x.xml -nowarn:219,169,1591 -r:SystemWebTestShim.dll /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>System.Web_test_net_4_x.dll</output>
       <built_sources>System.Web/UplevelHelper.cs</built_sources>
-      <library_output>System.Web_test_net_4_5.dll</library_output>
+      <library_output>System.Web_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Web_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Web_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Web" library="System.Web-plainweb-net_4_5">
+    <project dir="class/System.Web" library="System.Web-plainweb-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -unsafe -nowarn:612,618 -r:mscorlib.dll -d:INSIDE_SYSTEM_WEB -nowarn:618 -r:System.Configuration.dll -r:Mono.Data.Sqlite.dll -r:System.Web.ApplicationServices.dll /resource:resources/TranslationResources.resources /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:System -r:System.Core -r:System.Drawing -r:System.Data -r:System.Xml -r:System.EnterpriseServices -r:System.Runtime.Serialization.Formatters.Soap -r:System.ComponentModel.DataAnnotations</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -unsafe -nowarn:612,618 -r:mscorlib.dll -d:INSIDE_SYSTEM_WEB -nowarn:618 -r:System.Configuration.dll -r:Mono.Data.Sqlite.dll -r:System.Web.ApplicationServices.dll /resource:resources/TranslationResources.resources /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:System -r:System.Core -r:System.Drawing -r:System.Data -r:System.Xml -r:System.EnterpriseServices -r:System.Runtime.Serialization.Formatters.Soap -r:System.ComponentModel.DataAnnotations</flags>
       <output>System.Web.dll</output>
       <built_sources>System.Web/UplevelHelper.cs</built_sources>
-      <library_output>./../../class/lib/net_4_5/plainweb/System.Web.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/plainweb/System.Web.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_System.Web.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>System.Web.dll.sources</response>
     </project>
-    <project dir="class/System.Web" library="System.Web-tests-net_4_5">
+    <project dir="class/System.Web" library="System.Web-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/plainweb/System.Web.dll -unsafe -nowarn:612,618 -r:mscorlib.dll -d:INSIDE_SYSTEM_WEB -nowarn:618 -r:System.Configuration.dll -r:Mono.Data.Sqlite.dll -r:System.Web.ApplicationServices.dll /resource:resources/TranslationResources.resources /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:System -r:System.Core -r:System.Drawing -r:System.Data -r:System.Xml -r:System.EnterpriseServices -r:System.Runtime.Serialization.Formatters.Soap -r:System.ComponentModel.DataAnnotations -doc:System.Web_test_net_4_5.xml -nowarn:219,169,1591 -r:SystemWebTestShim.dll /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>System.Web_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/plainweb/System.Web.dll -unsafe -nowarn:612,618 -r:mscorlib.dll -d:INSIDE_SYSTEM_WEB -nowarn:618 -r:System.Configuration.dll -r:Mono.Data.Sqlite.dll -r:System.Web.ApplicationServices.dll /resource:resources/TranslationResources.resources /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:System -r:System.Core -r:System.Drawing -r:System.Data -r:System.Xml -r:System.EnterpriseServices -r:System.Runtime.Serialization.Formatters.Soap -r:System.ComponentModel.DataAnnotations -doc:System.Web_test_net_4_x.xml -nowarn:219,169,1591 -r:SystemWebTestShim.dll /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>System.Web_test_net_4_x.dll</output>
       <built_sources>System.Web/UplevelHelper.cs</built_sources>
-      <library_output>System.Web_test_net_4_5.dll</library_output>
+      <library_output>System.Web_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Web_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Web_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Web.Services" library="System.Web.Services-net_4_5">
+    <project dir="class/System.Web.Services" library="System.Web.Services-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/plaindesign -lib:./../../class/lib/net_4_5/plainweb -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -nowarn:168,169,219,414,612,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:System -r:System.EnterpriseServices -r:System.Xml -r:System.Web -r:System.DirectoryServices -r:System.Data -r:System.Design -r:System.Configuration</flags>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/plainweb -lib:./../../class/lib/net_4_x/plaindesign -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -nowarn:168,169,219,414,612,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:System -r:System.EnterpriseServices -r:System.Xml -r:System.Data -r:System.Web -r:System.Design -r:System.DirectoryServices -r:System.Configuration</flags>
       <output>System.Web.Services.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.Services.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.Services.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Web.Services.dll.sources</response>
     </project>
-    <project dir="class/System.Web.Services" library="System.Web.Services-tests-net_4_5">
+    <project dir="class/System.Web.Services" library="System.Web.Services-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/plaindesign -lib:./../../class/lib/net_4_5/plainweb -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Web.Services.dll -nowarn:168,169,219,414,612,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:System -r:System.EnterpriseServices -r:System.Xml -r:System.Web -r:System.DirectoryServices -r:System.Data -r:System.Design -r:System.Configuration -nowarn:618</flags>
-      <output>System.Web.Services_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/plainweb -lib:./../../class/lib/net_4_x/plaindesign -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Web.Services.dll -nowarn:168,169,219,414,612,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:System -r:System.EnterpriseServices -r:System.Xml -r:System.Data -r:System.Web -r:System.Design -r:System.DirectoryServices -r:System.Configuration -nowarn:618</flags>
+      <output>System.Web.Services_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Web.Services_test_net_4_5.dll</library_output>
+      <library_output>System.Web.Services_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Web.Services_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Web.Services_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Design" library="System.Design-net_4_5">
+    <project dir="class/System.Design" library="System.Design-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/plainweb -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:mscorlib.dll -r:System -r:System.Xml -r:System.Web -r:System.Windows.Forms -r:System.Drawing -r:Accessibility -r:System.Data -r:System.Configuration</flags>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/plainweb -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:mscorlib.dll -r:System -r:System.Xml -r:System.Web -r:System.Windows.Forms -r:System.Drawing -r:Accessibility -r:System.Data -r:System.Configuration</flags>
       <output>System.Design.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Design.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Design.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Design.dll.sources</response>
     </project>
-    <project dir="class/System.Design" library="System.Design-tests-net_4_5">
+    <project dir="class/System.Design" library="System.Design-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/plainweb -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Design.dll /r:System.dll -r:System.Drawing.dll -r:System.Windows.Forms</flags>
-      <output>System.Design_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/plainweb -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Design.dll /r:System.dll -r:System.Drawing.dll -r:System.Windows.Forms</flags>
+      <output>System.Design_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Design_test_net_4_5.dll</library_output>
+      <library_output>System.Design_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Design_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Design_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Runtime.Remoting" library="System.Runtime.Remoting-net_4_5">
+    <project dir="class/System.Runtime.Remoting" library="System.Runtime.Remoting-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:System.Web -r:System.Xml -r:System.Runtime.Serialization.Formatters.Soap</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:System.Web -r:System.Xml -r:System.Runtime.Serialization.Formatters.Soap</flags>
       <output>System.Runtime.Remoting.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Runtime.Remoting.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Runtime.Remoting.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Runtime.Remoting.dll.sources</response>
     </project>
-    <project dir="class/System.Runtime.Remoting" library="System.Runtime.Remoting-tests-net_4_5">
+    <project dir="class/System.Runtime.Remoting" library="System.Runtime.Remoting-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Runtime.Remoting.dll /r:mscorlib.dll -r:System -r:System.Web -r:System.Xml -r:System.Runtime.Serialization.Formatters.Soap -nowarn:618 /r:System.Runtime.Remoting.dll</flags>
-      <output>System.Runtime.Remoting_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Runtime.Remoting.dll /r:mscorlib.dll -r:System -r:System.Web -r:System.Xml -r:System.Runtime.Serialization.Formatters.Soap -nowarn:618 /r:System.Runtime.Remoting.dll</flags>
+      <output>System.Runtime.Remoting_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Runtime.Remoting_test_net_4_5.dll</library_output>
+      <library_output>System.Runtime.Remoting_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Runtime.Remoting_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Runtime.Remoting_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Configuration.Install" library="System.Configuration.Install-net_4_5">
+    <project dir="class/System.Configuration.Install" library="System.Configuration.Install-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:System.Xml</flags>
       <output>System.Configuration.Install.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Configuration.Install.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Configuration.Install.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Configuration.Install.dll.sources</response>
     </project>
-    <project dir="class/System.Management" library="System.Management-net_4_5">
+    <project dir="class/System.Management" library="System.Management-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:System.Configuration.Install</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:System.Configuration.Install</flags>
       <output>System.Management.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Management.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Management.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Management.dll.sources</response>
     </project>
-    <project dir="class/System.Data.OracleClient" library="System.Data.OracleClient-net_4_5">
+    <project dir="class/System.Data.OracleClient" library="System.Data.OracleClient-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:System.Xml -r:System.Data -r:System.EnterpriseServices -r:System.Drawing</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:System.Xml -r:System.Data -r:System.EnterpriseServices -r:System.Drawing</flags>
       <output>System.Data.OracleClient.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Data.OracleClient.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Data.OracleClient.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Data.OracleClient.dll.sources</response>
     </project>
-    <project dir="class/System.Data.OracleClient" library="System.Data.OracleClient-tests-net_4_5">
+    <project dir="class/System.Data.OracleClient" library="System.Data.OracleClient-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Data.OracleClient.dll /r:mscorlib.dll -r:System -r:System.Xml -r:System.Data -r:System.EnterpriseServices -r:System.Drawing /nowarn:618</flags>
-      <output>System.Data.OracleClient_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Data.OracleClient.dll /r:mscorlib.dll -r:System -r:System.Xml -r:System.Data -r:System.EnterpriseServices -r:System.Drawing /nowarn:618</flags>
+      <output>System.Data.OracleClient_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Data.OracleClient_test_net_4_5.dll</library_output>
+      <library_output>System.Data.OracleClient_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Data.OracleClient_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Data.OracleClient_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Cscompmgd" library="Cscompmgd-net_4_5">
+    <project dir="class/Cscompmgd" library="Cscompmgd-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System</flags>
       <output>cscompmgd.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/cscompmgd.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/cscompmgd.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Cscompmgd.dll.sources</response>
     </project>
-    <project dir="class/Cscompmgd" library="Cscompmgd-tests-net_4_5">
+    <project dir="class/Cscompmgd" library="Cscompmgd-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/cscompmgd.dll /r:mscorlib.dll -r:System -nowarn:0618 -nowarn:219 -nowarn:169</flags>
-      <output>Cscompmgd_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/cscompmgd.dll /r:mscorlib.dll -r:System -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <output>Cscompmgd_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Cscompmgd_test_net_4_5.dll</library_output>
+      <library_output>Cscompmgd_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Cscompmgd_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Cscompmgd_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Commons.Xml.Relaxng" library="Commons.Xml.Relaxng-net_4_5">
+    <project dir="class/Commons.Xml.Relaxng" library="Commons.Xml.Relaxng-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /resource:resources/relaxng.rng,relaxng.rng -r:System -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /resource:resources/relaxng.rng,relaxng.rng -r:System -r:System.Xml</flags>
       <output>Commons.Xml.Relaxng.dll</output>
       <built_sources>Commons.Xml.Relaxng.Rnc/RncParser.cs</built_sources>
-      <library_output>./../../class/lib/net_4_5/Commons.Xml.Relaxng.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Commons.Xml.Relaxng.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Commons.Xml.Relaxng.dll.sources</response>
     </project>
-    <project dir="class/Commons.Xml.Relaxng" library="Commons.Xml.Relaxng-tests-net_4_5">
+    <project dir="class/Commons.Xml.Relaxng" library="Commons.Xml.Relaxng-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Commons.Xml.Relaxng.dll /r:mscorlib.dll /resource:resources/relaxng.rng,relaxng.rng -r:System -r:System.Xml -nowarn:0618 -nowarn:219 -nowarn:169</flags>
-      <output>Commons.Xml.Relaxng_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Commons.Xml.Relaxng.dll /r:mscorlib.dll /resource:resources/relaxng.rng,relaxng.rng -r:System -r:System.Xml -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <output>Commons.Xml.Relaxng_test_net_4_x.dll</output>
       <built_sources>Commons.Xml.Relaxng.Rnc/RncParser.cs</built_sources>
-      <library_output>Commons.Xml.Relaxng_test_net_4_5.dll</library_output>
+      <library_output>Commons.Xml.Relaxng_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Commons.Xml.Relaxng_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Commons.Xml.Relaxng_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Mono.Messaging" library="Mono.Messaging-net_4_5">
+    <project dir="class/Mono.Messaging" library="Mono.Messaging-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Configuration</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Configuration</flags>
       <output>Mono.Messaging.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Messaging.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Messaging.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Messaging.dll.sources</response>
     </project>
-    <project dir="class/Mono.Messaging" library="Mono.Messaging-tests-net_4_5">
+    <project dir="class/Mono.Messaging" library="Mono.Messaging-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Mono.Messaging.dll -r:System -r:System.Configuration -nowarn:0618 -nowarn:219 -nowarn:169 /r:System.Messaging.dll /r:nunit.mocks.dll</flags>
-      <output>Mono.Messaging_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Mono.Messaging.dll -r:System -r:System.Configuration -nowarn:0618 -nowarn:219 -nowarn:169 /r:System.Messaging.dll /r:nunit.mocks.dll</flags>
+      <output>Mono.Messaging_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Mono.Messaging_test_net_4_5.dll</library_output>
+      <library_output>Mono.Messaging_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Mono.Messaging_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Mono.Messaging_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Messaging" library="System.Messaging-net_4_5">
+    <project dir="class/System.Messaging" library="System.Messaging-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /resource:System.Messaging/MessageQueue.resx -r:System -r:System.Configuration.Install -r:System.Drawing -r:System.Windows.Forms -r:System.Xml -r:Mono.Messaging</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /resource:System.Messaging/MessageQueue.resx -r:System -r:System.Xml -r:Mono.Messaging -r:System.Configuration.Install -r:System.Drawing -r:System.Windows.Forms</flags>
       <output>System.Messaging.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Messaging.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Messaging.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Messaging.dll.sources</response>
     </project>
-    <project dir="class/System.Messaging" library="System.Messaging-tests-net_4_5">
+    <project dir="class/System.Messaging" library="System.Messaging-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Messaging.dll /resource:System.Messaging/MessageQueue.resx -r:System -r:System.Configuration.Install -r:System.Drawing -r:System.Windows.Forms -r:System.Xml -r:Mono.Messaging -nowarn:0618 -nowarn:219 -nowarn:169 /r:nunit.mocks.dll</flags>
-      <output>System.Messaging_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Messaging.dll /resource:System.Messaging/MessageQueue.resx -r:System -r:System.Xml -r:Mono.Messaging -r:System.Configuration.Install -r:System.Drawing -r:System.Windows.Forms -nowarn:0618 -nowarn:219 -nowarn:169 /r:nunit.mocks.dll</flags>
+      <output>System.Messaging_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Messaging_test_net_4_5.dll</library_output>
+      <library_output>System.Messaging_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Messaging_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Messaging_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.ServiceProcess" library="System.ServiceProcess-net_4_5">
+    <project dir="class/System.ServiceProcess" library="System.ServiceProcess-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /nowarn:0618 -r:System -r:System.Configuration.Install -r:System.Windows.Forms</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /nowarn:0618 -r:System -r:System.Configuration.Install -r:System.Windows.Forms</flags>
       <output>System.ServiceProcess.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.ServiceProcess.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.ServiceProcess.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.ServiceProcess.dll.sources</response>
     </project>
-    <project dir="class/System.ServiceProcess" library="System.ServiceProcess-tests-net_4_5">
+    <project dir="class/System.ServiceProcess" library="System.ServiceProcess-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.ServiceProcess.dll /nowarn:0618 -r:System -r:System.Configuration.Install -r:System.Windows.Forms</flags>
-      <output>System.ServiceProcess_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.ServiceProcess.dll /nowarn:0618 -r:System -r:System.Configuration.Install -r:System.Windows.Forms</flags>
+      <output>System.ServiceProcess_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.ServiceProcess_test_net_4_5.dll</library_output>
+      <library_output>System.ServiceProcess_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.ServiceProcess_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.ServiceProcess_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Drawing.Design" library="System.Drawing.Design-net_4_5">
+    <project dir="class/System.Drawing.Design" library="System.Drawing.Design-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:System.Drawing -r:System.Windows.Forms</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:System.Drawing -r:System.Windows.Forms</flags>
       <output>System.Drawing.Design.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Drawing.Design.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Drawing.Design.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Drawing.Design.dll.sources</response>
     </project>
-    <project dir="class/ICSharpCode.SharpZipLib" library="ICSharpCode.SharpZipLib-net_4_5">
+    <project dir="class/ICSharpCode.SharpZipLib" library="ICSharpCode.SharpZipLib-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -warn:1 -r:System -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -warn:1 -r:System -r:System.Xml</flags>
       <output>ICSharpCode.SharpZipLib.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/ICSharpCode.SharpZipLib.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/ICSharpCode.SharpZipLib.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>ICSharpCode.SharpZipLib.dll.sources</response>
     </project>
-    <project dir="class/IBM.Data.DB2" library="IBM.Data.DB2-net_4_5">
+    <project dir="class/IBM.Data.DB2" library="IBM.Data.DB2-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /unsafe /r:mscorlib.dll -warn:1 -r:System -r:System.Xml -r:System.Data</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /unsafe /r:mscorlib.dll -warn:1 -r:System -r:System.Xml -r:System.Data</flags>
       <output>IBM.Data.DB2.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/IBM.Data.DB2.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/IBM.Data.DB2.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>IBM.Data.DB2.dll.sources</response>
     </project>
-    <project dir="class/CustomMarshalers" library="CustomMarshalers-net_4_5">
+    <project dir="class/CustomMarshalers" library="CustomMarshalers-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System</flags>
       <output>CustomMarshalers.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/CustomMarshalers.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/CustomMarshalers.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>CustomMarshalers.dll.sources</response>
     </project>
-    <project dir="class/SystemWebTestShim" library="SystemWebTestShim-net_4_5">
+    <project dir="class/SystemWebTestShim" library="SystemWebTestShim-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System.Web -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System.Web -r:System</flags>
       <output>SystemWebTestShim.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/SystemWebTestShim.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/SystemWebTestShim.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>SystemWebTestShim.dll.sources</response>
     </project>
-    <project dir="class/System.ServiceModel.Internals" library="System.ServiceModel.Internals-net_4_5">
+    <project dir="class/System.ServiceModel.Internals" library="System.ServiceModel.Internals-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /unsafe -r:System -r:System.Core -r:System.Xml -r:System.Configuration</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /unsafe -r:System -r:System.Core -r:System.Xml -r:System.Configuration</flags>
       <output>System.ServiceModel.Internals.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.ServiceModel.Internals.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.ServiceModel.Internals.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.ServiceModel.Internals.dll.sources</response>
     </project>
-    <project dir="class/SMDiagnostics" library="SMDiagnostics-net_4_5">
+    <project dir="class/SMDiagnostics" library="SMDiagnostics-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Core -r:System.Xml -r:System.ServiceModel.Internals -r:System.Configuration</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Core -r:System.Xml -r:System.ServiceModel.Internals -r:System.Configuration</flags>
       <output>SMDiagnostics.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/SMDiagnostics.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/SMDiagnostics.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>SMDiagnostics.dll.sources</response>
     </project>
-    <project dir="class/System.Runtime.Serialization" library="System.Runtime.Serialization-net_4_5">
+    <project dir="class/System.Runtime.Serialization" library="System.Runtime.Serialization-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -unsafe -d:NO_DYNAMIC_CODEGEN /nowarn:168,169,219,414 /d:NET_3_0 -r:System -r:System.Xml -r:System.Core -r:System.ServiceModel.Internals -r:SMDiagnostics -r:System.Data -r:System.Configuration</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -unsafe -d:NO_DYNAMIC_CODEGEN /nowarn:168,169,219,414 /d:NET_3_0 -r:System -r:System.Xml -r:System.Core -r:System.ServiceModel.Internals -r:SMDiagnostics -r:System.Data -r:System.Configuration</flags>
       <output>System.Runtime.Serialization.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Runtime.Serialization.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Runtime.Serialization.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_System.Runtime.Serialization.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/net_4_x_System.Runtime.Serialization.dll.sources</response>
     </project>
-    <project dir="class/System.Runtime.Serialization" library="System.Runtime.Serialization-tests-net_4_5">
+    <project dir="class/System.Runtime.Serialization" library="System.Runtime.Serialization-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Runtime.Serialization.dll -unsafe -d:NO_DYNAMIC_CODEGEN /nowarn:168,169,219,414 /d:NET_3_0 -r:System -r:System.Xml -r:System.Core -r:System.ServiceModel.Internals -r:SMDiagnostics -r:System.Data -r:System.Configuration /r:System.ServiceModel.dll /r:System.Web.Services.dll /resource:Test/Resources/WSDL/collections.wsdl /resource:Test/Resources/WSDL/custom-collections.wsdl</flags>
-      <output>System.Runtime.Serialization_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -unsafe -d:NO_DYNAMIC_CODEGEN /nowarn:168,169,219,414 /d:NET_3_0 -r:System -r:System.Xml -r:System.Core -r:System.ServiceModel.Internals -r:SMDiagnostics -r:System.Data -r:System.Configuration /r:System.ServiceModel.dll /r:System.Web.Services.dll /resource:Test/Resources/WSDL/collections.wsdl /resource:Test/Resources/WSDL/custom-collections.wsdl</flags>
+      <output>System.Runtime.Serialization_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Runtime.Serialization_test_net_4_5.dll</library_output>
+      <library_output>System.Runtime.Serialization_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Runtime.Serialization_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Runtime.Serialization_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Xml.Linq" library="System.Xml.Linq-net_4_5">
+    <project dir="class/System.Xml.Linq" library="System.Xml.Linq-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Core -r:System.Xml -r:System.Runtime.Serialization</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Core -r:System.Xml -r:System.Runtime.Serialization</flags>
       <output>System.Xml.Linq.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Xml.Linq.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Xml.Linq.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Xml.Linq.dll.sources</response>
     </project>
-    <project dir="class/System.Xml.Linq" library="System.Xml.Linq-tests-net_4_5">
+    <project dir="class/System.Xml.Linq" library="System.Xml.Linq-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Xml.Linq.dll -r:System -r:System.Core -r:System.Xml -r:System.Runtime.Serialization</flags>
-      <output>System.Xml.Linq_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Xml.Linq.dll -r:System -r:System.Core -r:System.Xml -r:System.Runtime.Serialization</flags>
+      <output>System.Xml.Linq_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Xml.Linq_test_net_4_5.dll</library_output>
+      <library_output>System.Xml.Linq_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Xml.Linq_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Xml.Linq_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Data.Linq" library="System.Data.Linq-net_4_5">
+    <project dir="class/System.Data.Linq" library="System.Data.Linq-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /resource:./src/DbLinq/Schema/Dbml/DbmlSchema.xsd,DbLinq.Schema.Dbml.DbmlSchema.xsd /d:MONO_STRICT /d:MONO_DEPLOY -warn:1 -r:System -r:System.Core -r:System.Xml -r:System.Data -r:System.Runtime.Serialization</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /resource:./src/DbLinq/Schema/Dbml/DbmlSchema.xsd,DbLinq.Schema.Dbml.DbmlSchema.xsd /d:MONO_STRICT /d:MONO_DEPLOY -warn:1 -r:System -r:System.Core -r:System.Xml -r:System.Data -r:System.Runtime.Serialization</flags>
       <output>System.Data.Linq.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Data.Linq.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Data.Linq.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Data.Linq.dll.sources</response>
     </project>
-    <project dir="class/System.Data.Linq" library="System.Data.Linq-tests-net_4_5">
+    <project dir="class/System.Data.Linq" library="System.Data.Linq-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/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:System -r:System.Core -r:System.Xml -r:System.Data -r:System.Runtime.Serialization</flags>
-      <output>System.Data.Linq_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -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:System -r:System.Core -r:System.Xml -r:System.Data -r:System.Runtime.Serialization</flags>
+      <output>System.Data.Linq_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Data.Linq_test_net_4_5.dll</library_output>
+      <library_output>System.Data.Linq_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Data.Linq_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Data.Linq_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Web.Abstractions" library="System.Web.Abstractions-net_4_5">
+    <project dir="class/System.Web.Abstractions" library="System.Web.Abstractions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Core -r:System.Web</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Core -r:System.Web</flags>
       <output>System.Web.Abstractions.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.Abstractions.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.Abstractions.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_System.Web.Abstractions.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>System.Web.Abstractions.dll.sources</response>
     </project>
-    <project dir="class/System.Web.Abstractions" library="System.Web.Abstractions-tests-net_4_5">
+    <project dir="class/System.Web.Abstractions" library="System.Web.Abstractions-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Web.Abstractions.dll -r:System -r:System.Core -r:System.Web</flags>
-      <output>System.Web.Abstractions_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Web.Abstractions.dll -r:System -r:System.Core -r:System.Web</flags>
+      <output>System.Web.Abstractions_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Web.Abstractions_test_net_4_5.dll</library_output>
+      <library_output>System.Web.Abstractions_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Web.Abstractions_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Web.Abstractions_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Web.Routing" library="System.Web.Routing-net_4_5">
+    <project dir="class/System.Web.Routing" library="System.Web.Routing-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Core -r:System.Web -r:System.Web.Abstractions</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Core -r:System.Web -r:System.Web.Abstractions</flags>
       <output>System.Web.Routing.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.Routing.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.Routing.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_System.Web.Routing.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>System.Web.Routing.dll.sources</response>
     </project>
-    <project dir="class/System.Web.Routing" library="System.Web.Routing-tests-net_4_5">
+    <project dir="class/System.Web.Routing" library="System.Web.Routing-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Web.Routing.dll -r:System -r:System.Core -r:System.Web -r:System.Web.Abstractions</flags>
-      <output>System.Web.Routing_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Web.Routing.dll -r:System -r:System.Core -r:System.Web -r:System.Web.Abstractions</flags>
+      <output>System.Web.Routing_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Web.Routing_test_net_4_5.dll</library_output>
+      <library_output>System.Web.Routing_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Web.Routing_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Web.Routing_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Runtime.DurableInstancing" library="System.Runtime.DurableInstancing-net_4_5">
+    <project dir="class/System.Runtime.DurableInstancing" library="System.Runtime.DurableInstancing-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Xml -r:System.Core -r:System.Xml.Linq -r:System.Transactions -r:System.ServiceModel.Internals -r:System.Runtime.Serialization</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Xml -r:System.Core -r:System.Xml.Linq -r:System.Transactions -r:System.ServiceModel.Internals -r:System.Runtime.Serialization</flags>
       <output>System.Runtime.DurableInstancing.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Runtime.DurableInstancing.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Runtime.DurableInstancing.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Runtime.DurableInstancing.dll.sources</response>
     </project>
-    <project dir="class/System.Runtime.DurableInstancing" library="System.Runtime.DurableInstancing-tests-net_4_5">
+    <project dir="class/System.Runtime.DurableInstancing" library="System.Runtime.DurableInstancing-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Runtime.DurableInstancing.dll -r:System -r:System.Xml -r:System.Core -r:System.Xml.Linq -r:System.Transactions -r:System.ServiceModel.Internals -r:System.Runtime.Serialization</flags>
-      <output>System.Runtime.DurableInstancing_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Runtime.DurableInstancing.dll -r:System -r:System.Xml -r:System.Core -r:System.Xml.Linq -r:System.Transactions -r:System.ServiceModel.Internals -r:System.Runtime.Serialization</flags>
+      <output>System.Runtime.DurableInstancing_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Runtime.DurableInstancing_test_net_4_5.dll</library_output>
+      <library_output>System.Runtime.DurableInstancing_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Runtime.DurableInstancing_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Runtime.DurableInstancing_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.IdentityModel" library="System.IdentityModel-net_4_5">
+    <project dir="class/System.IdentityModel" library="System.IdentityModel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /d:NET_3_0 -r:System.Web.ApplicationServices.dll -r:System -r:System.Xml -r:System.Security -r:System.Web -r:System.Configuration -r:Mono.Security -r:System.Runtime.Serialization</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /d:NET_3_0 -r:System.Web.ApplicationServices.dll -r:System -r:System.Xml -r:System.Security -r:System.Configuration -r:Mono.Security -r:System.Runtime.Serialization -r:System.Web</flags>
       <output>System.IdentityModel.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.IdentityModel.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.IdentityModel.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.IdentityModel.dll.sources</response>
     </project>
-    <project dir="class/System.IdentityModel" library="System.IdentityModel-tests-net_4_5">
+    <project dir="class/System.IdentityModel" library="System.IdentityModel-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.IdentityModel.dll /d:NET_3_0 -r:System.Web.ApplicationServices.dll -r:System -r:System.Xml -r:System.Security -r:System.Web -r:System.Configuration -r:Mono.Security -r:System.Runtime.Serialization</flags>
-      <output>System.IdentityModel_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.IdentityModel.dll /d:NET_3_0 -r:System.Web.ApplicationServices.dll -r:System -r:System.Xml -r:System.Security -r:System.Configuration -r:Mono.Security -r:System.Runtime.Serialization -r:System.Web</flags>
+      <output>System.IdentityModel_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.IdentityModel_test_net_4_5.dll</library_output>
+      <library_output>System.IdentityModel_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.IdentityModel_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.IdentityModel_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.IdentityModel.Selectors" library="System.IdentityModel.Selectors-net_4_5">
+    <project dir="class/System.IdentityModel.Selectors" library="System.IdentityModel.Selectors-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /d:NET_3_0 -r:System -r:System.Xml -r:System.Security -r:System.Runtime.Serialization -r:System.IdentityModel</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /d:NET_3_0 -r:System -r:System.Xml -r:System.Security -r:System.Runtime.Serialization -r:System.IdentityModel</flags>
       <output>System.IdentityModel.Selectors.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.IdentityModel.Selectors.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.IdentityModel.Selectors.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.IdentityModel.Selectors.dll.sources</response>
     </project>
-    <project dir="class/System.ServiceModel" library="System.ServiceModel-net_4_5">
+    <project dir="class/System.ServiceModel" library="System.ServiceModel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /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:System.ServiceModel.Activation.dll -r:System -r:System.Xml -r:System.Core -r:System.Runtime.Serialization -r:System.Configuration -r:System.Data -r:System.Security -r:System.IdentityModel -r:System.IdentityModel.Selectors -r:System.Transactions -r:System.Messaging -r:System.Web -r:System.Web.Services -r:Mono.Security -r:System.Web.ApplicationServices -r:System.Web.ApplicationServices</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /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:System.ServiceModel.Activation.dll -r:System -r:System.Xml -r:System.Core -r:System.Runtime.Serialization -r:System.Configuration -r:System.Data -r:System.Security -r:System.IdentityModel -r:System.IdentityModel.Selectors -r:System.Transactions -r:System.Messaging -r:System.Web.Services -r:Mono.Security -r:System.Web -r:System.Web.ApplicationServices</flags>
       <output>System.ServiceModel.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.ServiceModel.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.ServiceModel.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_System.ServiceModel.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>System.ServiceModel.dll.sources</response>
     </project>
-    <project dir="class/System.ServiceModel" library="System.ServiceModel-tests-net_4_5">
+    <project dir="class/System.ServiceModel" library="System.ServiceModel-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/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:System -r:System.Xml -r:System.Core -r:System.Runtime.Serialization -r:System.Configuration -r:System.Data -r:System.Security -r:System.IdentityModel -r:System.IdentityModel.Selectors -r:System.Transactions -r:System.Messaging -r:System.Web -r:System.Web.Services -r:Mono.Security -r:System.Web.ApplicationServices -r:System.Web.ApplicationServices</flags>
-      <output>System.ServiceModel_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -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:System -r:System.Xml -r:System.Core -r:System.Runtime.Serialization -r:System.Configuration -r:System.Data -r:System.Security -r:System.IdentityModel -r:System.IdentityModel.Selectors -r:System.Transactions -r:System.Messaging -r:System.Web.Services -r:Mono.Security -r:System.Web -r:System.Web.ApplicationServices</flags>
+      <output>System.ServiceModel_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.ServiceModel_test_net_4_5.dll</library_output>
+      <library_output>System.ServiceModel_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.ServiceModel_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.ServiceModel_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.ServiceModel" library="System.ServiceModel-plainservice-net_4_5">
+    <project dir="class/System.ServiceModel" library="System.ServiceModel-plainservice-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /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:System -r:System.Xml -r:System.Core -r:System.Runtime.Serialization -r:System.Configuration -r:System.Data -r:System.Security -r:System.IdentityModel -r:System.IdentityModel.Selectors -r:System.Transactions -r:System.Messaging -r:System.Web -r:System.Web.Services -r:Mono.Security -r:System.Web.ApplicationServices -r:System.Web.ApplicationServices</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /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:System -r:System.Xml -r:System.Core -r:System.Runtime.Serialization -r:System.Configuration -r:System.Data -r:System.Security -r:System.IdentityModel -r:System.IdentityModel.Selectors -r:System.Transactions -r:System.Messaging -r:System.Web.Services -r:Mono.Security -r:System.Web -r:System.Web.ApplicationServices</flags>
       <output>System.ServiceModel.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/plainservice/System.ServiceModel.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/plainservice/System.ServiceModel.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_System.ServiceModel.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>System.ServiceModel.dll.sources</response>
     </project>
-    <project dir="class/System.ServiceModel" library="System.ServiceModel-tests-net_4_5">
+    <project dir="class/System.ServiceModel" library="System.ServiceModel-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/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:System -r:System.Xml -r:System.Core -r:System.Runtime.Serialization -r:System.Configuration -r:System.Data -r:System.Security -r:System.IdentityModel -r:System.IdentityModel.Selectors -r:System.Transactions -r:System.Messaging -r:System.Web -r:System.Web.Services -r:Mono.Security -r:System.Web.ApplicationServices -r:System.Web.ApplicationServices</flags>
-      <output>System.ServiceModel_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -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:System -r:System.Xml -r:System.Core -r:System.Runtime.Serialization -r:System.Configuration -r:System.Data -r:System.Security -r:System.IdentityModel -r:System.IdentityModel.Selectors -r:System.Transactions -r:System.Messaging -r:System.Web.Services -r:Mono.Security -r:System.Web -r:System.Web.ApplicationServices</flags>
+      <output>System.ServiceModel_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.ServiceModel_test_net_4_5.dll</library_output>
+      <library_output>System.ServiceModel_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.ServiceModel_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.ServiceModel_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Web.Extensions" library="System.Web.Extensions-net_4_5">
+    <project dir="class/System.Web.Extensions" library="System.Web.Extensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -unsafe -define:NET_3_5 -define:SYSTEM_WEB_EXTENSIONS -r:mscorlib.dll -r:System.Web.ApplicationServices.dll /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:System -r:System.Core -r:System.Drawing -r:System.Data -r:System.Data.Linq -r:System.Xml -r:System.Web -r:System.Web.Services -r:System.Configuration -r:System.EnterpriseServices -r:System.ServiceModel</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -unsafe -define:NET_3_5 -define:SYSTEM_WEB_EXTENSIONS -r:mscorlib.dll -r:System.Web.ApplicationServices.dll /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:System -r:System.Core -r:System.Drawing -r:System.Data -r:System.Data.Linq -r:System.Xml -r:System.Web -r:System.Web.Services -r:System.Configuration -r:System.EnterpriseServices -r:System.ServiceModel</flags>
       <output>System.Web.Extensions.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.Extensions.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.Extensions.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Web.Extensions.dll.sources</response>
     </project>
-    <project dir="class/System.Web.Extensions" library="System.Web.Extensions-tests-net_4_5">
+    <project dir="class/System.Web.Extensions" library="System.Web.Extensions-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Web.Extensions.dll -unsafe -define:NET_3_5 -define:SYSTEM_WEB_EXTENSIONS -r:mscorlib.dll -r:System.Web.ApplicationServices.dll /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:System -r:System.Core -r:System.Drawing -r:System.Data -r:System.Data.Linq -r:System.Xml -r:System.Web -r:System.Web.Services -r:System.Configuration -r:System.EnterpriseServices -r:System.ServiceModel -doc:System.Web.Extensions_test_net_4_5.xml -nowarn:219,169,1591 /resource:Test/resources/Web.mono.config /resource:Test/resources/profile.config.4.5 /resource:Test/resources/profile.config.4.0 /resource:Test/resources/profile.config.2.0 /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 -r:SystemWebTestShim.dll -define:SYSTEM_WEB_EXTENSIONS</flags>
-      <output>System.Web.Extensions_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Web.Extensions.dll -unsafe -define:NET_3_5 -define:SYSTEM_WEB_EXTENSIONS -r:mscorlib.dll -r:System.Web.ApplicationServices.dll /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:System -r:System.Core -r:System.Drawing -r:System.Data -r:System.Data.Linq -r:System.Xml -r:System.Web -r:System.Web.Services -r:System.Configuration -r:System.EnterpriseServices -r:System.ServiceModel -doc:System.Web.Extensions_test_net_4_x.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 -r:SystemWebTestShim.dll -define:SYSTEM_WEB_EXTENSIONS</flags>
+      <output>System.Web.Extensions_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Web.Extensions_test_net_4_5.dll</library_output>
+      <library_output>System.Web.Extensions_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Web.Extensions_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Web.Extensions_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Web.Extensions.Design" library="System.Web.Extensions.Design-net_4_5">
+    <project dir="class/System.Web.Extensions.Design" library="System.Web.Extensions.Design-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -define:NET_3_5 -r:System -r:System.Design -r:System.Drawing -r:System.Windows.Forms</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -define:NET_3_5 -r:System -r:System.Design -r:System.Drawing -r:System.Windows.Forms</flags>
       <output>System.Web.Extensions.Design.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.Extensions.Design.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.Extensions.Design.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Web.Extensions.Design.dll.sources</response>
     </project>
-    <project dir="class/System.Web.DynamicData" library="System.Web.DynamicData-net_4_5">
+    <project dir="class/System.Web.DynamicData" library="System.Web.DynamicData-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Core -r:System.ComponentModel.DataAnnotations -r:System.Data -r:System.Data.Linq -r:System.Drawing -r:System.Web -r:System.Web.Extensions -r:System.Web.Abstractions -r:System.Web.Routing -r:System.Web.ApplicationServices</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Core -r:System.ComponentModel.DataAnnotations -r:System.Data -r:System.Data.Linq -r:System.Drawing -r:System.Web -r:System.Web.Extensions -r:System.Web.Abstractions -r:System.Web.Routing -r:System.Web.ApplicationServices</flags>
       <output>System.Web.DynamicData.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.DynamicData.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.DynamicData.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Web.DynamicData.dll.sources</response>
     </project>
-    <project dir="class/System.Web.DynamicData" library="System.Web.DynamicData-tests-net_4_5">
+    <project dir="class/System.Web.DynamicData" library="System.Web.DynamicData-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Web.DynamicData.dll -r:System -r:System.Core -r:System.ComponentModel.DataAnnotations -r:System.Data -r:System.Data.Linq -r:System.Drawing -r:System.Web -r:System.Web.Extensions -r:System.Web.Abstractions -r:System.Web.Routing -r:System.Web.ApplicationServices -r:System.ComponentModel.DataAnnotations.dll -r:System.Configuration.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.2.0,MonoTests.WebPages.web.config.2.0 /resource:Test/WebPages/web.config.4.0,MonoTests.WebPages.web.config.4.0 /resource:Test/WebPages/web.config.4.5,MonoTests.WebPages.web.config.4.5 -r:SystemWebTestShim.dll -r:System.Xml.dll -r:System.Web.ApplicationServices.dll</flags>
-      <output>System.Web.DynamicData_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Web.DynamicData.dll -r:System -r:System.Core -r:System.ComponentModel.DataAnnotations -r:System.Data -r:System.Data.Linq -r:System.Drawing -r:System.Web -r:System.Web.Extensions -r:System.Web.Abstractions -r:System.Web.Routing -r:System.Web.ApplicationServices -r:System.ComponentModel.DataAnnotations.dll -r:System.Configuration.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 -r:SystemWebTestShim.dll -r:System.Xml.dll -r:System.Web.ApplicationServices.dll</flags>
+      <output>System.Web.DynamicData_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Web.DynamicData_test_net_4_5.dll</library_output>
+      <library_output>System.Web.DynamicData_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Web.DynamicData_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Web.DynamicData_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Mono.CSharp" library="Mono.CSharp-net_4_5">
+    <project dir="class/Mono.CSharp" library="Mono.CSharp-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System.Core -r:System.Xml -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System.Core -r:System.Xml -r:System</flags>
       <output>Mono.CSharp.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.CSharp.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.CSharp.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.CSharp.dll.sources</response>
     </project>
-    <project dir="class/Mono.CSharp" library="Mono.CSharp-tests-net_4_5">
+    <project dir="class/Mono.CSharp" library="Mono.CSharp-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Mono.CSharp.dll -r:System.Core.dll</flags>
-      <output>Mono.CSharp_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Mono.CSharp.dll -r:System.Core.dll</flags>
+      <output>Mono.CSharp_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Mono.CSharp_test_net_4_5.dll</library_output>
+      <library_output>Mono.CSharp_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Mono.CSharp_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Mono.CSharp_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Net" library="System.Net-net_4_5">
+    <project dir="class/System.Net" library="System.Net-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -unsafe -d:NET_3_5 -nowarn:1720 -r:System -r:System.Core -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -unsafe -d:NET_3_5 -nowarn:1720 -r:System -r:System.Core -r:System.Xml</flags>
       <output>System.Net.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Net.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Net.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Net.dll.sources</response>
     </project>
-    <project dir="class/System.Json" library="System.Json-net_4_5">
+    <project dir="class/System.Json" library="System.Json-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Xml -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Xml -r:System.Core</flags>
       <output>System.Json.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Json.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Json.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Json.dll.sources</response>
     </project>
-    <project dir="class/System.Json" library="System.Json-tests-net_4_5">
+    <project dir="class/System.Json" library="System.Json-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Json.dll -r:System -r:System.Xml -r:System.Core</flags>
-      <output>System.Json_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Json.dll -r:System -r:System.Xml -r:System.Core</flags>
+      <output>System.Json_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Json_test_net_4_5.dll</library_output>
+      <library_output>System.Json_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Json_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Json_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Microsoft.CSharp" library="Microsoft.CSharp-net_4_5">
+    <project dir="class/Microsoft.CSharp" library="Microsoft.CSharp-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System.Core -r:Mono.CSharp</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System.Core -r:Mono.CSharp</flags>
       <output>Microsoft.CSharp.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Microsoft.CSharp.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Microsoft.CSharp.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Microsoft.CSharp.dll.sources</response>
     </project>
-    <project dir="class/System.Xaml" library="System.Xaml-net_4_5">
+    <project dir="class/System.Xaml" library="System.Xaml-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Xml -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Xml -r:System.Core</flags>
       <output>System.Xaml.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Xaml.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Xaml.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Xaml.dll.sources</response>
     </project>
-    <project dir="class/System.Xaml" library="System.Xaml-tests-net_4_5">
+    <project dir="class/System.Xaml" library="System.Xaml-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Xaml.dll -r:System -r:System.Xml -r:System.Core</flags>
-      <output>System.Xaml_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Xaml.dll -r:System -r:System.Xml -r:System.Core</flags>
+      <output>System.Xaml_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Xaml_test_net_4_5.dll</library_output>
+      <library_output>System.Xaml_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Xaml_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Xaml_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/WindowsBase" library="WindowsBase-net_4_5">
+    <project dir="class/WindowsBase" library="WindowsBase-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -unsafe -r:System -r:System.Xml -r:System.Xaml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -unsafe -r:System -r:System.Xml -r:System.Xaml</flags>
       <output>WindowsBase.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/WindowsBase.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/WindowsBase.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>WindowsBase.dll.sources</response>
     </project>
-    <project dir="class/WindowsBase" library="WindowsBase-tests-net_4_5">
+    <project dir="class/WindowsBase" library="WindowsBase-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/WindowsBase.dll -unsafe -r:WindowsBase.dll -r:System.dll -r:System.Xml.dll -r:System.Core.dll -r:System.Xaml.dll</flags>
-      <output>WindowsBase_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/WindowsBase.dll -unsafe -r:WindowsBase.dll -r:System.dll -r:System.Xml.dll -r:System.Core.dll -r:System.Xaml.dll</flags>
+      <output>WindowsBase_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>WindowsBase_test_net_4_5.dll</library_output>
+      <library_output>WindowsBase_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/WindowsBase_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/WindowsBase_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.ServiceModel.Activation" library="System.ServiceModel.Activation-net_4_5">
+    <project dir="class/System.ServiceModel.Activation" library="System.ServiceModel.Activation-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -lib:./../../class/lib/net_4_5/plainservice -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System.Core -r:System -r:System.ServiceModel</flags>
+      <flags>/codepage:65001 -lib:./../../class/lib/net_4_x/plainservice -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System.Core -r:System -r:System.ServiceModel</flags>
       <output>System.ServiceModel.Activation.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.ServiceModel.Activation.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.ServiceModel.Activation.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.ServiceModel.Activation.dll.sources</response>
     </project>
-    <project dir="class/System.ServiceModel.Routing" library="System.ServiceModel.Routing-net_4_5">
+    <project dir="class/System.ServiceModel.Routing" library="System.ServiceModel.Routing-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -d:NET_3_5 -d:NET_3_0 -r:System.Configuration.dll -r:System -r:System.Xml -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.Core -r:System.Configuration</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -d:NET_3_5 -d:NET_3_0 -r:System.Configuration.dll -r:System -r:System.Xml -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.Core -r:System.Configuration</flags>
       <output>System.ServiceModel.Routing.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.ServiceModel.Routing.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.ServiceModel.Routing.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.ServiceModel.Routing.dll.sources</response>
     </project>
-    <project dir="class/System.ServiceModel.Discovery" library="System.ServiceModel.Discovery-net_4_5">
+    <project dir="class/System.ServiceModel.Discovery" library="System.ServiceModel.Discovery-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -d:NET_3_5 -d:NET_3_0 -r:System.Configuration.dll -r:System -r:System.Xml -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.Core -r:System.Xml.Linq -r:System.Configuration</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -d:NET_3_5 -d:NET_3_0 -r:System.Configuration.dll -r:System -r:System.Xml -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.Core -r:System.Xml.Linq -r:System.Configuration</flags>
       <output>System.ServiceModel.Discovery.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.ServiceModel.Discovery.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.ServiceModel.Discovery.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.ServiceModel.Discovery.dll.sources</response>
     </project>
-    <project dir="class/System.ServiceModel.Discovery" library="System.ServiceModel.Discovery-tests-net_4_5">
+    <project dir="class/System.ServiceModel.Discovery" library="System.ServiceModel.Discovery-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.ServiceModel.Discovery.dll -d:NET_3_5 -d:NET_3_0 -r:System.Configuration.dll -r:System -r:System.Xml -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.Core -r:System.Xml.Linq -r:System.Configuration</flags>
-      <output>System.ServiceModel.Discovery_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.ServiceModel.Discovery.dll -d:NET_3_5 -d:NET_3_0 -r:System.Configuration.dll -r:System -r:System.Xml -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.Core -r:System.Xml.Linq -r:System.Configuration</flags>
+      <output>System.ServiceModel.Discovery_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.ServiceModel.Discovery_test_net_4_5.dll</library_output>
+      <library_output>System.ServiceModel.Discovery_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.ServiceModel.Discovery_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.ServiceModel.Discovery_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Runtime.Caching" library="System.Runtime.Caching-net_4_5">
+    <project dir="class/System.Runtime.Caching" library="System.Runtime.Caching-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -nowarn:414 -r:System -r:System.Data -r:System.Configuration -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -nowarn:414 -r:System -r:System.Data -r:System.Configuration -r:System.Core</flags>
       <output>System.Runtime.Caching.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Runtime.Caching.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Runtime.Caching.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Runtime.Caching.dll.sources</response>
     </project>
-    <project dir="class/System.Runtime.Caching" library="System.Runtime.Caching-tests-net_4_5">
+    <project dir="class/System.Runtime.Caching" library="System.Runtime.Caching-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Runtime.Caching.dll -nowarn:414 -r:System -r:System.Data -r:System.Configuration -r:System.Core</flags>
-      <output>System.Runtime.Caching_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Runtime.Caching.dll -nowarn:414 -r:System -r:System.Data -r:System.Configuration -r:System.Core</flags>
+      <output>System.Runtime.Caching_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Runtime.Caching_test_net_4_5.dll</library_output>
+      <library_output>System.Runtime.Caching_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Runtime.Caching_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Runtime.Caching_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Microsoft.Web.Infrastructure" library="Microsoft.Web.Infrastructure-net_4_5">
+    <project dir="class/Microsoft.Web.Infrastructure" library="Microsoft.Web.Infrastructure-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Configuration -r:System.Web</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Configuration -r:System.Web</flags>
       <output>Microsoft.Web.Infrastructure.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Microsoft.Web.Infrastructure.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Microsoft.Web.Infrastructure.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Microsoft.Web.Infrastructure.dll.sources</response>
     </project>
-    <project dir="class/System.ServiceModel.Web" library="System.ServiceModel.Web-net_4_5">
+    <project dir="class/System.ServiceModel.Web" library="System.ServiceModel.Web-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -d:NET_3_5 -d:NET_3_0 -r:System -r:System.Xml -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.Core -r:System.Configuration -r:System.Web.Extensions -r:System.ServiceModel.Activation</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -d:NET_3_5 -d:NET_3_0 -r:System -r:System.Xml -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.Core -r:System.Configuration -r:System.Web.Extensions -r:System.ServiceModel.Activation</flags>
       <output>System.ServiceModel.Web.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.ServiceModel.Web.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.ServiceModel.Web.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_System.ServiceModel.Web.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>System.ServiceModel.Web.dll.sources</response>
     </project>
-    <project dir="class/System.ServiceModel.Web" library="System.ServiceModel.Web-tests-net_4_5">
+    <project dir="class/System.ServiceModel.Web" library="System.ServiceModel.Web-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.ServiceModel.Web.dll -d:NET_3_5 -d:NET_3_0 -r:System -r:System.Xml -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.Core -r:System.Configuration -r:System.Web.Extensions -r:System.ServiceModel.Activation</flags>
-      <output>System.ServiceModel.Web_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.ServiceModel.Web.dll -d:NET_3_5 -d:NET_3_0 -r:System -r:System.Xml -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.Core -r:System.Configuration -r:System.Web.Extensions -r:System.ServiceModel.Activation</flags>
+      <output>System.ServiceModel.Web_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.ServiceModel.Web_test_net_4_5.dll</library_output>
+      <library_output>System.ServiceModel.Web_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.ServiceModel.Web_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.ServiceModel.Web_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Net.Http" library="System.Net.Http-net_4_5">
+    <project dir="class/System.Net.Http" library="System.Net.Http-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System.Core -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System.Core -r:System</flags>
       <output>System.Net.Http.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Net.Http.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Net.Http.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Net.Http.dll.sources</response>
     </project>
-    <project dir="class/System.Net.Http" library="System.Net.Http-tests-net_4_5">
+    <project dir="class/System.Net.Http" library="System.Net.Http-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Net.Http.dll -r:System.dll -r:System.Core.dll</flags>
-      <output>System.Net.Http_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Net.Http.dll -r:System.dll -r:System.Core.dll</flags>
+      <output>System.Net.Http_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Net.Http_test_net_4_5.dll</library_output>
+      <library_output>System.Net.Http_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Net.Http_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Net.Http_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Net.Http.WebRequest" library="System.Net.Http.WebRequest-net_4_5">
+    <project dir="class/System.Net.Http.WebRequest" library="System.Net.Http.WebRequest-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System.Net.Http -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System.Net.Http -r:System</flags>
       <output>System.Net.Http.WebRequest.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Net.Http.WebRequest.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Net.Http.WebRequest.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Net.Http.WebRequest.dll.sources</response>
     </project>
-    <project dir="class/System.Web.Razor" library="System.Web.Razor-net_4_5">
+    <project dir="class/System.Web.Razor" library="System.Web.Razor-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /warn:1 /keyfile:../winfx.pub -delaysign /d:ASPNETWEBPAGES /resource:System.Web.Razor.Resources.RazorResources.resources /resource:System.Web.Razor.Common.CommonResources.resources -r:System -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /warn:1 /keyfile:../winfx.pub -delaysign /d:ASPNETWEBPAGES /resource:System.Web.Razor.Resources.RazorResources.resources /resource:System.Web.Razor.Common.CommonResources.resources -r:System -r:System.Core</flags>
       <output>System.Web.Razor.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.Razor.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.Razor.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Web.Razor.dll.sources</response>
     </project>
-    <project dir="class/System.Web.WebPages.Deployment" library="System.Web.WebPages.Deployment-net_4_5">
+    <project dir="class/System.Web.WebPages.Deployment" library="System.Web.WebPages.Deployment-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /warn:1 /keyfile:../winfx.pub -delaysign /d:ASPNETWEBPAGES /resource:System.Web.WebPages.Deployment.Common.CommonResources.resources /resource:System.Web.WebPages.Deployment.Resources.ConfigurationResources.resources -r:System -r:System.Core -r:System.Configuration -r:System.Web -r:Microsoft.Web.Infrastructure</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /warn:1 /keyfile:../winfx.pub -delaysign /d:ASPNETWEBPAGES /resource:System.Web.WebPages.Deployment.Common.CommonResources.resources /resource:System.Web.WebPages.Deployment.Resources.ConfigurationResources.resources -r:System -r:System.Core -r:System.Configuration -r:System.Web -r:Microsoft.Web.Infrastructure</flags>
       <output>System.Web.WebPages.Deployment.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.WebPages.Deployment.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.WebPages.Deployment.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Web.WebPages.Deployment.dll.sources</response>
     </project>
-    <project dir="class/System.Web.WebPages" library="System.Web.WebPages-net_4_5">
+    <project dir="class/System.Web.WebPages" library="System.Web.WebPages-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /warn:1 /keyfile:../winfx.pub /delaysign /d:ASPNETWEBPAGES /resource:System.Web.WebPages.Resources.WebPageResources.resources /resource:System.Web.WebPages.Common.CommonResources.resources -r:Microsoft.CSharp -r:Microsoft.Web.Infrastructure -r:System -r:System.ComponentModel.DataAnnotations -r:System.Configuration -r:System.Core -r:System.Data.Linq -r:System.Web -r:System.Web.WebPages.Deployment -r:System.Web.Razor -r:System.Xml -r:System.Xml.Linq</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /warn:1 /keyfile:../winfx.pub /delaysign /d:ASPNETWEBPAGES /resource:System.Web.WebPages.Resources.WebPageResources.resources /resource:System.Web.WebPages.Common.CommonResources.resources -r:Microsoft.CSharp -r:Microsoft.Web.Infrastructure -r:System -r:System.ComponentModel.DataAnnotations -r:System.Configuration -r:System.Core -r:System.Data.Linq -r:System.Web -r:System.Web.WebPages.Deployment -r:System.Web.Razor -r:System.Xml -r:System.Xml.Linq</flags>
       <output>System.Web.WebPages.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.WebPages.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.WebPages.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Web.WebPages.dll.sources</response>
     </project>
-    <project dir="class/System.Web.WebPages.Razor" library="System.Web.WebPages.Razor-net_4_5">
+    <project dir="class/System.Web.WebPages.Razor" library="System.Web.WebPages.Razor-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /warn:1 /keyfile:../winfx.pub /delaysign /d:ASPNETWEBPAGES /resource:System.Web.WebPages.Razor.Resources.RazorWebResources.resources /resource:System.Web.WebPages.Razor.Common.CommonResources.resources -r:System -r:System.Core -r:System.Configuration -r:System.Web -r:System.Web.WebPages -r:System.Web.Razor</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /warn:1 /keyfile:../winfx.pub /delaysign /d:ASPNETWEBPAGES /resource:System.Web.WebPages.Razor.Resources.RazorWebResources.resources /resource:System.Web.WebPages.Razor.Common.CommonResources.resources -r:System -r:System.Core -r:System.Configuration -r:System.Web -r:System.Web.WebPages -r:System.Web.Razor</flags>
       <output>System.Web.WebPages.Razor.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.WebPages.Razor.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.WebPages.Razor.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Web.WebPages.Razor.dll.sources</response>
     </project>
-    <project dir="class/System.Web.Mvc3" library="System.Web.Mvc3-net_4_5">
+    <project dir="class/System.Web.Mvc3" library="System.Web.Mvc3-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /warn:1 /keyfile:../winfx.pub /d:MONO /delaysign /resource:Mvc/Resources/MvcResources.resources,System.Web.Mvc.Resources.MvcResources.resources -r:Microsoft.Web.Infrastructure -r:System -r:System.Core -r:System.Configuration -r:System.Data -r:System.Xml -r:System.Web -r:System.Web.Abstractions -r:System.Web.Routing -r:System.Web.Extensions -r:System.ComponentModel.DataAnnotations -r:System.Data.Linq -r:System.Runtime.Caching -r:System.Web.Razor -r:System.Web.WebPages.Razor -r:System.Web.WebPages</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /warn:1 /keyfile:../winfx.pub /d:MONO /delaysign /resource:Mvc/Resources/MvcResources.resources,System.Web.Mvc.Resources.MvcResources.resources -r:Microsoft.Web.Infrastructure -r:System -r:System.Core -r:System.Configuration -r:System.Data -r:System.Xml -r:System.Web -r:System.Web.Abstractions -r:System.Web.Routing -r:System.Web.Extensions -r:System.ComponentModel.DataAnnotations -r:System.Data.Linq -r:System.Runtime.Caching -r:System.Web.Razor -r:System.Web.WebPages.Razor -r:System.Web.WebPages</flags>
       <output>System.Web.Mvc.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.Mvc.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.Mvc.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Web.Mvc3.dll.sources</response>
     </project>
-    <project dir="class/System.Net.Http.Formatting" library="System.Net.Http.Formatting-net_4_5">
+    <project dir="class/System.Net.Http.Formatting" library="System.Net.Http.Formatting-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -resource:System.Net.Http.Properties.CommonWebApiResources.resources -resource:System.Net.Http.Properties.Resources.resources -r:System.Core -r:System -r:System.Net.Http -r:System.Xml -r:System.Runtime.Serialization -r:System.Xml.Linq -r:System.Data -r:System.Configuration</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -resource:System.Net.Http.Properties.CommonWebApiResources.resources -resource:System.Net.Http.Properties.Resources.resources -r:System.Core -r:System -r:System.Net.Http -r:System.Xml -r:System.Runtime.Serialization -r:System.Xml.Linq -r:System.Data -r:System.Configuration</flags>
       <output>System.Net.Http.Formatting.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Net.Http.Formatting.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Net.Http.Formatting.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Net.Http.Formatting.dll.sources</response>
     </project>
-    <project dir="class/System.Web.Http" library="System.Web.Http-net_4_5">
+    <project dir="class/System.Web.Http" library="System.Web.Http-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -resource:System.Web.Http.Properties.CommonWebApiResources.resources -resource:System.Web.Http.Properties.SRResources.resources -r:System.Core -r:System -r:System.Xml -r:System.Net.Http -r:System.ComponentModel.DataAnnotations -r:System.Net.Http.Formatting -r:System.Runtime.Caching -r:System.Runtime.Serialization -r:System.Data.Linq</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -resource:System.Web.Http.Properties.CommonWebApiResources.resources -resource:System.Web.Http.Properties.SRResources.resources -r:System.Core -r:System -r:System.Xml -r:System.Net.Http -r:System.ComponentModel.DataAnnotations -r:System.Net.Http.Formatting -r:System.Runtime.Caching -r:System.Runtime.Serialization -r:System.Data.Linq</flags>
       <output>System.Web.Http.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.Http.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.Http.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Web.Http.dll.sources</response>
     </project>
-    <project dir="class/System.Web.Http.SelfHost" library="System.Web.Http.SelfHost-net_4_5">
+    <project dir="class/System.Web.Http.SelfHost" library="System.Web.Http.SelfHost-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -r:System.Core -r:System -r:System.Xml -r:System.Configuration -r:System.Net.Http -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.IdentityModel -r:System.Web.Http -r:System.Net.Http.Formatting</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -r:System.Core -r:System -r:System.Xml -r:System.Configuration -r:System.Net.Http -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.IdentityModel -r:System.Web.Http -r:System.Net.Http.Formatting</flags>
       <output>System.Web.Http.SelfHost.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.Http.SelfHost.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.Http.SelfHost.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Web.Http.SelfHost.dll.sources</response>
     </project>
-    <project dir="class/System.Web.Http.WebHost" library="System.Web.Http.WebHost-net_4_5">
+    <project dir="class/System.Web.Http.WebHost" library="System.Web.Http.WebHost-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -r:System.Core -r:System -r:System.Xml -r:System.Configuration -r:System.Net.Http -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.IdentityModel -r:System.Web.Http -r:System.Net.Http.Formatting -r:System.Web.Routing -r:System.Web -r:Microsoft.Web.Infrastructure</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -d:ASPNETMVC -keyfile:../winfx.pub -delaysign -r:System.Core -r:System -r:System.Xml -r:System.Configuration -r:System.Net.Http -r:System.Runtime.Serialization -r:System.ServiceModel -r:System.IdentityModel -r:System.Web.Http -r:System.Net.Http.Formatting -r:System.Web.Routing -r:System.Web -r:Microsoft.Web.Infrastructure</flags>
       <output>System.Web.Http.WebHost.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Web.Http.WebHost.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Web.Http.WebHost.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Web.Http.WebHost.dll.sources</response>
     </project>
-    <project dir="class/Microsoft.Build.Framework" library="Microsoft.Build.Framework-net_4_5">
+    <project dir="class/Microsoft.Build.Framework" library="Microsoft.Build.Framework-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /r:System.dll -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /r:System.dll -r:System</flags>
       <output>Microsoft.Build.Framework.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Microsoft.Build.Framework.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Microsoft.Build.Framework.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Microsoft.Build.Framework.dll.sources</response>
     </project>
-    <project dir="class/Microsoft.Build.Framework" library="Microsoft.Build.Framework-tests-net_4_5">
+    <project dir="class/Microsoft.Build.Framework" library="Microsoft.Build.Framework-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Microsoft.Build.Framework.dll</flags>
-      <output>Microsoft.Build.Framework_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll</flags>
+      <output>Microsoft.Build.Framework_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Microsoft.Build.Framework_test_net_4_5.dll</library_output>
+      <library_output>Microsoft.Build.Framework_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Microsoft.Build.Framework_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Microsoft.Build.Framework_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Microsoft.Build.Utilities" library="Microsoft.Build.Utilities-net_4_5">
+    <project dir="class/Microsoft.Build.Utilities" library="Microsoft.Build.Utilities-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:./../../class/lib/net_4_5/Microsoft.Build.Framework.dll -r:System -r:System.Core -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll -r:System -r:System.Core -r:System.Xml</flags>
       <output>Microsoft.Build.Utilities.v4.0.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Microsoft.Build.Utilities.v4.0.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Microsoft.Build.Utilities.v4.0.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Microsoft.Build.Utilities.dll.sources</response>
     </project>
-    <project dir="class/Microsoft.Build.Utilities" library="Microsoft.Build.Utilities-tests-net_4_5">
+    <project dir="class/Microsoft.Build.Utilities" library="Microsoft.Build.Utilities-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Microsoft.Build.Utilities.v4.0.dll /r:./../../class/lib/net_4_5/Microsoft.Build.Engine.dll /r:./../../class/lib/net_4_5/Microsoft.Build.Framework.dll -r:System.dll -r:System.Core.dll</flags>
-      <output>Microsoft.Build.Utilities_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.Utilities.v4.0.dll /r:./../../class/lib/net_4_x/Microsoft.Build.Engine.dll /r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll -r:System.dll -r:System.Core.dll</flags>
+      <output>Microsoft.Build.Utilities_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Microsoft.Build.Utilities_test_net_4_5.dll</library_output>
+      <library_output>Microsoft.Build.Utilities_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Microsoft.Build.Utilities_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Microsoft.Build.Utilities_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Microsoft.Build.Engine" library="Microsoft.Build.Engine-net_4_5">
+    <project dir="class/Microsoft.Build.Engine" library="Microsoft.Build.Engine-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:./../../class/lib/net_4_5/Microsoft.Build.Framework.dll /r:./../../class/lib/net_4_5/Microsoft.Build.Utilities.v4.0.dll -r:System -r:System.Core -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r: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 -r:System -r:System.Core -r:System.Xml</flags>
       <output>Microsoft.Build.Engine.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Microsoft.Build.Engine.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Microsoft.Build.Engine.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Microsoft.Build.Engine.dll.sources</response>
     </project>
-    <project dir="class/Microsoft.Build.Engine" library="Microsoft.Build.Engine-tests-net_4_5">
+    <project dir="class/Microsoft.Build.Engine" library="Microsoft.Build.Engine-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Microsoft.Build.Engine.dll /r:./../../class/lib/net_4_5/Microsoft.Build.Framework.dll /r:./../../class/lib/net_4_5/Microsoft.Build.Utilities.v4.0.dll /r:System.Xml.dll</flags>
-      <output>Microsoft.Build.Engine_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.Engine.dll /r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll /r:./../../class/lib/net_4_x/Microsoft.Build.Utilities.v4.0.dll /r:System.Xml.dll</flags>
+      <output>Microsoft.Build.Engine_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Microsoft.Build.Engine_test_net_4_5.dll</library_output>
+      <library_output>Microsoft.Build.Engine_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Microsoft.Build.Engine_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Microsoft.Build.Engine_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Mono.XBuild.Tasks" library="Mono.XBuild.Tasks-net_4_5">
+    <project dir="class/Mono.XBuild.Tasks" library="Mono.XBuild.Tasks-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Xml.dll -r:System -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Xml.dll -r:System -r:System.Xml</flags>
       <output>Mono.XBuild.Tasks.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.XBuild.Tasks.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.XBuild.Tasks.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.XBuild.Tasks.dll.sources</response>
     </project>
-    <project dir="class/Mono.XBuild.Tasks" library="Mono.XBuild.Tasks-tests-net_4_5">
+    <project dir="class/Mono.XBuild.Tasks" library="Mono.XBuild.Tasks-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Mono.XBuild.Tasks.dll</flags>
-      <output>Mono.XBuild.Tasks_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Mono.XBuild.Tasks.dll</flags>
+      <output>Mono.XBuild.Tasks_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Mono.XBuild.Tasks_test_net_4_5.dll</library_output>
+      <library_output>Mono.XBuild.Tasks_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Mono.XBuild.Tasks_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Mono.XBuild.Tasks_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Microsoft.Build.Tasks" library="Microsoft.Build.Tasks-net_4_5">
+    <project dir="class/Microsoft.Build.Tasks" library="Microsoft.Build.Tasks-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:System.Windows.Forms.dll /r:./../../class/lib/net_4_5/Microsoft.Build.Utilities.v4.0.dll /r:./../../class/lib/net_4_5/Microsoft.Build.Framework.dll /r:./../../class/lib/net_4_5/Microsoft.Build.Engine.dll /r:./../../class/lib/net_4_5/Mono.XBuild.Tasks.dll -r:System -r:System.Core -r:System.Xml -r:System.Windows.Forms</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r: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 -r:System -r:System.Core -r:System.Xml -r:System.Windows.Forms</flags>
       <output>Microsoft.Build.Tasks.v4.0.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Microsoft.Build.Tasks.v4.0.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Microsoft.Build.Tasks.v4.0.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Microsoft.Build.Tasks.dll.sources</response>
     </project>
-    <project dir="class/Microsoft.Build.Tasks" library="Microsoft.Build.Tasks-tests-net_4_5">
+    <project dir="class/Microsoft.Build.Tasks" library="Microsoft.Build.Tasks-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Microsoft.Build.Tasks.v4.0.dll /r:System.Xml.dll /r:./../../class/lib/net_4_5/Microsoft.Build.Engine.dll /r:./../../class/lib/net_4_5/Microsoft.Build.Framework.dll /r:./../../class/lib/net_4_5/Mono.XBuild.Tasks.dll /r:./../../class/lib/net_4_5/Microsoft.Build.Utilities.v4.0.dll /r:System.Core.dll /r:Microsoft.Build.dll</flags>
-      <output>Microsoft.Build.Tasks_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.Tasks.v4.0.dll /r:System.Xml.dll /r:./../../class/lib/net_4_x/Microsoft.Build.Engine.dll /r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll /r:./../../class/lib/net_4_x/Mono.XBuild.Tasks.dll /r:./../../class/lib/net_4_x/Microsoft.Build.Utilities.v4.0.dll /r:System.Core.dll /r:Microsoft.Build.dll</flags>
+      <output>Microsoft.Build.Tasks_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Microsoft.Build.Tasks_test_net_4_5.dll</library_output>
+      <library_output>Microsoft.Build.Tasks_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Microsoft.Build.Tasks_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Microsoft.Build.Tasks_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Microsoft.Build" library="Microsoft.Build-net_4_5">
+    <project dir="class/Microsoft.Build" library="Microsoft.Build-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:Microsoft.Build.Engine.dll /r:Microsoft.Build.Framework.dll /d:MICROSOFT_BUILD_DLL -r:System -r:System.Core -r:System.Xml -r:Microsoft.Build.Engine -r:Microsoft.Build.Framework</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:Microsoft.Build.Engine.dll /r:Microsoft.Build.Framework.dll /d:MICROSOFT_BUILD_DLL -r:System -r:System.Core -r:System.Xml -r:Microsoft.Build.Engine -r:Microsoft.Build.Framework</flags>
       <output>Microsoft.Build.dll</output>
       <built_sources>Microsoft.Build.Internal/ExpressionParser.cs</built_sources>
-      <library_output>./../../class/lib/net_4_5/Microsoft.Build.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Microsoft.Build.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Microsoft.Build.dll.sources</response>
     </project>
-    <project dir="class/Microsoft.Build" library="Microsoft.Build-tests-net_4_5">
+    <project dir="class/Microsoft.Build" library="Microsoft.Build-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Microsoft.Build.dll /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:Microsoft.Build.Engine.dll /r:Microsoft.Build.Framework.dll /d:MICROSOFT_BUILD_DLL -r:System -r:System.Core -r:System.Xml -r:Microsoft.Build.Engine -r:Microsoft.Build.Framework /r:Microsoft.Build.Utilities.v4.0.dll</flags>
-      <output>Microsoft.Build_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Microsoft.Build.dll /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:Microsoft.Build.Engine.dll /r:Microsoft.Build.Framework.dll /d:MICROSOFT_BUILD_DLL -r:System -r:System.Core -r:System.Xml -r:Microsoft.Build.Engine -r:Microsoft.Build.Framework /r:Microsoft.Build.Utilities.v4.0.dll</flags>
+      <output>Microsoft.Build_test_net_4_x.dll</output>
       <built_sources>Microsoft.Build.Internal/ExpressionParser.cs</built_sources>
-      <library_output>Microsoft.Build_test_net_4_5.dll</library_output>
+      <library_output>Microsoft.Build_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Microsoft.Build_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Microsoft.Build_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/PEAPI" library="PEAPI-net_4_5">
+    <project dir="class/PEAPI" library="PEAPI-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -nowarn:414,618 -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -nowarn:414,618 -r:System</flags>
       <output>PEAPI.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/PEAPI.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/PEAPI.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>PEAPI.dll.sources</response>
     </project>
-    <project dir="class/I18N/Common" library="I18N-net_4_5">
+    <project dir="class/I18N/Common" library="I18N-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /r:mscorlib.dll /unsafe /define:DISABLE_UNSAFE -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /r:mscorlib.dll /unsafe /define:DISABLE_UNSAFE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>I18N.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/I18N.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/I18N.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>I18N.dll.sources</response>
     </project>
-    <project dir="class/I18N/West" library="I18N.West-net_4_5">
+    <project dir="class/I18N/West" library="I18N.West-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /r:mscorlib.dll /r:I18N.dll /unsafe -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /r:mscorlib.dll /r:I18N.dll /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>I18N.West.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/I18N.West.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/I18N.West.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>I18N.West.dll.sources</response>
     </project>
-    <project dir="class/I18N/West" library="I18N.West-tests-net_4_5">
+    <project dir="class/I18N/West" library="I18N.West-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /r:mscorlib.dll /r:I18N.dll /unsafe -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../../class/lib/net_4_5/I18N.West.dll</flags>
-      <output>I18N.West_test_net_4_5.dll</output>
+      <flags>/codepage:65001 /r:mscorlib.dll /r:I18N.dll /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../../class/lib/net_4_x/I18N.West.dll</flags>
+      <output>I18N.West_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>I18N.West_test_net_4_5.dll</library_output>
+      <library_output>I18N.West_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../../build/deps/I18N.West_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../../build/deps/I18N.West_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/I18N/MidEast" library="I18N.MidEast-net_4_5">
+    <project dir="class/I18N/MidEast" library="I18N.MidEast-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /r:mscorlib.dll /r:I18N.dll /unsafe -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /r:mscorlib.dll /r:I18N.dll /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>I18N.MidEast.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/I18N.MidEast.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/I18N.MidEast.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>I18N.MidEast.dll.sources</response>
     </project>
-    <project dir="class/I18N/MidEast" library="I18N.MidEast-tests-net_4_5">
+    <project dir="class/I18N/MidEast" library="I18N.MidEast-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /r:mscorlib.dll /r:I18N.dll /unsafe -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../../class/lib/net_4_5/I18N.MidEast.dll</flags>
-      <output>I18N.MidEast_test_net_4_5.dll</output>
+      <flags>/codepage:65001 /r:mscorlib.dll /r:I18N.dll /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../../class/lib/net_4_x/I18N.MidEast.dll</flags>
+      <output>I18N.MidEast_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>I18N.MidEast_test_net_4_5.dll</library_output>
+      <library_output>I18N.MidEast_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../../build/deps/I18N.MidEast_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../../build/deps/I18N.MidEast_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/I18N/Other" library="I18N.Other-net_4_5">
+    <project dir="class/I18N/Other" library="I18N.Other-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /r:mscorlib.dll /r:I18N.dll /unsafe -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /r:mscorlib.dll /r:I18N.dll /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>I18N.Other.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/I18N.Other.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/I18N.Other.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>I18N.Other.dll.sources</response>
     </project>
-    <project dir="class/I18N/Rare" library="I18N.Rare-net_4_5">
+    <project dir="class/I18N/Rare" library="I18N.Rare-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /r:mscorlib.dll /r:I18N.dll /unsafe -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /r:mscorlib.dll /r:I18N.dll /unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>I18N.Rare.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/I18N.Rare.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/I18N.Rare.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>I18N.Rare.dll.sources</response>
     </project>
-    <project dir="class/I18N/CJK" library="I18N.CJK-net_4_5">
+    <project dir="class/I18N/CJK" library="I18N.CJK-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /unsafe /resource:big5.table /resource:gb2312.table /resource:jis.table /resource:ks.table /resource:gb18030.table /r:mscorlib.dll /r:I18N.dll /define:DISABLE_UNSAFE -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /unsafe /resource:big5.table /resource:gb2312.table /resource:jis.table /resource:ks.table /resource:gb18030.table /r:mscorlib.dll /r:I18N.dll /define:DISABLE_UNSAFE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>I18N.CJK.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/I18N.CJK.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/I18N.CJK.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>I18N.CJK.dll.sources</response>
     </project>
-    <project dir="class/I18N/CJK" library="I18N.CJK-tests-net_4_5">
+    <project dir="class/I18N/CJK" library="I18N.CJK-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /unsafe /resource:big5.table /resource:gb2312.table /resource:jis.table /resource:ks.table /resource:gb18030.table /r:mscorlib.dll /r:I18N.dll /define:DISABLE_UNSAFE -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../../class/lib/net_4_5/I18N.CJK.dll</flags>
-      <output>I18N.CJK_test_net_4_5.dll</output>
+      <flags>/codepage:65001 /unsafe /resource:big5.table /resource:gb2312.table /resource:jis.table /resource:ks.table /resource:gb18030.table /r:mscorlib.dll /r:I18N.dll /define:DISABLE_UNSAFE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../../class/lib/net_4_x/I18N.CJK.dll</flags>
+      <output>I18N.CJK_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>I18N.CJK_test_net_4_5.dll</library_output>
+      <library_output>I18N.CJK_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../../build/deps/I18N.CJK_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../../build/deps/I18N.CJK_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Mono.Http" library="Mono.Http-net_4_5">
+    <project dir="class/Mono.Http" library="Mono.Http-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:mscorlib.dll -nowarn:618 -r:System -r:System.Xml -r:System.Web -r:ICSharpCode.SharpZipLib -r:Mono.Security</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:mscorlib.dll -nowarn:618 -r:System -r:System.Xml -r:System.Web -r:ICSharpCode.SharpZipLib -r:Mono.Security</flags>
       <output>Mono.Http.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Http.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Http.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Http.dll.sources</response>
     </project>
-    <project dir="class/Mono.Cairo" library="Mono.Cairo-net_4_5">
+    <project dir="class/Mono.Cairo" library="Mono.Cairo-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>Mono.Cairo.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Cairo.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Cairo.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Cairo.dll.sources</response>
     </project>
-    <project dir="class/Mono.Cecil" library="Mono.Cecil-net_4_5">
+    <project dir="class/Mono.Cecil" library="Mono.Cecil-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -keyfile:../mono.snk -d:NET_3_5 -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -keyfile:../mono.snk -d:NET_3_5 -r:System.Core</flags>
       <output>Mono.Cecil.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Cecil.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Cecil.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Cecil.dll.sources</response>
     </project>
-    <project dir="class/Mono.Cecil.Mdb" library="Mono.Cecil.Mdb-net_4_5">
+    <project dir="class/Mono.Cecil.Mdb" library="Mono.Cecil.Mdb-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /d:CECIL -keyfile:../mono.snk -r:System -r:Mono.Cecil</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /d:CECIL -keyfile:../mono.snk -r:System -r:Mono.Cecil</flags>
       <output>Mono.Cecil.Mdb.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Cecil.Mdb.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Cecil.Mdb.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Cecil.Mdb.dll.sources</response>
     </project>
-    <project dir="class/Mono.Debugger.Soft" library="Mono.Debugger.Soft-net_4_5">
+    <project dir="class/Mono.Debugger.Soft" library="Mono.Debugger.Soft-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /unsafe -D:MONO_DATACONVERTER_STATIC_METHODS -keyfile:../mono.snk -r:System -r:Mono.Cecil -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll /unsafe -D:MONO_DATACONVERTER_STATIC_METHODS -keyfile:../mono.snk -r:System -r:Mono.Cecil -r:System.Core</flags>
       <output>Mono.Debugger.Soft.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Debugger.Soft.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Debugger.Soft.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Debugger.Soft.dll.sources</response>
     </project>
-    <project dir="class/Mono.Debugger.Soft" library="Mono.Debugger.Soft-tests-net_4_5">
+    <project dir="class/Mono.Debugger.Soft" library="Mono.Debugger.Soft-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Mono.Debugger.Soft.dll /r:Mono.Cecil.dll /r:System.dll /r:System.Core.dll</flags>
-      <output>Mono.Debugger.Soft_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Mono.Debugger.Soft.dll /r:Mono.Cecil.dll /r:System.dll /r:System.Core.dll</flags>
+      <output>Mono.Debugger.Soft_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Mono.Debugger.Soft_test_net_4_5.dll</library_output>
+      <library_output>Mono.Debugger.Soft_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Mono.Debugger.Soft_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Mono.Debugger.Soft_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Mono.C5" library="Mono.C5-net_4_5">
+    <project dir="class/Mono.C5" library="Mono.C5-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -nowarn:169,219,414,1030,3001,3005,3006 -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -nowarn:169,219,414,1030,3001,3005,3006 -r:System</flags>
       <output>Mono.C5.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.C5.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.C5.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.C5.dll.sources</response>
     </project>
-    <project dir="class/Mono.C5" library="Mono.C5-tests-net_4_5">
+    <project dir="class/Mono.C5" library="Mono.C5-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Mono.C5.dll /r:mscorlib.dll -nowarn:169,219,414,1030,3001,3005,3006 -r:System -nowarn:0618 -nowarn:219 -nowarn:169</flags>
-      <output>Mono.C5_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Mono.C5.dll /r:mscorlib.dll -nowarn:169,219,414,1030,3001,3005,3006 -r:System -nowarn:0618 -nowarn:219 -nowarn:169</flags>
+      <output>Mono.C5_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Mono.C5_test_net_4_5.dll</library_output>
+      <library_output>Mono.C5_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Mono.C5_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Mono.C5_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Mono.Management" library="Mono.Management-net_4_5">
+    <project dir="class/Mono.Management" library="Mono.Management-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:Mono.Posix</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System -r:Mono.Posix</flags>
       <output>Mono.Management.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Management.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Management.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Management.dll.sources</response>
     </project>
-    <project dir="class/Mono.Options" library="Mono.Options-net_4_5">
+    <project dir="class/Mono.Options" library="Mono.Options-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System</flags>
       <output>Mono.Options.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Options.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Options.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Options.dll.sources</response>
     </project>
-    <project dir="class/Mono.Options" library="Mono.Options-tests-net_4_5">
+    <project dir="class/Mono.Options" library="Mono.Options-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Mono.Options.dll /r:Mono.Posix.dll /r:System.dll /r:System.Core.dll</flags>
-      <output>Mono.Options_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Mono.Options.dll /r:Mono.Posix.dll /r:System.dll /r:System.Core.dll</flags>
+      <output>Mono.Options_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Mono.Options_test_net_4_5.dll</library_output>
+      <library_output>Mono.Options_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Mono.Options_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Mono.Options_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Mono.Simd" library="Mono.Simd-net_4_5">
+    <project dir="class/Mono.Simd" library="Mono.Simd-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:mscorlib.dll /unsafe -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:mscorlib.dll /unsafe -r:System.Core</flags>
       <output>Mono.Simd.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Simd.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Simd.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Simd.dll.sources</response>
     </project>
-    <project dir="class/Mono.Tasklets" library="Mono.Tasklets-net_4_5">
+    <project dir="class/Mono.Tasklets" library="Mono.Tasklets-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>Mono.Tasklets.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Tasklets.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Tasklets.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Tasklets.dll.sources</response>
     </project>
-    <project dir="class/Mono.CodeContracts" library="Mono.CodeContracts-net_4_5">
+    <project dir="class/Mono.CodeContracts" library="Mono.CodeContracts-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Core -r:Mono.Cecil -r:Mono.Cecil.Mdb</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Core -r:Mono.Cecil -r:Mono.Cecil.Mdb</flags>
       <output>Mono.CodeContracts.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.CodeContracts.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.CodeContracts.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.CodeContracts.dll.sources</response>
     </project>
-    <project dir="class/Mono.CodeContracts" library="Mono.CodeContracts-tests-net_4_5">
+    <project dir="class/Mono.CodeContracts" library="Mono.CodeContracts-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Mono.CodeContracts.dll -r:System.Core.dll -debug</flags>
-      <output>Mono.CodeContracts_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Mono.CodeContracts.dll -r:System.Core.dll -debug</flags>
+      <output>Mono.CodeContracts_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Mono.CodeContracts_test_net_4_5.dll</library_output>
+      <library_output>Mono.CodeContracts_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Mono.CodeContracts_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Mono.CodeContracts_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Mono.Parallel" library="Mono.Parallel-net_4_5">
+    <project dir="class/Mono.Parallel" library="Mono.Parallel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System.Core -r:System -d:INSIDE_MONO_PARALLEL -r:mscorlib.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System.Core -r:System -d:INSIDE_MONO_PARALLEL -r:mscorlib.dll</flags>
       <output>Mono.Parallel.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Parallel.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Parallel.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Parallel.dll.sources</response>
     </project>
-    <project dir="class/Mono.Parallel" library="Mono.Parallel-tests-net_4_5">
+    <project dir="class/Mono.Parallel" library="Mono.Parallel-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Mono.Parallel.dll /r:System.Core.dll</flags>
-      <output>Mono.Parallel_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Mono.Parallel.dll /r:System.Core.dll</flags>
+      <output>Mono.Parallel_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Mono.Parallel_test_net_4_5.dll</library_output>
+      <library_output>Mono.Parallel_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Mono.Parallel_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Mono.Parallel_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Mono.Security.Win32" library="Mono.Security.Win32-net_4_5">
+    <project dir="class/Mono.Security.Win32" library="Mono.Security.Win32-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /unsafe</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /unsafe</flags>
       <output>Mono.Security.Win32.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Security.Win32.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Security.Win32.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Security.Win32.dll.sources</response>
     </project>
-    <project dir="class/RabbitMQ.Client/src/apigen" library="RabbitMQ.Client.Apigen-net_4_5">
+    <project dir="class/RabbitMQ.Client/src/apigen" library="RabbitMQ.Client.Apigen-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /r:System.dll /r:System.Xml.dll /main:RabbitMQ.Client.Apigen.Apigen -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /r:System.dll /r:System.Xml.dll /main:RabbitMQ.Client.Apigen.Apigen -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>RabbitMQ.Client.Apigen.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../../../class/lib/net_4_5/RabbitMQ.Client.Apigen.exe</library_output>
+      <library_output>./../../../../class/lib/net_4_x/RabbitMQ.Client.Apigen.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>RabbitMQ.Client.Apigen.exe.sources</response>
     </project>
-    <project dir="class/RabbitMQ.Client/src/client" library="RabbitMQ.Client-net_4_5">
+    <project dir="class/RabbitMQ.Client/src/client" library="RabbitMQ.Client-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -nowarn:618 -r:System -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -nowarn:618 -r:System -r:System.Xml</flags>
       <output>RabbitMQ.Client.dll</output>
-      <built_sources></built_sources>
-      <library_output>./../../../../class/lib/net_4_5/RabbitMQ.Client.dll</library_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>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../../../build/deps/net_4_5_RabbitMQ.Client.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>RabbitMQ.Client.dll.sources</response>
     </project>
-    <project dir="class/Mono.Messaging.RabbitMQ" library="Mono.Messaging.RabbitMQ-net_4_5">
+    <project dir="class/Mono.Messaging.RabbitMQ" library="Mono.Messaging.RabbitMQ-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -nowarn:618 -r:System -r:System.Messaging -r:Mono.Messaging -r:RabbitMQ.Client</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -nowarn:618 -r:System -r:System.Messaging -r:Mono.Messaging -r:RabbitMQ.Client</flags>
       <output>Mono.Messaging.RabbitMQ.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Messaging.RabbitMQ.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Messaging.RabbitMQ.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Messaging.RabbitMQ.dll.sources</response>
     </project>
-    <project dir="class/Mono.Messaging.RabbitMQ" library="Mono.Messaging.RabbitMQ-tests-net_4_5">
+    <project dir="class/Mono.Messaging.RabbitMQ" library="Mono.Messaging.RabbitMQ-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/Mono.Messaging.RabbitMQ.dll -nowarn:618 -r:System -r:System.Messaging -r:Mono.Messaging -r:RabbitMQ.Client -nowarn:0618 -nowarn:219 -nowarn:169 /r:nunit.mocks.dll</flags>
-      <output>Mono.Messaging.RabbitMQ_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/Mono.Messaging.RabbitMQ.dll -nowarn:618 -r:System -r:System.Messaging -r:Mono.Messaging -r:RabbitMQ.Client -nowarn:0618 -nowarn:219 -nowarn:169 /r:nunit.mocks.dll</flags>
+      <output>Mono.Messaging.RabbitMQ_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>Mono.Messaging.RabbitMQ_test_net_4_5.dll</library_output>
+      <library_output>Mono.Messaging.RabbitMQ_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/Mono.Messaging.RabbitMQ_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/Mono.Messaging.RabbitMQ_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Dynamic" library="System.Dynamic-net_4_5">
+    <project dir="class/System.Dynamic" library="System.Dynamic-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -unsafe -d:CODEPLEX_40 -nowarn:414,169 -r:System.Core -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -unsafe -d:CODEPLEX_40 -nowarn:414,169 -r:System.Core -r:System</flags>
       <output>System.Dynamic.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Dynamic.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Dynamic.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Dynamic.dll.sources</response>
     </project>
-    <project dir="class/System.Windows.Forms.DataVisualization" library="System.Windows.Forms.DataVisualization-net_4_5">
+    <project dir="class/System.Windows.Forms.DataVisualization" library="System.Windows.Forms.DataVisualization-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Drawing -r:System.Windows.Forms -r:System.Core -r:System.Data -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.Drawing -r:System.Windows.Forms -r:System.Core -r:System.Data -r:System.Xml</flags>
       <output>System.Windows.Forms.DataVisualization.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Windows.Forms.DataVisualization.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Windows.Forms.DataVisualization.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Windows.Forms.DataVisualization.dll.sources</response>
     </project>
-    <project dir="class/System.Windows.Forms.DataVisualization" library="System.Windows.Forms.DataVisualization-tests-net_4_5">
+    <project dir="class/System.Windows.Forms.DataVisualization" library="System.Windows.Forms.DataVisualization-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Windows.Forms.DataVisualization.dll -r:System -r:System.Drawing -r:System.Windows.Forms -r:System.Core -r:System.Data -r:System.Xml</flags>
-      <output>System.Windows.Forms.DataVisualization_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Windows.Forms.DataVisualization.dll -r:System -r:System.Drawing -r:System.Windows.Forms -r:System.Core -r:System.Data -r:System.Xml</flags>
+      <output>System.Windows.Forms.DataVisualization_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Windows.Forms.DataVisualization_test_net_4_5.dll</library_output>
+      <library_output>System.Windows.Forms.DataVisualization_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Windows.Forms.DataVisualization_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Windows.Forms.DataVisualization_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Reactive.Interfaces" library="System.Reactive.Interfaces-net_4_5">
+    <project dir="class/System.Reactive.Interfaces" library="System.Reactive.Interfaces-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core</flags>
       <output>System.Reactive.Interfaces.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Reactive.Interfaces.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Reactive.Interfaces.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reactive.Interfaces.dll.sources</response>
     </project>
-    <project dir="class/System.Reactive.Core" library="System.Reactive.Core-net_4_5">
+    <project dir="class/System.Reactive.Core" library="System.Reactive.Core-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:System.Reactive.Interfaces.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:System.Reactive.Interfaces.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces</flags>
       <output>System.Reactive.Core.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Reactive.Core.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Reactive.Core.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reactive.Core.dll.sources</response>
     </project>
-    <project dir="class/System.Reactive.Linq" library="System.Reactive.Linq-net_4_5">
+    <project dir="class/System.Reactive.Linq" library="System.Reactive.Linq-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:System.Reactive.Core.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:System.Reactive.Core.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core</flags>
       <output>System.Reactive.Linq.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Reactive.Linq.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Reactive.Linq.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reactive.Linq.dll.sources</response>
     </project>
-    <project dir="class/System.Reactive.PlatformServices" library="System.Reactive.PlatformServices-net_4_5">
+    <project dir="class/System.Reactive.PlatformServices" library="System.Reactive.PlatformServices-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:System.Reactive.Linq.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:System.Reactive.Linq.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq</flags>
       <output>System.Reactive.PlatformServices.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Reactive.PlatformServices.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Reactive.PlatformServices.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reactive.PlatformServices.dll.sources</response>
     </project>
-    <project dir="class/System.Reactive.Providers" library="System.Reactive.Providers-net_4_5">
+    <project dir="class/System.Reactive.Providers" library="System.Reactive.Providers-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:System.Reactive.Linq.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:System.Reactive.Linq.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq</flags>
       <output>System.Reactive.Providers.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Reactive.Providers.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Reactive.Providers.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reactive.Providers.dll.sources</response>
     </project>
-    <project dir="class/System.Reactive.Runtime.Remoting" library="System.Reactive.Runtime.Remoting-net_4_5">
+    <project dir="class/System.Reactive.Runtime.Remoting" library="System.Reactive.Runtime.Remoting-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:System.Reactive.Linq.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:System.Reactive.Linq.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq</flags>
       <output>System.Reactive.Runtime.Remoting.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Reactive.Runtime.Remoting.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Reactive.Runtime.Remoting.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reactive.Runtime.Remoting.dll.sources</response>
     </project>
-    <project dir="class/System.Reactive.Windows.Forms" library="System.Reactive.Windows.Forms-net_4_5">
+    <project dir="class/System.Reactive.Windows.Forms" library="System.Reactive.Windows.Forms-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:System.Windows.Forms.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq -r:System.Windows.Forms</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:System.Windows.Forms.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq -r:System.Windows.Forms</flags>
       <output>System.Reactive.Windows.Forms.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Reactive.Windows.Forms.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Reactive.Windows.Forms.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reactive.Windows.Forms.dll.sources</response>
     </project>
-    <project dir="class/System.Reactive.Windows.Threading" library="System.Reactive.Windows.Threading-net_4_5">
+    <project dir="class/System.Reactive.Windows.Threading" library="System.Reactive.Windows.Threading-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:WindowsBase.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq -r:WindowsBase</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:WindowsBase.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq -r:WindowsBase</flags>
       <output>System.Reactive.Windows.Threading.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Reactive.Windows.Threading.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Reactive.Windows.Threading.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reactive.Windows.Threading.dll.sources</response>
     </project>
-    <project dir="class/System.Reactive.Observable.Aliases" library="System.Reactive.Observable.Aliases-net_4_5">
+    <project dir="class/System.Reactive.Observable.Aliases" library="System.Reactive.Observable.Aliases-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:System.Reactive.Providers.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq -r:System.Reactive.Providers</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -r:System.Reactive.Providers.dll -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq -r:System.Reactive.Providers</flags>
       <output>System.Reactive.Observable.Aliases.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Reactive.Observable.Aliases.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Reactive.Observable.Aliases.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reactive.Observable.Aliases.dll.sources</response>
     </project>
-    <project dir="class/System.Reactive.Experimental" library="System.Reactive.Experimental-net_4_5">
+    <project dir="class/System.Reactive.Experimental" library="System.Reactive.Experimental-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq</flags>
       <output>System.Reactive.Experimental.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Reactive.Experimental.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Reactive.Experimental.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reactive.Experimental.dll.sources</response>
     </project>
-    <project dir="class/System.Reactive.Debugger" library="System.Reactive.Debugger-net_4_5">
+    <project dir="class/System.Reactive.Debugger" library="System.Reactive.Debugger-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig @more_build_args -d:HAS_EDI -d:PREFERASYNC -d:PREFER_ASYNC -d:HAS_AWAIT -r:System -r:System.Core -r:System.Reactive.Interfaces -r:System.Reactive.Core -r:System.Reactive.Linq</flags>
       <output>System.Reactive.Debugger.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Reactive.Debugger.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Reactive.Debugger.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reactive.Debugger.dll.sources</response>
     </project>
-    <project dir="class/System.Data.Services.Client" library="System.Data.Services.Client-net_4_5">
+    <project dir="class/System.Data.Services.Client" library="System.Data.Services.Client-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -d:NET_3_5 -resource:Client/System.Data.Services.Client.resources -warn:2 -r:System -r:System.Core -r:System.Xml.Linq -r:System.Data -r:System.Xml -r:WindowsBase</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -d:NET_3_5 -resource:Client/System.Data.Services.Client.resources -warn:2 -r:System -r:System.Core -r:System.Xml.Linq -r:System.Data -r:System.Xml -r:WindowsBase</flags>
       <output>System.Data.Services.Client.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Data.Services.Client.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Data.Services.Client.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_System.Data.Services.Client.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>System.Data.Services.Client.dll.sources</response>
     </project>
-    <project dir="class/System.Data.Services" library="System.Data.Services-net_4_5">
+    <project dir="class/System.Data.Services" library="System.Data.Services-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -d:NET_3_5 -r:System -r:System.Core -r:System.ServiceModel -r:System.ServiceModel.Web -r:System.Data.Services.Client -r:System.ServiceModel.Activation</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -d:NET_3_5 -r:System -r:System.Core -r:System.ServiceModel -r:System.ServiceModel.Web -r:System.Data.Services.Client -r:System.ServiceModel.Activation</flags>
       <output>System.Data.Services.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Data.Services.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Data.Services.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/net_4_5_System.Data.Services.dll.sources</response>
+      <profile>net_4_x</profile>
+      <response>System.Data.Services.dll.sources</response>
     </project>
-    <project dir="class/System.Data.Services" library="System.Data.Services-tests-net_4_5">
+    <project dir="class/System.Data.Services" library="System.Data.Services-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Data.Services.dll -r:System.ServiceModel.dll -r:System.Core.dll</flags>
-      <output>System.Data.Services_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Data.Services.dll -r:System.ServiceModel.dll -r:System.Core.dll</flags>
+      <output>System.Data.Services_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Data.Services_test_net_4_5.dll</library_output>
+      <library_output>System.Data.Services_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Data.Services_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Data.Services_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Data.Entity" library="System.Data.Entity-net_4_5">
+    <project dir="class/System.Data.Entity" library="System.Data.Entity-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -warn:2 -r:System -r:System.Core -r:System.Data -r:System.Xml -r:System.Xml.Linq -r:System.Transactions -r:System.Runtime.Serialization -r:System.ComponentModel.DataAnnotations -r:System.Configuration</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -warn:2 -r:System -r:System.Core -r:System.Data -r:System.Xml -r:System.Xml.Linq -r:System.Transactions -r:System.Runtime.Serialization -r:System.ComponentModel.DataAnnotations -r:System.Configuration</flags>
       <output>System.Data.Entity.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Data.Entity.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Data.Entity.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Data.Entity.dll.sources</response>
     </project>
-    <project dir="class/System.Data.DataSetExtensions" library="System.Data.DataSetExtensions-net_4_5">
+    <project dir="class/System.Data.DataSetExtensions" library="System.Data.DataSetExtensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System.Core -r:System -r:System.Data -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System.Core -r:System -r:System.Data -r:System.Xml</flags>
       <output>System.Data.DataSetExtensions.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Data.DataSetExtensions.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Data.DataSetExtensions.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Data.DataSetExtensions.dll.sources</response>
     </project>
-    <project dir="class/System.Data.DataSetExtensions" library="System.Data.DataSetExtensions-tests-net_4_5">
+    <project dir="class/System.Data.DataSetExtensions" library="System.Data.DataSetExtensions-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Data.DataSetExtensions.dll -r:System.Core -r:System -r:System.Data -r:System.Xml -doc:System.Data.DataSetExtensions_test_net_4_5.xml -nowarn:219 -nowarn:169</flags>
-      <output>System.Data.DataSetExtensions_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Data.DataSetExtensions.dll -r:System.Core -r:System -r:System.Data -r:System.Xml -doc:System.Data.DataSetExtensions_test_net_4_x.xml -nowarn:219 -nowarn:169</flags>
+      <output>System.Data.DataSetExtensions_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Data.DataSetExtensions_test_net_4_5.dll</library_output>
+      <library_output>System.Data.DataSetExtensions_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Data.DataSetExtensions_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Data.DataSetExtensions_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Json.Microsoft" library="System.Json.Microsoft-net_4_5">
+    <project dir="class/System.Json.Microsoft" library="System.Json.Microsoft-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /d:ASPNETMVC -keyfile:../winfx.pub -delaysign /resource:System.Json.Properties.Resources.resources -d:FEATURE_DYNAMIC -r:System -r:System.Xml -r:System.Core -r:System.Runtime.Serialization -r:Microsoft.CSharp</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /d:ASPNETMVC -keyfile:../winfx.pub -delaysign /resource:System.Json.Properties.Resources.resources -d:FEATURE_DYNAMIC -r:System -r:System.Xml -r:System.Core -r:System.Runtime.Serialization -r:Microsoft.CSharp</flags>
       <output>System.Json.Microsoft.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Json.Microsoft.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Json.Microsoft.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Json.Microsoft.dll.sources</response>
     </project>
-    <project dir="class/System.Json.Microsoft" library="System.Json.Microsoft-tests-net_4_5">
+    <project dir="class/System.Json.Microsoft" library="System.Json.Microsoft-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Json.Microsoft.dll /d:ASPNETMVC -keyfile:../winfx.pub -delaysign /resource:System.Json.Properties.Resources.resources -d:FEATURE_DYNAMIC -r:System -r:System.Xml -r:System.Core -r:System.Runtime.Serialization -r:Microsoft.CSharp</flags>
-      <output>System.Json.Microsoft_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Json.Microsoft.dll /d:ASPNETMVC -keyfile:../winfx.pub -delaysign /resource:System.Json.Properties.Resources.resources -d:FEATURE_DYNAMIC -r:System -r:System.Xml -r:System.Core -r:System.Runtime.Serialization -r:Microsoft.CSharp</flags>
+      <output>System.Json.Microsoft_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Json.Microsoft_test_net_4_5.dll</library_output>
+      <library_output>System.Json.Microsoft_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Json.Microsoft_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Json.Microsoft_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Threading.Tasks.Dataflow" library="System.Threading.Tasks.Dataflow-net_4_5">
+    <project dir="class/System.Threading.Tasks.Dataflow" library="System.Threading.Tasks.Dataflow-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System.Core -r:System -r:mscorlib.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System.Core -r:System -r:mscorlib.dll</flags>
       <output>System.Threading.Tasks.Dataflow.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Threading.Tasks.Dataflow.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Threading.Tasks.Dataflow.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Threading.Tasks.Dataflow.dll.sources</response>
     </project>
-    <project dir="class/System.Threading.Tasks.Dataflow" library="System.Threading.Tasks.Dataflow-tests-net_4_5">
+    <project dir="class/System.Threading.Tasks.Dataflow" library="System.Threading.Tasks.Dataflow-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.Threading.Tasks.Dataflow.dll -r:System.Core.dll -r:System.dll</flags>
-      <output>System.Threading.Tasks.Dataflow_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.Threading.Tasks.Dataflow.dll -r:System.Core.dll -r:System.dll</flags>
+      <output>System.Threading.Tasks.Dataflow_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.Threading.Tasks.Dataflow_test_net_4_5.dll</library_output>
+      <library_output>System.Threading.Tasks.Dataflow_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.Threading.Tasks.Dataflow_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.Threading.Tasks.Dataflow_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.ComponentModel.Composition.4.5" library="System.ComponentModel.Composition-net_4_5">
+    <project dir="class/System.ComponentModel.Composition.4.5" library="System.ComponentModel.Composition-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -d:CLR40 -resource:Microsoft.Internal.Strings.resources -d:USE_ECMA_KEY,FEATURE_REFLECTIONCONTEXT,FEATURE_REFLECTIONFILEIO,FEATURE_SERIALIZATION,FEATURE_SLIMLOCK -nowarn:219,414 -r:System -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -d:CLR40 -resource:Microsoft.Internal.Strings.resources -d:USE_ECMA_KEY,FEATURE_REFLECTIONCONTEXT,FEATURE_REFLECTIONFILEIO,FEATURE_SERIALIZATION,FEATURE_SLIMLOCK -nowarn:219,414 -r:System -r:System.Core</flags>
       <output>System.ComponentModel.Composition.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.ComponentModel.Composition.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.ComponentModel.Composition.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.ComponentModel.Composition.dll.sources</response>
     </project>
-    <project dir="class/System.IO.Compression" library="System.IO.Compression-net_4_5">
+    <project dir="class/System.IO.Compression" library="System.IO.Compression-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /unsafe -r:System -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /unsafe -r:System -r:System.Core</flags>
       <output>System.IO.Compression.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.IO.Compression.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.IO.Compression.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.IO.Compression.dll.sources</response>
     </project>
-    <project dir="class/System.IO.Compression" library="System.IO.Compression-tests-net_4_5">
+    <project dir="class/System.IO.Compression" library="System.IO.Compression-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.IO.Compression.dll /r:System /r:System.Core</flags>
-      <output>System.IO.Compression_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.IO.Compression.dll /r:System /r:System.Core</flags>
+      <output>System.IO.Compression_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.IO.Compression_test_net_4_5.dll</library_output>
+      <library_output>System.IO.Compression_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.IO.Compression_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.IO.Compression_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.IO.Compression.FileSystem" library="System.IO.Compression.FileSystem-net_4_5">
+    <project dir="class/System.IO.Compression.FileSystem" library="System.IO.Compression.FileSystem-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.IO.Compression</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.IO.Compression</flags>
       <output>System.IO.Compression.FileSystem.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.IO.Compression.FileSystem.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.IO.Compression.FileSystem.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.IO.Compression.FileSystem.dll.sources</response>
     </project>
-    <project dir="class/System.IO.Compression.FileSystem" library="System.IO.Compression.FileSystem-tests-net_4_5">
+    <project dir="class/System.IO.Compression.FileSystem" library="System.IO.Compression.FileSystem-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/System.IO.Compression.FileSystem.dll /r:System /r:System.Core /r:System.IO.Compression.dll</flags>
-      <output>System.IO.Compression.FileSystem_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/System.IO.Compression.FileSystem.dll /r:System /r:System.Core /r:System.IO.Compression.dll</flags>
+      <output>System.IO.Compression.FileSystem_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>System.IO.Compression.FileSystem_test_net_4_5.dll</library_output>
+      <library_output>System.IO.Compression.FileSystem_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/System.IO.Compression.FileSystem_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/System.IO.Compression.FileSystem_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/System.Windows" library="System.Windows-net_4_5">
+    <project dir="class/System.Windows" library="System.Windows-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig -r:System</flags>
       <output>System.Windows.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Windows.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Windows.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Windows.dll.sources</response>
     </project>
-    <project dir="class/System.Xml.Serialization" library="System.Xml.Serialization-net_4_5">
+    <project dir="class/System.Xml.Serialization" library="System.Xml.Serialization-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig -r:System.Xml -r:System.ServiceModel</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig -r:System.Xml -r:System.ServiceModel</flags>
       <output>System.Xml.Serialization.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.Xml.Serialization.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.Xml.Serialization.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Xml.Serialization.dll.sources</response>
     </project>
-    <project dir="class/System.DirectoryServices.Protocols" library="System.DirectoryServices.Protocols-net_4_5">
+    <project dir="class/System.DirectoryServices.Protocols" library="System.DirectoryServices.Protocols-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.DirectoryServices -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:System -r:System.DirectoryServices -r:System.Xml</flags>
       <output>System.DirectoryServices.Protocols.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/System.DirectoryServices.Protocols.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/System.DirectoryServices.Protocols.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.DirectoryServices.Protocols.dll.sources</response>
     </project>
-    <project dir="class/Microsoft.VisualC" library="Microsoft.VisualC-net_4_5">
+    <project dir="class/Microsoft.VisualC" library="Microsoft.VisualC-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:mscorlib.dll -r:System</flags>
       <output>Microsoft.VisualC.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Microsoft.VisualC.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Microsoft.VisualC.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Microsoft.VisualC.dll.sources</response>
     </project>
-    <project dir="class/WebMatrix.Data" library="WebMatrix.Data-net_4_5">
+    <project dir="class/WebMatrix.Data" library="WebMatrix.Data-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -r:mscorlib.dll -r:System -r:System.Data -r:System.Core -r:System.Configuration</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -r:mscorlib.dll -r:System -r:System.Data -r:System.Core -r:System.Configuration</flags>
       <output>WebMatrix.Data.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/WebMatrix.Data.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/WebMatrix.Data.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>WebMatrix.Data.dll.sources</response>
     </project>
-    <project dir="class/WebMatrix.Data" library="WebMatrix.Data-tests-net_4_5">
+    <project dir="class/WebMatrix.Data" library="WebMatrix.Data-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/WebMatrix.Data.dll -r:System.dll -r:System.Core.dll -r:System.Data.dll -r:Mono.Data.Sqlite.dll -r:Microsoft.CSharp.dll</flags>
-      <output>WebMatrix.Data_test_net_4_5.dll</output>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/WebMatrix.Data.dll -r:System.dll -r:System.Core.dll -r:System.Data.dll -r:Mono.Data.Sqlite.dll -r:Microsoft.CSharp.dll</flags>
+      <output>WebMatrix.Data_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>WebMatrix.Data_test_net_4_5.dll</library_output>
+      <library_output>WebMatrix.Data_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/WebMatrix.Data_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/WebMatrix.Data_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/monodoc" library="monodoc-net_4_5">
+    <project dir="class/monodoc" library="monodoc-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nowarn:618,612,672,809 /define:LEGACY_MODE -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /unsafe /codepage:utf8 /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:mscorlib.dll -r:ICSharpCode.SharpZipLib -r:System -r:System.Core -r:System.Xml -r:System.Xml.Linq -r:System.Configuration</flags>
+      <flags>/codepage:65001 /nowarn:618,612,672,809 /define:LEGACY_MODE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /unsafe /codepage:utf8 /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:mscorlib.dll -r:ICSharpCode.SharpZipLib -r:System -r:System.Core -r:System.Xml -r:System.Xml.Linq -r:System.Configuration</flags>
       <output>monodoc.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/monodoc.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/monodoc.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>monodoc.dll.sources</response>
     </project>
-    <project dir="class/monodoc" library="monodoc-tests-net_4_5">
+    <project dir="class/monodoc" library="monodoc-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /nowarn:618,612,672,809 /define:LEGACY_MODE -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_5/monodoc.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll</flags>
-      <output>monodoc_test_net_4_5.dll</output>
+      <flags>/codepage:65001 /nowarn:618,612,672,809 /define:LEGACY_MODE -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/monodoc.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll</flags>
+      <output>monodoc_test_net_4_x.dll</output>
       <built_sources></built_sources>
-      <library_output>monodoc_test_net_4_5.dll</library_output>
+      <library_output>monodoc_test_net_4_x.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>./../../build/deps/monodoc_test_net_4_5.dll.response</response>
+      <profile>net_4_x</profile>
+      <response>./../../build/deps/monodoc_test_net_4_x.dll.response</response>
     </project>
-    <project dir="class/Facades/System.Collections.Concurrent" library="System.Collections.Concurrent-net_4_5">
+    <project dir="class/Facades/System.Collections.Concurrent" library="Facades_System.Collections.Concurrent-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
       <output>System.Collections.Concurrent.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Collections.Concurrent.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Collections.Concurrent.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Collections.Concurrent.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Collections" library="System.Collections-net_4_5">
+    <project dir="class/Facades/System.Collections" library="Facades_System.Collections-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System -r:System.Core</flags>
       <output>System.Collections.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Collections.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Collections.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Collections.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.ComponentModel.Annotations" library="System.ComponentModel.Annotations-net_4_5">
+    <project dir="class/Facades/System.ComponentModel.Annotations" library="Facades_System.ComponentModel.Annotations-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.ComponentModel.DataAnnotations</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.ComponentModel.DataAnnotations</flags>
       <output>System.ComponentModel.Annotations.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.ComponentModel.Annotations.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.ComponentModel.Annotations.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.ComponentModel.Annotations.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.ComponentModel.EventBasedAsync" library="System.ComponentModel.EventBasedAsync-net_4_5">
+    <project dir="class/Facades/System.ComponentModel.EventBasedAsync" library="Facades_System.ComponentModel.EventBasedAsync-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
       <output>System.ComponentModel.EventBasedAsync.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.ComponentModel.EventBasedAsync.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.ComponentModel.EventBasedAsync.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.ComponentModel.EventBasedAsync.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.ComponentModel" library="System.ComponentModel-net_4_5">
+    <project dir="class/Facades/System.ComponentModel" library="Facades_System.ComponentModel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
       <output>System.ComponentModel.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.ComponentModel.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.ComponentModel.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.ComponentModel.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Diagnostics.Contracts" library="System.Diagnostics.Contracts-net_4_5">
+    <project dir="class/Facades/System.Diagnostics.Contracts" library="Facades_System.Diagnostics.Contracts-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Diagnostics.Contracts.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Diagnostics.Contracts.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.Contracts.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Diagnostics.Contracts.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Diagnostics.Debug" library="System.Diagnostics.Debug-net_4_5">
+    <project dir="class/Facades/System.Diagnostics.Debug" library="Facades_System.Diagnostics.Debug-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
       <output>System.Diagnostics.Debug.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Diagnostics.Debug.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.Debug.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Diagnostics.Debug.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Diagnostics.Tracing" library="System.Diagnostics.Tracing-net_4_5">
+    <project dir="class/Facades/System.Diagnostics.Tracing" library="Facades_System.Diagnostics.Tracing-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Diagnostics.Tracing.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Diagnostics.Tracing.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.Tracing.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Diagnostics.Tracing.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Diagnostics.Tools" library="System.Diagnostics.Tools-net_4_5">
+    <project dir="class/Facades/System.Diagnostics.Tools" library="Facades_System.Diagnostics.Tools-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
       <output>System.Diagnostics.Tools.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Diagnostics.Tools.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.Tools.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Diagnostics.Tools.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Dynamic.Runtime" library="System.Dynamic.Runtime-net_4_5">
+    <project dir="class/Facades/System.Dynamic.Runtime" library="Facades_System.Dynamic.Runtime-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Core -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Core -r:System</flags>
       <output>System.Dynamic.Runtime.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Dynamic.Runtime.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Dynamic.Runtime.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Dynamic.Runtime.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Globalization" library="System.Globalization-net_4_5">
+    <project dir="class/Facades/System.Globalization" library="Facades_System.Globalization-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Globalization.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Globalization.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Globalization.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Globalization.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.IO" library="System.IO-net_4_5">
+    <project dir="class/Facades/System.IO" library="Facades_System.IO-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
       <output>System.IO.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.IO.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.IO.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.IO.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Linq.Expressions" library="System.Linq.Expressions-net_4_5">
+    <project dir="class/Facades/System.Linq.Expressions" library="Facades_System.Linq.Expressions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Core</flags>
       <output>System.Linq.Expressions.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Linq.Expressions.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Linq.Expressions.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Linq.Expressions.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Linq.Parallel" library="System.Linq.Parallel-net_4_5">
+    <project dir="class/Facades/System.Linq.Parallel" library="Facades_System.Linq.Parallel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Core</flags>
       <output>System.Linq.Parallel.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Linq.Parallel.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Linq.Parallel.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Linq.Parallel.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Linq.Queryable" library="System.Linq.Queryable-net_4_5">
+    <project dir="class/Facades/System.Linq.Queryable" library="Facades_System.Linq.Queryable-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Core</flags>
       <output>System.Linq.Queryable.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Linq.Queryable.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Linq.Queryable.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Linq.Queryable.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Linq" library="System.Linq-net_4_5">
+    <project dir="class/Facades/System.Linq" library="Facades_System.Linq-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Core</flags>
       <output>System.Linq.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Linq.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Linq.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Linq.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Net.NetworkInformation" library="System.Net.NetworkInformation-net_4_5">
+    <project dir="class/Facades/System.Net.NetworkInformation" library="Facades_System.Net.NetworkInformation-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
       <output>System.Net.NetworkInformation.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Net.NetworkInformation.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Net.NetworkInformation.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Net.NetworkInformation.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Net.Primitives" library="System.Net.Primitives-net_4_5">
+    <project dir="class/Facades/System.Net.Primitives" library="Facades_System.Net.Primitives-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
       <output>System.Net.Primitives.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Net.Primitives.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Net.Primitives.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Net.Primitives.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Net.Requests" library="System.Net.Requests-net_4_5">
+    <project dir="class/Facades/System.Net.Requests" library="Facades_System.Net.Requests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
       <output>System.Net.Requests.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Net.Requests.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Net.Requests.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Net.Requests.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.ObjectModel" library="System.ObjectModel-net_4_5">
+    <project dir="class/Facades/System.ObjectModel" library="Facades_System.ObjectModel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
       <output>System.ObjectModel.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.ObjectModel.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.ObjectModel.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.ObjectModel.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Reflection.Extensions" library="System.Reflection.Extensions-net_4_5">
+    <project dir="class/Facades/System.Reflection.Extensions" library="Facades_System.Reflection.Extensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Reflection.Extensions.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Reflection.Extensions.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Reflection.Extensions.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reflection.Extensions.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Reflection.Primitives" library="System.Reflection.Primitives-net_4_5">
+    <project dir="class/Facades/System.Reflection.Primitives" library="Facades_System.Reflection.Primitives-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Reflection.Primitives.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Reflection.Primitives.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Reflection.Primitives.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reflection.Primitives.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Reflection" library="System.Reflection-net_4_5">
+    <project dir="class/Facades/System.Reflection" library="Facades_System.Reflection-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Reflection.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Reflection.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Reflection.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reflection.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Resources.ResourceManager" library="System.Resources.ResourceManager-net_4_5">
+    <project dir="class/Facades/System.Resources.ResourceManager" library="Facades_System.Resources.ResourceManager-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Resources.ResourceManager.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Resources.ResourceManager.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Resources.ResourceManager.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Resources.ResourceManager.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Runtime.Extensions" library="System.Runtime.Extensions-net_4_5">
+    <project dir="class/Facades/System.Runtime.Extensions" library="Facades_System.Runtime.Extensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
       <output>System.Runtime.Extensions.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Runtime.Extensions.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.Extensions.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Runtime.Extensions.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Runtime.InteropServices" library="System.Runtime.InteropServices-net_4_5">
+    <project dir="class/Facades/System.Runtime.InteropServices" library="Facades_System.Runtime.InteropServices-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System -r:System.Core</flags>
       <output>System.Runtime.InteropServices.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Runtime.InteropServices.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.InteropServices.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Runtime.InteropServices.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Runtime.InteropServices.WindowsRuntime" library="System.Runtime.InteropServices.WindowsRuntime-net_4_5">
+    <project dir="class/Facades/System.Runtime.InteropServices.WindowsRuntime" library="Facades_System.Runtime.InteropServices.WindowsRuntime-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Runtime.InteropServices.WindowsRuntime.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Runtime.InteropServices.WindowsRuntime.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.InteropServices.WindowsRuntime.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Runtime.InteropServices.WindowsRuntime.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Runtime.Numerics" library="System.Runtime.Numerics-net_4_5">
+    <project dir="class/Facades/System.Runtime.Numerics" library="Facades_System.Runtime.Numerics-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Numerics</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Numerics</flags>
       <output>System.Runtime.Numerics.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Runtime.Numerics.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.Numerics.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Runtime.Numerics.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Runtime.Serialization.Json" library="System.Runtime.Serialization.Json-net_4_5">
+    <project dir="class/Facades/System.Runtime.Serialization.Json" library="Facades_System.Runtime.Serialization.Json-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Runtime.Serialization</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Runtime.Serialization</flags>
       <output>System.Runtime.Serialization.Json.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Runtime.Serialization.Json.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Json.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Runtime.Serialization.Json.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Runtime.Serialization.Primitives" library="System.Runtime.Serialization.Primitives-net_4_5">
+    <project dir="class/Facades/System.Runtime.Serialization.Primitives" library="Facades_System.Runtime.Serialization.Primitives-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Runtime.Serialization</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Runtime.Serialization</flags>
       <output>System.Runtime.Serialization.Primitives.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Runtime.Serialization.Primitives.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Primitives.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Runtime.Serialization.Primitives.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Runtime.Serialization.Xml" library="System.Runtime.Serialization.Xml-net_4_5">
+    <project dir="class/Facades/System.Runtime.Serialization.Xml" library="Facades_System.Runtime.Serialization.Xml-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Runtime.Serialization -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Runtime.Serialization -r:System.Xml</flags>
       <output>System.Runtime.Serialization.Xml.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Runtime.Serialization.Xml.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.Serialization.Xml.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Runtime.Serialization.Xml.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Runtime" library="System.Runtime-net_4_5">
+    <project dir="class/Facades/System.Runtime" library="Facades_System.Runtime-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System -r:System.ComponentModel.Composition -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System -r:System.ComponentModel.Composition -r:System.Core</flags>
       <output>System.Runtime.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Runtime.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Runtime.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Runtime.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Security.Principal" library="System.Security.Principal-net_4_5">
+    <project dir="class/Facades/System.Security.Principal" library="Facades_System.Security.Principal-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Security.Principal.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Security.Principal.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Security.Principal.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Security.Principal.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.ServiceModel.Http" library="System.ServiceModel.Http-net_4_5">
+    <project dir="class/Facades/System.ServiceModel.Http" library="Facades_System.ServiceModel.Http-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.ServiceModel</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.ServiceModel</flags>
       <output>System.ServiceModel.Http.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.ServiceModel.Http.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.ServiceModel.Http.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.ServiceModel.Http.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.ServiceModel.Primitives" library="System.ServiceModel.Primitives-net_4_5">
+    <project dir="class/Facades/System.ServiceModel.Primitives" library="Facades_System.ServiceModel.Primitives-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.ServiceModel -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.ServiceModel -r:System.Xml</flags>
       <output>System.ServiceModel.Primitives.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.ServiceModel.Primitives.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.ServiceModel.Primitives.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.ServiceModel.Primitives.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.ServiceModel.Security" library="System.ServiceModel.Security-net_4_5">
+    <project dir="class/Facades/System.ServiceModel.Security" library="Facades_System.ServiceModel.Security-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.ServiceModel</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.ServiceModel</flags>
       <output>System.ServiceModel.Security.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.ServiceModel.Security.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.ServiceModel.Security.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.ServiceModel.Security.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Text.Encoding.Extensions" library="System.Text.Encoding.Extensions-net_4_5">
+    <project dir="class/Facades/System.Text.Encoding.Extensions" library="Facades_System.Text.Encoding.Extensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Text.Encoding.Extensions.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Text.Encoding.Extensions.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Text.Encoding.Extensions.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Text.Encoding.Extensions.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Text.Encoding" library="System.Text.Encoding-net_4_5">
+    <project dir="class/Facades/System.Text.Encoding" library="Facades_System.Text.Encoding-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Text.Encoding.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Text.Encoding.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Text.Encoding.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Text.Encoding.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Text.RegularExpressions" library="System.Text.RegularExpressions-net_4_5">
+    <project dir="class/Facades/System.Text.RegularExpressions" library="Facades_System.Text.RegularExpressions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
       <output>System.Text.RegularExpressions.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Text.RegularExpressions.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Text.RegularExpressions.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Text.RegularExpressions.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Threading.Tasks.Parallel" library="System.Threading.Tasks.Parallel-net_4_5">
+    <project dir="class/Facades/System.Threading.Tasks.Parallel" library="Facades_System.Threading.Tasks.Parallel-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Threading.Tasks.Parallel.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Threading.Tasks.Parallel.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Threading.Tasks.Parallel.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Threading.Tasks.Parallel.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Threading.Tasks" library="System.Threading.Tasks-net_4_5">
+    <project dir="class/Facades/System.Threading.Tasks" library="Facades_System.Threading.Tasks-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Core</flags>
       <output>System.Threading.Tasks.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Threading.Tasks.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Threading.Tasks.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Threading.Tasks.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Threading.Timer" library="System.Threading.Timer-net_4_5">
+    <project dir="class/Facades/System.Threading.Timer" library="Facades_System.Threading.Timer-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System -r:System.Core</flags>
       <output>System.Threading.Timer.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Threading.Timer.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Threading.Timer.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Threading.Timer.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Threading" library="System.Threading-net_4_5">
+    <project dir="class/Facades/System.Threading" library="Facades_System.Threading-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System -r:System.Core</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System -r:System.Core</flags>
       <output>System.Threading.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Threading.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Threading.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Threading.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Xml.ReaderWriter" library="System.Xml.ReaderWriter-net_4_5">
+    <project dir="class/Facades/System.Xml.ReaderWriter" library="Facades_System.Xml.ReaderWriter-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Xml</flags>
       <output>System.Xml.ReaderWriter.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Xml.ReaderWriter.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Xml.ReaderWriter.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Xml.ReaderWriter.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Xml.XDocument" library="System.Xml.XDocument-net_4_5">
+    <project dir="class/Facades/System.Xml.XDocument" library="Facades_System.Xml.XDocument-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Xml.Linq -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Xml.Linq -r:System.Xml</flags>
       <output>System.Xml.XDocument.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Xml.XDocument.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Xml.XDocument.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Xml.XDocument.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Xml.XmlSerializer" library="System.Xml.XmlSerializer-net_4_5">
+    <project dir="class/Facades/System.Xml.XmlSerializer" library="Facades_System.Xml.XmlSerializer-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.Xml</flags>
       <output>System.Xml.XmlSerializer.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Xml.XmlSerializer.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Xml.XmlSerializer.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Xml.XmlSerializer.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Reflection.Emit.ILGeneration" library="System.Reflection.Emit.ILGeneration-net_4_5">
+    <project dir="class/Facades/System.Runtime.Handles" library="Facades_System.Runtime.Handles-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System -r:System.Core</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Runtime.Handles.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.ServiceModel.Duplex" library="Facades_System.ServiceModel.Duplex-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.ServiceModel</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.ServiceModel.Duplex.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.ServiceModel.NetTcp" library="Facades_System.ServiceModel.NetTcp-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System.ServiceModel</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.ServiceModel.NetTcp.dll.sources</response>
+    </project>
+    <project dir="class/Facades/Microsoft.Win32.Primitives" library="Facades_Microsoft.Win32.Primitives-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>Microsoft.Win32.Primitives.dll.sources</response>
+    </project>
+    <project dir="class/Facades/Microsoft.Win32.Registry" library="Facades_Microsoft.Win32.Registry-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>Microsoft.Win32.Registry.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.AppContext" library="Facades_System.AppContext-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <output>System.AppContext.dll</output>
+      <built_sources></built_sources>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.AppContext.dll</library_output>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.AppContext.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Collections.NonGeneric" library="Facades_System.Collections.NonGeneric-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Collections.NonGeneric.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Collections.Specialized" library="Facades_System.Collections.Specialized-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Collections.Specialized.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.ComponentModel.Primitives" library="Facades_System.ComponentModel.Primitives-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.ComponentModel.Primitives.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.ComponentModel.TypeConverter" library="Facades_System.ComponentModel.TypeConverter-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.ComponentModel.TypeConverter.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Console" library="Facades_System.Console-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <output>System.Console.dll</output>
+      <built_sources></built_sources>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Console.dll</library_output>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Console.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Data.Common" library="Facades_System.Data.Common-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.Data.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Data.Common.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Data.SqlClient" library="Facades_System.Data.SqlClient-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.Data.dll /r:System.Xml.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Data.SqlClient.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Diagnostics.FileVersionInfo" library="Facades_System.Diagnostics.FileVersionInfo-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Diagnostics.FileVersionInfo.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Diagnostics.Process" library="Facades_System.Diagnostics.Process-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Diagnostics.Process.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Diagnostics.TextWriterTraceListener" library="Facades_System.Diagnostics.TextWriterTraceListener-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Diagnostics.TextWriterTraceListener.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Diagnostics.TraceEvent" library="Facades_System.Diagnostics.TraceEvent-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Diagnostics.TraceEvent.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Diagnostics.TraceSource" library="Facades_System.Diagnostics.TraceSource-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Diagnostics.TraceSource.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Globalization.Calendars" library="Facades_System.Globalization.Calendars-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Globalization.Calendars.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.IO.Compression" library="Facades_System.IO.Compression-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.IO.Compression.dll -r:System</flags>
+      <output>System.IO.Compression.dll</output>
+      <built_sources></built_sources>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.IO.Compression.dll</library_output>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.IO.Compression.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.IO.Compression.ZipFile" library="Facades_System.IO.Compression.ZipFile-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.IO.Compression.FileSystem.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.IO.Compression.ZipFile.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.IO.FileSystem" library="Facades_System.IO.FileSystem-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.IO.FileSystem.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.IO.FileSystem.DriveInfo" library="Facades_System.IO.FileSystem.DriveInfo-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.IO.FileSystem.DriveInfo.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.IO.FileSystem.Primitives" library="Facades_System.IO.FileSystem.Primitives-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.IO.FileSystem.Primitives.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.IO.IsolatedStorage" library="Facades_System.IO.IsolatedStorage-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.IO.IsolatedStorage.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.IO.MemoryMappedFiles" library="Facades_System.IO.MemoryMappedFiles-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.Core.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.IO.MemoryMappedFiles.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.IO.UnmanagedMemoryStream" library="Facades_System.IO.UnmanagedMemoryStream-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.IO.UnmanagedMemoryStream.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Net.AuthenticationManager" library="Facades_System.Net.AuthenticationManager-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Net.AuthenticationManager.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Net.Cache" library="Facades_System.Net.Cache-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Net.Cache.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Net.HttpListener" library="Facades_System.Net.HttpListener-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Net.HttpListener.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Net.Mail" library="Facades_System.Net.Mail-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Net.Mail.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Net.NameResolution" library="Facades_System.Net.NameResolution-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Net.NameResolution.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Net.Security" library="Facades_System.Net.Security-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Net.Security.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Net.ServicePoint" library="Facades_System.Net.ServicePoint-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Net.ServicePoint.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Net.Sockets" library="Facades_System.Net.Sockets-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Net.Sockets.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Net.Utilities" library="Facades_System.Net.Utilities-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Net.Utilities.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Net.WebHeaderCollection" library="Facades_System.Net.WebHeaderCollection-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Net.WebHeaderCollection.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Net.WebSockets" library="Facades_System.Net.WebSockets-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Net.WebSockets.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Net.WebSockets.Client" library="Facades_System.Net.WebSockets.Client-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Net.WebSockets.Client.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Resources.ReaderWriter" library="Facades_System.Resources.ReaderWriter-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Resources.ReaderWriter.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Runtime.CompilerServices.VisualC" library="Facades_System.Runtime.CompilerServices.VisualC-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Runtime.CompilerServices.VisualC.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Security.AccessControl" library="Facades_System.Security.AccessControl-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.AccessControl.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Security.Claims" library="Facades_System.Security.Claims-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.Claims.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Security.Cryptography.DeriveBytes" library="Facades_System.Security.Cryptography.DeriveBytes-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.Cryptography.DeriveBytes.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Security.Cryptography.Encoding" library="Facades_System.Security.Cryptography.Encoding-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.Cryptography.Encoding.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Security.Cryptography.Encryption" library="Facades_System.Security.Cryptography.Encryption-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.Cryptography.Encryption.dll.sources</response>
+    </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 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.Cryptography.Encryption.Aes.dll.sources</response>
+    </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 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.Core.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.Cryptography.Encryption.ECDiffieHellman.dll.sources</response>
+    </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 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.Core.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.Cryptography.Encryption.ECDsa.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Security.Cryptography.Hashing" library="Facades_System.Security.Cryptography.Hashing-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.Cryptography.Hashing.dll.sources</response>
+    </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 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.Cryptography.Hashing.Algorithms.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Security.Cryptography.RSA" library="Facades_System.Security.Cryptography.RSA-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.Cryptography.RSA.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Security.Cryptography.RandomNumberGenerator" library="Facades_System.Security.Cryptography.RandomNumberGenerator-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.Cryptography.RandomNumberGenerator.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Security.Cryptography.X509Certificates" library="Facades_System.Security.Cryptography.X509Certificates-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.Cryptography.X509Certificates.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Security.Principal.Windows" library="Facades_System.Security.Principal.Windows-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.Principal.Windows.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Threading.Thread" library="Facades_System.Threading.Thread-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Threading.Thread.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Threading.ThreadPool" library="Facades_System.Threading.ThreadPool-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Threading.ThreadPool.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Xml.XPath" library="Facades_System.Xml.XPath-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.Xml.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Xml.XPath.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Xml.XmlDocument" library="Facades_System.Xml.XmlDocument-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.Xml.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Xml.XmlDocument.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Xml.Xsl.Primitives" library="Facades_System.Xml.Xsl.Primitives-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.Xml.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Xml.Xsl.Primitives.dll.sources</response>
+    </project>
+    <project dir="class/Facades/Microsoft.Win32.Registry.AccessControl" library="Facades_Microsoft.Win32.Registry.AccessControl-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>Microsoft.Win32.Registry.AccessControl.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Diagnostics.StackTrace" library="Facades_System.Diagnostics.StackTrace-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Diagnostics.StackTrace.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Globalization.Extensions" library="Facades_System.Globalization.Extensions-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Globalization.Extensions.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.IO.FileSystem.AccessControl" library="Facades_System.IO.FileSystem.AccessControl-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.IO.FileSystem.AccessControl.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Private.CoreLib.InteropServices" library="Facades_System.Private.CoreLib.InteropServices-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <output>System.Private.CoreLib.InteropServices.dll</output>
+      <built_sources></built_sources>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Private.CoreLib.InteropServices.dll</library_output>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Private.CoreLib.InteropServices.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Private.CoreLib.Threading" library="Facades_System.Private.CoreLib.Threading-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <output>System.Private.CoreLib.Threading.dll</output>
+      <built_sources></built_sources>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Private.CoreLib.Threading.dll</library_output>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Private.CoreLib.Threading.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Reflection.TypeExtensions" library="Facades_System.Reflection.TypeExtensions-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Reflection.TypeExtensions.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Security.SecureString" library="Facades_System.Security.SecureString-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.SecureString.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Threading.AccessControl" library="Facades_System.Threading.AccessControl-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Threading.AccessControl.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Threading.Overlapped" library="Facades_System.Threading.Overlapped-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Threading.Overlapped.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Xml.XPath.XDocument" library="Facades_System.Xml.XPath.XDocument-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.Xml.Linq.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Xml.XPath.XDocument.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Reflection.Emit.ILGeneration" library="Facades_System.Reflection.Emit.ILGeneration-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Reflection.Emit.ILGeneration.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Reflection.Emit.ILGeneration.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Reflection.Emit.ILGeneration.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reflection.Emit.ILGeneration.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Reflection.Emit.Lightweight" library="System.Reflection.Emit.Lightweight-net_4_5">
+    <project dir="class/Facades/System.Reflection.Emit.Lightweight" library="Facades_System.Reflection.Emit.Lightweight-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Reflection.Emit.Lightweight.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Reflection.Emit.Lightweight.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Reflection.Emit.Lightweight.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reflection.Emit.Lightweight.dll.sources</response>
     </project>
-    <project dir="class/Facades/System.Reflection.Emit" library="System.Reflection.Emit-net_4_5">
+    <project dir="class/Facades/System.Reflection.Emit" library="Facades_System.Reflection.Emit-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib</flags>
       <output>System.Reflection.Emit.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Facades/System.Reflection.Emit.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Reflection.Emit.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>System.Reflection.Emit.dll.sources</response>
     </project>
-    <project dir="nunit24/NUnit.Framework/framework" library="NUnit.Framework-net_4_5">
+    <project dir="class/Facades/System.Diagnostics.PerformanceCounter" library="Facades_System.Diagnostics.PerformanceCounter-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</flags>
+      <output>System.Diagnostics.PerformanceCounter.dll</output>
+      <built_sources></built_sources>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Diagnostics.PerformanceCounter.dll</library_output>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Diagnostics.PerformanceCounter.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.IO.FileSystem.Watcher" library="Facades_System.IO.FileSystem.Watcher-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.IO.FileSystem.Watcher.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.IO.Pipes" library="Facades_System.IO.Pipes-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.Core.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.IO.Pipes.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Security.Cryptography.ProtectedData" library="Facades_System.Security.Cryptography.ProtectedData-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.Security.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Security.Cryptography.ProtectedData.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.ServiceProcess.ServiceController" library="Facades_System.ServiceProcess.ServiceController-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.ServiceProcess.dll -r:System</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>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.ServiceProcess.ServiceController.dll.sources</response>
+    </project>
+    <project dir="class/Facades/System.Net.Http.WebRequestHandler" library="Facades_System.Net.Http.WebRequestHandler-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig /r:System.Xml.dll /r:System.dll /d:StronglyNamedAssembly -warn:1</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -optimize /noconfig /delaysign /keyfile:../../msfinal.pub /nowarn:1616,1699 /r:mscorlib /r:System.Net.Http.WebRequest.dll /r:System.Net.Http.dll -r:System</flags>
+      <output>System.Net.Http.WebRequestHandler.dll</output>
+      <built_sources></built_sources>
+      <library_output>./../../../class/lib/net_4_x/Facades/System.Net.Http.WebRequestHandler.dll</library_output>
+      <fx_version>4.5</fx_version>
+      <profile>net_4_x</profile>
+      <response>System.Net.Http.WebRequestHandler.dll.sources</response>
+    </project>
+    <project dir="nunit24/NUnit.Framework/framework" library="NUnit.Framework-net_4_x">
+      <boot>false</boot>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig /r:System.Xml.dll /r:System.dll /d:StronglyNamedAssembly -warn:1</flags>
       <output>nunit.framework.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/nunit.framework.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/nunit.framework.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>NUnit.Framework.dll.sources</response>
     </project>
-    <project dir="nunit24/NUnitCore/interfaces" library="nunit.core.interfaces-net_4_5">
+    <project dir="nunit24/NUnitCore/interfaces" library="nunit.core.interfaces-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -debug -r:nunit.framework.dll -r:System.dll /d:StronglyNamedAssembly -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -debug -r:nunit.framework.dll -r:System.dll /d:StronglyNamedAssembly -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>nunit.core.interfaces.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/nunit.core.interfaces.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/nunit.core.interfaces.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>nunit.core.interfaces.dll.sources</response>
     </project>
-    <project dir="nunit20/NUnitCore/core" library="nunit.core-net_4_5">
+    <project dir="nunit20/NUnitCore/core" library="nunit.core-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -r:nunit.framework.dll -r:nunit.core.interfaces.dll -r:System.dll /d:StronglyNamedAssembly -warn:1 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:nunit.framework.dll -r:nunit.core.interfaces.dll -r:System.dll /d:StronglyNamedAssembly -warn:1 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>nunit.core.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/nunit.core.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/nunit.core.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>nunit.core.dll.sources</response>
     </project>
-    <project dir="nunit24/ClientUtilities/util" library="nunit.util-net_4_5">
+    <project dir="nunit24/ClientUtilities/util" library="nunit.util-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 /resource:Transform.resources,NUnit.Util.Transform.resources -r:nunit.core.dll -r:nunit.core.interfaces.dll -r:System.dll -r:System.Xml.dll -r:System.Runtime.Remoting.dll /d:MONO /d:StronglyNamedAssembly -warn:1 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /resource:Transform.resources,NUnit.Util.Transform.resources -r:nunit.core.dll -r:nunit.core.interfaces.dll -r:System.dll -r:System.Xml.dll -r:System.Runtime.Remoting.dll /d:MONO /d:StronglyNamedAssembly -warn:1 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>nunit.util.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/nunit.util.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/nunit.util.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>nunit.util.dll.sources</response>
     </project>
-    <project dir="nunit24/NUnitMocks/mocks" library="nunit.mocks-net_4_5">
+    <project dir="nunit24/NUnitMocks/mocks" library="nunit.mocks-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -debug -r:nunit.framework.dll -r:System.dll /d:StronglyNamedAssembly -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -debug -r:nunit.framework.dll -r:System.dll /d:StronglyNamedAssembly -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>nunit.mocks.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/nunit.mocks.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/nunit.mocks.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>nunit.mocks.dll.sources</response>
     </project>
-    <project dir="nunit24/NUnitExtensions/framework" library="nunit.framework.extensions-net_4_5">
+    <project dir="nunit24/NUnitExtensions/framework" library="nunit.framework.extensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -debug /r:System.Xml.dll /r:System.dll /d:StronglyNamedAssembly</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -debug /r:System.Xml.dll /r:System.dll /d:StronglyNamedAssembly</flags>
       <output>nunit.framework.extensions.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/nunit.framework.extensions.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/nunit.framework.extensions.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>nunit.framework.extensions.dll.sources</response>
     </project>
-    <project dir="nunit24/NUnitExtensions/core" library="nunit.core.extensions-net_4_5">
+    <project dir="nunit24/NUnitExtensions/core" library="nunit.core.extensions-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig -debug /r:nunit.core.dll /r:nunit.core.interfaces.dll /r:System.Xml.dll /r:System.dll /d:StronglyNamedAssembly</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig -debug /r:nunit.core.dll /r:nunit.core.interfaces.dll /r:System.Xml.dll /r:System.dll /d:StronglyNamedAssembly</flags>
       <output>nunit.core.extensions.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/nunit.core.extensions.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/nunit.core.extensions.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>nunit.core.extensions.dll.sources</response>
     </project>
-    <project dir="nunit24/ConsoleRunner/nunit-console" library="nunit-console-runner-net_4_5">
+    <project dir="nunit24/ConsoleRunner/nunit-console" library="nunit-console-runner-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -r:nunit.core.dll -r:nunit.core.interfaces.dll -r:nunit.util.dll -r:System.dll -r:System.Xml.dll /d:MONO /d:StronglyNamedAssembly -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:nunit.core.dll -r:nunit.core.interfaces.dll -r:nunit.util.dll -r:System.dll -r:System.Xml.dll /d:MONO /d:StronglyNamedAssembly -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>nunit-console-runner.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/nunit-console-runner.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/nunit-console-runner.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>nunit-console-runner.dll.sources</response>
     </project>
-    <project dir="nunit24/ConsoleRunner/nunit-console-exe" library="nunit-console-net_4_5">
+    <project dir="nunit24/ConsoleRunner/nunit-console-exe" library="nunit-console-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /r:nunit.framework.dll /r:nunit.util.dll /r:nunit.core.dll /r:nunit-console-runner.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /r:nunit.framework.dll /r:nunit.util.dll /r:nunit.core.dll /r:nunit-console-runner.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>nunit-console.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/nunit-console.exe</library_output>
+      <library_output>./../../../class/lib/net_4_x/nunit-console.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>nunit-console.exe.sources</response>
     </project>
-    <project dir="ilasm" library="ilasm-net_4_5">
+    <project dir="ilasm" library="ilasm-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /lib:../class/lib/net_4_5 /r:../class/lib/net_4_5/PEAPI.dll /r:Mono.CompilerServices.SymbolWriter.dll /r:Mono.Security.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /lib:../class/lib/net_4_x /r:../class/lib/net_4_x/PEAPI.dll /r:Mono.CompilerServices.SymbolWriter.dll /r:Mono.Security.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>ilasm.exe</output>
       <built_sources></built_sources>
-      <library_output>./../class/lib/net_4_5/ilasm.exe</library_output>
+      <library_output>./../class/lib/net_4_x/ilasm.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>ilasm.exe.sources</response>
     </project>
-    <project dir="tools/gacutil" library="gacutil-net_4_5">
-      <boot></boot>
-      <flags>/codepage:65001 -r:Mono.Security.dll -unsafe -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
-      <output>gacutil.exe</output>
-      <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/gacutil.exe</library_output>
-      <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
-      <response>gacutil.exe.sources</response>
-    </project>
-    <project dir="tools/al" library="al-net_4_5">
+    <project dir="tools/al" library="al-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:Mono.Security.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:Mono.Security.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>al.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/al.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/al.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>al.exe.sources</response>
     </project>
-    <project dir="tools/linker" library="monolinker-net_4_5">
+    <project dir="tools/linker" library="monolinker-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /r:./../../class/lib/net_4_5/Mono.Cecil.dll /r:System.Xml.dll -keyfile:../../class/mono.snk -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:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /r:./../../class/lib/net_4_x/Mono.Cecil.dll /r:System.Xml.dll -keyfile:../../class/mono.snk -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:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>monolinker.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/monolinker.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/monolinker.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>monolinker.exe.sources</response>
     </project>
-    <project dir="tools/tuner" library="Mono.Tuner-net_4_5">
+    <project dir="tools/tuner" library="Mono.Tuner-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -r:System.dll -r:System.Core.dll -r:System.Xml.dll -r:./../../class/lib/net_4_5/monolinker.exe -r:./../../class/lib/net_4_5/Mono.Cecil.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.dll -r:System.Core.dll -r:System.Xml.dll -r:./../../class/lib/net_4_x/monolinker.exe -r:./../../class/lib/net_4_x/Mono.Cecil.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>Mono.Tuner.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/Mono.Tuner.dll</library_output>
+      <library_output>./../../class/lib/net_4_x/Mono.Tuner.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Tuner.dll.sources</response>
     </project>
-    <project dir="tools/culevel" library="culevel-net_4_5">
+    <project dir="tools/culevel" library="culevel-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>culevel.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/culevel.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/culevel.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>culevel.exe.sources</response>
     </project>
-    <project dir="tools/genxs" library="genxs-net_4_5">
+    <project dir="tools/genxs" library="genxs-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.Xml.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.Xml.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>genxs.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/genxs.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/genxs.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>genxs.exe.sources</response>
     </project>
-    <project dir="tools/mkbundle" library="mkbundle-net_4_5">
+    <project dir="tools/mkbundle" library="mkbundle-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -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:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -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:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>mkbundle.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/mkbundle.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/mkbundle.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>mkbundle.exe.sources</response>
     </project>
-    <project dir="tools/monop" library="monop-net_4_5">
+    <project dir="tools/monop" library="monop-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -d:NO_AUTHENTICODE,STATIC,NO_SYMBOL_WRITER -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -d:NO_AUTHENTICODE,STATIC,NO_SYMBOL_WRITER -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>monop.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/monop.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/monop.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>monop.exe.sources</response>
     </project>
-    <project dir="tools/mono-service" library="mono-service-net_4_5">
+    <project dir="tools/mono-service" library="mono-service-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.ServiceProcess.dll -r:Mono.Posix.dll -unsafe -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.ServiceProcess.dll -r:Mono.Posix.dll -unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>mono-service.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/mono-service.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/mono-service.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>mono-service.exe.sources</response>
     </project>
-    <project dir="tools/mono-xsd" library="xsd-net_4_5">
+    <project dir="tools/mono-xsd" library="xsd-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.Xml.dll -r:System.Data.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.Xml.dll -r:System.Data.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>xsd.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/xsd.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/xsd.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>xsd.exe.sources</response>
     </project>
-    <project dir="tools/resgen" library="resgen-net_4_5">
+    <project dir="tools/resgen" library="resgen-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>resgen.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/resgen.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/resgen.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>resgen.exe.sources</response>
     </project>
-    <project dir="tools/gacutil" library="gacutil-net_4_5">
+    <project dir="tools/gacutil" library="gacutil-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:Mono.Security.dll -unsafe -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:Mono.Security.dll -unsafe -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>gacutil.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/gacutil.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/gacutil.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>gacutil.exe.sources</response>
     </project>
-    <project dir="tools/wsdl" library="wsdl-net_4_5">
+    <project dir="tools/wsdl" library="wsdl-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.Xml.dll -r:System.Web.Services.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.Xml.dll -r:System.Web.Services.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>wsdl.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/wsdl.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/wsdl.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>wsdl.exe.sources</response>
     </project>
-    <project dir="tools/xbuild" library="xbuild-net_4_5">
+    <project dir="tools/xbuild" library="xbuild-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:./../../class/lib/net_4_5/Microsoft.Build.Framework.dll -r:./../../class/lib/net_4_5/Microsoft.Build.Utilities.v4.0.dll -r:./../../class/lib/net_4_5/Microsoft.Build.Engine.dll -r:./../../class/lib/net_4_5/Microsoft.Build.Tasks.v4.0.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:./../../class/lib/net_4_x/Microsoft.Build.Framework.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Utilities.v4.0.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Engine.dll -r:./../../class/lib/net_4_x/Microsoft.Build.Tasks.v4.0.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>xbuild.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/xbuild.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/xbuild.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>xbuild.exe.sources</response>
     </project>
-    <project dir="tools/csharp" library="csharp-net_4_5">
+    <project dir="tools/csharp" library="csharp-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:./../../class/lib/net_4_5/Mono.CSharp.dll -r:./../../class/lib/net_4_5/Mono.Posix.dll -r:Mono.Management.dll -unsafe -nowarn:3021 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:./../../class/lib/net_4_x/Mono.CSharp.dll -r:./../../class/lib/net_4_x/Mono.Posix.dll -r:Mono.Management.dll -unsafe -nowarn:3021 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>csharp.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/csharp.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/csharp.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>csharp.exe.sources</response>
     </project>
-    <project dir="tools/compiler-tester" library="compiler-tester-net_4_5">
+    <project dir="tools/compiler-tester" library="compiler-tester-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>compiler-tester.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/compiler-tester.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/compiler-tester.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>compiler-tester.exe.sources</response>
     </project>
-    <project dir="tools/mono-xmltool" library="mono-xmltool-net_4_5">
+    <project dir="tools/mono-xmltool" library="mono-xmltool-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.Xml.dll -r:Commons.Xml.Relaxng.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.Xml.dll -r:Commons.Xml.Relaxng.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>mono-xmltool.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/mono-xmltool.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/mono-xmltool.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>mono-xmltool.exe.sources</response>
     </project>
-    <project dir="tools/mono-shlib-cop" library="mono-shlib-cop-net_4_5">
+    <project dir="tools/mono-shlib-cop" library="mono-shlib-cop-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:Mono.Posix.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:Mono.Posix.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>mono-shlib-cop.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/mono-shlib-cop.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/mono-shlib-cop.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>mono-shlib-cop.exe.sources</response>
     </project>
-    <project dir="tools/sgen" library="sgen-net_4_5">
+    <project dir="tools/sgen" library="sgen-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.Xml.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.Xml.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>sgen.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/sgen.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/sgen.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>sgen.exe.sources</response>
     </project>
-    <project dir="tools/mconfig" library="mconfig-net_4_5">
+    <project dir="tools/mconfig" library="mconfig-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.Xml.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.Xml.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>mconfig.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/mconfig.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/mconfig.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>mconfig.exe.sources</response>
     </project>
-    <project dir="tools/installutil" library="installutil-net_4_5">
+    <project dir="tools/installutil" library="installutil-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.Configuration.Install -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.Configuration.Install -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>installutil.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/installutil.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/installutil.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>installutil.exe.sources</response>
     </project>
-    <project dir="tools/nunitreport" library="nunitreport-net_4_5">
+    <project dir="tools/nunitreport" library="nunitreport-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>nunitreport.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/nunitreport.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/nunitreport.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>nunitreport.exe.sources</response>
     </project>
-    <project dir="tools/pdb2mdb" library="pdb2mdb-net_4_5">
+    <project dir="tools/pdb2mdb" library="pdb2mdb-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /r:Mono.Cecil.dll /r:Mono.CompilerServices.SymbolWriter.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /r:Mono.Cecil.dll /r:Mono.CompilerServices.SymbolWriter.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>pdb2mdb.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/pdb2mdb.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/pdb2mdb.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>pdb2mdb.exe.sources</response>
     </project>
-    <project dir="tools/SqlSharp" library="sqlsharp-net_4_5">
+    <project dir="tools/SqlSharp" library="sqlsharp-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.dll -r:System.Xml.dll -r:System.Data.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.dll -r:System.Xml.dll -r:System.Data.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>sqlsharp.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/sqlsharp.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/sqlsharp.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>sqlsharp.exe.sources</response>
     </project>
-    <project dir="tools/sqlmetal" library="sqlmetal-net_4_5">
+    <project dir="tools/sqlmetal" library="sqlmetal-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -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 -r:System.Configuration -r:System.Core -r:System.Data -r:System.Data.Linq -r:System.Xml -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -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 -r:System.Configuration -r:System.Core -r:System.Data -r:System.Data.Linq -r:System.Xml -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>sqlmetal.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/sqlmetal.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/sqlmetal.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>sqlmetal.exe.sources</response>
     </project>
-    <project dir="tools/svcutil" library="svcutil-net_4_5">
+    <project dir="tools/svcutil" library="svcutil-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.Core.dll -r:System.Runtime.Serialization.dll -r:System.ServiceModel.dll -r:System.Web.Services.dll -r:System.Configuration.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.Core.dll -r:System.Runtime.Serialization.dll -r:System.ServiceModel.dll -r:System.Web.Services.dll -r:System.Configuration.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>svcutil.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/svcutil.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/svcutil.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>svcutil.exe.sources</response>
     </project>
-    <project dir="tools/ictool" library="ictool-net_4_5">
+    <project dir="tools/ictool" library="ictool-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>ictool.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/ictool.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/ictool.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>ictool.exe.sources</response>
     </project>
-    <project dir="tools/disco" library="disco-net_4_5">
+    <project dir="tools/disco" library="disco-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.Xml.dll -r:System.Web.Services.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.Xml.dll -r:System.Web.Services.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>disco.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/disco.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/disco.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>disco.exe.sources</response>
     </project>
-    <project dir="tools/soapsuds" library="soapsuds-net_4_5">
+    <project dir="tools/soapsuds" library="soapsuds-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.Runtime.Remoting.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.Runtime.Remoting.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>soapsuds.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/soapsuds.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/soapsuds.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>soapsuds.exe.sources</response>
     </project>
-    <project dir="tools/browsercaps-updater" library="browsercaps-updater-net_4_5">
+    <project dir="tools/browsercaps-updater" library="browsercaps-updater-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>browsercaps-updater.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/browsercaps-updater.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/browsercaps-updater.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>browsercaps-updater.exe.sources</response>
     </project>
-    <project dir="tools/cil-strip" library="mono-cil-strip-net_4_5">
+    <project dir="tools/cil-strip" library="mono-cil-strip-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>mono-cil-strip.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/mono-cil-strip.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/mono-cil-strip.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>mono-cil-strip.exe.sources</response>
     </project>
-    <project dir="tools/macpack" library="macpack-net_4_5">
+    <project dir="tools/macpack" library="macpack-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /resource:LOADER /resource:PLIST -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /resource:LOADER /resource:PLIST -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>macpack.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/macpack.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/macpack.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>macpack.exe.sources</response>
     </project>
-    <project dir="tools/dtd2rng" library="dtd2rng-net_4_5">
+    <project dir="tools/dtd2rng" library="dtd2rng-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.Xml.dll -r:Commons.Xml.Relaxng.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.Xml.dll -r:Commons.Xml.Relaxng.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>dtd2rng.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/dtd2rng.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/dtd2rng.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>dtd2rng.exe.sources</response>
     </project>
-    <project dir="tools/dtd2xsd" library="dtd2xsd-net_4_5">
+    <project dir="tools/dtd2xsd" library="dtd2xsd-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.Xml.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.Xml.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>dtd2xsd.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/dtd2xsd.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/dtd2xsd.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>dtd2xsd.exe.sources</response>
     </project>
-    <project dir="tools/mdoc" library="mdoc-net_4_5">
+    <project dir="tools/mdoc" library="mdoc-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /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 /r:System.Web.dll /r:System.Xml.Linq.dll /r:ICSharpCode.SharpZipLib.dll /r:Mono.Cecil.dll /r:monodoc.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /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 /r:System.Web.dll /r:System.Xml.Linq.dll /r:ICSharpCode.SharpZipLib.dll /r:Mono.Cecil.dll /r:monodoc.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>mdoc.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/mdoc.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/mdoc.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>mdoc.exe.sources</response>
     </project>
-    <project dir="tools/mod" library="mod-net_4_5">
+    <project dir="tools/mod" library="mod-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /r:monodoc.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /r:monodoc.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>mod.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/mod.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/mod.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>mod.exe.sources</response>
     </project>
-    <project dir="tools/installvst" library="installvst-net_4_5">
+    <project dir="tools/installvst" library="installvst-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.Xml.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.Xml.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>installvst.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/installvst.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/installvst.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>installvst.exe.sources</response>
     </project>
-    <project dir="tools/lc" library="lc-net_4_5">
+    <project dir="tools/lc" library="lc-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:System.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>lc.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/lc.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/lc.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>lc.exe.sources</response>
     </project>
-    <project dir="tools/mono-configuration-crypto/lib" library="Mono.Configuration.Crypto-net_4_5">
+    <project dir="tools/mono-configuration-crypto/lib" library="Mono.Configuration.Crypto-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -r:System.dll -r:Mono.Security.dll -r:System.Security.dll -r:System.Configuration.dll -r:System.Xml.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:System.dll -r:Mono.Security.dll -r:System.Security.dll -r:System.Configuration.dll -r:System.Xml.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>Mono.Configuration.Crypto.dll</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/Mono.Configuration.Crypto.dll</library_output>
+      <library_output>./../../../class/lib/net_4_x/Mono.Configuration.Crypto.dll</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>Mono.Configuration.Crypto.dll.sources</response>
     </project>
-    <project dir="tools/mono-configuration-crypto/cli" library="mono-configuration-crypto-net_4_5">
+    <project dir="tools/mono-configuration-crypto/cli" library="mono-configuration-crypto-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:Mono.Security.dll -r:System.Security.dll -r:System.Configuration.dll -r:System.dll -r:./../../../class/lib/net_4_5/Mono.Configuration.Crypto.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:Mono.Security.dll -r:System.Security.dll -r:System.Configuration.dll -r:System.dll -r:./../../../class/lib/net_4_x/Mono.Configuration.Crypto.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>mono-configuration-crypto.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../../class/lib/net_4_5/mono-configuration-crypto.exe</library_output>
+      <library_output>./../../../class/lib/net_4_x/mono-configuration-crypto.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>mono-configuration-crypto.exe.sources</response>
     </project>
-    <project dir="tools/ccrewrite" library="ccrewrite-net_4_5">
+    <project dir="tools/ccrewrite" library="ccrewrite-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:Mono.CodeContracts.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:Mono.CodeContracts.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>ccrewrite.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/ccrewrite.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/ccrewrite.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>ccrewrite.exe.sources</response>
     </project>
-    <project dir="tools/cccheck" library="cccheck-net_4_5">
+    <project dir="tools/cccheck" library="cccheck-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -r:Mono.CodeContracts.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:Mono.CodeContracts.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>cccheck.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/cccheck.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/cccheck.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>cccheck.exe.sources</response>
     </project>
-    <project dir="tools/mdb-rebase" library="mdbrebase-net_4_5">
+    <project dir="tools/mdb-rebase" library="mdbrebase-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /r:Mono.CompilerServices.SymbolWriter.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /r:Mono.CompilerServices.SymbolWriter.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>mdbrebase.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/mdbrebase.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/mdbrebase.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>mdbrebase.exe.sources</response>
     </project>
-    <project dir="tools/ikdasm" library="ikdasm-net_4_5">
+    <project dir="tools/ikdasm" library="ikdasm-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 -d:NO_SYMBOL_WRITER /r:System.Security.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 -d:NO_SYMBOL_WRITER /r:System.Security.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>ikdasm.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/ikdasm.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/ikdasm.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>ikdasm.exe.sources</response>
     </project>
-    <project dir="tools/mono-symbolicate" library="mono-symbolicate-net_4_5">
+    <project dir="tools/mono-symbolicate" library="mono-symbolicate-net_4_x">
       <boot></boot>
-      <flags>/codepage:65001 /r:Mono.Cecil.dll /r:Mono.CompilerServices.SymbolWriter.dll /r:System.Xml -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_5 -r:mscorlib.dll -debug -optimize /noconfig</flags>
+      <flags>/codepage:65001 /r:Mono.Cecil.dll /r:Mono.CompilerServices.SymbolWriter.dll /r:System.Xml -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/net_4_x -r:mscorlib.dll -debug -optimize /noconfig</flags>
       <output>mono-symbolicate.exe</output>
       <built_sources></built_sources>
-      <library_output>./../../class/lib/net_4_5/mono-symbolicate.exe</library_output>
+      <library_output>./../../class/lib/net_4_x/mono-symbolicate.exe</library_output>
       <fx_version>4.5</fx_version>
-      <profile>net_4_5</profile>
+      <profile>net_4_x</profile>
       <response>mono-symbolicate.exe.sources</response>
     </project>
     <project dir="class/Microsoft.Build.Framework" library="Microsoft.Build.Framework-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize /noconfig /r:mscorlib.dll /r:System.dll -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize /noconfig /r:mscorlib.dll /r:System.dll -r:System</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 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll</flags>
       <output>Microsoft.Build.Framework_test_xbuild_12.dll</output>
       <built_sources></built_sources>
       <library_output>Microsoft.Build.Framework_test_xbuild_12.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Utilities" library="Microsoft.Build.Utilities-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll -r:System -r:System.Core -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll -r:System -r:System.Core -r:System.Xml</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 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll -r:System.dll -r:System.Core.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll -r:System.dll -r:System.Core.dll</flags>
       <output>Microsoft.Build.Utilities_test_xbuild_12.dll</output>
       <built_sources></built_sources>
       <library_output>Microsoft.Build.Utilities_test_xbuild_12.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Engine" library="Microsoft.Build.Engine-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll -r:System -r:System.Core -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll -r:System -r:System.Core -r:System.Xml</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 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll /r:System.Xml.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll /r:System.Xml.dll</flags>
       <output>Microsoft.Build.Engine_test_xbuild_12.dll</output>
       <built_sources></built_sources>
       <library_output>Microsoft.Build.Engine_test_xbuild_12.dll</library_output>
     </project>
     <project dir="class/Mono.XBuild.Tasks" library="Mono.XBuild.Tasks-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Xml.dll -r:System -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Xml.dll -r:System -r:System.Xml</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 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize -r:./../../class/lib/xbuild_12/Mono.XBuild.Tasks.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize -r:./../../class/lib/xbuild_12/Mono.XBuild.Tasks.dll</flags>
       <output>Mono.XBuild.Tasks_test_xbuild_12.dll</output>
       <built_sources></built_sources>
       <library_output>Mono.XBuild.Tasks_test_xbuild_12.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Tasks" library="Microsoft.Build.Tasks-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r: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 -r:System -r:System.Core -r:System.Xml -r:System.Windows.Forms</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r: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 -r:System -r:System.Core -r:System.Xml -r:System.Windows.Forms</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 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Tasks.v12.0.dll /r:System.Xml.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll /r:./../../class/lib/xbuild_12/Mono.XBuild.Tasks.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll /r:System.Core.dll /r:Microsoft.Build.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.Tasks.v12.0.dll /r:System.Xml.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll /r:./../../class/lib/xbuild_12/Mono.XBuild.Tasks.dll /r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll /r:System.Core.dll /r:Microsoft.Build.dll</flags>
       <output>Microsoft.Build.Tasks_test_xbuild_12.dll</output>
       <built_sources></built_sources>
       <library_output>Microsoft.Build.Tasks_test_xbuild_12.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build" library="Microsoft.Build-xbuild_12">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:Microsoft.Build.Engine.dll /r:Microsoft.Build.Framework.dll /d:MICROSOFT_BUILD_DLL -r:System -r:System.Core -r:System.Xml -r:Microsoft.Build.Engine -r:Microsoft.Build.Framework</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:Microsoft.Build.Engine.dll /r:Microsoft.Build.Framework.dll /d:MICROSOFT_BUILD_DLL -r:System -r:System.Core -r:System.Xml -r:Microsoft.Build.Engine -r:Microsoft.Build.Framework</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 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.dll /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:Microsoft.Build.Engine.dll /r:Microsoft.Build.Framework.dll /d:MICROSOFT_BUILD_DLL -r:System -r:System.Core -r:System.Xml -r:Microsoft.Build.Engine -r:Microsoft.Build.Framework /r:Microsoft.Build.Utilities.v4.0.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize -r:./../../class/lib/xbuild_12/Microsoft.Build.dll /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:Microsoft.Build.Engine.dll /r:Microsoft.Build.Framework.dll /d:MICROSOFT_BUILD_DLL -r:System -r:System.Core -r:System.Xml -r:Microsoft.Build.Engine -r:Microsoft.Build.Framework /r:Microsoft.Build.Utilities.v4.0.dll</flags>
       <output>Microsoft.Build_test_xbuild_12.dll</output>
       <built_sources>Microsoft.Build.Internal/ExpressionParser.cs</built_sources>
       <library_output>Microsoft.Build_test_xbuild_12.dll</library_output>
     </project>
     <project dir="tools/xbuild" library="xbuild-xbuild_12">
       <boot></boot>
-      <flags>/codepage:65001 -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Tasks.v12.0.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:./../../class/lib/xbuild_12/Microsoft.Build.Framework.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Utilities.v12.0.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_12/Microsoft.Build.Tasks.v12.0.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_12 -r:mscorlib.dll -debug -d:XBUILD_12 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize /noconfig</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 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize /noconfig /r:mscorlib.dll /r:System.dll -r:System</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize /noconfig /r:mscorlib.dll /r:System.dll -r:System</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 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll</flags>
       <output>Microsoft.Build.Framework_test_xbuild_14.dll</output>
       <built_sources></built_sources>
       <library_output>Microsoft.Build.Framework_test_xbuild_14.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Utilities" library="Microsoft.Build.Utilities-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll -r:System -r:System.Core -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll -r:System -r:System.Core -r:System.Xml</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 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll -r:System.dll -r:System.Core.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll -r:System.dll -r:System.Core.dll</flags>
       <output>Microsoft.Build.Utilities_test_xbuild_14.dll</output>
       <built_sources></built_sources>
       <library_output>Microsoft.Build.Utilities_test_xbuild_14.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Engine" library="Microsoft.Build.Engine-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll -r:System -r:System.Core -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll -r:System -r:System.Core -r:System.Xml</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 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll /r:System.Xml.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll /r:System.Xml.dll</flags>
       <output>Microsoft.Build.Engine_test_xbuild_14.dll</output>
       <built_sources></built_sources>
       <library_output>Microsoft.Build.Engine_test_xbuild_14.dll</library_output>
     </project>
     <project dir="class/Mono.XBuild.Tasks" library="Mono.XBuild.Tasks-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Xml.dll -r:System -r:System.Xml</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Xml.dll -r:System -r:System.Xml</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 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize -r:./../../class/lib/xbuild_14/Mono.XBuild.Tasks.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize -r:./../../class/lib/xbuild_14/Mono.XBuild.Tasks.dll</flags>
       <output>Mono.XBuild.Tasks_test_xbuild_14.dll</output>
       <built_sources></built_sources>
       <library_output>Mono.XBuild.Tasks_test_xbuild_14.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build.Tasks" library="Microsoft.Build.Tasks-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r: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 -r:System -r:System.Core -r:System.Xml -r:System.Windows.Forms</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r: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 -r:System -r:System.Core -r:System.Xml -r:System.Windows.Forms</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 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Tasks.Core.dll /r:System.Xml.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll /r:./../../class/lib/xbuild_14/Mono.XBuild.Tasks.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll /r:System.Core.dll /r:Microsoft.Build.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.Tasks.Core.dll /r:System.Xml.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll /r:./../../class/lib/xbuild_14/Mono.XBuild.Tasks.dll /r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll /r:System.Core.dll /r:Microsoft.Build.dll</flags>
       <output>Microsoft.Build.Tasks_test_xbuild_14.dll</output>
       <built_sources></built_sources>
       <library_output>Microsoft.Build.Tasks_test_xbuild_14.dll</library_output>
     </project>
     <project dir="class/Microsoft.Build" library="Microsoft.Build-xbuild_14">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:Microsoft.Build.Engine.dll /r:Microsoft.Build.Framework.dll /d:MICROSOFT_BUILD_DLL -r:System -r:System.Core -r:System.Xml -r:Microsoft.Build.Engine -r:Microsoft.Build.Framework</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize /noconfig /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:Microsoft.Build.Engine.dll /r:Microsoft.Build.Framework.dll /d:MICROSOFT_BUILD_DLL -r:System -r:System.Core -r:System.Xml -r:Microsoft.Build.Engine -r:Microsoft.Build.Framework</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 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.dll /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:Microsoft.Build.Engine.dll /r:Microsoft.Build.Framework.dll /d:MICROSOFT_BUILD_DLL -r:System -r:System.Core -r:System.Xml -r:Microsoft.Build.Engine -r:Microsoft.Build.Framework /r:Microsoft.Build.Utilities.v4.0.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize -r:./../../class/lib/xbuild_14/Microsoft.Build.dll /r:mscorlib.dll /r:System.dll /r:System.Core.dll /r:System.Xml.dll /r:Microsoft.Build.Engine.dll /r:Microsoft.Build.Framework.dll /d:MICROSOFT_BUILD_DLL -r:System -r:System.Core -r:System.Xml -r:Microsoft.Build.Engine -r:Microsoft.Build.Framework /r:Microsoft.Build.Utilities.v4.0.dll</flags>
       <output>Microsoft.Build_test_xbuild_14.dll</output>
       <built_sources>Microsoft.Build.Internal/ExpressionParser.cs</built_sources>
       <library_output>Microsoft.Build_test_xbuild_14.dll</library_output>
     </project>
     <project dir="tools/xbuild" library="xbuild-xbuild_14">
       <boot></boot>
-      <flags>/codepage:65001 -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Tasks.Core.dll -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_5 -optimize /noconfig</flags>
+      <flags>/codepage:65001 -r:./../../class/lib/xbuild_14/Microsoft.Build.Framework.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Utilities.Core.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Engine.dll -r:./../../class/lib/xbuild_14/Microsoft.Build.Tasks.Core.dll -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -lib:./../../class/lib/xbuild_14 -r:mscorlib.dll -debug -d:XBUILD_12 -d:XBUILD_14 -d:MONO -d:DISABLE_CAS_USE -lib:./../../class/lib/net_4_x -optimize /noconfig</flags>
       <output>xbuild.exe</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/xbuild_14/xbuild.exe</library_output>
index ecfc8d6953c2c425241da579a84e2ce28e4d254a..2088fa3f0acf3f4f0573e740b00ff492b00a37d3 100644 (file)
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>\r
   </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>..\..\..\libgc\include;..\..\VSDependancies\include\glib-2.0;..\..\VSDependancies\include\glib-2.0\glib;..\..\VSDependancies\lib\glib-2.0\include;..\..\VSDependancies\include;..\..\;C:\cygwin\opt\mono\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
@@ -97,7 +97,7 @@
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>glib-2.0.lib;gmodule-2.0.lib;ws2_32.lib;gthread-2.0.lib;gobject-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
       </PrecompiledHeader>\r
       <WarningLevel>Level3</WarningLevel>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
     </ClCompile>\r
     <ProjectReference>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </Midl>\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>..\..\..\libgc\include;..\..\VSDependancies\include\glib-2.0;..\..\VSDependancies\include\glib-2.0\glib;..\..\VSDependancies\lib\glib-2.0\include;..\..\VSDependancies\include;..\..\;C:\cygwin\opt\mono\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
       </PrecompiledHeader>\r
       <WarningLevel>Level3</WarningLevel>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
     </ClCompile>\r
     <ProjectReference>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     <ProjectReference Include="libmono.vcxproj">\r
       <Project>{cb0d9e92-293c-439c-9ac7-c5f59b6e0771}</Project>\r
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+      <Private>false</Private>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
     </ProjectReference>\r
   </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
index 3159e42dbb82f9e1cca8e6ccd4a1fa93f00d1eba..42a5bd68e092bd3c059328a98257b833996cd210 100644 (file)
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>\r
   </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>..\..;..\..\VSDependancies\include\glib-2.0\glib;..\..\VSDependancies\include;C:\cygwin\opt\mono\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src;$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
@@ -97,7 +97,7 @@
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>glib-2.0.lib;gmodule-2.0.lib;ws2_32.lib;gthread-2.0.lib;gobject-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
       </PrecompiledHeader>\r
       <WarningLevel>Level3</WarningLevel>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src;$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
     </ClCompile>\r
     <ProjectReference>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </Midl>\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>..\..;..\..\VSDependancies\include\glib-2.0\glib;..\..\VSDependancies\include;C:\cygwin\opt\mono\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src;$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
       </PrecompiledHeader>\r
       <WarningLevel>Level3</WarningLevel>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)..\eglib\src;$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
     </ClCompile>\r
     <ProjectReference>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     <ProjectReference Include="libmono.vcxproj">\r
       <Project>{cb0d9e92-293c-439c-9ac7-c5f59b6e0771}</Project>\r
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+      <Private>false</Private>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
     </ProjectReference>\r
   </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
index 69a9aefb9c0520e2952dd187cb6317620c5e553e..6986e99de777b4c346960db7ce742ce6668b42a0 100644 (file)
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
   </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <ClCompile>\r
@@ -89,7 +89,7 @@
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>Ws2_32.lib;Psapi.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>Ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <OptimizeReferences>false</OptimizeReferences>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>Ws2_32.lib;Psapi.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>Ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <RandomizedBaseAddress>false</RandomizedBaseAddress>\r
       <DataExecutionPrevention>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>Ws2_32.lib;Psapi.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>Ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <OptimizeReferences>false</OptimizeReferences>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>Ws2_32.lib;Psapi.lib;eglib.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>Ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <TargetMachine>MachineX64</TargetMachine>\r
     </Link>\r
     <ProjectReference Include="eglib.vcxproj">\r
       <Project>{158073ed-99ae-4196-9edc-ddb2344f8466}</Project>\r
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+      <Private>false</Private>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
     </ProjectReference>\r
   </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
index 8ec30a352f2d7ebbb1973164d584c3c912448348..772dd3692c51cebdf903baa56d5465c814a8cecd 100644 (file)
   <PropertyGroup Label="UserMacros" />\r
   <PropertyGroup>\r
     <_ProjectFileVersion>10.0.30319.1</_ProjectFileVersion>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">false</LinkIncremental>\r
-    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/bin\</OutDir>\r
-    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)_$(Configuration)/obj/$(ProjectName)\</IntDir>\r
+    <OutDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\bin\$(Configuration)\</OutDir>\r
+    <IntDir Condition="'$(Configuration)|$(Platform)'=='Release|x64'">$(Platform)\obj\$(ProjectName)\$(Configuration)\</IntDir>\r
     <LinkIncremental Condition="'$(Configuration)|$(Platform)'=='Release|x64'">false</LinkIncremental>\r
   </PropertyGroup>\r
   <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>..\..\..\libgc\include;..\..\VSDependancies\include\glib-2.0;..\..\VSDependancies\include\glib-2.0\glib;..\..\VSDependancies\lib\glib-2.0\include;..\..\VSDependancies\include;..\..\;C:\cygwin\opt\mono\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
@@ -97,7 +97,7 @@
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </ProjectReference>\r
     <Link>\r
-      <AdditionalDependencies>glib-2.0.lib;gmodule-2.0.lib;ws2_32.lib;gthread-2.0.lib;gobject-2.0.lib;libmono.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+      <AdditionalDependencies>ws2_32.lib;Psapi.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
       <AdditionalLibraryDirectories>$(Platform)_$(Configuration)/lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
       <GenerateDebugInformation>true</GenerateDebugInformation>\r
       <SubSystem>Console</SubSystem>\r
       </PrecompiledHeader>\r
       <WarningLevel>Level3</WarningLevel>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
     </ClCompile>\r
     <ProjectReference>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     </Midl>\r
     <ClCompile>\r
       <Optimization>Disabled</Optimization>\r
-      <AdditionalIncludeDirectories>..\..\..\libgc\include;..\..\VSDependancies\include\glib-2.0;..\..\VSDependancies\include\glib-2.0\glib;..\..\VSDependancies\lib\glib-2.0\include;..\..\VSDependancies\include;..\..\;C:\cygwin\opt\mono\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
       <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
       <MinimalRebuild>true</MinimalRebuild>\r
       <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>\r
       </PrecompiledHeader>\r
       <WarningLevel>Level3</WarningLevel>\r
       <DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
+      <AdditionalIncludeDirectories>$(SolutionDir)include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
     </ClCompile>\r
     <ProjectReference>\r
       <LinkLibraryDependencies>false</LinkLibraryDependencies>\r
     <ProjectReference Include="libmono.vcxproj">\r
       <Project>{cb0d9e92-293c-439c-9ac7-c5f59b6e0771}</Project>\r
       <ReferenceOutputAssembly>false</ReferenceOutputAssembly>\r
+      <Private>false</Private>\r
+      <CopyLocalSatelliteAssemblies>false</CopyLocalSatelliteAssemblies>\r
+      <LinkLibraryDependencies>true</LinkLibraryDependencies>\r
+      <UseLibraryDependencyInputs>false</UseLibraryDependencyInputs>\r
     </ProjectReference>\r
   </ItemGroup>\r
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />\r
index 5c1cb7cee5eb79460fcd343ab05c4ab09adfe674..f2e02e28cbc972cb0b2a5572971a885ac23bbeaa 100644 (file)
@@ -37,7 +37,15 @@ build_profiles += monodroid
 endif
 
 if INSTALL_MONOTOUCH
-build_profiles += monotouch monotouch_runtime monotouch_watch
+build_profiles += monotouch monotouch_runtime
+endif
+
+if INSTALL_MONOTOUCH_WATCH
+build_profiles += monotouch_watch
+endif
+
+if INSTALL_MONOTOUCH_TV
+build_profiles += monotouch_tv
 endif
 
 if INSTALL_XAMMAC
index 155690d75adad1c75ec255675b443167bc94089f..5b2e20602d5aa6ba0ab18adfd64134432ece4fb2 100644 (file)
@@ -8,13 +8,15 @@
 # (C) 2005 Novell (http://www.novell.com)
 #
 
+if [ -n "$DISABLE_MONO_RPM_AUTO_DEPS" ]; then exit 0; fi
+
 IFS=$'\n'
 filelist=($(grep -Ev '/usr/doc/|/usr/share/doc/'))
 monolist=($(printf "%s\n" "${filelist[@]}" | egrep "\\.(exe|dll)\$"))
 
 # Only include files with /gac/ in path
 #  (Allows packages to contain private assemblies that don't conflict with other packages)
-#monolist=($(printf "%s\n" "${monolist[@]}" | egrep "/gac/"))
+monolist=($(printf "%s\n" "${monolist[@]}" | egrep "/gac/"))
 # Disabled... see ChangeLog
 
 # Set the prefix, unless it is overriden (used when building mono rpms)
index d7b6a325bc32e17394b502c8ec800400359442e1..5e0ef2f1cfd35e650d84d380c553d3d108a48dc0 100644 (file)
@@ -9,6 +9,8 @@
 # (C) 2008 Novell (http://www.novell.com)
 #
 
+if [ -n "$DISABLE_MONO_RPM_AUTO_DEPS" ]; then exit 0; fi
+
 IFS=$'\n'
 filelist=($(grep -Ev '/usr/doc/|/usr/share/doc/'))
 monolist=($(printf "%s\n" "${filelist[@]}" | egrep "\\.(exe|dll)\$"))
index c91511cf0e24d3f70f944a3e2676c44b92c2f01a..79154fc99bbd9b232eb8c4bd1e16119b07d9bb45 100644 (file)
@@ -39,6 +39,7 @@ MPH_UNIX_SOURCE =                             \
        serial.c                                \
        sys-mman.c                              \
        sys-sendfile.c                          \
+       sys-socket.c                            \
        sys-stat.c                              \
        sys-statvfs.c                           \
        sys-time.c                              \
@@ -135,12 +136,14 @@ refresh:
        --impl-macro=_GNU_SOURCE --impl-macro=_XOPEN_SOURCE   \
        --impl-header="<sys/types.h>"                         \
        --impl-header="<sys/stat.h>"                          \
+       --autoconf-header="<netinet/in.h>"                    \
        --autoconf-header="<sys/time.h>"                      \
        --autoconf-header="<sys/poll.h>"                      \
        --autoconf-header="<sys/wait.h>"                      \
        --autoconf-header="<sys/statvfs.h>"                   \
        --autoconf-header="<sys/xattr.h>"                     \
        --autoconf-header="<sys/mman.h>"                      \
+       --autoconf-header="<sys/socket.h>"                    \
        --autoconf-header="<sys/uio.h>"                       \
        --autoconf-header="<unistd.h>"                        \
        --impl-header="<fcntl.h>"                             \
@@ -158,7 +161,7 @@ refresh:
        --rename-member=st_mtime=st_mtime_                    \
        --rename-namespace=Mono.Unix.Native=Mono.Posix        \
        --library=MonoPosixHelper                             \
-       $(mcs_topdir)/class/lib/net_4_5/Mono.Posix.dll map
+       $(mcs_topdir)/class/lib/net_4_x/Mono.Posix.dll map
 
 # Useful if mono is compiled with --enable-shared=no
 patch-libtool:
index 26ee780169183aff8538e23987818f38721356f4..74c2fdf5648bd0613f87d8cb93b41431e1481e2d 100644 (file)
@@ -80,7 +80,27 @@ Mono_Posix_Syscall_strerror_r (int errnum, char *buf, mph_size_t n)
        mph_return_if_size_t_overflow (n);
 
        /* first, check for valid errnum */
+#if PLATFORM_ANDROID
+       /* Android NDK defines _GNU_SOURCE but strerror_r follows the XSI semantics
+        * not the GNU one. XSI version returns an integer, as opposed to the GNU one
+        * which returns pointer to the buffer.
+        */
+       if (strerror_r (errnum, ebuf, sizeof(ebuf)) == -1) {
+               /* XSI strerror_r will return -1 if errno is set, but if we leave the value
+                * alone it breaks Mono.Posix StdioFileStream tests, so we'll ignore the value
+                * and set errno as below
+                */
+               errno = EINVAL;
+               return -1;
+       }
+       r = ebuf;
+#else
        r = strerror_r (errnum, ebuf, sizeof(ebuf));
+#endif
+       if (!r) {
+               errno = EINVAL;
+               return -1;
+       } 
        len = strlen (r);
 
        if (r == ebuf ||
index 737c217727585521e981daf3f93ed8c7b5eb1f7b..ee61ae661d9be7e741c0997fdf7e6de54ccc5d9a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file was automatically generated by create-native-map from /cvs/mono/mcs/class/lib/net_4_5/Mono.Posix.dll.
+ * This file was automatically generated by create-native-map from /home/kiesssn/prog/mono/mono/mcs/class/lib/net_4_x/Mono.Posix.dll.
  *
  * DO NOT MODIFY.
  */
@@ -27,6 +27,9 @@
  */
 #include <sys/types.h>
 #include <sys/stat.h>
+#ifdef HAVE_NETINET_IN_H
+#include <netinet/in.h>
+#endif /* ndef HAVE_NETINET_IN_H */
 #ifdef HAVE_SYS_TIME_H
 #include <sys/time.h>
 #endif /* ndef HAVE_SYS_TIME_H */
@@ -45,6 +48,9 @@
 #ifdef HAVE_SYS_MMAN_H
 #include <sys/mman.h>
 #endif /* ndef HAVE_SYS_MMAN_H */
+#ifdef HAVE_SYS_SOCKET_H
+#include <sys/socket.h>
+#endif /* ndef HAVE_SYS_SOCKET_H */
 #ifdef HAVE_SYS_UIO_H
 #include <sys/uio.h>
 #endif /* ndef HAVE_SYS_UIO_H */
@@ -3115,6 +3121,40 @@ Mono_Posix_ToIovec (struct iovec *from, struct Mono_Posix_Iovec *to)
 #endif /* ndef HAVE_STRUCT_IOVEC */
 
 
+#ifdef HAVE_STRUCT_LINGER
+int
+Mono_Posix_FromLinger (struct Mono_Posix_Linger *from, struct linger *to)
+{
+       _cnm_return_val_if_overflow (int, from->l_onoff, -1);
+       _cnm_return_val_if_overflow (int, from->l_linger, -1);
+
+       memset (to, 0, sizeof(*to));
+
+       to->l_onoff  = from->l_onoff;
+       to->l_linger = from->l_linger;
+
+       return 0;
+}
+#endif /* ndef HAVE_STRUCT_LINGER */
+
+
+#ifdef HAVE_STRUCT_LINGER
+int
+Mono_Posix_ToLinger (struct linger *from, struct Mono_Posix_Linger *to)
+{
+       _cnm_return_val_if_overflow (int, from->l_onoff, -1);
+       _cnm_return_val_if_overflow (int, from->l_linger, -1);
+
+       memset (to, 0, sizeof(*to));
+
+       to->l_onoff  = from->l_onoff;
+       to->l_linger = from->l_linger;
+
+       return 0;
+}
+#endif /* ndef HAVE_STRUCT_LINGER */
+
+
 int Mono_Posix_FromLockType (short x, short *r)
 {
        *r = 0;
@@ -3217,6 +3257,212 @@ int Mono_Posix_ToLockfCommand (int x, int *r)
        errno = EINVAL; return -1;
 }
 
+int Mono_Posix_FromMessageFlags (int x, int *r)
+{
+       *r = 0;
+       if ((x & Mono_Posix_MessageFlags_MSG_CMSG_CLOEXEC) == Mono_Posix_MessageFlags_MSG_CMSG_CLOEXEC)
+#ifdef MSG_CMSG_CLOEXEC
+               *r |= MSG_CMSG_CLOEXEC;
+#else /* def MSG_CMSG_CLOEXEC */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_CMSG_CLOEXEC */
+       if ((x & Mono_Posix_MessageFlags_MSG_CONFIRM) == Mono_Posix_MessageFlags_MSG_CONFIRM)
+#ifdef MSG_CONFIRM
+               *r |= MSG_CONFIRM;
+#else /* def MSG_CONFIRM */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_CONFIRM */
+       if ((x & Mono_Posix_MessageFlags_MSG_CTRUNC) == Mono_Posix_MessageFlags_MSG_CTRUNC)
+#ifdef MSG_CTRUNC
+               *r |= MSG_CTRUNC;
+#else /* def MSG_CTRUNC */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_CTRUNC */
+       if ((x & Mono_Posix_MessageFlags_MSG_DONTROUTE) == Mono_Posix_MessageFlags_MSG_DONTROUTE)
+#ifdef MSG_DONTROUTE
+               *r |= MSG_DONTROUTE;
+#else /* def MSG_DONTROUTE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_DONTROUTE */
+       if ((x & Mono_Posix_MessageFlags_MSG_DONTWAIT) == Mono_Posix_MessageFlags_MSG_DONTWAIT)
+#ifdef MSG_DONTWAIT
+               *r |= MSG_DONTWAIT;
+#else /* def MSG_DONTWAIT */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_DONTWAIT */
+       if ((x & Mono_Posix_MessageFlags_MSG_EOR) == Mono_Posix_MessageFlags_MSG_EOR)
+#ifdef MSG_EOR
+               *r |= MSG_EOR;
+#else /* def MSG_EOR */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_EOR */
+       if ((x & Mono_Posix_MessageFlags_MSG_ERRQUEUE) == Mono_Posix_MessageFlags_MSG_ERRQUEUE)
+#ifdef MSG_ERRQUEUE
+               *r |= MSG_ERRQUEUE;
+#else /* def MSG_ERRQUEUE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_ERRQUEUE */
+       if ((x & Mono_Posix_MessageFlags_MSG_FASTOPEN) == Mono_Posix_MessageFlags_MSG_FASTOPEN)
+#ifdef MSG_FASTOPEN
+               *r |= MSG_FASTOPEN;
+#else /* def MSG_FASTOPEN */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_FASTOPEN */
+       if ((x & Mono_Posix_MessageFlags_MSG_FIN) == Mono_Posix_MessageFlags_MSG_FIN)
+#ifdef MSG_FIN
+               *r |= MSG_FIN;
+#else /* def MSG_FIN */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_FIN */
+       if ((x & Mono_Posix_MessageFlags_MSG_MORE) == Mono_Posix_MessageFlags_MSG_MORE)
+#ifdef MSG_MORE
+               *r |= MSG_MORE;
+#else /* def MSG_MORE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_MORE */
+       if ((x & Mono_Posix_MessageFlags_MSG_NOSIGNAL) == Mono_Posix_MessageFlags_MSG_NOSIGNAL)
+#ifdef MSG_NOSIGNAL
+               *r |= MSG_NOSIGNAL;
+#else /* def MSG_NOSIGNAL */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_NOSIGNAL */
+       if ((x & Mono_Posix_MessageFlags_MSG_OOB) == Mono_Posix_MessageFlags_MSG_OOB)
+#ifdef MSG_OOB
+               *r |= MSG_OOB;
+#else /* def MSG_OOB */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_OOB */
+       if ((x & Mono_Posix_MessageFlags_MSG_PEEK) == Mono_Posix_MessageFlags_MSG_PEEK)
+#ifdef MSG_PEEK
+               *r |= MSG_PEEK;
+#else /* def MSG_PEEK */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_PEEK */
+       if ((x & Mono_Posix_MessageFlags_MSG_PROXY) == Mono_Posix_MessageFlags_MSG_PROXY)
+#ifdef MSG_PROXY
+               *r |= MSG_PROXY;
+#else /* def MSG_PROXY */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_PROXY */
+       if ((x & Mono_Posix_MessageFlags_MSG_RST) == Mono_Posix_MessageFlags_MSG_RST)
+#ifdef MSG_RST
+               *r |= MSG_RST;
+#else /* def MSG_RST */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_RST */
+       if ((x & Mono_Posix_MessageFlags_MSG_SYN) == Mono_Posix_MessageFlags_MSG_SYN)
+#ifdef MSG_SYN
+               *r |= MSG_SYN;
+#else /* def MSG_SYN */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_SYN */
+       if ((x & Mono_Posix_MessageFlags_MSG_TRUNC) == Mono_Posix_MessageFlags_MSG_TRUNC)
+#ifdef MSG_TRUNC
+               *r |= MSG_TRUNC;
+#else /* def MSG_TRUNC */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_TRUNC */
+       if ((x & Mono_Posix_MessageFlags_MSG_WAITALL) == Mono_Posix_MessageFlags_MSG_WAITALL)
+#ifdef MSG_WAITALL
+               *r |= MSG_WAITALL;
+#else /* def MSG_WAITALL */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_WAITALL */
+       if ((x & Mono_Posix_MessageFlags_MSG_WAITFORONE) == Mono_Posix_MessageFlags_MSG_WAITFORONE)
+#ifdef MSG_WAITFORONE
+               *r |= MSG_WAITFORONE;
+#else /* def MSG_WAITFORONE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef MSG_WAITFORONE */
+       if (x == 0)
+               return 0;
+       return 0;
+}
+
+int Mono_Posix_ToMessageFlags (int x, int *r)
+{
+       *r = 0;
+       if (x == 0)
+               return 0;
+#ifdef MSG_CMSG_CLOEXEC
+       if ((x & MSG_CMSG_CLOEXEC) == MSG_CMSG_CLOEXEC)
+               *r |= Mono_Posix_MessageFlags_MSG_CMSG_CLOEXEC;
+#endif /* ndef MSG_CMSG_CLOEXEC */
+#ifdef MSG_CONFIRM
+       if ((x & MSG_CONFIRM) == MSG_CONFIRM)
+               *r |= Mono_Posix_MessageFlags_MSG_CONFIRM;
+#endif /* ndef MSG_CONFIRM */
+#ifdef MSG_CTRUNC
+       if ((x & MSG_CTRUNC) == MSG_CTRUNC)
+               *r |= Mono_Posix_MessageFlags_MSG_CTRUNC;
+#endif /* ndef MSG_CTRUNC */
+#ifdef MSG_DONTROUTE
+       if ((x & MSG_DONTROUTE) == MSG_DONTROUTE)
+               *r |= Mono_Posix_MessageFlags_MSG_DONTROUTE;
+#endif /* ndef MSG_DONTROUTE */
+#ifdef MSG_DONTWAIT
+       if ((x & MSG_DONTWAIT) == MSG_DONTWAIT)
+               *r |= Mono_Posix_MessageFlags_MSG_DONTWAIT;
+#endif /* ndef MSG_DONTWAIT */
+#ifdef MSG_EOR
+       if ((x & MSG_EOR) == MSG_EOR)
+               *r |= Mono_Posix_MessageFlags_MSG_EOR;
+#endif /* ndef MSG_EOR */
+#ifdef MSG_ERRQUEUE
+       if ((x & MSG_ERRQUEUE) == MSG_ERRQUEUE)
+               *r |= Mono_Posix_MessageFlags_MSG_ERRQUEUE;
+#endif /* ndef MSG_ERRQUEUE */
+#ifdef MSG_FASTOPEN
+       if ((x & MSG_FASTOPEN) == MSG_FASTOPEN)
+               *r |= Mono_Posix_MessageFlags_MSG_FASTOPEN;
+#endif /* ndef MSG_FASTOPEN */
+#ifdef MSG_FIN
+       if ((x & MSG_FIN) == MSG_FIN)
+               *r |= Mono_Posix_MessageFlags_MSG_FIN;
+#endif /* ndef MSG_FIN */
+#ifdef MSG_MORE
+       if ((x & MSG_MORE) == MSG_MORE)
+               *r |= Mono_Posix_MessageFlags_MSG_MORE;
+#endif /* ndef MSG_MORE */
+#ifdef MSG_NOSIGNAL
+       if ((x & MSG_NOSIGNAL) == MSG_NOSIGNAL)
+               *r |= Mono_Posix_MessageFlags_MSG_NOSIGNAL;
+#endif /* ndef MSG_NOSIGNAL */
+#ifdef MSG_OOB
+       if ((x & MSG_OOB) == MSG_OOB)
+               *r |= Mono_Posix_MessageFlags_MSG_OOB;
+#endif /* ndef MSG_OOB */
+#ifdef MSG_PEEK
+       if ((x & MSG_PEEK) == MSG_PEEK)
+               *r |= Mono_Posix_MessageFlags_MSG_PEEK;
+#endif /* ndef MSG_PEEK */
+#ifdef MSG_PROXY
+       if ((x & MSG_PROXY) == MSG_PROXY)
+               *r |= Mono_Posix_MessageFlags_MSG_PROXY;
+#endif /* ndef MSG_PROXY */
+#ifdef MSG_RST
+       if ((x & MSG_RST) == MSG_RST)
+               *r |= Mono_Posix_MessageFlags_MSG_RST;
+#endif /* ndef MSG_RST */
+#ifdef MSG_SYN
+       if ((x & MSG_SYN) == MSG_SYN)
+               *r |= Mono_Posix_MessageFlags_MSG_SYN;
+#endif /* ndef MSG_SYN */
+#ifdef MSG_TRUNC
+       if ((x & MSG_TRUNC) == MSG_TRUNC)
+               *r |= Mono_Posix_MessageFlags_MSG_TRUNC;
+#endif /* ndef MSG_TRUNC */
+#ifdef MSG_WAITALL
+       if ((x & MSG_WAITALL) == MSG_WAITALL)
+               *r |= Mono_Posix_MessageFlags_MSG_WAITALL;
+#endif /* ndef MSG_WAITALL */
+#ifdef MSG_WAITFORONE
+       if ((x & MSG_WAITFORONE) == MSG_WAITFORONE)
+               *r |= Mono_Posix_MessageFlags_MSG_WAITFORONE;
+#endif /* ndef MSG_WAITFORONE */
+       return 0;
+}
+
 int Mono_Posix_FromMlockallFlags (int x, int *r)
 {
        *r = 0;
@@ -4491,6 +4737,52 @@ int Mono_Posix_ToSeekFlags (short x, short *r)
        errno = EINVAL; return -1;
 }
 
+int Mono_Posix_FromShutdownOption (int x, int *r)
+{
+       *r = 0;
+       if (x == Mono_Posix_ShutdownOption_SHUT_RD)
+#ifdef SHUT_RD
+               {*r = SHUT_RD; return 0;}
+#else /* def SHUT_RD */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SHUT_RD */
+       if (x == Mono_Posix_ShutdownOption_SHUT_RDWR)
+#ifdef SHUT_RDWR
+               {*r = SHUT_RDWR; return 0;}
+#else /* def SHUT_RDWR */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SHUT_RDWR */
+       if (x == Mono_Posix_ShutdownOption_SHUT_WR)
+#ifdef SHUT_WR
+               {*r = SHUT_WR; return 0;}
+#else /* def SHUT_WR */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SHUT_WR */
+       if (x == 0)
+               return 0;
+       errno = EINVAL; return -1;
+}
+
+int Mono_Posix_ToShutdownOption (int x, int *r)
+{
+       *r = 0;
+       if (x == 0)
+               return 0;
+#ifdef SHUT_RD
+       if (x == SHUT_RD)
+               {*r = Mono_Posix_ShutdownOption_SHUT_RD; return 0;}
+#endif /* ndef SHUT_RD */
+#ifdef SHUT_RDWR
+       if (x == SHUT_RDWR)
+               {*r = Mono_Posix_ShutdownOption_SHUT_RDWR; return 0;}
+#endif /* ndef SHUT_RDWR */
+#ifdef SHUT_WR
+       if (x == SHUT_WR)
+               {*r = Mono_Posix_ShutdownOption_SHUT_WR; return 0;}
+#endif /* ndef SHUT_WR */
+       errno = EINVAL; return -1;
+}
+
 int Mono_Posix_FromSignum (int x, int *r)
 {
        *r = 0;
@@ -7373,6 +7665,1286 @@ Mono_Posix_ToTimezone (struct timezone *from, struct Mono_Posix_Timezone *to)
 #endif /* ndef HAVE_STRUCT_TIMEZONE */
 
 
+int Mono_Posix_FromUnixAddressFamily (int x, int *r)
+{
+       *r = 0;
+       if (x == Mono_Posix_UnixAddressFamily_AF_ALG)
+#ifdef AF_ALG
+               {*r = AF_ALG; return 0;}
+#else /* def AF_ALG */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_ALG */
+       if (x == Mono_Posix_UnixAddressFamily_AF_APPLETALK)
+#ifdef AF_APPLETALK
+               {*r = AF_APPLETALK; return 0;}
+#else /* def AF_APPLETALK */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_APPLETALK */
+       if (x == Mono_Posix_UnixAddressFamily_AF_ASH)
+#ifdef AF_ASH
+               {*r = AF_ASH; return 0;}
+#else /* def AF_ASH */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_ASH */
+       if (x == Mono_Posix_UnixAddressFamily_AF_ATMPVC)
+#ifdef AF_ATMPVC
+               {*r = AF_ATMPVC; return 0;}
+#else /* def AF_ATMPVC */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_ATMPVC */
+       if (x == Mono_Posix_UnixAddressFamily_AF_ATMSVC)
+#ifdef AF_ATMSVC
+               {*r = AF_ATMSVC; return 0;}
+#else /* def AF_ATMSVC */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_ATMSVC */
+       if (x == Mono_Posix_UnixAddressFamily_AF_AX25)
+#ifdef AF_AX25
+               {*r = AF_AX25; return 0;}
+#else /* def AF_AX25 */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_AX25 */
+       if (x == Mono_Posix_UnixAddressFamily_AF_BLUETOOTH)
+#ifdef AF_BLUETOOTH
+               {*r = AF_BLUETOOTH; return 0;}
+#else /* def AF_BLUETOOTH */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_BLUETOOTH */
+       if (x == Mono_Posix_UnixAddressFamily_AF_BRIDGE)
+#ifdef AF_BRIDGE
+               {*r = AF_BRIDGE; return 0;}
+#else /* def AF_BRIDGE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_BRIDGE */
+       if (x == Mono_Posix_UnixAddressFamily_AF_CAIF)
+#ifdef AF_CAIF
+               {*r = AF_CAIF; return 0;}
+#else /* def AF_CAIF */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_CAIF */
+       if (x == Mono_Posix_UnixAddressFamily_AF_CAN)
+#ifdef AF_CAN
+               {*r = AF_CAN; return 0;}
+#else /* def AF_CAN */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_CAN */
+       if (x == Mono_Posix_UnixAddressFamily_AF_DECnet)
+#ifdef AF_DECnet
+               {*r = AF_DECnet; return 0;}
+#else /* def AF_DECnet */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_DECnet */
+       if (x == Mono_Posix_UnixAddressFamily_AF_ECONET)
+#ifdef AF_ECONET
+               {*r = AF_ECONET; return 0;}
+#else /* def AF_ECONET */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_ECONET */
+       if (x == Mono_Posix_UnixAddressFamily_AF_IEEE802154)
+#ifdef AF_IEEE802154
+               {*r = AF_IEEE802154; return 0;}
+#else /* def AF_IEEE802154 */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_IEEE802154 */
+       if (x == Mono_Posix_UnixAddressFamily_AF_INET)
+#ifdef AF_INET
+               {*r = AF_INET; return 0;}
+#else /* def AF_INET */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_INET */
+       if (x == Mono_Posix_UnixAddressFamily_AF_INET6)
+#ifdef AF_INET6
+               {*r = AF_INET6; return 0;}
+#else /* def AF_INET6 */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_INET6 */
+       if (x == Mono_Posix_UnixAddressFamily_AF_IPX)
+#ifdef AF_IPX
+               {*r = AF_IPX; return 0;}
+#else /* def AF_IPX */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_IPX */
+       if (x == Mono_Posix_UnixAddressFamily_AF_IRDA)
+#ifdef AF_IRDA
+               {*r = AF_IRDA; return 0;}
+#else /* def AF_IRDA */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_IRDA */
+       if (x == Mono_Posix_UnixAddressFamily_AF_ISDN)
+#ifdef AF_ISDN
+               {*r = AF_ISDN; return 0;}
+#else /* def AF_ISDN */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_ISDN */
+       if (x == Mono_Posix_UnixAddressFamily_AF_IUCV)
+#ifdef AF_IUCV
+               {*r = AF_IUCV; return 0;}
+#else /* def AF_IUCV */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_IUCV */
+       if (x == Mono_Posix_UnixAddressFamily_AF_KEY)
+#ifdef AF_KEY
+               {*r = AF_KEY; return 0;}
+#else /* def AF_KEY */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_KEY */
+       if (x == Mono_Posix_UnixAddressFamily_AF_LLC)
+#ifdef AF_LLC
+               {*r = AF_LLC; return 0;}
+#else /* def AF_LLC */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_LLC */
+       if (x == Mono_Posix_UnixAddressFamily_AF_NETBEUI)
+#ifdef AF_NETBEUI
+               {*r = AF_NETBEUI; return 0;}
+#else /* def AF_NETBEUI */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_NETBEUI */
+       if (x == Mono_Posix_UnixAddressFamily_AF_NETLINK)
+#ifdef AF_NETLINK
+               {*r = AF_NETLINK; return 0;}
+#else /* def AF_NETLINK */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_NETLINK */
+       if (x == Mono_Posix_UnixAddressFamily_AF_NETROM)
+#ifdef AF_NETROM
+               {*r = AF_NETROM; return 0;}
+#else /* def AF_NETROM */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_NETROM */
+       if (x == Mono_Posix_UnixAddressFamily_AF_NFC)
+#ifdef AF_NFC
+               {*r = AF_NFC; return 0;}
+#else /* def AF_NFC */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_NFC */
+       if (x == Mono_Posix_UnixAddressFamily_AF_PACKET)
+#ifdef AF_PACKET
+               {*r = AF_PACKET; return 0;}
+#else /* def AF_PACKET */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_PACKET */
+       if (x == Mono_Posix_UnixAddressFamily_AF_PHONET)
+#ifdef AF_PHONET
+               {*r = AF_PHONET; return 0;}
+#else /* def AF_PHONET */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_PHONET */
+       if (x == Mono_Posix_UnixAddressFamily_AF_PPPOX)
+#ifdef AF_PPPOX
+               {*r = AF_PPPOX; return 0;}
+#else /* def AF_PPPOX */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_PPPOX */
+       if (x == Mono_Posix_UnixAddressFamily_AF_RDS)
+#ifdef AF_RDS
+               {*r = AF_RDS; return 0;}
+#else /* def AF_RDS */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_RDS */
+       if (x == Mono_Posix_UnixAddressFamily_AF_ROSE)
+#ifdef AF_ROSE
+               {*r = AF_ROSE; return 0;}
+#else /* def AF_ROSE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_ROSE */
+       if (x == Mono_Posix_UnixAddressFamily_AF_RXRPC)
+#ifdef AF_RXRPC
+               {*r = AF_RXRPC; return 0;}
+#else /* def AF_RXRPC */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_RXRPC */
+       if (x == Mono_Posix_UnixAddressFamily_AF_SECURITY)
+#ifdef AF_SECURITY
+               {*r = AF_SECURITY; return 0;}
+#else /* def AF_SECURITY */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_SECURITY */
+       if (x == Mono_Posix_UnixAddressFamily_AF_SNA)
+#ifdef AF_SNA
+               {*r = AF_SNA; return 0;}
+#else /* def AF_SNA */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_SNA */
+       if (x == Mono_Posix_UnixAddressFamily_AF_TIPC)
+#ifdef AF_TIPC
+               {*r = AF_TIPC; return 0;}
+#else /* def AF_TIPC */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_TIPC */
+       if (x == Mono_Posix_UnixAddressFamily_AF_UNIX)
+#ifdef AF_UNIX
+               {*r = AF_UNIX; return 0;}
+#else /* def AF_UNIX */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_UNIX */
+       if (x == Mono_Posix_UnixAddressFamily_AF_UNSPEC)
+#ifdef AF_UNSPEC
+               {*r = AF_UNSPEC; return 0;}
+#else /* def AF_UNSPEC */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_UNSPEC */
+       if (x == Mono_Posix_UnixAddressFamily_AF_VSOCK)
+#ifdef AF_VSOCK
+               {*r = AF_VSOCK; return 0;}
+#else /* def AF_VSOCK */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_VSOCK */
+       if (x == Mono_Posix_UnixAddressFamily_AF_WANPIPE)
+#ifdef AF_WANPIPE
+               {*r = AF_WANPIPE; return 0;}
+#else /* def AF_WANPIPE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_WANPIPE */
+       if (x == Mono_Posix_UnixAddressFamily_AF_X25)
+#ifdef AF_X25
+               {*r = AF_X25; return 0;}
+#else /* def AF_X25 */
+               {errno = EINVAL; return -1;}
+#endif /* ndef AF_X25 */
+       if (x == 0)
+               return 0;
+       errno = EINVAL; return -1;
+}
+
+int Mono_Posix_ToUnixAddressFamily (int x, int *r)
+{
+       *r = 0;
+       if (x == 0)
+               return 0;
+#ifdef AF_ALG
+       if (x == AF_ALG)
+               {*r = Mono_Posix_UnixAddressFamily_AF_ALG; return 0;}
+#endif /* ndef AF_ALG */
+#ifdef AF_APPLETALK
+       if (x == AF_APPLETALK)
+               {*r = Mono_Posix_UnixAddressFamily_AF_APPLETALK; return 0;}
+#endif /* ndef AF_APPLETALK */
+#ifdef AF_ASH
+       if (x == AF_ASH)
+               {*r = Mono_Posix_UnixAddressFamily_AF_ASH; return 0;}
+#endif /* ndef AF_ASH */
+#ifdef AF_ATMPVC
+       if (x == AF_ATMPVC)
+               {*r = Mono_Posix_UnixAddressFamily_AF_ATMPVC; return 0;}
+#endif /* ndef AF_ATMPVC */
+#ifdef AF_ATMSVC
+       if (x == AF_ATMSVC)
+               {*r = Mono_Posix_UnixAddressFamily_AF_ATMSVC; return 0;}
+#endif /* ndef AF_ATMSVC */
+#ifdef AF_AX25
+       if (x == AF_AX25)
+               {*r = Mono_Posix_UnixAddressFamily_AF_AX25; return 0;}
+#endif /* ndef AF_AX25 */
+#ifdef AF_BLUETOOTH
+       if (x == AF_BLUETOOTH)
+               {*r = Mono_Posix_UnixAddressFamily_AF_BLUETOOTH; return 0;}
+#endif /* ndef AF_BLUETOOTH */
+#ifdef AF_BRIDGE
+       if (x == AF_BRIDGE)
+               {*r = Mono_Posix_UnixAddressFamily_AF_BRIDGE; return 0;}
+#endif /* ndef AF_BRIDGE */
+#ifdef AF_CAIF
+       if (x == AF_CAIF)
+               {*r = Mono_Posix_UnixAddressFamily_AF_CAIF; return 0;}
+#endif /* ndef AF_CAIF */
+#ifdef AF_CAN
+       if (x == AF_CAN)
+               {*r = Mono_Posix_UnixAddressFamily_AF_CAN; return 0;}
+#endif /* ndef AF_CAN */
+#ifdef AF_DECnet
+       if (x == AF_DECnet)
+               {*r = Mono_Posix_UnixAddressFamily_AF_DECnet; return 0;}
+#endif /* ndef AF_DECnet */
+#ifdef AF_ECONET
+       if (x == AF_ECONET)
+               {*r = Mono_Posix_UnixAddressFamily_AF_ECONET; return 0;}
+#endif /* ndef AF_ECONET */
+#ifdef AF_IEEE802154
+       if (x == AF_IEEE802154)
+               {*r = Mono_Posix_UnixAddressFamily_AF_IEEE802154; return 0;}
+#endif /* ndef AF_IEEE802154 */
+#ifdef AF_INET
+       if (x == AF_INET)
+               {*r = Mono_Posix_UnixAddressFamily_AF_INET; return 0;}
+#endif /* ndef AF_INET */
+#ifdef AF_INET6
+       if (x == AF_INET6)
+               {*r = Mono_Posix_UnixAddressFamily_AF_INET6; return 0;}
+#endif /* ndef AF_INET6 */
+#ifdef AF_IPX
+       if (x == AF_IPX)
+               {*r = Mono_Posix_UnixAddressFamily_AF_IPX; return 0;}
+#endif /* ndef AF_IPX */
+#ifdef AF_IRDA
+       if (x == AF_IRDA)
+               {*r = Mono_Posix_UnixAddressFamily_AF_IRDA; return 0;}
+#endif /* ndef AF_IRDA */
+#ifdef AF_ISDN
+       if (x == AF_ISDN)
+               {*r = Mono_Posix_UnixAddressFamily_AF_ISDN; return 0;}
+#endif /* ndef AF_ISDN */
+#ifdef AF_IUCV
+       if (x == AF_IUCV)
+               {*r = Mono_Posix_UnixAddressFamily_AF_IUCV; return 0;}
+#endif /* ndef AF_IUCV */
+#ifdef AF_KEY
+       if (x == AF_KEY)
+               {*r = Mono_Posix_UnixAddressFamily_AF_KEY; return 0;}
+#endif /* ndef AF_KEY */
+#ifdef AF_LLC
+       if (x == AF_LLC)
+               {*r = Mono_Posix_UnixAddressFamily_AF_LLC; return 0;}
+#endif /* ndef AF_LLC */
+#ifdef AF_NETBEUI
+       if (x == AF_NETBEUI)
+               {*r = Mono_Posix_UnixAddressFamily_AF_NETBEUI; return 0;}
+#endif /* ndef AF_NETBEUI */
+#ifdef AF_NETLINK
+       if (x == AF_NETLINK)
+               {*r = Mono_Posix_UnixAddressFamily_AF_NETLINK; return 0;}
+#endif /* ndef AF_NETLINK */
+#ifdef AF_NETROM
+       if (x == AF_NETROM)
+               {*r = Mono_Posix_UnixAddressFamily_AF_NETROM; return 0;}
+#endif /* ndef AF_NETROM */
+#ifdef AF_NFC
+       if (x == AF_NFC)
+               {*r = Mono_Posix_UnixAddressFamily_AF_NFC; return 0;}
+#endif /* ndef AF_NFC */
+#ifdef AF_PACKET
+       if (x == AF_PACKET)
+               {*r = Mono_Posix_UnixAddressFamily_AF_PACKET; return 0;}
+#endif /* ndef AF_PACKET */
+#ifdef AF_PHONET
+       if (x == AF_PHONET)
+               {*r = Mono_Posix_UnixAddressFamily_AF_PHONET; return 0;}
+#endif /* ndef AF_PHONET */
+#ifdef AF_PPPOX
+       if (x == AF_PPPOX)
+               {*r = Mono_Posix_UnixAddressFamily_AF_PPPOX; return 0;}
+#endif /* ndef AF_PPPOX */
+#ifdef AF_RDS
+       if (x == AF_RDS)
+               {*r = Mono_Posix_UnixAddressFamily_AF_RDS; return 0;}
+#endif /* ndef AF_RDS */
+#ifdef AF_ROSE
+       if (x == AF_ROSE)
+               {*r = Mono_Posix_UnixAddressFamily_AF_ROSE; return 0;}
+#endif /* ndef AF_ROSE */
+#ifdef AF_RXRPC
+       if (x == AF_RXRPC)
+               {*r = Mono_Posix_UnixAddressFamily_AF_RXRPC; return 0;}
+#endif /* ndef AF_RXRPC */
+#ifdef AF_SECURITY
+       if (x == AF_SECURITY)
+               {*r = Mono_Posix_UnixAddressFamily_AF_SECURITY; return 0;}
+#endif /* ndef AF_SECURITY */
+#ifdef AF_SNA
+       if (x == AF_SNA)
+               {*r = Mono_Posix_UnixAddressFamily_AF_SNA; return 0;}
+#endif /* ndef AF_SNA */
+#ifdef AF_TIPC
+       if (x == AF_TIPC)
+               {*r = Mono_Posix_UnixAddressFamily_AF_TIPC; return 0;}
+#endif /* ndef AF_TIPC */
+#ifdef AF_UNIX
+       if (x == AF_UNIX)
+               {*r = Mono_Posix_UnixAddressFamily_AF_UNIX; return 0;}
+#endif /* ndef AF_UNIX */
+#ifdef AF_UNSPEC
+       if (x == AF_UNSPEC)
+               {*r = Mono_Posix_UnixAddressFamily_AF_UNSPEC; return 0;}
+#endif /* ndef AF_UNSPEC */
+#ifdef AF_VSOCK
+       if (x == AF_VSOCK)
+               {*r = Mono_Posix_UnixAddressFamily_AF_VSOCK; return 0;}
+#endif /* ndef AF_VSOCK */
+#ifdef AF_WANPIPE
+       if (x == AF_WANPIPE)
+               {*r = Mono_Posix_UnixAddressFamily_AF_WANPIPE; return 0;}
+#endif /* ndef AF_WANPIPE */
+#ifdef AF_X25
+       if (x == AF_X25)
+               {*r = Mono_Posix_UnixAddressFamily_AF_X25; return 0;}
+#endif /* ndef AF_X25 */
+       errno = EINVAL; return -1;
+}
+
+int Mono_Posix_FromUnixSocketFlags (int x, int *r)
+{
+       *r = 0;
+       if ((x & Mono_Posix_UnixSocketFlags_SOCK_CLOEXEC) == Mono_Posix_UnixSocketFlags_SOCK_CLOEXEC)
+#ifdef SOCK_CLOEXEC
+               *r |= SOCK_CLOEXEC;
+#else /* def SOCK_CLOEXEC */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SOCK_CLOEXEC */
+       if ((x & Mono_Posix_UnixSocketFlags_SOCK_NONBLOCK) == Mono_Posix_UnixSocketFlags_SOCK_NONBLOCK)
+#ifdef SOCK_NONBLOCK
+               *r |= SOCK_NONBLOCK;
+#else /* def SOCK_NONBLOCK */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SOCK_NONBLOCK */
+       if (x == 0)
+               return 0;
+       return 0;
+}
+
+int Mono_Posix_ToUnixSocketFlags (int x, int *r)
+{
+       *r = 0;
+       if (x == 0)
+               return 0;
+#ifdef SOCK_CLOEXEC
+       if ((x & SOCK_CLOEXEC) == SOCK_CLOEXEC)
+               *r |= Mono_Posix_UnixSocketFlags_SOCK_CLOEXEC;
+#endif /* ndef SOCK_CLOEXEC */
+#ifdef SOCK_NONBLOCK
+       if ((x & SOCK_NONBLOCK) == SOCK_NONBLOCK)
+               *r |= Mono_Posix_UnixSocketFlags_SOCK_NONBLOCK;
+#endif /* ndef SOCK_NONBLOCK */
+       return 0;
+}
+
+int Mono_Posix_FromUnixSocketOptionName (int x, int *r)
+{
+       *r = 0;
+       if (x == Mono_Posix_UnixSocketOptionName_SO_ACCEPTCONN)
+#ifdef SO_ACCEPTCONN
+               {*r = SO_ACCEPTCONN; return 0;}
+#else /* def SO_ACCEPTCONN */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_ACCEPTCONN */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_ATTACH_FILTER)
+#ifdef SO_ATTACH_FILTER
+               {*r = SO_ATTACH_FILTER; return 0;}
+#else /* def SO_ATTACH_FILTER */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_ATTACH_FILTER */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_BINDTODEVICE)
+#ifdef SO_BINDTODEVICE
+               {*r = SO_BINDTODEVICE; return 0;}
+#else /* def SO_BINDTODEVICE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_BINDTODEVICE */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_BROADCAST)
+#ifdef SO_BROADCAST
+               {*r = SO_BROADCAST; return 0;}
+#else /* def SO_BROADCAST */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_BROADCAST */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_BSDCOMPAT)
+#ifdef SO_BSDCOMPAT
+               {*r = SO_BSDCOMPAT; return 0;}
+#else /* def SO_BSDCOMPAT */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_BSDCOMPAT */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_BUSY_POLL)
+#ifdef SO_BUSY_POLL
+               {*r = SO_BUSY_POLL; return 0;}
+#else /* def SO_BUSY_POLL */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_BUSY_POLL */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_DEBUG)
+#ifdef SO_DEBUG
+               {*r = SO_DEBUG; return 0;}
+#else /* def SO_DEBUG */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_DEBUG */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_DETACH_FILTER)
+#ifdef SO_DETACH_FILTER
+               {*r = SO_DETACH_FILTER; return 0;}
+#else /* def SO_DETACH_FILTER */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_DETACH_FILTER */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_DOMAIN)
+#ifdef SO_DOMAIN
+               {*r = SO_DOMAIN; return 0;}
+#else /* def SO_DOMAIN */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_DOMAIN */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_DONTROUTE)
+#ifdef SO_DONTROUTE
+               {*r = SO_DONTROUTE; return 0;}
+#else /* def SO_DONTROUTE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_DONTROUTE */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_ERROR)
+#ifdef SO_ERROR
+               {*r = SO_ERROR; return 0;}
+#else /* def SO_ERROR */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_ERROR */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_KEEPALIVE)
+#ifdef SO_KEEPALIVE
+               {*r = SO_KEEPALIVE; return 0;}
+#else /* def SO_KEEPALIVE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_KEEPALIVE */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_LINGER)
+#ifdef SO_LINGER
+               {*r = SO_LINGER; return 0;}
+#else /* def SO_LINGER */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_LINGER */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_LOCK_FILTER)
+#ifdef SO_LOCK_FILTER
+               {*r = SO_LOCK_FILTER; return 0;}
+#else /* def SO_LOCK_FILTER */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_LOCK_FILTER */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_MARK)
+#ifdef SO_MARK
+               {*r = SO_MARK; return 0;}
+#else /* def SO_MARK */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_MARK */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_MAX_PACING_RATE)
+#ifdef SO_MAX_PACING_RATE
+               {*r = SO_MAX_PACING_RATE; return 0;}
+#else /* def SO_MAX_PACING_RATE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_MAX_PACING_RATE */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_NOFCS)
+#ifdef SO_NOFCS
+               {*r = SO_NOFCS; return 0;}
+#else /* def SO_NOFCS */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_NOFCS */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_NO_CHECK)
+#ifdef SO_NO_CHECK
+               {*r = SO_NO_CHECK; return 0;}
+#else /* def SO_NO_CHECK */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_NO_CHECK */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_OOBINLINE)
+#ifdef SO_OOBINLINE
+               {*r = SO_OOBINLINE; return 0;}
+#else /* def SO_OOBINLINE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_OOBINLINE */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_PASSCRED)
+#ifdef SO_PASSCRED
+               {*r = SO_PASSCRED; return 0;}
+#else /* def SO_PASSCRED */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_PASSCRED */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_PASSSEC)
+#ifdef SO_PASSSEC
+               {*r = SO_PASSSEC; return 0;}
+#else /* def SO_PASSSEC */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_PASSSEC */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_PEEK_OFF)
+#ifdef SO_PEEK_OFF
+               {*r = SO_PEEK_OFF; return 0;}
+#else /* def SO_PEEK_OFF */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_PEEK_OFF */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_PEERCRED)
+#ifdef SO_PEERCRED
+               {*r = SO_PEERCRED; return 0;}
+#else /* def SO_PEERCRED */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_PEERCRED */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_PEERNAME)
+#ifdef SO_PEERNAME
+               {*r = SO_PEERNAME; return 0;}
+#else /* def SO_PEERNAME */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_PEERNAME */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_PEERSEC)
+#ifdef SO_PEERSEC
+               {*r = SO_PEERSEC; return 0;}
+#else /* def SO_PEERSEC */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_PEERSEC */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_PRIORITY)
+#ifdef SO_PRIORITY
+               {*r = SO_PRIORITY; return 0;}
+#else /* def SO_PRIORITY */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_PRIORITY */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_PROTOCOL)
+#ifdef SO_PROTOCOL
+               {*r = SO_PROTOCOL; return 0;}
+#else /* def SO_PROTOCOL */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_PROTOCOL */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_RCVBUF)
+#ifdef SO_RCVBUF
+               {*r = SO_RCVBUF; return 0;}
+#else /* def SO_RCVBUF */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_RCVBUF */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_RCVBUFFORCE)
+#ifdef SO_RCVBUFFORCE
+               {*r = SO_RCVBUFFORCE; return 0;}
+#else /* def SO_RCVBUFFORCE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_RCVBUFFORCE */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_RCVLOWAT)
+#ifdef SO_RCVLOWAT
+               {*r = SO_RCVLOWAT; return 0;}
+#else /* def SO_RCVLOWAT */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_RCVLOWAT */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_RCVTIMEO)
+#ifdef SO_RCVTIMEO
+               {*r = SO_RCVTIMEO; return 0;}
+#else /* def SO_RCVTIMEO */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_RCVTIMEO */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_REUSEADDR)
+#ifdef SO_REUSEADDR
+               {*r = SO_REUSEADDR; return 0;}
+#else /* def SO_REUSEADDR */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_REUSEADDR */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_REUSEPORT)
+#ifdef SO_REUSEPORT
+               {*r = SO_REUSEPORT; return 0;}
+#else /* def SO_REUSEPORT */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_REUSEPORT */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_RXQ_OVFL)
+#ifdef SO_RXQ_OVFL
+               {*r = SO_RXQ_OVFL; return 0;}
+#else /* def SO_RXQ_OVFL */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_RXQ_OVFL */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_SECURITY_AUTHENTICATION)
+#ifdef SO_SECURITY_AUTHENTICATION
+               {*r = SO_SECURITY_AUTHENTICATION; return 0;}
+#else /* def SO_SECURITY_AUTHENTICATION */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_SECURITY_AUTHENTICATION */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_NETWORK)
+#ifdef SO_SECURITY_ENCRYPTION_NETWORK
+               {*r = SO_SECURITY_ENCRYPTION_NETWORK; return 0;}
+#else /* def SO_SECURITY_ENCRYPTION_NETWORK */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_SECURITY_ENCRYPTION_NETWORK */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_TRANSPORT)
+#ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
+               {*r = SO_SECURITY_ENCRYPTION_TRANSPORT; return 0;}
+#else /* def SO_SECURITY_ENCRYPTION_TRANSPORT */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_SECURITY_ENCRYPTION_TRANSPORT */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_SELECT_ERR_QUEUE)
+#ifdef SO_SELECT_ERR_QUEUE
+               {*r = SO_SELECT_ERR_QUEUE; return 0;}
+#else /* def SO_SELECT_ERR_QUEUE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_SELECT_ERR_QUEUE */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_SNDBUF)
+#ifdef SO_SNDBUF
+               {*r = SO_SNDBUF; return 0;}
+#else /* def SO_SNDBUF */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_SNDBUF */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_SNDBUFFORCE)
+#ifdef SO_SNDBUFFORCE
+               {*r = SO_SNDBUFFORCE; return 0;}
+#else /* def SO_SNDBUFFORCE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_SNDBUFFORCE */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_SNDLOWAT)
+#ifdef SO_SNDLOWAT
+               {*r = SO_SNDLOWAT; return 0;}
+#else /* def SO_SNDLOWAT */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_SNDLOWAT */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_SNDTIMEO)
+#ifdef SO_SNDTIMEO
+               {*r = SO_SNDTIMEO; return 0;}
+#else /* def SO_SNDTIMEO */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_SNDTIMEO */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_TIMESTAMP)
+#ifdef SO_TIMESTAMP
+               {*r = SO_TIMESTAMP; return 0;}
+#else /* def SO_TIMESTAMP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_TIMESTAMP */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPING)
+#ifdef SO_TIMESTAMPING
+               {*r = SO_TIMESTAMPING; return 0;}
+#else /* def SO_TIMESTAMPING */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_TIMESTAMPING */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPNS)
+#ifdef SO_TIMESTAMPNS
+               {*r = SO_TIMESTAMPNS; return 0;}
+#else /* def SO_TIMESTAMPNS */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_TIMESTAMPNS */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_TYPE)
+#ifdef SO_TYPE
+               {*r = SO_TYPE; return 0;}
+#else /* def SO_TYPE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_TYPE */
+       if (x == Mono_Posix_UnixSocketOptionName_SO_WIFI_STATUS)
+#ifdef SO_WIFI_STATUS
+               {*r = SO_WIFI_STATUS; return 0;}
+#else /* def SO_WIFI_STATUS */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SO_WIFI_STATUS */
+       if (x == 0)
+               return 0;
+       errno = EINVAL; return -1;
+}
+
+int Mono_Posix_ToUnixSocketOptionName (int x, int *r)
+{
+       *r = 0;
+       if (x == 0)
+               return 0;
+#ifdef SO_ACCEPTCONN
+       if (x == SO_ACCEPTCONN)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_ACCEPTCONN; return 0;}
+#endif /* ndef SO_ACCEPTCONN */
+#ifdef SO_ATTACH_FILTER
+       if (x == SO_ATTACH_FILTER)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_ATTACH_FILTER; return 0;}
+#endif /* ndef SO_ATTACH_FILTER */
+#ifdef SO_BINDTODEVICE
+       if (x == SO_BINDTODEVICE)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_BINDTODEVICE; return 0;}
+#endif /* ndef SO_BINDTODEVICE */
+#ifdef SO_BROADCAST
+       if (x == SO_BROADCAST)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_BROADCAST; return 0;}
+#endif /* ndef SO_BROADCAST */
+#ifdef SO_BSDCOMPAT
+       if (x == SO_BSDCOMPAT)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_BSDCOMPAT; return 0;}
+#endif /* ndef SO_BSDCOMPAT */
+#ifdef SO_BUSY_POLL
+       if (x == SO_BUSY_POLL)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_BUSY_POLL; return 0;}
+#endif /* ndef SO_BUSY_POLL */
+#ifdef SO_DEBUG
+       if (x == SO_DEBUG)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_DEBUG; return 0;}
+#endif /* ndef SO_DEBUG */
+#ifdef SO_DETACH_FILTER
+       if (x == SO_DETACH_FILTER)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_DETACH_FILTER; return 0;}
+#endif /* ndef SO_DETACH_FILTER */
+#ifdef SO_DOMAIN
+       if (x == SO_DOMAIN)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_DOMAIN; return 0;}
+#endif /* ndef SO_DOMAIN */
+#ifdef SO_DONTROUTE
+       if (x == SO_DONTROUTE)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_DONTROUTE; return 0;}
+#endif /* ndef SO_DONTROUTE */
+#ifdef SO_ERROR
+       if (x == SO_ERROR)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_ERROR; return 0;}
+#endif /* ndef SO_ERROR */
+#ifdef SO_KEEPALIVE
+       if (x == SO_KEEPALIVE)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_KEEPALIVE; return 0;}
+#endif /* ndef SO_KEEPALIVE */
+#ifdef SO_LINGER
+       if (x == SO_LINGER)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_LINGER; return 0;}
+#endif /* ndef SO_LINGER */
+#ifdef SO_LOCK_FILTER
+       if (x == SO_LOCK_FILTER)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_LOCK_FILTER; return 0;}
+#endif /* ndef SO_LOCK_FILTER */
+#ifdef SO_MARK
+       if (x == SO_MARK)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_MARK; return 0;}
+#endif /* ndef SO_MARK */
+#ifdef SO_MAX_PACING_RATE
+       if (x == SO_MAX_PACING_RATE)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_MAX_PACING_RATE; return 0;}
+#endif /* ndef SO_MAX_PACING_RATE */
+#ifdef SO_NOFCS
+       if (x == SO_NOFCS)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_NOFCS; return 0;}
+#endif /* ndef SO_NOFCS */
+#ifdef SO_NO_CHECK
+       if (x == SO_NO_CHECK)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_NO_CHECK; return 0;}
+#endif /* ndef SO_NO_CHECK */
+#ifdef SO_OOBINLINE
+       if (x == SO_OOBINLINE)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_OOBINLINE; return 0;}
+#endif /* ndef SO_OOBINLINE */
+#ifdef SO_PASSCRED
+       if (x == SO_PASSCRED)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_PASSCRED; return 0;}
+#endif /* ndef SO_PASSCRED */
+#ifdef SO_PASSSEC
+       if (x == SO_PASSSEC)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_PASSSEC; return 0;}
+#endif /* ndef SO_PASSSEC */
+#ifdef SO_PEEK_OFF
+       if (x == SO_PEEK_OFF)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_PEEK_OFF; return 0;}
+#endif /* ndef SO_PEEK_OFF */
+#ifdef SO_PEERCRED
+       if (x == SO_PEERCRED)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_PEERCRED; return 0;}
+#endif /* ndef SO_PEERCRED */
+#ifdef SO_PEERNAME
+       if (x == SO_PEERNAME)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_PEERNAME; return 0;}
+#endif /* ndef SO_PEERNAME */
+#ifdef SO_PEERSEC
+       if (x == SO_PEERSEC)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_PEERSEC; return 0;}
+#endif /* ndef SO_PEERSEC */
+#ifdef SO_PRIORITY
+       if (x == SO_PRIORITY)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_PRIORITY; return 0;}
+#endif /* ndef SO_PRIORITY */
+#ifdef SO_PROTOCOL
+       if (x == SO_PROTOCOL)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_PROTOCOL; return 0;}
+#endif /* ndef SO_PROTOCOL */
+#ifdef SO_RCVBUF
+       if (x == SO_RCVBUF)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_RCVBUF; return 0;}
+#endif /* ndef SO_RCVBUF */
+#ifdef SO_RCVBUFFORCE
+       if (x == SO_RCVBUFFORCE)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_RCVBUFFORCE; return 0;}
+#endif /* ndef SO_RCVBUFFORCE */
+#ifdef SO_RCVLOWAT
+       if (x == SO_RCVLOWAT)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_RCVLOWAT; return 0;}
+#endif /* ndef SO_RCVLOWAT */
+#ifdef SO_RCVTIMEO
+       if (x == SO_RCVTIMEO)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_RCVTIMEO; return 0;}
+#endif /* ndef SO_RCVTIMEO */
+#ifdef SO_REUSEADDR
+       if (x == SO_REUSEADDR)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_REUSEADDR; return 0;}
+#endif /* ndef SO_REUSEADDR */
+#ifdef SO_REUSEPORT
+       if (x == SO_REUSEPORT)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_REUSEPORT; return 0;}
+#endif /* ndef SO_REUSEPORT */
+#ifdef SO_RXQ_OVFL
+       if (x == SO_RXQ_OVFL)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_RXQ_OVFL; return 0;}
+#endif /* ndef SO_RXQ_OVFL */
+#ifdef SO_SECURITY_AUTHENTICATION
+       if (x == SO_SECURITY_AUTHENTICATION)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_SECURITY_AUTHENTICATION; return 0;}
+#endif /* ndef SO_SECURITY_AUTHENTICATION */
+#ifdef SO_SECURITY_ENCRYPTION_NETWORK
+       if (x == SO_SECURITY_ENCRYPTION_NETWORK)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_NETWORK; return 0;}
+#endif /* ndef SO_SECURITY_ENCRYPTION_NETWORK */
+#ifdef SO_SECURITY_ENCRYPTION_TRANSPORT
+       if (x == SO_SECURITY_ENCRYPTION_TRANSPORT)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_TRANSPORT; return 0;}
+#endif /* ndef SO_SECURITY_ENCRYPTION_TRANSPORT */
+#ifdef SO_SELECT_ERR_QUEUE
+       if (x == SO_SELECT_ERR_QUEUE)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_SELECT_ERR_QUEUE; return 0;}
+#endif /* ndef SO_SELECT_ERR_QUEUE */
+#ifdef SO_SNDBUF
+       if (x == SO_SNDBUF)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_SNDBUF; return 0;}
+#endif /* ndef SO_SNDBUF */
+#ifdef SO_SNDBUFFORCE
+       if (x == SO_SNDBUFFORCE)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_SNDBUFFORCE; return 0;}
+#endif /* ndef SO_SNDBUFFORCE */
+#ifdef SO_SNDLOWAT
+       if (x == SO_SNDLOWAT)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_SNDLOWAT; return 0;}
+#endif /* ndef SO_SNDLOWAT */
+#ifdef SO_SNDTIMEO
+       if (x == SO_SNDTIMEO)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_SNDTIMEO; return 0;}
+#endif /* ndef SO_SNDTIMEO */
+#ifdef SO_TIMESTAMP
+       if (x == SO_TIMESTAMP)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_TIMESTAMP; return 0;}
+#endif /* ndef SO_TIMESTAMP */
+#ifdef SO_TIMESTAMPING
+       if (x == SO_TIMESTAMPING)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPING; return 0;}
+#endif /* ndef SO_TIMESTAMPING */
+#ifdef SO_TIMESTAMPNS
+       if (x == SO_TIMESTAMPNS)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPNS; return 0;}
+#endif /* ndef SO_TIMESTAMPNS */
+#ifdef SO_TYPE
+       if (x == SO_TYPE)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_TYPE; return 0;}
+#endif /* ndef SO_TYPE */
+#ifdef SO_WIFI_STATUS
+       if (x == SO_WIFI_STATUS)
+               {*r = Mono_Posix_UnixSocketOptionName_SO_WIFI_STATUS; return 0;}
+#endif /* ndef SO_WIFI_STATUS */
+       errno = EINVAL; return -1;
+}
+
+int Mono_Posix_FromUnixSocketProtocol (int x, int *r)
+{
+       *r = 0;
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_AH)
+#ifdef IPPROTO_AH
+               {*r = IPPROTO_AH; return 0;}
+#else /* def IPPROTO_AH */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_AH */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_BEETPH)
+#ifdef IPPROTO_BEETPH
+               {*r = IPPROTO_BEETPH; return 0;}
+#else /* def IPPROTO_BEETPH */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_BEETPH */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_COMP)
+#ifdef IPPROTO_COMP
+               {*r = IPPROTO_COMP; return 0;}
+#else /* def IPPROTO_COMP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_COMP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_DCCP)
+#ifdef IPPROTO_DCCP
+               {*r = IPPROTO_DCCP; return 0;}
+#else /* def IPPROTO_DCCP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_DCCP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_EGP)
+#ifdef IPPROTO_EGP
+               {*r = IPPROTO_EGP; return 0;}
+#else /* def IPPROTO_EGP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_EGP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_ENCAP)
+#ifdef IPPROTO_ENCAP
+               {*r = IPPROTO_ENCAP; return 0;}
+#else /* def IPPROTO_ENCAP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_ENCAP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_ESP)
+#ifdef IPPROTO_ESP
+               {*r = IPPROTO_ESP; return 0;}
+#else /* def IPPROTO_ESP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_ESP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_GRE)
+#ifdef IPPROTO_GRE
+               {*r = IPPROTO_GRE; return 0;}
+#else /* def IPPROTO_GRE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_GRE */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_ICMP)
+#ifdef IPPROTO_ICMP
+               {*r = IPPROTO_ICMP; return 0;}
+#else /* def IPPROTO_ICMP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_ICMP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_IDP)
+#ifdef IPPROTO_IDP
+               {*r = IPPROTO_IDP; return 0;}
+#else /* def IPPROTO_IDP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_IDP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_IGMP)
+#ifdef IPPROTO_IGMP
+               {*r = IPPROTO_IGMP; return 0;}
+#else /* def IPPROTO_IGMP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_IGMP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_IP)
+#ifdef IPPROTO_IP
+               {*r = IPPROTO_IP; return 0;}
+#else /* def IPPROTO_IP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_IP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_IPIP)
+#ifdef IPPROTO_IPIP
+               {*r = IPPROTO_IPIP; return 0;}
+#else /* def IPPROTO_IPIP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_IPIP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_IPV6)
+#ifdef IPPROTO_IPV6
+               {*r = IPPROTO_IPV6; return 0;}
+#else /* def IPPROTO_IPV6 */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_IPV6 */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_MTP)
+#ifdef IPPROTO_MTP
+               {*r = IPPROTO_MTP; return 0;}
+#else /* def IPPROTO_MTP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_MTP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_PIM)
+#ifdef IPPROTO_PIM
+               {*r = IPPROTO_PIM; return 0;}
+#else /* def IPPROTO_PIM */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_PIM */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_PUP)
+#ifdef IPPROTO_PUP
+               {*r = IPPROTO_PUP; return 0;}
+#else /* def IPPROTO_PUP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_PUP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_RAW)
+#ifdef IPPROTO_RAW
+               {*r = IPPROTO_RAW; return 0;}
+#else /* def IPPROTO_RAW */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_RAW */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_RSVP)
+#ifdef IPPROTO_RSVP
+               {*r = IPPROTO_RSVP; return 0;}
+#else /* def IPPROTO_RSVP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_RSVP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_SCTP)
+#ifdef IPPROTO_SCTP
+               {*r = IPPROTO_SCTP; return 0;}
+#else /* def IPPROTO_SCTP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_SCTP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_TCP)
+#ifdef IPPROTO_TCP
+               {*r = IPPROTO_TCP; return 0;}
+#else /* def IPPROTO_TCP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_TCP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_TP)
+#ifdef IPPROTO_TP
+               {*r = IPPROTO_TP; return 0;}
+#else /* def IPPROTO_TP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_TP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_UDP)
+#ifdef IPPROTO_UDP
+               {*r = IPPROTO_UDP; return 0;}
+#else /* def IPPROTO_UDP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_UDP */
+       if (x == Mono_Posix_UnixSocketProtocol_IPPROTO_UDPLITE)
+#ifdef IPPROTO_UDPLITE
+               {*r = IPPROTO_UDPLITE; return 0;}
+#else /* def IPPROTO_UDPLITE */
+               {errno = EINVAL; return -1;}
+#endif /* ndef IPPROTO_UDPLITE */
+       if (x == Mono_Posix_UnixSocketProtocol_SOL_SOCKET)
+#ifdef SOL_SOCKET
+               {*r = SOL_SOCKET; return 0;}
+#else /* def SOL_SOCKET */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SOL_SOCKET */
+       if (x == 0)
+               return 0;
+       errno = EINVAL; return -1;
+}
+
+int Mono_Posix_ToUnixSocketProtocol (int x, int *r)
+{
+       *r = 0;
+       if (x == 0)
+               return 0;
+#ifdef IPPROTO_AH
+       if (x == IPPROTO_AH)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_AH; return 0;}
+#endif /* ndef IPPROTO_AH */
+#ifdef IPPROTO_BEETPH
+       if (x == IPPROTO_BEETPH)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_BEETPH; return 0;}
+#endif /* ndef IPPROTO_BEETPH */
+#ifdef IPPROTO_COMP
+       if (x == IPPROTO_COMP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_COMP; return 0;}
+#endif /* ndef IPPROTO_COMP */
+#ifdef IPPROTO_DCCP
+       if (x == IPPROTO_DCCP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_DCCP; return 0;}
+#endif /* ndef IPPROTO_DCCP */
+#ifdef IPPROTO_EGP
+       if (x == IPPROTO_EGP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_EGP; return 0;}
+#endif /* ndef IPPROTO_EGP */
+#ifdef IPPROTO_ENCAP
+       if (x == IPPROTO_ENCAP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_ENCAP; return 0;}
+#endif /* ndef IPPROTO_ENCAP */
+#ifdef IPPROTO_ESP
+       if (x == IPPROTO_ESP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_ESP; return 0;}
+#endif /* ndef IPPROTO_ESP */
+#ifdef IPPROTO_GRE
+       if (x == IPPROTO_GRE)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_GRE; return 0;}
+#endif /* ndef IPPROTO_GRE */
+#ifdef IPPROTO_ICMP
+       if (x == IPPROTO_ICMP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_ICMP; return 0;}
+#endif /* ndef IPPROTO_ICMP */
+#ifdef IPPROTO_IDP
+       if (x == IPPROTO_IDP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_IDP; return 0;}
+#endif /* ndef IPPROTO_IDP */
+#ifdef IPPROTO_IGMP
+       if (x == IPPROTO_IGMP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_IGMP; return 0;}
+#endif /* ndef IPPROTO_IGMP */
+#ifdef IPPROTO_IP
+       if (x == IPPROTO_IP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_IP; return 0;}
+#endif /* ndef IPPROTO_IP */
+#ifdef IPPROTO_IPIP
+       if (x == IPPROTO_IPIP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_IPIP; return 0;}
+#endif /* ndef IPPROTO_IPIP */
+#ifdef IPPROTO_IPV6
+       if (x == IPPROTO_IPV6)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_IPV6; return 0;}
+#endif /* ndef IPPROTO_IPV6 */
+#ifdef IPPROTO_MTP
+       if (x == IPPROTO_MTP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_MTP; return 0;}
+#endif /* ndef IPPROTO_MTP */
+#ifdef IPPROTO_PIM
+       if (x == IPPROTO_PIM)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_PIM; return 0;}
+#endif /* ndef IPPROTO_PIM */
+#ifdef IPPROTO_PUP
+       if (x == IPPROTO_PUP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_PUP; return 0;}
+#endif /* ndef IPPROTO_PUP */
+#ifdef IPPROTO_RAW
+       if (x == IPPROTO_RAW)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_RAW; return 0;}
+#endif /* ndef IPPROTO_RAW */
+#ifdef IPPROTO_RSVP
+       if (x == IPPROTO_RSVP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_RSVP; return 0;}
+#endif /* ndef IPPROTO_RSVP */
+#ifdef IPPROTO_SCTP
+       if (x == IPPROTO_SCTP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_SCTP; return 0;}
+#endif /* ndef IPPROTO_SCTP */
+#ifdef IPPROTO_TCP
+       if (x == IPPROTO_TCP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_TCP; return 0;}
+#endif /* ndef IPPROTO_TCP */
+#ifdef IPPROTO_TP
+       if (x == IPPROTO_TP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_TP; return 0;}
+#endif /* ndef IPPROTO_TP */
+#ifdef IPPROTO_UDP
+       if (x == IPPROTO_UDP)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_UDP; return 0;}
+#endif /* ndef IPPROTO_UDP */
+#ifdef IPPROTO_UDPLITE
+       if (x == IPPROTO_UDPLITE)
+               {*r = Mono_Posix_UnixSocketProtocol_IPPROTO_UDPLITE; return 0;}
+#endif /* ndef IPPROTO_UDPLITE */
+#ifdef SOL_SOCKET
+       if (x == SOL_SOCKET)
+               {*r = Mono_Posix_UnixSocketProtocol_SOL_SOCKET; return 0;}
+#endif /* ndef SOL_SOCKET */
+       errno = EINVAL; return -1;
+}
+
+int Mono_Posix_FromUnixSocketType (int x, int *r)
+{
+       *r = 0;
+       if (x == Mono_Posix_UnixSocketType_SOCK_DCCP)
+#ifdef SOCK_DCCP
+               {*r = SOCK_DCCP; return 0;}
+#else /* def SOCK_DCCP */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SOCK_DCCP */
+       if (x == Mono_Posix_UnixSocketType_SOCK_DGRAM)
+#ifdef SOCK_DGRAM
+               {*r = SOCK_DGRAM; return 0;}
+#else /* def SOCK_DGRAM */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SOCK_DGRAM */
+       if (x == Mono_Posix_UnixSocketType_SOCK_PACKET)
+#ifdef SOCK_PACKET
+               {*r = SOCK_PACKET; return 0;}
+#else /* def SOCK_PACKET */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SOCK_PACKET */
+       if (x == Mono_Posix_UnixSocketType_SOCK_RAW)
+#ifdef SOCK_RAW
+               {*r = SOCK_RAW; return 0;}
+#else /* def SOCK_RAW */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SOCK_RAW */
+       if (x == Mono_Posix_UnixSocketType_SOCK_RDM)
+#ifdef SOCK_RDM
+               {*r = SOCK_RDM; return 0;}
+#else /* def SOCK_RDM */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SOCK_RDM */
+       if (x == Mono_Posix_UnixSocketType_SOCK_SEQPACKET)
+#ifdef SOCK_SEQPACKET
+               {*r = SOCK_SEQPACKET; return 0;}
+#else /* def SOCK_SEQPACKET */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SOCK_SEQPACKET */
+       if (x == Mono_Posix_UnixSocketType_SOCK_STREAM)
+#ifdef SOCK_STREAM
+               {*r = SOCK_STREAM; return 0;}
+#else /* def SOCK_STREAM */
+               {errno = EINVAL; return -1;}
+#endif /* ndef SOCK_STREAM */
+       if (x == 0)
+               return 0;
+       errno = EINVAL; return -1;
+}
+
+int Mono_Posix_ToUnixSocketType (int x, int *r)
+{
+       *r = 0;
+       if (x == 0)
+               return 0;
+#ifdef SOCK_DCCP
+       if (x == SOCK_DCCP)
+               {*r = Mono_Posix_UnixSocketType_SOCK_DCCP; return 0;}
+#endif /* ndef SOCK_DCCP */
+#ifdef SOCK_DGRAM
+       if (x == SOCK_DGRAM)
+               {*r = Mono_Posix_UnixSocketType_SOCK_DGRAM; return 0;}
+#endif /* ndef SOCK_DGRAM */
+#ifdef SOCK_PACKET
+       if (x == SOCK_PACKET)
+               {*r = Mono_Posix_UnixSocketType_SOCK_PACKET; return 0;}
+#endif /* ndef SOCK_PACKET */
+#ifdef SOCK_RAW
+       if (x == SOCK_RAW)
+               {*r = Mono_Posix_UnixSocketType_SOCK_RAW; return 0;}
+#endif /* ndef SOCK_RAW */
+#ifdef SOCK_RDM
+       if (x == SOCK_RDM)
+               {*r = Mono_Posix_UnixSocketType_SOCK_RDM; return 0;}
+#endif /* ndef SOCK_RDM */
+#ifdef SOCK_SEQPACKET
+       if (x == SOCK_SEQPACKET)
+               {*r = Mono_Posix_UnixSocketType_SOCK_SEQPACKET; return 0;}
+#endif /* ndef SOCK_SEQPACKET */
+#ifdef SOCK_STREAM
+       if (x == SOCK_STREAM)
+               {*r = Mono_Posix_UnixSocketType_SOCK_STREAM; return 0;}
+#endif /* ndef SOCK_STREAM */
+       errno = EINVAL; return -1;
+}
+
 #ifdef HAVE_STRUCT_UTIMBUF
 int
 Mono_Posix_FromUtimbuf (struct Mono_Posix_Utimbuf *from, struct utimbuf *to)
index 9c170eac0dc5faf2d525c4e40aa2121080901830..34cdb68ab4da8bab5ff81cddbf5c53e4e976b712 100644 (file)
@@ -621,6 +621,49 @@ enum Mono_Posix_LockfCommand {
 int Mono_Posix_FromLockfCommand (int x, int *r);
 int Mono_Posix_ToLockfCommand (int x, int *r);
 
+enum Mono_Posix_MessageFlags {
+       Mono_Posix_MessageFlags_MSG_CMSG_CLOEXEC       = 0x40000000,
+       #define Mono_Posix_MessageFlags_MSG_CMSG_CLOEXEC Mono_Posix_MessageFlags_MSG_CMSG_CLOEXEC
+       Mono_Posix_MessageFlags_MSG_CONFIRM            = 0x00000800,
+       #define Mono_Posix_MessageFlags_MSG_CONFIRM      Mono_Posix_MessageFlags_MSG_CONFIRM
+       Mono_Posix_MessageFlags_MSG_CTRUNC             = 0x00000008,
+       #define Mono_Posix_MessageFlags_MSG_CTRUNC       Mono_Posix_MessageFlags_MSG_CTRUNC
+       Mono_Posix_MessageFlags_MSG_DONTROUTE          = 0x00000004,
+       #define Mono_Posix_MessageFlags_MSG_DONTROUTE    Mono_Posix_MessageFlags_MSG_DONTROUTE
+       Mono_Posix_MessageFlags_MSG_DONTWAIT           = 0x00000040,
+       #define Mono_Posix_MessageFlags_MSG_DONTWAIT     Mono_Posix_MessageFlags_MSG_DONTWAIT
+       Mono_Posix_MessageFlags_MSG_EOR                = 0x00000080,
+       #define Mono_Posix_MessageFlags_MSG_EOR          Mono_Posix_MessageFlags_MSG_EOR
+       Mono_Posix_MessageFlags_MSG_ERRQUEUE           = 0x00002000,
+       #define Mono_Posix_MessageFlags_MSG_ERRQUEUE     Mono_Posix_MessageFlags_MSG_ERRQUEUE
+       Mono_Posix_MessageFlags_MSG_FASTOPEN           = 0x20000000,
+       #define Mono_Posix_MessageFlags_MSG_FASTOPEN     Mono_Posix_MessageFlags_MSG_FASTOPEN
+       Mono_Posix_MessageFlags_MSG_FIN                = 0x00000200,
+       #define Mono_Posix_MessageFlags_MSG_FIN          Mono_Posix_MessageFlags_MSG_FIN
+       Mono_Posix_MessageFlags_MSG_MORE               = 0x00008000,
+       #define Mono_Posix_MessageFlags_MSG_MORE         Mono_Posix_MessageFlags_MSG_MORE
+       Mono_Posix_MessageFlags_MSG_NOSIGNAL           = 0x00004000,
+       #define Mono_Posix_MessageFlags_MSG_NOSIGNAL     Mono_Posix_MessageFlags_MSG_NOSIGNAL
+       Mono_Posix_MessageFlags_MSG_OOB                = 0x00000001,
+       #define Mono_Posix_MessageFlags_MSG_OOB          Mono_Posix_MessageFlags_MSG_OOB
+       Mono_Posix_MessageFlags_MSG_PEEK               = 0x00000002,
+       #define Mono_Posix_MessageFlags_MSG_PEEK         Mono_Posix_MessageFlags_MSG_PEEK
+       Mono_Posix_MessageFlags_MSG_PROXY              = 0x00000010,
+       #define Mono_Posix_MessageFlags_MSG_PROXY        Mono_Posix_MessageFlags_MSG_PROXY
+       Mono_Posix_MessageFlags_MSG_RST                = 0x00001000,
+       #define Mono_Posix_MessageFlags_MSG_RST          Mono_Posix_MessageFlags_MSG_RST
+       Mono_Posix_MessageFlags_MSG_SYN                = 0x00000400,
+       #define Mono_Posix_MessageFlags_MSG_SYN          Mono_Posix_MessageFlags_MSG_SYN
+       Mono_Posix_MessageFlags_MSG_TRUNC              = 0x00000020,
+       #define Mono_Posix_MessageFlags_MSG_TRUNC        Mono_Posix_MessageFlags_MSG_TRUNC
+       Mono_Posix_MessageFlags_MSG_WAITALL            = 0x00000100,
+       #define Mono_Posix_MessageFlags_MSG_WAITALL      Mono_Posix_MessageFlags_MSG_WAITALL
+       Mono_Posix_MessageFlags_MSG_WAITFORONE         = 0x00010000,
+       #define Mono_Posix_MessageFlags_MSG_WAITFORONE   Mono_Posix_MessageFlags_MSG_WAITFORONE
+};
+int Mono_Posix_FromMessageFlags (int x, int *r);
+int Mono_Posix_ToMessageFlags (int x, int *r);
+
 enum Mono_Posix_MlockallFlags {
        Mono_Posix_MlockallFlags_MCL_CURRENT       = 0x00000001,
        #define Mono_Posix_MlockallFlags_MCL_CURRENT Mono_Posix_MlockallFlags_MCL_CURRENT
@@ -889,6 +932,17 @@ enum Mono_Posix_SeekFlags {
 int Mono_Posix_FromSeekFlags (short x, short *r);
 int Mono_Posix_ToSeekFlags (short x, short *r);
 
+enum Mono_Posix_ShutdownOption {
+       Mono_Posix_ShutdownOption_SHUT_RD         = 0x00000001,
+       #define Mono_Posix_ShutdownOption_SHUT_RD   Mono_Posix_ShutdownOption_SHUT_RD
+       Mono_Posix_ShutdownOption_SHUT_RDWR       = 0x00000003,
+       #define Mono_Posix_ShutdownOption_SHUT_RDWR Mono_Posix_ShutdownOption_SHUT_RDWR
+       Mono_Posix_ShutdownOption_SHUT_WR         = 0x00000002,
+       #define Mono_Posix_ShutdownOption_SHUT_WR   Mono_Posix_ShutdownOption_SHUT_WR
+};
+int Mono_Posix_FromShutdownOption (int x, int *r);
+int Mono_Posix_ToShutdownOption (int x, int *r);
+
 enum Mono_Posix_Signum {
        Mono_Posix_Signum_SIGABRT         = 0x00000006,
        #define Mono_Posix_Signum_SIGABRT   Mono_Posix_Signum_SIGABRT
@@ -1454,6 +1508,271 @@ enum Mono_Posix_SyslogOptions {
 int Mono_Posix_FromSyslogOptions (int x, int *r);
 int Mono_Posix_ToSyslogOptions (int x, int *r);
 
+enum Mono_Posix_UnixAddressFamily {
+       Mono_Posix_UnixAddressFamily_AF_ALG              = 0x00000026,
+       #define Mono_Posix_UnixAddressFamily_AF_ALG        Mono_Posix_UnixAddressFamily_AF_ALG
+       Mono_Posix_UnixAddressFamily_AF_APPLETALK        = 0x00000005,
+       #define Mono_Posix_UnixAddressFamily_AF_APPLETALK  Mono_Posix_UnixAddressFamily_AF_APPLETALK
+       Mono_Posix_UnixAddressFamily_AF_ASH              = 0x00000012,
+       #define Mono_Posix_UnixAddressFamily_AF_ASH        Mono_Posix_UnixAddressFamily_AF_ASH
+       Mono_Posix_UnixAddressFamily_AF_ATMPVC           = 0x00000008,
+       #define Mono_Posix_UnixAddressFamily_AF_ATMPVC     Mono_Posix_UnixAddressFamily_AF_ATMPVC
+       Mono_Posix_UnixAddressFamily_AF_ATMSVC           = 0x00000014,
+       #define Mono_Posix_UnixAddressFamily_AF_ATMSVC     Mono_Posix_UnixAddressFamily_AF_ATMSVC
+       Mono_Posix_UnixAddressFamily_AF_AX25             = 0x00000003,
+       #define Mono_Posix_UnixAddressFamily_AF_AX25       Mono_Posix_UnixAddressFamily_AF_AX25
+       Mono_Posix_UnixAddressFamily_AF_BLUETOOTH        = 0x0000001f,
+       #define Mono_Posix_UnixAddressFamily_AF_BLUETOOTH  Mono_Posix_UnixAddressFamily_AF_BLUETOOTH
+       Mono_Posix_UnixAddressFamily_AF_BRIDGE           = 0x00000007,
+       #define Mono_Posix_UnixAddressFamily_AF_BRIDGE     Mono_Posix_UnixAddressFamily_AF_BRIDGE
+       Mono_Posix_UnixAddressFamily_AF_CAIF             = 0x00000025,
+       #define Mono_Posix_UnixAddressFamily_AF_CAIF       Mono_Posix_UnixAddressFamily_AF_CAIF
+       Mono_Posix_UnixAddressFamily_AF_CAN              = 0x0000001d,
+       #define Mono_Posix_UnixAddressFamily_AF_CAN        Mono_Posix_UnixAddressFamily_AF_CAN
+       Mono_Posix_UnixAddressFamily_AF_DECnet           = 0x0000000c,
+       #define Mono_Posix_UnixAddressFamily_AF_DECnet     Mono_Posix_UnixAddressFamily_AF_DECnet
+       Mono_Posix_UnixAddressFamily_AF_ECONET           = 0x00000013,
+       #define Mono_Posix_UnixAddressFamily_AF_ECONET     Mono_Posix_UnixAddressFamily_AF_ECONET
+       Mono_Posix_UnixAddressFamily_AF_IEEE802154       = 0x00000024,
+       #define Mono_Posix_UnixAddressFamily_AF_IEEE802154 Mono_Posix_UnixAddressFamily_AF_IEEE802154
+       Mono_Posix_UnixAddressFamily_AF_INET             = 0x00000002,
+       #define Mono_Posix_UnixAddressFamily_AF_INET       Mono_Posix_UnixAddressFamily_AF_INET
+       Mono_Posix_UnixAddressFamily_AF_INET6            = 0x0000000a,
+       #define Mono_Posix_UnixAddressFamily_AF_INET6      Mono_Posix_UnixAddressFamily_AF_INET6
+       Mono_Posix_UnixAddressFamily_AF_IPX              = 0x00000004,
+       #define Mono_Posix_UnixAddressFamily_AF_IPX        Mono_Posix_UnixAddressFamily_AF_IPX
+       Mono_Posix_UnixAddressFamily_AF_IRDA             = 0x00000017,
+       #define Mono_Posix_UnixAddressFamily_AF_IRDA       Mono_Posix_UnixAddressFamily_AF_IRDA
+       Mono_Posix_UnixAddressFamily_AF_ISDN             = 0x00000022,
+       #define Mono_Posix_UnixAddressFamily_AF_ISDN       Mono_Posix_UnixAddressFamily_AF_ISDN
+       Mono_Posix_UnixAddressFamily_AF_IUCV             = 0x00000020,
+       #define Mono_Posix_UnixAddressFamily_AF_IUCV       Mono_Posix_UnixAddressFamily_AF_IUCV
+       Mono_Posix_UnixAddressFamily_AF_KEY              = 0x0000000f,
+       #define Mono_Posix_UnixAddressFamily_AF_KEY        Mono_Posix_UnixAddressFamily_AF_KEY
+       Mono_Posix_UnixAddressFamily_AF_LLC              = 0x0000001a,
+       #define Mono_Posix_UnixAddressFamily_AF_LLC        Mono_Posix_UnixAddressFamily_AF_LLC
+       Mono_Posix_UnixAddressFamily_AF_NETBEUI          = 0x0000000d,
+       #define Mono_Posix_UnixAddressFamily_AF_NETBEUI    Mono_Posix_UnixAddressFamily_AF_NETBEUI
+       Mono_Posix_UnixAddressFamily_AF_NETLINK          = 0x00000010,
+       #define Mono_Posix_UnixAddressFamily_AF_NETLINK    Mono_Posix_UnixAddressFamily_AF_NETLINK
+       Mono_Posix_UnixAddressFamily_AF_NETROM           = 0x00000006,
+       #define Mono_Posix_UnixAddressFamily_AF_NETROM     Mono_Posix_UnixAddressFamily_AF_NETROM
+       Mono_Posix_UnixAddressFamily_AF_NFC              = 0x00000027,
+       #define Mono_Posix_UnixAddressFamily_AF_NFC        Mono_Posix_UnixAddressFamily_AF_NFC
+       Mono_Posix_UnixAddressFamily_AF_PACKET           = 0x00000011,
+       #define Mono_Posix_UnixAddressFamily_AF_PACKET     Mono_Posix_UnixAddressFamily_AF_PACKET
+       Mono_Posix_UnixAddressFamily_AF_PHONET           = 0x00000023,
+       #define Mono_Posix_UnixAddressFamily_AF_PHONET     Mono_Posix_UnixAddressFamily_AF_PHONET
+       Mono_Posix_UnixAddressFamily_AF_PPPOX            = 0x00000018,
+       #define Mono_Posix_UnixAddressFamily_AF_PPPOX      Mono_Posix_UnixAddressFamily_AF_PPPOX
+       Mono_Posix_UnixAddressFamily_AF_RDS              = 0x00000015,
+       #define Mono_Posix_UnixAddressFamily_AF_RDS        Mono_Posix_UnixAddressFamily_AF_RDS
+       Mono_Posix_UnixAddressFamily_AF_ROSE             = 0x0000000b,
+       #define Mono_Posix_UnixAddressFamily_AF_ROSE       Mono_Posix_UnixAddressFamily_AF_ROSE
+       Mono_Posix_UnixAddressFamily_AF_RXRPC            = 0x00000021,
+       #define Mono_Posix_UnixAddressFamily_AF_RXRPC      Mono_Posix_UnixAddressFamily_AF_RXRPC
+       Mono_Posix_UnixAddressFamily_AF_SECURITY         = 0x0000000e,
+       #define Mono_Posix_UnixAddressFamily_AF_SECURITY   Mono_Posix_UnixAddressFamily_AF_SECURITY
+       Mono_Posix_UnixAddressFamily_AF_SNA              = 0x00000016,
+       #define Mono_Posix_UnixAddressFamily_AF_SNA        Mono_Posix_UnixAddressFamily_AF_SNA
+       Mono_Posix_UnixAddressFamily_AF_TIPC             = 0x0000001e,
+       #define Mono_Posix_UnixAddressFamily_AF_TIPC       Mono_Posix_UnixAddressFamily_AF_TIPC
+       Mono_Posix_UnixAddressFamily_AF_UNIX             = 0x00000001,
+       #define Mono_Posix_UnixAddressFamily_AF_UNIX       Mono_Posix_UnixAddressFamily_AF_UNIX
+       Mono_Posix_UnixAddressFamily_AF_UNSPEC           = 0x00000000,
+       #define Mono_Posix_UnixAddressFamily_AF_UNSPEC     Mono_Posix_UnixAddressFamily_AF_UNSPEC
+       Mono_Posix_UnixAddressFamily_AF_VSOCK            = 0x00000028,
+       #define Mono_Posix_UnixAddressFamily_AF_VSOCK      Mono_Posix_UnixAddressFamily_AF_VSOCK
+       Mono_Posix_UnixAddressFamily_AF_WANPIPE          = 0x00000019,
+       #define Mono_Posix_UnixAddressFamily_AF_WANPIPE    Mono_Posix_UnixAddressFamily_AF_WANPIPE
+       Mono_Posix_UnixAddressFamily_AF_X25              = 0x00000009,
+       #define Mono_Posix_UnixAddressFamily_AF_X25        Mono_Posix_UnixAddressFamily_AF_X25
+};
+int Mono_Posix_FromUnixAddressFamily (int x, int *r);
+int Mono_Posix_ToUnixAddressFamily (int x, int *r);
+
+enum Mono_Posix_UnixSocketFlags {
+       Mono_Posix_UnixSocketFlags_SOCK_CLOEXEC        = 0x00080000,
+       #define Mono_Posix_UnixSocketFlags_SOCK_CLOEXEC  Mono_Posix_UnixSocketFlags_SOCK_CLOEXEC
+       Mono_Posix_UnixSocketFlags_SOCK_NONBLOCK       = 0x00000800,
+       #define Mono_Posix_UnixSocketFlags_SOCK_NONBLOCK Mono_Posix_UnixSocketFlags_SOCK_NONBLOCK
+};
+int Mono_Posix_FromUnixSocketFlags (int x, int *r);
+int Mono_Posix_ToUnixSocketFlags (int x, int *r);
+
+enum Mono_Posix_UnixSocketOptionName {
+       Mono_Posix_UnixSocketOptionName_SO_ACCEPTCONN                          = 0x0000001e,
+       #define Mono_Posix_UnixSocketOptionName_SO_ACCEPTCONN                    Mono_Posix_UnixSocketOptionName_SO_ACCEPTCONN
+       Mono_Posix_UnixSocketOptionName_SO_ATTACH_FILTER                       = 0x0000001a,
+       #define Mono_Posix_UnixSocketOptionName_SO_ATTACH_FILTER                 Mono_Posix_UnixSocketOptionName_SO_ATTACH_FILTER
+       Mono_Posix_UnixSocketOptionName_SO_BINDTODEVICE                        = 0x00000019,
+       #define Mono_Posix_UnixSocketOptionName_SO_BINDTODEVICE                  Mono_Posix_UnixSocketOptionName_SO_BINDTODEVICE
+       Mono_Posix_UnixSocketOptionName_SO_BROADCAST                           = 0x00000006,
+       #define Mono_Posix_UnixSocketOptionName_SO_BROADCAST                     Mono_Posix_UnixSocketOptionName_SO_BROADCAST
+       Mono_Posix_UnixSocketOptionName_SO_BSDCOMPAT                           = 0x0000000e,
+       #define Mono_Posix_UnixSocketOptionName_SO_BSDCOMPAT                     Mono_Posix_UnixSocketOptionName_SO_BSDCOMPAT
+       Mono_Posix_UnixSocketOptionName_SO_BUSY_POLL                           = 0x0000002e,
+       #define Mono_Posix_UnixSocketOptionName_SO_BUSY_POLL                     Mono_Posix_UnixSocketOptionName_SO_BUSY_POLL
+       Mono_Posix_UnixSocketOptionName_SO_DEBUG                               = 0x00000001,
+       #define Mono_Posix_UnixSocketOptionName_SO_DEBUG                         Mono_Posix_UnixSocketOptionName_SO_DEBUG
+       Mono_Posix_UnixSocketOptionName_SO_DETACH_FILTER                       = 0x0000001b,
+       #define Mono_Posix_UnixSocketOptionName_SO_DETACH_FILTER                 Mono_Posix_UnixSocketOptionName_SO_DETACH_FILTER
+       Mono_Posix_UnixSocketOptionName_SO_DOMAIN                              = 0x00000027,
+       #define Mono_Posix_UnixSocketOptionName_SO_DOMAIN                        Mono_Posix_UnixSocketOptionName_SO_DOMAIN
+       Mono_Posix_UnixSocketOptionName_SO_DONTROUTE                           = 0x00000005,
+       #define Mono_Posix_UnixSocketOptionName_SO_DONTROUTE                     Mono_Posix_UnixSocketOptionName_SO_DONTROUTE
+       Mono_Posix_UnixSocketOptionName_SO_ERROR                               = 0x00000004,
+       #define Mono_Posix_UnixSocketOptionName_SO_ERROR                         Mono_Posix_UnixSocketOptionName_SO_ERROR
+       Mono_Posix_UnixSocketOptionName_SO_KEEPALIVE                           = 0x00000009,
+       #define Mono_Posix_UnixSocketOptionName_SO_KEEPALIVE                     Mono_Posix_UnixSocketOptionName_SO_KEEPALIVE
+       Mono_Posix_UnixSocketOptionName_SO_LINGER                              = 0x0000000d,
+       #define Mono_Posix_UnixSocketOptionName_SO_LINGER                        Mono_Posix_UnixSocketOptionName_SO_LINGER
+       Mono_Posix_UnixSocketOptionName_SO_LOCK_FILTER                         = 0x0000002c,
+       #define Mono_Posix_UnixSocketOptionName_SO_LOCK_FILTER                   Mono_Posix_UnixSocketOptionName_SO_LOCK_FILTER
+       Mono_Posix_UnixSocketOptionName_SO_MARK                                = 0x00000024,
+       #define Mono_Posix_UnixSocketOptionName_SO_MARK                          Mono_Posix_UnixSocketOptionName_SO_MARK
+       Mono_Posix_UnixSocketOptionName_SO_MAX_PACING_RATE                     = 0x0000002f,
+       #define Mono_Posix_UnixSocketOptionName_SO_MAX_PACING_RATE               Mono_Posix_UnixSocketOptionName_SO_MAX_PACING_RATE
+       Mono_Posix_UnixSocketOptionName_SO_NOFCS                               = 0x0000002b,
+       #define Mono_Posix_UnixSocketOptionName_SO_NOFCS                         Mono_Posix_UnixSocketOptionName_SO_NOFCS
+       Mono_Posix_UnixSocketOptionName_SO_NO_CHECK                            = 0x0000000b,
+       #define Mono_Posix_UnixSocketOptionName_SO_NO_CHECK                      Mono_Posix_UnixSocketOptionName_SO_NO_CHECK
+       Mono_Posix_UnixSocketOptionName_SO_OOBINLINE                           = 0x0000000a,
+       #define Mono_Posix_UnixSocketOptionName_SO_OOBINLINE                     Mono_Posix_UnixSocketOptionName_SO_OOBINLINE
+       Mono_Posix_UnixSocketOptionName_SO_PASSCRED                            = 0x00000010,
+       #define Mono_Posix_UnixSocketOptionName_SO_PASSCRED                      Mono_Posix_UnixSocketOptionName_SO_PASSCRED
+       Mono_Posix_UnixSocketOptionName_SO_PASSSEC                             = 0x00000022,
+       #define Mono_Posix_UnixSocketOptionName_SO_PASSSEC                       Mono_Posix_UnixSocketOptionName_SO_PASSSEC
+       Mono_Posix_UnixSocketOptionName_SO_PEEK_OFF                            = 0x0000002a,
+       #define Mono_Posix_UnixSocketOptionName_SO_PEEK_OFF                      Mono_Posix_UnixSocketOptionName_SO_PEEK_OFF
+       Mono_Posix_UnixSocketOptionName_SO_PEERCRED                            = 0x00000011,
+       #define Mono_Posix_UnixSocketOptionName_SO_PEERCRED                      Mono_Posix_UnixSocketOptionName_SO_PEERCRED
+       Mono_Posix_UnixSocketOptionName_SO_PEERNAME                            = 0x0000001c,
+       #define Mono_Posix_UnixSocketOptionName_SO_PEERNAME                      Mono_Posix_UnixSocketOptionName_SO_PEERNAME
+       Mono_Posix_UnixSocketOptionName_SO_PEERSEC                             = 0x0000001f,
+       #define Mono_Posix_UnixSocketOptionName_SO_PEERSEC                       Mono_Posix_UnixSocketOptionName_SO_PEERSEC
+       Mono_Posix_UnixSocketOptionName_SO_PRIORITY                            = 0x0000000c,
+       #define Mono_Posix_UnixSocketOptionName_SO_PRIORITY                      Mono_Posix_UnixSocketOptionName_SO_PRIORITY
+       Mono_Posix_UnixSocketOptionName_SO_PROTOCOL                            = 0x00000026,
+       #define Mono_Posix_UnixSocketOptionName_SO_PROTOCOL                      Mono_Posix_UnixSocketOptionName_SO_PROTOCOL
+       Mono_Posix_UnixSocketOptionName_SO_RCVBUF                              = 0x00000008,
+       #define Mono_Posix_UnixSocketOptionName_SO_RCVBUF                        Mono_Posix_UnixSocketOptionName_SO_RCVBUF
+       Mono_Posix_UnixSocketOptionName_SO_RCVBUFFORCE                         = 0x00000021,
+       #define Mono_Posix_UnixSocketOptionName_SO_RCVBUFFORCE                   Mono_Posix_UnixSocketOptionName_SO_RCVBUFFORCE
+       Mono_Posix_UnixSocketOptionName_SO_RCVLOWAT                            = 0x00000012,
+       #define Mono_Posix_UnixSocketOptionName_SO_RCVLOWAT                      Mono_Posix_UnixSocketOptionName_SO_RCVLOWAT
+       Mono_Posix_UnixSocketOptionName_SO_RCVTIMEO                            = 0x00000014,
+       #define Mono_Posix_UnixSocketOptionName_SO_RCVTIMEO                      Mono_Posix_UnixSocketOptionName_SO_RCVTIMEO
+       Mono_Posix_UnixSocketOptionName_SO_REUSEADDR                           = 0x00000002,
+       #define Mono_Posix_UnixSocketOptionName_SO_REUSEADDR                     Mono_Posix_UnixSocketOptionName_SO_REUSEADDR
+       Mono_Posix_UnixSocketOptionName_SO_REUSEPORT                           = 0x0000000f,
+       #define Mono_Posix_UnixSocketOptionName_SO_REUSEPORT                     Mono_Posix_UnixSocketOptionName_SO_REUSEPORT
+       Mono_Posix_UnixSocketOptionName_SO_RXQ_OVFL                            = 0x00000028,
+       #define Mono_Posix_UnixSocketOptionName_SO_RXQ_OVFL                      Mono_Posix_UnixSocketOptionName_SO_RXQ_OVFL
+       Mono_Posix_UnixSocketOptionName_SO_SECURITY_AUTHENTICATION             = 0x00000016,
+       #define Mono_Posix_UnixSocketOptionName_SO_SECURITY_AUTHENTICATION       Mono_Posix_UnixSocketOptionName_SO_SECURITY_AUTHENTICATION
+       Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_NETWORK         = 0x00000018,
+       #define Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_NETWORK   Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_NETWORK
+       Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_TRANSPORT       = 0x00000017,
+       #define Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_TRANSPORT Mono_Posix_UnixSocketOptionName_SO_SECURITY_ENCRYPTION_TRANSPORT
+       Mono_Posix_UnixSocketOptionName_SO_SELECT_ERR_QUEUE                    = 0x0000002d,
+       #define Mono_Posix_UnixSocketOptionName_SO_SELECT_ERR_QUEUE              Mono_Posix_UnixSocketOptionName_SO_SELECT_ERR_QUEUE
+       Mono_Posix_UnixSocketOptionName_SO_SNDBUF                              = 0x00000007,
+       #define Mono_Posix_UnixSocketOptionName_SO_SNDBUF                        Mono_Posix_UnixSocketOptionName_SO_SNDBUF
+       Mono_Posix_UnixSocketOptionName_SO_SNDBUFFORCE                         = 0x00000020,
+       #define Mono_Posix_UnixSocketOptionName_SO_SNDBUFFORCE                   Mono_Posix_UnixSocketOptionName_SO_SNDBUFFORCE
+       Mono_Posix_UnixSocketOptionName_SO_SNDLOWAT                            = 0x00000013,
+       #define Mono_Posix_UnixSocketOptionName_SO_SNDLOWAT                      Mono_Posix_UnixSocketOptionName_SO_SNDLOWAT
+       Mono_Posix_UnixSocketOptionName_SO_SNDTIMEO                            = 0x00000015,
+       #define Mono_Posix_UnixSocketOptionName_SO_SNDTIMEO                      Mono_Posix_UnixSocketOptionName_SO_SNDTIMEO
+       Mono_Posix_UnixSocketOptionName_SO_TIMESTAMP                           = 0x0000001d,
+       #define Mono_Posix_UnixSocketOptionName_SO_TIMESTAMP                     Mono_Posix_UnixSocketOptionName_SO_TIMESTAMP
+       Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPING                        = 0x00000025,
+       #define Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPING                  Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPING
+       Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPNS                         = 0x00000023,
+       #define Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPNS                   Mono_Posix_UnixSocketOptionName_SO_TIMESTAMPNS
+       Mono_Posix_UnixSocketOptionName_SO_TYPE                                = 0x00000003,
+       #define Mono_Posix_UnixSocketOptionName_SO_TYPE                          Mono_Posix_UnixSocketOptionName_SO_TYPE
+       Mono_Posix_UnixSocketOptionName_SO_WIFI_STATUS                         = 0x00000029,
+       #define Mono_Posix_UnixSocketOptionName_SO_WIFI_STATUS                   Mono_Posix_UnixSocketOptionName_SO_WIFI_STATUS
+};
+int Mono_Posix_FromUnixSocketOptionName (int x, int *r);
+int Mono_Posix_ToUnixSocketOptionName (int x, int *r);
+
+enum Mono_Posix_UnixSocketProtocol {
+       Mono_Posix_UnixSocketProtocol_IPPROTO_AH            = 0x00000033,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_AH      Mono_Posix_UnixSocketProtocol_IPPROTO_AH
+       Mono_Posix_UnixSocketProtocol_IPPROTO_BEETPH        = 0x0000005e,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_BEETPH  Mono_Posix_UnixSocketProtocol_IPPROTO_BEETPH
+       Mono_Posix_UnixSocketProtocol_IPPROTO_COMP          = 0x0000006c,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_COMP    Mono_Posix_UnixSocketProtocol_IPPROTO_COMP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_DCCP          = 0x00000021,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_DCCP    Mono_Posix_UnixSocketProtocol_IPPROTO_DCCP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_EGP           = 0x00000008,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_EGP     Mono_Posix_UnixSocketProtocol_IPPROTO_EGP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_ENCAP         = 0x00000062,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_ENCAP   Mono_Posix_UnixSocketProtocol_IPPROTO_ENCAP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_ESP           = 0x00000032,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_ESP     Mono_Posix_UnixSocketProtocol_IPPROTO_ESP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_GRE           = 0x0000002f,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_GRE     Mono_Posix_UnixSocketProtocol_IPPROTO_GRE
+       Mono_Posix_UnixSocketProtocol_IPPROTO_ICMP          = 0x00000001,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_ICMP    Mono_Posix_UnixSocketProtocol_IPPROTO_ICMP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_IDP           = 0x00000016,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_IDP     Mono_Posix_UnixSocketProtocol_IPPROTO_IDP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_IGMP          = 0x00000002,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_IGMP    Mono_Posix_UnixSocketProtocol_IPPROTO_IGMP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_IP            = 0x00000400,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_IP      Mono_Posix_UnixSocketProtocol_IPPROTO_IP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_IPIP          = 0x00000004,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_IPIP    Mono_Posix_UnixSocketProtocol_IPPROTO_IPIP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_IPV6          = 0x00000029,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_IPV6    Mono_Posix_UnixSocketProtocol_IPPROTO_IPV6
+       Mono_Posix_UnixSocketProtocol_IPPROTO_MTP           = 0x0000005c,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_MTP     Mono_Posix_UnixSocketProtocol_IPPROTO_MTP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_PIM           = 0x00000067,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_PIM     Mono_Posix_UnixSocketProtocol_IPPROTO_PIM
+       Mono_Posix_UnixSocketProtocol_IPPROTO_PUP           = 0x0000000c,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_PUP     Mono_Posix_UnixSocketProtocol_IPPROTO_PUP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_RAW           = 0x000000ff,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_RAW     Mono_Posix_UnixSocketProtocol_IPPROTO_RAW
+       Mono_Posix_UnixSocketProtocol_IPPROTO_RSVP          = 0x0000002e,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_RSVP    Mono_Posix_UnixSocketProtocol_IPPROTO_RSVP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_SCTP          = 0x00000084,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_SCTP    Mono_Posix_UnixSocketProtocol_IPPROTO_SCTP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_TCP           = 0x00000006,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_TCP     Mono_Posix_UnixSocketProtocol_IPPROTO_TCP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_TP            = 0x0000001d,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_TP      Mono_Posix_UnixSocketProtocol_IPPROTO_TP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_UDP           = 0x00000011,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_UDP     Mono_Posix_UnixSocketProtocol_IPPROTO_UDP
+       Mono_Posix_UnixSocketProtocol_IPPROTO_UDPLITE       = 0x00000088,
+       #define Mono_Posix_UnixSocketProtocol_IPPROTO_UDPLITE Mono_Posix_UnixSocketProtocol_IPPROTO_UDPLITE
+       Mono_Posix_UnixSocketProtocol_SOL_SOCKET            = 0x00000800,
+       #define Mono_Posix_UnixSocketProtocol_SOL_SOCKET      Mono_Posix_UnixSocketProtocol_SOL_SOCKET
+};
+int Mono_Posix_FromUnixSocketProtocol (int x, int *r);
+int Mono_Posix_ToUnixSocketProtocol (int x, int *r);
+
+enum Mono_Posix_UnixSocketType {
+       Mono_Posix_UnixSocketType_SOCK_DCCP            = 0x00000006,
+       #define Mono_Posix_UnixSocketType_SOCK_DCCP      Mono_Posix_UnixSocketType_SOCK_DCCP
+       Mono_Posix_UnixSocketType_SOCK_DGRAM           = 0x00000002,
+       #define Mono_Posix_UnixSocketType_SOCK_DGRAM     Mono_Posix_UnixSocketType_SOCK_DGRAM
+       Mono_Posix_UnixSocketType_SOCK_PACKET          = 0x0000000a,
+       #define Mono_Posix_UnixSocketType_SOCK_PACKET    Mono_Posix_UnixSocketType_SOCK_PACKET
+       Mono_Posix_UnixSocketType_SOCK_RAW             = 0x00000003,
+       #define Mono_Posix_UnixSocketType_SOCK_RAW       Mono_Posix_UnixSocketType_SOCK_RAW
+       Mono_Posix_UnixSocketType_SOCK_RDM             = 0x00000004,
+       #define Mono_Posix_UnixSocketType_SOCK_RDM       Mono_Posix_UnixSocketType_SOCK_RDM
+       Mono_Posix_UnixSocketType_SOCK_SEQPACKET       = 0x00000005,
+       #define Mono_Posix_UnixSocketType_SOCK_SEQPACKET Mono_Posix_UnixSocketType_SOCK_SEQPACKET
+       Mono_Posix_UnixSocketType_SOCK_STREAM          = 0x00000001,
+       #define Mono_Posix_UnixSocketType_SOCK_STREAM    Mono_Posix_UnixSocketType_SOCK_STREAM
+};
+int Mono_Posix_FromUnixSocketType (int x, int *r);
+int Mono_Posix_ToUnixSocketType (int x, int *r);
+
 enum Mono_Posix_WaitOptions {
        Mono_Posix_WaitOptions_WNOHANG         = 0x00000001,
        #define Mono_Posix_WaitOptions_WNOHANG   Mono_Posix_WaitOptions_WNOHANG
@@ -1481,6 +1800,7 @@ int Mono_Posix_ToXattrFlags (int x, int *r);
 
 struct Mono_Posix_Flock;
 struct Mono_Posix_Iovec;
+struct Mono_Posix_Linger;
 struct Mono_Posix_Pollfd;
 struct Mono_Posix_Stat;
 struct Mono_Posix_Statvfs;
@@ -1501,6 +1821,7 @@ struct Mono_Unix_UnixSignal_SignalInfo;
 
 struct flock;
 struct iovec;
+struct linger;
 struct pollfd;
 struct timespec;
 struct timeval;
@@ -1542,6 +1863,17 @@ int
 Mono_Posix_ToIovec (struct iovec *from, struct Mono_Posix_Iovec* to);
 
 
+struct Mono_Posix_Linger {
+       int l_onoff;
+       int l_linger;
+};
+
+int
+Mono_Posix_FromLinger (struct Mono_Posix_Linger* from, struct linger *to);
+int
+Mono_Posix_ToLinger (struct linger *from, struct Mono_Posix_Linger* to);
+
+
 struct Mono_Posix_Pollfd {
        int   fd;
        short events;
@@ -1755,6 +2087,8 @@ int Mono_Posix_Syscall_endpwent (void);
 int Mono_Posix_Syscall_endusershell (void);
 int Mono_Posix_Syscall_fcntl (int fd, int cmd);
 int Mono_Posix_Syscall_fcntl_arg (int fd, int cmd, gint64 arg);
+int Mono_Posix_Syscall_fcntl_arg_int (int fd, int cmd, int arg);
+int Mono_Posix_Syscall_fcntl_arg_ptr (int fd, int cmd, void* ptr);
 int Mono_Posix_Syscall_fcntl_lock (int fd, int cmd, struct Mono_Posix_Flock* lock);
 int Mono_Posix_Syscall_fgetgrent (void* stream, struct Mono_Posix_Syscall__Group* grbuf);
 int Mono_Posix_Syscall_fgetpwent (void* stream, struct Mono_Posix_Syscall__Passwd* pwbuf);
@@ -1790,6 +2124,9 @@ int Mono_Posix_Syscall_getpwnam (const char* name, struct Mono_Posix_Syscall__Pa
 int Mono_Posix_Syscall_getpwnam_r (const char* name, struct Mono_Posix_Syscall__Passwd* pwbuf, void** pwbufp);
 int Mono_Posix_Syscall_getpwuid (unsigned int uid, struct Mono_Posix_Syscall__Passwd* passwd);
 int Mono_Posix_Syscall_getpwuid_r (unsigned int uid, struct Mono_Posix_Syscall__Passwd* pwbuf, void** pwbufp);
+int Mono_Posix_Syscall_getsockopt (int socket, int level, int option_name, void* option_value, gint64* option_len);
+int Mono_Posix_Syscall_getsockopt_linger (int socket, int level, int option_name, struct Mono_Posix_Linger* option_value);
+int Mono_Posix_Syscall_getsockopt_timeval (int socket, int level, int option_name, struct Mono_Posix_Timeval* option_value);
 int Mono_Posix_Syscall_gettimeofday (struct Mono_Posix_Timeval* tv, void* ignore);
 gint64 Mono_Posix_Syscall_getxattr (const char* path, const char* name, unsigned char* value, guint64 size);
 int Mono_Posix_Syscall_L_ctermid (void);
@@ -1833,10 +2170,12 @@ int Mono_Posix_Syscall_readdir_r (void* dirp, struct Mono_Posix_Syscall__Dirent*
 gint64 Mono_Posix_Syscall_readlink (const char* path, unsigned char* buf, guint64 bufsiz);
 gint64 Mono_Posix_Syscall_readlinkat (int dirfd, const char* pathname, unsigned char* buf, guint64 bufsiz);
 gint64 Mono_Posix_Syscall_readv (int fd, struct Mono_Posix_Iovec* iov, int iovcnt);
+gint64 Mono_Posix_Syscall_recv (int socket, void* buffer, guint64 length, int flags);
 int Mono_Posix_Syscall_remap_file_pages (void* start, guint64 size, int prot, gint64 pgoff, int flags);
 int Mono_Posix_Syscall_removexattr (const char* path, const char* name);
 int Mono_Posix_Syscall_rewinddir (void* dir);
 int Mono_Posix_Syscall_seekdir (void* dir, gint64 offset);
+gint64 Mono_Posix_Syscall_send (int socket, void* message, guint64 length, int flags);
 gint64 Mono_Posix_Syscall_sendfile (int out_fd, int in_fd, gint64* offset, guint64 count);
 int Mono_Posix_Syscall_setdomainname (const char* name, guint64 len);
 int Mono_Posix_Syscall_setfsent (void);
@@ -1845,9 +2184,13 @@ int Mono_Posix_Syscall_setgroups (guint64 size, unsigned int* list);
 int Mono_Posix_Syscall_sethostid (gint64 hostid);
 int Mono_Posix_Syscall_sethostname (const char* name, guint64 len);
 int Mono_Posix_Syscall_setpwent (void);
+int Mono_Posix_Syscall_setsockopt (int socket, int level, int option_name, void* option_value, gint64 option_len);
+int Mono_Posix_Syscall_setsockopt_linger (int socket, int level, int option_name, struct Mono_Posix_Linger* option_value);
+int Mono_Posix_Syscall_setsockopt_timeval (int socket, int level, int option_name, struct Mono_Posix_Timeval* option_value);
 int Mono_Posix_Syscall_settimeofday (struct Mono_Posix_Timeval* tv, struct Mono_Posix_Timezone* tz);
 int Mono_Posix_Syscall_setusershell (void);
 int Mono_Posix_Syscall_setxattr (const char* path, const char* name, unsigned char* value, guint64 size, int flags);
+int Mono_Posix_Syscall_socketpair (int domain, int type, int protocol, int* socket1, int* socket2);
 int Mono_Posix_Syscall_stat (const char* file_name, struct Mono_Posix_Stat* buf);
 int Mono_Posix_Syscall_statvfs (const char* path, struct Mono_Posix_Statvfs* buf);
 int Mono_Posix_Syscall_stime (gint64* t);
index aedff01b7f32d6f8ce7f2a570c0472afa6e48c6e..cb5d94131da010bec4af329b7495109199948641 100644 (file)
@@ -149,6 +149,13 @@ typedef gint64 suseconds_t;
                return ret; \
        }}G_STMT_END
 
+#define mph_have_uint_overflow(var) ((var) < 0 || (var) > UINT_MAX)
+
+#define mph_return_val_if_uint_overflow(var, ret) \
+       _mph_return_val_if_cb_(var, ret, mph_have_uint_overflow)
+
+#define mph_return_if_uint_overflow(var) mph_return_val_if_uint_overflow(var, -1)
+
 #define mph_have_long_overflow(var) ((var) > LONG_MAX || (var) < LONG_MIN)
 
 #define mph_return_val_if_long_overflow(var, ret) \
@@ -156,14 +163,14 @@ typedef gint64 suseconds_t;
 
 #define mph_return_if_long_overflow(var) mph_return_val_if_long_overflow(var, -1)
 
-#define mph_have_ulong_overflow(var) ((var) > ULONG_MAX)
+#define mph_have_ulong_overflow(var) (var) < 0 || ((var) > ULONG_MAX)
 
 #define mph_return_val_if_ulong_overflow(var, ret) \
        _mph_return_val_if_cb_(var, ret, mph_have_ulong_overflow)
 
 #define mph_return_if_ulong_overflow(var) mph_return_val_if_ulong_overflow(var, -1)
 
-#define mph_have_size_t_overflow(var) ((var) > MPH_SIZE_T_MAX)
+#define mph_have_size_t_overflow(var) ((var) < 0 || (var) > MPH_SIZE_T_MAX)
 
 #define mph_return_val_if_size_t_overflow(var, ret) \
        _mph_return_val_if_cb_(var, ret, mph_have_size_t_overflow)
@@ -185,6 +192,8 @@ typedef gint64 suseconds_t;
 
 #define mph_return_if_time_t_overflow(var) mph_return_if_long_overflow(var)
 
+#define mph_return_if_socklen_t_overflow(var) mph_return_if_uint_overflow(var)
+
 #define mph_return_if_val_in_list5(var,a,b,c,d,e) \
        do {                                                            \
                int v = (var);                                                \
index 94d7e0b19f5d72c19bb9aa3808b17e0d22f391a8..ec02e48b5e8bd37a30601aa90c5332e9bcfecba1 100644 (file)
 
 /* sys/time.h (for timeval) is required when using osx 10.3 (but not 10.4) */
 /* IOKit is a private framework in iOS, so exclude there */
-#if defined(__APPLE__) && !defined(HOST_IOS)
+#if defined(__APPLE__) && !defined(HOST_IOS) && !defined(HOST_WATCHOS) && !defined(HOST_APPLETVOS)
+#define HAVE_IOKIT 1
+#endif
+
+#if defined(HAVE_IOKIT)
 #include <sys/time.h>
 #include <IOKit/IOKitLib.h>
 #include <IOKit/serial/IOSerialKeys.h>
@@ -384,7 +388,7 @@ set_attributes (int fd, int baud_rate, MonoParity parity, int dataBits, MonoStop
                if (cfsetospeed (&newtio, baud_rate) < 0 || cfsetispeed (&newtio, baud_rate) < 0)
                        return FALSE;
        } else {
-#if __linux__ || (defined(__APPLE__) && !defined(HOST_IOS))
+#if __linux__ || defined(HAVE_IOKIT)
 
                /* On Linux to set a custom baud rate, we must set the
                 * "standard" baud_rate to 38400.   On Apple we set it purely
@@ -417,7 +421,7 @@ set_attributes (int fd, int baud_rate, MonoParity parity, int dataBits, MonoStop
                {
                        return FALSE;
                }
-#elif defined(__APPLE__) && !defined(HOST_IOS)
+#elif defined(HAVE_IOKIT)
                speed_t speed = baud_rate;
                if (ioctl(fd, IOSSIOSPEED, &speed) == -1)
                        return FALSE;
diff --git a/support/sys-socket.c b/support/sys-socket.c
new file mode 100644 (file)
index 0000000..188df56
--- /dev/null
@@ -0,0 +1,140 @@
+/*
+ * <sys/socket.h> wrapper functions.
+ *
+ * Authors:
+ *   Steffen Kiess (s-kiess@web.de)
+ *
+ * Copyright (C) 2015 Steffen Kiess
+ */
+
+#include <sys/socket.h>
+#include <sys/time.h>
+#include <netinet/in.h>
+#include <sys/un.h>
+
+#include <stddef.h>
+
+#include "map.h"
+#include "mph.h"
+
+G_BEGIN_DECLS
+
+int
+Mono_Posix_Syscall_socketpair (int domain, int type, int protocol, int* socket1, int* socket2)
+{
+       int filedes[2] = {-1, -1};
+       int r;
+
+       r = socketpair (domain, type, protocol, filedes);
+
+       *socket1 = filedes[0];
+       *socket2 = filedes[1];
+       return r;
+}
+
+int
+Mono_Posix_Syscall_getsockopt (int socket, int level, int option_name, void* option_value, gint64* option_len)
+{
+       socklen_t len;
+       int r;
+
+       mph_return_if_socklen_t_overflow (*option_len);
+
+       len = *option_len;
+
+       r = getsockopt (socket, level, option_name, option_value, &len);
+
+       *option_len = len;
+
+       return r;
+}
+
+int
+Mono_Posix_Syscall_getsockopt_timeval (int socket, int level, int option_name, struct Mono_Posix_Timeval* option_value)
+{
+       struct timeval tv;
+       int r;
+       socklen_t size;
+
+       size = sizeof (struct timeval);
+       r = getsockopt (socket, level, option_name, &tv, &size);
+
+       if (r != -1 && size == sizeof (struct timeval)) {
+               if (Mono_Posix_ToTimeval (&tv, option_value) != 0)
+                       return -1;
+       } else {
+               memset (option_value, 0, sizeof (struct Mono_Posix_Timeval));
+               if (r != -1)
+                       errno = EINVAL;
+       }
+
+       return r;
+}
+
+int
+Mono_Posix_Syscall_getsockopt_linger (int socket, int level, int option_name, struct Mono_Posix_Linger* option_value)
+{
+       struct linger ling;
+       int r;
+       socklen_t size;
+
+       size = sizeof (struct linger);
+       r = getsockopt (socket, level, option_name, &ling, &size);
+
+       if (r != -1 && size == sizeof (struct linger)) {
+               if (Mono_Posix_ToLinger (&ling, option_value) != 0)
+                       return -1;
+       } else {
+               memset (option_value, 0, sizeof (struct Mono_Posix_Linger));
+               if (r != -1)
+                       errno = EINVAL;
+       }
+
+       return r;
+}
+
+int
+Mono_Posix_Syscall_setsockopt (int socket, int level, int option_name, void* option_value, gint64 option_len)
+{
+       mph_return_if_socklen_t_overflow (option_len);
+
+       return setsockopt (socket, level, option_name, option_value, option_len);
+}
+
+int
+Mono_Posix_Syscall_setsockopt_timeval (int socket, int level, int option_name, struct Mono_Posix_Timeval* option_value)
+{
+       struct timeval tv;
+
+       if (Mono_Posix_FromTimeval (option_value, &tv) != 0)
+               return -1;
+
+       return setsockopt (socket, level, option_name, &tv, sizeof (struct timeval));
+}
+
+int
+Mono_Posix_Syscall_setsockopt_linger (int socket, int level, int option_name, struct Mono_Posix_Linger* option_value)
+{
+       struct linger ling;
+
+       if (Mono_Posix_FromLinger (option_value, &ling) != 0)
+               return -1;
+
+       return setsockopt (socket, level, option_name, &ling, sizeof (struct linger));
+}
+
+gint64
+Mono_Posix_Syscall_recv (int socket, void* message, guint64 length, int flags)
+{
+       mph_return_if_size_t_overflow (length);
+
+       return recv (socket, message, length, flags);
+}
+
+gint64
+Mono_Posix_Syscall_send (int socket, void* message, guint64 length, int flags)
+{
+       mph_return_if_size_t_overflow (length);
+
+       return send (socket, message, length, flags);
+}
index 38696260a092fb4b509f7eabc7f9fef96032b2b8..dbfd1c7e24a27e7dd67283e6c1df7401b17d6100 100644 (file)
@@ -187,7 +187,7 @@ ReadZStream (ZStream *stream, guchar *buffer, gint length)
                                stream->eof = TRUE;
                        }
                        zs->next_in = stream->buffer;
-                       zs->avail_in = n;
+                       zs->avail_in = n < 0 ? 0 : n;
                }
 
                if (zs->avail_in == 0 && zs->total_in == 0)
index a8ec6d2f0e7771fcc9cd864db8fc221a66c884ff..3907485baf297ebbf7bac4d6c0a66c013e42ff3d 100644 (file)
@@ -1170,6 +1170,7 @@ namespace Mono.Tools.LocaleBuilder
                        // .net has incorrect separators for some countries and we want to be compatible
                        switch (ci.Name) {
                        case "es-ES":
+                       case "es":
                                // es-ES does not have group separator but .net has '.'
                                value = ".";
                                break;
index 761b695c61b128f595ab309bb0e69adfdfeb872d..49aa9506009e61411990764a262ad454eeeca8cf 100644 (file)
@@ -110,8 +110,6 @@ read_entry (EntryStream *stream, void *data)
 #define BEGIN_PROTOCOL_ENTRY_HEAVY6(method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5,t6,f6) \
        BEGIN_PROTOCOL_ENTRY6 (method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5,t6,f6)
 
-#define FLUSH()
-
 #define DEFAULT_PRINT()
 #define CUSTOM_PRINT(_)
 
@@ -120,6 +118,7 @@ read_entry (EntryStream *stream, void *data)
 #define IS_VTABLE_MATCH(_)
 
 #define END_PROTOCOL_ENTRY
+#define END_PROTOCOL_ENTRY_FLUSH
 #define END_PROTOCOL_ENTRY_HEAVY
 
 #include <mono/sgen/sgen-protocol-def.h>
@@ -169,8 +168,6 @@ is_always_match (int type)
 #define BEGIN_PROTOCOL_ENTRY_HEAVY6(method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5,t6,f6) \
        BEGIN_PROTOCOL_ENTRY6 (method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5,t6,f6)
 
-#define FLUSH()
-
 #define DEFAULT_PRINT()
 #define CUSTOM_PRINT(_)
 
@@ -180,6 +177,7 @@ is_always_match (int type)
 #define IS_VTABLE_MATCH(_)
 
 #define END_PROTOCOL_ENTRY
+#define END_PROTOCOL_ENTRY_FLUSH
 #define END_PROTOCOL_ENTRY_HEAVY
 
 #include <mono/sgen/sgen-protocol-def.h>
@@ -402,8 +400,6 @@ print_entry (int type, void *data, int num_nums, int *match_indices, gboolean co
 #define BEGIN_PROTOCOL_ENTRY_HEAVY6(method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5,t6,f6) \
        BEGIN_PROTOCOL_ENTRY6 (method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5,t6,f6)
 
-#define FLUSH()
-
 #define DEFAULT_PRINT() \
        print_entry_content (pes_size, pes, color_output);
 #define CUSTOM_PRINT(print) \
@@ -417,6 +413,8 @@ print_entry (int type, void *data, int num_nums, int *match_indices, gboolean co
                printf ("\n"); \
                break; \
        }
+#define END_PROTOCOL_ENTRY_FLUSH \
+       END_PROTOCOL_ENTRY
 #define END_PROTOCOL_ENTRY_HEAVY \
        END_PROTOCOL_ENTRY
 
@@ -487,8 +485,6 @@ match_index (gpointer ptr, int type, void *data)
 #define BEGIN_PROTOCOL_ENTRY_HEAVY6(method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5,t6,f6) \
        BEGIN_PROTOCOL_ENTRY6 (method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5,t6,f6)
 
-#define FLUSH()
-
 #define DEFAULT_PRINT()
 #define CUSTOM_PRINT(_)
 
@@ -500,6 +496,8 @@ match_index (gpointer ptr, int type, void *data)
 #define END_PROTOCOL_ENTRY \
                break; \
        }
+#define END_PROTOCOL_ENTRY_FLUSH \
+       END_PROTOCOL_ENTRY
 #define END_PROTOCOL_ENTRY_HEAVY \
        END_PROTOCOL_ENTRY
 
@@ -550,8 +548,6 @@ is_vtable_match (gpointer ptr, int type, void *data)
 #define BEGIN_PROTOCOL_ENTRY_HEAVY6(method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5,t6,f6) \
        BEGIN_PROTOCOL_ENTRY6 (method,t1,f1,t2,f2,t3,f3,t4,f4,t5,f5,t6,f6)
 
-#define FLUSH()
-
 #define DEFAULT_PRINT()
 #define CUSTOM_PRINT(_)
 
@@ -563,6 +559,8 @@ is_vtable_match (gpointer ptr, int type, void *data)
 #define END_PROTOCOL_ENTRY \
                break; \
        }
+#define END_PROTOCOL_ENTRY_FLUSH \
+       END_PROTOCOL_ENTRY
 #define END_PROTOCOL_ENTRY_HEAVY \
        END_PROTOCOL_ENTRY
 
index 27e774f066cf401299ef8f9e2b699ce92e12de44..71555cecf19cb644d73abd4909edb5fdf349616d 100644 (file)
 #error Unknown architecture
 #endif
 
+#ifndef WINVER
+#define WINVER 0x0A00
+#endif
+
+#include <SDKDDKVer.h>
+
 #if _WIN32_WINNT < 0x0600
 #error "Mono requires Windows Vista or later"
 #endif /* _WIN32_WINNT < 0x0600 */